

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Etapa 2: conceitos básicos (console)
<a name="gs-console"></a>

## Visão geral do console
<a name="console-overview"></a>

A maneira mais fácil de aprender a usar o Amazon Lex V2 é usando o console. Escolha o plano de aprendizado que melhor corresponda à sua função e nível de experiência:

## Escolha seu caminho de aprendizado
<a name="learning-paths"></a>

Escolha o plano de aprendizado que melhor corresponda à sua função e nível de experiência:
+ **No-Code Path (usuários corporativos)** — Perfeito para analistas de negócios, gerentes de produto e usuários não técnicos que desejam criar bots usando apenas a interface do console.
  + Comece com: [Início rápido: crie um chatbot em 5 minutos](quick-start.md)
  + Em seguida, tente: [Exercício 1: criar um chatbot a partir de um modelo](exercise-1.md)
  + Aprenda: [Melhores práticas para começar](getting-started-best-practices.md)
+ **Caminho do desenvolvedor** — Ideal para desenvolvedores de software que desejam integrar o Amazon Lex V2 com aplicativos APIs, usar e implementar uma lógica de negócios personalizada.
  + Comece com: [Exercício 1: criar um chatbot a partir de um modelo](exercise-1.md)
  + Avançado: [Exercício 3: Crie um chatbot avançado de atendimento ao cliente](exercise-3.md)
  + Em seguida, explore: [Integrando uma AWS Lambda função ao seu bot Amazon Lex V2](lambda.md)
  + Resenha: [Exemplos de bots](examples.md)
  + Avançado: integração de API e uso do SDK
+ **Enterprise Path** — Projetado para arquitetos e engenheiros que planejam implantações em grande escala com requisitos de segurança, conformidade e escalabilidade.
  + Comece com: [Exercício 1: criar um chatbot a partir de um modelo](exercise-1.md)
  + Exemplo corporativo: [Exercício 3: Crie um chatbot avançado de atendimento ao cliente](exercise-3.md)
  + Análise: Melhores práticas de segurança e IAM
  + Explorar: [Uso da resiliência global para implantar bots em outras regiões](global-resiliency.md)
  + Plano: monitoramento, registro e otimização de custos

## Exercícios básicos
<a name="foundational-exercises"></a>

Independentemente do caminho escolhido, recomendamos começar com estes exercícios básicos:
+ Exercício 1 — Crie um bot Amazon Lex V2 usando um modelo, um bot predefinido que fornece toda a configuração de bot necessária. Você faz apenas um mínimo de trabalho para testar a end-to-end configuração.
+ Exercício 2 — Analisar as estruturas JSON enviadas entre seu aplicativo cliente e um bot do Amazon Lex V2.
+ Exercício 3 — Crie um bot de bate-papo avançado de atendimento ao cliente que demonstre recursos de nível corporativo, incluindo gerenciamento de pedidos, vendas adicionais inteligentes, geração de leads e recursos baseados em IA para experiências personalizadas do cliente.

**Topics**

# Início rápido: crie um chatbot em 5 minutos
<a name="quick-start"></a>

Este guia de início rápido ajuda você a criar um chatbot funcional do Amazon Lex V2 em apenas 5 minutos usando modelos pré-criados. Você terá um chatbot funcional que poderá testar e personalizar imediatamente de acordo com suas necessidades.

## Etapa 1: escolha um modelo
<a name="choose-template"></a>

O Amazon Lex V2 fornece vários modelos pré-criados para casos de uso comuns:
+ **Perguntas frequentes sobre o Suporte ao Cliente** — Lidar com consultas comuns de atendimento ao cliente
+ **Marcação** de consultas — Agende e gerencie compromissos
+ **Status do pedido** — Verifique as informações do pedido e o status da entrega
+ **Helpdesk de TI** — Forneça suporte técnico e solução de problemas

**Para selecionar um modelo**

1. Abra o console do Amazon Lex V2 em [https://console.aws.amazon.com/lexv2/](https://console.aws.amazon.com/lexv2/).

1. Escolha **Criar bot**.

1. Selecione **Começar com um modelo**.

1. Escolha o modelo de **perguntas frequentes do Customer Support** para esse início rápido.

1. Insira um nome de bot, como**MyFirstChatbot**.

1. Escolha **Criar**.

## Etapa 2: personalização rápida (opcional)
<a name="customize-template"></a>

O modelo vem pré-configurado, mas você pode personalizá-lo rapidamente de acordo com suas necessidades específicas:

**Para personalizar seu chatbot**

1. Na visão geral do bot, analise as intenções pré-configuradas.

1. Escolha uma intenção para modificar, como **GetAccountInfo**.

1. Adicione seus próprios exemplos de declarações que correspondam à forma como seus clientes podem formular solicitações.

1. Atualize as mensagens de resposta para que correspondam à voz da sua marca.

1. Selecione **Salvar intenção**.

## Etapa 3: teste seu bot
<a name="test-bot"></a>

Teste seu chatbot imediatamente usando o console de teste integrado:

**Para testar seu chatbot**

1. Escolha **Construir** para compilar seu bot.

1. Aguarde a conclusão da compilação (geralmente de 1 a 2 minutos).

1. No console de teste à direita, digite: **I need help with my account**

1. Pressione Enter e observe a resposta do bot.

1. Experimente outras frases para testar a compreensão do bot.

## Etapa 4: implante seu bot
<a name="deploy-bot"></a>

Quando estiver satisfeito com as respostas do seu chatbot, implante-o para uso:

**Para implantar seu chatbot**

1. Escolha **Publicar** no menu de ações do bot.

1. Crie uma nova versão escolhendo **Criar versão**.

1. Crie um alias (como “Produção”) que aponte para sua versão.

1. Escolha seu método de integração.

## Próximas etapas
<a name="next-steps-quick"></a>

Parabéns\$1 Agora você tem um chatbot Amazon Lex V2 em funcionamento. Aqui está aquilo que você pode fazer a seguir:
+ **Habilite a NLU assistida** — Melhore a compreensão com o processamento de linguagem natural baseado em IA.
+ **Adicione mais intenções** — Expanda os recursos do seu chatbot com casos de uso adicionais.
+ **Integre com o Lambda** — adicione lógica de negócios e integração de sistemas externos. Consulte [Integrando uma AWS Lambda função ao seu bot Amazon Lex V2](lambda.md).
+ **Configurar o monitoramento** — Acompanhe o uso e o desempenho. Consulte [Medindo métricas operacionais com a Amazon CloudWatch](monitoring-cloudwatch.md).
+ **Conheça os recursos avançados** — Explore o gerenciamento do fluxo de conversas, os diálogos com vários turnos e a troca de contexto.

Para uma explicação mais detalhada, continue com. [Exercício 1: criar um chatbot a partir de um modelo](exercise-1.md)

# Exercício 1: criar um chatbot a partir de um modelo
<a name="exercise-1"></a>

Neste exercício, você cria seu primeiro chatbot Amazon Lex V2 e o testa no console Amazon Lex V2. Para este exercício, você usa o **OrderFlowers**modelo, que demonstra um caso de uso prático e real para comércio eletrônico.

## OrderFlowers Exemplo de bot
<a name="example-overview"></a>

Você usa o **OrderFlowers**modelo para criar um chatbot Amazon Lex V2 que pode lidar com solicitações de pedidos de flores. Este exemplo demonstra como as empresas podem automatizar o recebimento de pedidos com chatbots inteligentes. Para mais informações sobre a estrutura de um bot, consulte [Conceitos básicos do Amazon Lex V2](how-it-works.md).
+ **Intenções** — O bot inclui uma intenção principal:
  + `OrderFlowers`- Lida com solicitações de pedidos de flores coletando o tipo de flor, a data e a hora da coleta
+ **Tipos de slots** — O bot usa tipos de slots integrados que reconhecem e manipulam automaticamente formatos de dados comuns:
  + [AMAZON.Date](built-in-slot-date.md)- Reconhece datas como “amanhã”, “próxima sexta-feira” ou “15 de março”
  + [AMAZON.Time](built-in-slot-time.md)- Reconhece horários como “14h”, “meio-dia” ou “três e quinze”
  + `FlowerTypes`(personalizado) - Variedades de flores específicas, como “rosas”, “tulipas”, “lírios”
+ **Slots** — A OrderFlowers intenção requer as seguintes informações antes que o bot possa cumprir o pedido de flores:
  + `FlowerType`(tipo FlowerTypes personalizado) - O tipo de flores a serem encomendadas
  + `PickupDate`([AMAZON.Date](built-in-slot-date.md)tipo) - Quando colher as flores
  + `PickupTime`([AMAZON.Time](built-in-slot-time.md)tipo) - A que horas colher as flores
+ **Exemplos de enunciados** — Os exemplos de enunciados a seguir mostram maneiras naturais pelas quais os usuários podem solicitar pedidos de flores:
  + "Gostaria de escolher flores"
  + “Eu quero pedir algumas flores”
  + “Posso pegar flores para pegar?”
  + “Preciso comprar flores”
+ **Prompts** – Após o bot identificar a intenção, ele usa os seguintes prompts para preencher slots:
  + Prompt do slot `FlowerType` – "Que tipo de flores você deseja pedir?"
  + Solicite a `PickupDate` vaga — “Em que dia você quer que o \$1FlowerType\$1 seja retirado?”
  + Solicitar o `PickupTime` slot — “A que horas você deseja que o \$1FlowerType\$1 seja retirado?”
  + Declaração de confirmação — “Ok, seu \$1FlowerType\$1 estará pronto para retirada até \$1PickupTime\$1 em \$1PickupDate\$1. Tudo bem?" 

## Crie seu bot
<a name="create-bot-procedure"></a>

**Para criar um bot Amazon Lex V2 (console)**

1. Faça login no AWS Management Console e abra o console do Amazon Lex em [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Escolha **Criar bot**.

1. Para o **Método de criação**, escolha **Começar com um exemplo**.

1. Na seção **Exemplos de bots**, **OrderFlowers**escolha na lista.

1. Na seção **Configuração do bot**, dê ao bot um nome e uma descrição opcional. O nome deve ser exclusivo em sua conta.

1. Na seção **Permissões**, escolha **Criar um novo perfil com permissões básicas do Amazon Lex**. Isso criará uma função do AWS Identity and Access Management (IAM) com as permissões que o Amazon Lex V2 precisa para executar seu bot.

1. Na seção **Lei de Proteção à Privacidade Online para Crianças (COPPA)**, escolha a resposta apropriada.

1. Nas seções **Tempo limite da sessão** e **Configurações avançadas**, deixe as configurações padrão.

1. Escolha **Próximo**. O Amazon Lex V2 cria seu bot.

## Adicione um idioma ao seu bot
<a name="add-language-procedure"></a>

Depois de criar seu bot, adicione um ou mais idiomas compatíveis com o bot. Um idioma contém os intents, os tipos de slots e os slots que o bot usa para conversar com os usuários.

**Para adicionar um idioma a um bot**

1. Na seção **Idioma**, escolha um idioma compatível e adicione uma descrição.

1. Deixe os campos **Interação de voz** e **Limite de pontuação de confiança da classificação do intent** nos valores padrão.

1. Escolha **Concluído** para adicionar o idioma ao bot.

## Teste seu bot
<a name="test-bot-procedure"></a>

Depois de escolher **Concluído**, o console abrirá o editor de intents. Você pode usar o editor de intents para examinar os intents usados pelo bot. Quando terminar de examinar o bot, você pode testá-lo.

**Para testar o OrderFlowers bot**

1. Na parte de cima da página, escolha **Versão**. Aguarde o término da compilação do bot.

1. Quando a compilação estiver concluída, escolha **Testar** para abrir a janela de teste.

1. Teste o bot. Comece a conversa com uma das declarações de exemplo, como “Eu gostaria de algumas flores”.

## Permita que a NLU melhore a compreensão
<a name="enable-assisted-nlu"></a>

Agora que você tem um chatbot em funcionamento, vamos aprimorá-lo com a NLU assistida para melhorar o reconhecimento de intenções e a resolução de slots. O Assisted NLU usa Large Language Models (LLMs) para entender melhor as solicitações dos usuários, mesmo quando eles usam frases diferentes das dos seus exemplos de treinamento.

**Para habilitar a NLU assistida**

1. No console do Amazon Lex V2, navegue até as configurações do seu bot.

1. No painel de navegação esquerdo, escolha **Configurações do bot**.

1. Em **NLU assistida**, escolha **Ativar**.

1. Escolha **Salvar** para aplicar as alterações.

1. Crie seu bot novamente para aplicar o aprimoramento da NLU assistida.

**Teste a melhoria:** experimente essas variações em seu console de teste para ver como a NLU assistida lida com frases diferentes:
+ “Quero comprar algumas rosas” (deve acionar a OrderFlowers intenção e a captura FlowerType)
+ “Posso receber flores amanhã?” (deve acionar a OrderFlowers intenção e a captura PickupDate)
+ “Preciso de tulipas para pegar às 15h” (deve acionar a OrderFlowers intenção e a captura e) FlowerType PickupTime

Observe como o chatbot pode entender essas variações naturais sem exigir que você as adicione como exemplos explícitos de declarações. Isso é desenvolvido pela Assisted NLU, que usa IA para melhorar a compreensão da linguagem natural.

## Próximas etapas
<a name="getting-started-next-steps"></a>

Agora que você criou seu primeiro bot usando um modelo, use o console para criar seu próprio bot. Para instruções sobre como criar um bot personalizado e sobre a criação de bots, consulte [Como trabalhar com bots do Amazon Lex V2](building-bots.md).

# Exercício 2: revisar o fluxo da conversação
<a name="exercise-2"></a>

 Neste exercício, você revisa as estruturas JSON que são enviadas entre seu aplicativo cliente e o bot do Amazon Lex V2 que você criou no [Exercício 1: criar um chatbot a partir de um modelo](exercise-1.md). A conversa usa a [RecognizeText](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html)operação para gerar as estruturas JSON. O [RecognizeUtterance](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeUtterance.html)retorna as mesmas informações dos cabeçalhos HTTP na resposta.

As estruturas JSON são divididas por cada turno da conversa. Um *turno* é uma solicitação do aplicativo cliente e uma resposta do bot. 

## Turno 1
<a name="exercise-2-turn-1"></a>

Durante o primeiro turno da conversa, o aplicativo cliente inicia a conversa com seu bot. O URI e o corpo da solicitação fornecem informações sobre a solicitação.

```
POST /bots/botId/botAliases/botAliasId/botLocales/localeId/sessions/sessionId/text HTTP/1.1
Content-type: application/json

{
    "text": "I would like to order flowers"
}
```
+ O URI identifica o bot com o qual o aplicativo cliente está se comunicando. Também inclui um identificador de sessão gerado pelo aplicativo cliente que identifica uma conversa específica entre um usuário e o bot.
+ O corpo da solicitação contém o texto que o usuário digitou no aplicativo cliente. Nesse caso, somente o texto é enviado, mas seu aplicativo pode enviar outras informações, como atributos da solicitação ou estado da sessão. Para obter mais informações, consulte a operação [RecognizeText](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html).

A partir de `text`, o Amazon Lex V2 detecta a intenção do usuário, que é pedir flores. O Amazon Lex V2 escolhe um dos slots da intenção (`FlowerType`) e uma das solicitações para o slot e, em seguida, envia a resposta abaixo ao aplicativo cliente. O cliente exibe a mensagem na resposta ao usuário.

```
{
    "interpretations": [
        {
            "intent": {
                "confirmationState": "None",
                "name": "OrderFlowers",
                "slots": {
                    "FlowerType": null,
                    "PickupDate": null,
                    "PickupTime": null
                },
                "state": "InProgress"
            },
            "nluConfidence": {
                "score": 0.95
            }
        },
        {
            "intent": {
                "name": "FallbackIntent",
                "slots": {}
            }
        }
    ],
    "messages": [
        {
            "content": "What type of flowers would you like to order?",
            "contentType": "PlainText"
        }
    ],
    "sessionId": "bf445a49-7165-4fcd-9a9c-a782493fba5c",
    "sessionState": {
        "dialogAction": {
            "slotToElicit": "FlowerType",
            "type": "ElicitSlot"
        },
        "intent": {
            "confirmationState": "None",
            "name": "OrderFlowers",
            "slots": {
                "FlowerType": null,
                "PickupDate": null,
                "PickupTime": null
            },
            "state": "InProgress"
        },
        "originatingRequestId": "9e8add70-4106-4a10-93f5-2ce2cb959e5f"
    }
}
```

## Turno 2
<a name="exercise-2-turn-2"></a>

No turno 2, o usuário responde à solicitação do bot do Amazon Lex V2 no turno 1 com um valor que preenche o slot de `FlowerType`.

```
{
    "text": "1 dozen roses"
}
```

A resposta para o turno 2 mostra o slot de `FlowerType` preenchido e fornece uma solicitação para obter o próximo valor do slot.

```
{
    "interpretations": [
        {
            "intent": {
                "confirmationState": "None",
                "name": "OrderFlowers",
                "slots": {
                    "FlowerType": {
                        "value": {
                            "interpretedValue": "dozen roses",
                            "originalValue": "dozen roses",
                            "resolvedValues": []
                        }
                    },
                    "PickupDate": null,
                    "PickupTime": null
                },
                "state": "InProgress"
            },
            "nluConfidence": {
                "score": 0.98
            }
        },
        {
            "intent": {
                "name": "FallbackIntent",
                "slots": {}
            }
        }
    ],
    "messages": [
        {
            "content": "What day do you want the dozen roses to be picked up?",
            "contentType": "PlainText"
        }
    ],
    "sessionId": "bf445a49-7165-4fcd-9a9c-a782493fba5c",
    "sessionState": {
        "dialogAction": {
            "slotToElicit": "PickupDate",
            "type": "ElicitSlot"
        },
        "intent": {
            "confirmationState": "None",
            "name": "OrderFlowers",
            "slots": {
                "FlowerType": {
                    "value": {
                        "interpretedValue": "dozen roses",
                        "originalValue": "dozen roses",
                        "resolvedValues": []
                    }
                },
                "PickupDate": null,
                "PickupTime": null
            },
            "state": "InProgress"
        },
        "originatingRequestId": "9e8add70-4106-4a10-93f5-2ce2cb959e5f"
    }
}
```

## Turno 3
<a name="exercise-2-turn-3"></a>

No turno 3, o usuário responde à solicitação do bot do Amazon Lex V2 no turno 2 com um valor que preenche o slot de `PickupDate`.

```
{
    "text": "next monday"
}
```

A resposta para o turno 3 mostra os slots de `FlowerType` e `PickupDate` preenchidos e fornece uma solicitação para obter o último valor do slot.

```
{
    "interpretations": [
        {
            "intent": {
                "confirmationState": "None",
                "name": "OrderFlowers",
                "slots": {
                    "FlowerType": {
                        "value": {
                            "interpretedValue": "dozen roses",
                            "originalValue": "dozen roses",
                            "resolvedValues": []
                        }
                    },
                    "PickupDate": {
                        "value": {
                            "interpretedValue": "2022-12-28",
                            "originalValue": "next monday",
                            "resolvedValues": [
                                "2021-01-04"
                            ]
                        }
                    },
                    "PickupTime": null
                },
                "state": "InProgress"
            },
            "nluConfidence": {
                "score": 1.0
            }
        },
        {
            "intent": {
                "name": "FallbackIntent",
                "slots": {}
            }
        }
    ],
    "messages": [
        {
            "content": "At what time do you want the 1 dozen roses to be picked up?",
            "contentType": "PlainText"
        }
    ],
    "sessionId": "bf445a49-7165-4fcd-9a9c-a782493fba5c",
    "sessionState": {
        "dialogAction": {
            "slotToElicit": "PickupTime",
            "type": "ElicitSlot"
        },
        "intent": {
            "confirmationState": "None",
            "name": "OrderFlowers",
            "slots": {
                "FlowerType": {
                    "value": {
                        "interpretedValue": "dozen roses",
                        "originalValue": "dozen roses",
                        "resolvedValues": []
                    }
                },
                "PickupDate": {
                    "value": {
                        "interpretedValue": "2021-01-04",
                        "originalValue": "next monday",
                        "resolvedValues": [
                            "2021-01-04"
                        ]
                    }
                },
                "PickupTime": null
            },
            "state": "InProgress"
        },
        "originatingRequestId": "9e8add70-4106-4a10-93f5-2ce2cb959e5f",
        "sessionAttributes": {}
    }
}
```

## Turno 4
<a name="exercise-2-turn-4"></a>

No turno 4, o usuário fornece o valor final do slot para a intenção, a saber, a hora em que as flores são retiradas. 

```
{
    "text": "5 in the evening"
}
```

Na resposta, o Amazon Lex V2 envia uma solicitação de confirmação ao usuário para confirmar que o pedido está correto. A `dialogAction` fica definida como `ConfirmIntent` e o `confirmationState` fica como `None`.

```
{
    "interpretations": [
        {
            "intent": {
                "confirmationState": "None",
                "name": "OrderFlowers",
                "slots": {
                    "FlowerType": {
                        "value": {
                            "interpretedValue": "dozen roses",
                            "originalValue": "dozen roses",
                            "resolvedValues": []
                        }
                    },
                    "PickupDate": {
                        "value": {
                            "interpretedValue": "2021-01-04",
                            "originalValue": "next monday",
                            "resolvedValues": [
                                "2021-01-04"
                            ]
                        }
                    },
                    "PickupTime": {
                        "value": {
                            "interpretedValue": "17:00",
                            "originalValue": "5 evening",
                            "resolvedValues": [
                                "17:00"
                            ]
                        }
                    }
                },
                "state": "InProgress"
            },
            "nluConfidence": {
                "score": 1.0
            }
        },
        {
            "intent": {
                "name": "FallbackIntent",
                "slots": {}
            }
        }
    ],
    "messages": [
        {
            "content": "Okay, your dozen roses will be ready for pickup by 17:00 on 2021-01-04.  Does this sound okay?",
            "contentType": "PlainText"
        }
    ],
    "sessionId": "bf445a49-7165-4fcd-9a9c-a782493fba5c",
    "sessionState": {
        "dialogAction": {
            "type": "ConfirmIntent"
        },
        "intent": {
            "confirmationState": "None",
            "name": "OrderFlowers",
            "slots": {
                "FlowerType": {
                    "value": {
                        "interpretedValue": "dozen roses",
                        "originalValue": "dozen roses",
                        "resolvedValues": []
                    }
                },
                "PickupDate": {
                    "value": {
                        "interpretedValue": "2021-01-04",
                        "originalValue": "next monday",
                        "resolvedValues": [
                            "2021-01-04"
                        ]
                    }
                },
                "PickupTime": {
                    "value": {
                        "interpretedValue": "17:00",
                        "originalValue": "5 evening",
                        "resolvedValues": [
                            "17:00"
                        ]
                    }
                }
            },
            "state": "InProgress"
        },
        "originatingRequestId": "9e8add70-4106-4a10-93f5-2ce2cb959e5f"
    }
}
```

## Turno 5
<a name="exercise-2-turn-5"></a>

No turno final, o usuário responde com a solicitação de confirmação. 

```
{
    "text": "yes"
}
```

Na resposta, os envios do Amazon Lex V2 indicam que o intent foi cumprido definindo `confirmationState` como `Confirmed` e `dialogAction` para fechar. Todos os valores de slot estão disponíveis para o aplicativo cliente.

```
{
    "interpretations": [
        {
            "intent": {
                "confirmationState": "Confirmed",
                "name": "OrderFlowers",
                "slots": {
                    "FlowerType": {
                        "value": {
                            "interpretedValue": "dozen roses",
                            "originalValue": "dozen roses",
                            "resolvedValues": []
                        }
                    },
                    "PickupDate": {
                        "value": {
                            "interpretedValue": "2021-01-04",
                            "originalValue": "next monday",
                            "resolvedValues": [
                                "2021-01-04"
                            ]
                        }
                    },
                    "PickupTime": {
                        "value": {
                            "interpretedValue": "17:00",
                            "originalValue": "5 evening",
                            "resolvedValues": [
                                "17:00"
                            ]
                        }
                    }
                },
                "state": "Fulfilled"
            },
            "nluConfidence": {
                "score": 1.0
            }
        },
        {
            "intent": {
                "name": "FallbackIntent",
                "slots": {}
            }
        }
    ],
    "messages": [
        {
            "content": "Thanks. ",
            "contentType": "PlainText"
        }
    ],
    "sessionId": "bf445a49-7165-4fcd-9a9c-a782493fba5c",
    "sessionState": {
        "dialogAction": {
            "type": "Close"
        },
        "intent": {
            "confirmationState": "Confirmed",
            "name": "OrderFlowers",
            "slots": {
                "FlowerType": {
                    "value": {
                        "interpretedValue": "dozen roses",
                        "originalValue": "dozen roses",
                        "resolvedValues": []
                    }
                },
                "PickupDate": {
                    "value": {
                        "interpretedValue": "2021-01-04",
                        "originalValue": "next monday",
                        "resolvedValues": [
                            "2021-01-04"
                        ]
                    }
                },
                "PickupTime": {
                    "value": {
                        "interpretedValue": "17:00",
                        "originalValue": "5 evening",
                        "resolvedValues": [
                            "17:00"
                        ]
                    }
                }
            },
            "state": "Fulfilled"
        },
        "originatingRequestId": "9e8add70-4106-4a10-93f5-2ce2cb959e5f"
    }
}
```

# Exercício 3: Crie um chatbot avançado de atendimento ao cliente
<a name="exercise-3"></a>

Neste exercício avançado, você criará um sofisticado chatbot de atendimento ao cliente para uma empresa de comércio eletrônico. Esse bot demonstra recursos de nível corporativo, incluindo gerenciamento de pedidos, vendas adicionais inteligentes, geração de leads e otimização de receita. O chatbot usa recursos baseados em IA para fornecer experiências personalizadas aos clientes e impulsionar o crescimento dos negócios.

## SmartCommerce Visão geral do bot de atendimento ao cliente
<a name="exercise-3-overview"></a>

O **SmartCommerce Customer Service Bot** foi projetado para lidar com interações complexas com clientes e, ao mesmo tempo, maximizar as oportunidades de receita. Este exemplo demonstra como as empresas podem automatizar o atendimento ao cliente e, ao mesmo tempo, impulsionar o crescimento das vendas por meio do gerenciamento inteligente de conversas.
+ **Intenções personalizadas** — O bot inclui várias intenções personalizadas para um atendimento abrangente ao cliente:
  + `CheckOrderStatus`- Verifica e fornece informações sobre o status do pedido
  + `ProcessReturn`- Lida com solicitações de devolução e trocas
  + `UpsellProducts`- Recomenda produtos e serviços adicionais
  + `CaptureLeadInfo`- Coleta informações do cliente para geração de leads
  + `ScheduleCallback`- Reserva retornos de chamadas de atendimento ao cliente
+ **Intenções incorporadas** — Aproveita as intenções incorporadas do Amazon Lex V2 para interações comuns:
  + [AMAZON.HelpIntent](built-in-intent-help.md)- Fornece ajuda e orientação
  + [AMAZON.CancelIntent](built-in-intent-cancel.md)- Lida com solicitações de cancelamento
  + [AMAZON.StopIntent](built-in-intent-stop.md)- Encerra as conversas com elegância
+ **Tipos de slots personalizados — Tipos** de slots especializados para dados específicos da empresa:
  + `ProductCategories`- Eletrônicos, roupas, casa, livros, esportes
  + `ReturnReasons`- Defeito, tamanho errado, mudança de ideia, não conforme descrito
  + `ContactPreferences`- E-mail, SMS, chamada telefônica, notificação no aplicativo
  + `CustomerTiers`- Bronze, prata, ouro, platina
+ **Tipos de slots integrados** — Usa slots integrados do Amazon Lex V2 para formatos de dados comuns:
  + [AMAZON.Date](built-in-slot-date.md)- Para datas de entrega e agendamento de retorno de chamadas
  + [AMAZON.Time](built-in-slot-time.md)- Para horários de retorno de chamadas e janelas de entrega
  + [AMAZON.EmailAddress](built-in-slot-email.md)- Para coleta de e-mails de clientes
  + [AMAZON.PhoneNumber](built-in-slot-phone.md)- Para números de telefone de clientes
  + [AMAZON.Number](built-in-slot-number.md)- Para números e quantidades de pedidos

## Configuração detalhada da intenção
<a name="exercise-3-intents-detail"></a>

### CheckOrderStatus Intenção
<a name="check-order-status-intent"></a>

Essa intenção lida com a verificação do pedido e as consultas de status, fornecendo aos clientes informações do pedido em tempo real e identificando oportunidades de vendas adicionais.
+ **Slots necessários:**
  + `OrderNumber`([AMAZON.Number](built-in-slot-number.md)) - Número do pedido do cliente
  + `CustomerEmail`([AMAZON.EmailAddress](built-in-slot-email.md)) - E-mail para verificação
+ **Exemplos de declarações:**
  + “Qual é o status do meu pedido \$1OrderNumber\$1”
  + “Preciso verificar o número do pedido \$1OrderNumber\$1”
  + “Onde está meu pacote?”
  + “Rastrear meu pedido \$1OrderNumber\$1”
  + “Meu pedido já foi enviado?”
+ **Recursos alimentados por IA:**
  + Usa a NLU assistida para entender variações como “meu pacote”, “minhas coisas”, “minha entrega”
  + Extrai automaticamente números de pedidos de padrões naturais de fala

### UpsellProducts Intenção
<a name="upsell-products-intent"></a>

Essa intenção identifica proativamente oportunidades de receita recomendando produtos complementares e serviços premium com base no histórico do cliente e no contexto de interação atual.
+ **Slots necessários:**
  + `ProductCategory`(ProductCategories) - Categoria de interesse
  + `CustomerTier`(CustomerTiers) - Nível de fidelidade do cliente
  + `Budget`([AMAZON.Number](built-in-slot-number.md)) - Faixa de orçamento do cliente
+ **Exemplos de declarações:**
  + “Mostre-me produtos relacionados”
  + “O que mais aconteceria com isso?”
  + “Você tem alguma oferta?”
  + “Estou interessado em \$1ProductCategory\$1 itens”
  + “O que está à venda hoje”
+ **Recursos de otimização de receita:**
  + Preços dinâmicos com base no nível do cliente
  + Recomendações personalizadas usando o histórico de compras
  + Criação de ofertas por tempo limitado para impulsionar compras imediatas

### CaptureLeadInfo Intenção
<a name="capture-lead-info-intent"></a>

Essa intenção coleta sistematicamente as informações do cliente para geração de leads, criando dados valiosos que podem ser vendidos a agregadores ou usados para campanhas de marketing direcionadas.
+ **Slots necessários:**
  + `CustomerFirstName`([AMAZON.FirstName](built-in-slot-first-name.md)) - Primeiro nome do cliente para personalização
  + `CustomerLastName`([AMAZON.LastName](built-in-slot-last-name.md)) - Sobrenome do cliente para pesquisa do histórico de vendas
  + `CustomerEmail`([AMAZON.EmailAddress](built-in-slot-email.md)) - Endereço de e-mail
  + `CustomerPhone`([AMAZON.PhoneNumber](built-in-slot-phone.md)) - Número de telefone
  + `InterestCategory`(ProductCategories) - Interesses do produto
  + `ContactPreference`(ContactPreferences) - Método de contato preferido
+ **Exemplos de declarações:**
  + “Quero ouvir sobre novos produtos”
  + “Inscreva-me para receber atualizações”
  + “Estou interessado em \$1InterestCategory\$1”
  + “Mantenha-me informado sobre vendas”
  + “Quero me juntar à sua lista de e-mails”
  + “Meu nome é \$1CustomerFirstName\$1 \$1CustomerLastName\$1”
  + “Sou \$1CustomerFirstName\$1 \$1CustomerLastName\$1 e quero recomendações personalizadas”
+ **Características de geração de leads:**
  + Coleta de dados estruturados para integração de CRM
  + Pontuação de leads com base na qualidade da interação
  + Qualificação e roteamento automatizados de leads
  + Formatação de dados para vendas agregadas
+ **Integração do histórico de vendas:**
  + Pesquisa de nomes de clientes em tabelas de histórico de compras armazenadas em S3
  + Análise do padrão de compra para recomendações personalizadas
  + Identificação de comportamento de compra entre categorias
  + Análise sazonal de tendências de compra para ofertas direcionadas
  + Cálculo do valor da vida útil do cliente para preços baseados em níveis

## Fluxo de conversação em vários turnos
<a name="exercise-3-multiturn-flow"></a>

O SmartCommerce bot foi projetado para lidar com conversas complexas de vários turnos que abrangem várias intenções e mantêm o contexto durante toda a interação. Isso cria uma experiência natural e humana, ao mesmo tempo em que maximiza as oportunidades de receita.

### Exemplo de fluxo de conversa
<a name="conversation-flow-example"></a>

**Turno 1-3: Verificação do status do pedido**

```
Customer: "Hi, I need to check on my order"
Bot: "I'd be happy to help you check your order status. Can you provide your order number?"
Customer: "It's order 12345"
Bot: "Thank you. To verify your identity, can you provide the email address associated with this order?"
Customer: "john.doe@email.com"
Bot: "Perfect! Order #12345 is currently being prepared for shipment. You should receive it by tomorrow. 
     Since you're a Gold tier customer, would you like to hear about some exclusive deals on related items?"
```

**Turno 4-6: oportunidade de venda adicional**

```
Customer: "Sure, what do you have?"
Bot: "Based on your Electronics purchase, I can offer you a 20% discount on premium accessories. 
     What's your budget range for additional items?"
Customer: "Maybe around $50"
Bot: "Excellent! I have a wireless charging pad normally $60, now $48 with your Gold discount. 
     Plus, if you add it to your current order, shipping is free. Should I add this to your cart?"
```

**Turno 7 a 11: geração de leads com pesquisa do histórico de vendas**

```
Customer: "Not right now, but I'd like to hear about future deals"
Bot: "Absolutely! I can set you up to receive personalized offers. What's your first name?"
Customer: "John"
Bot: "Thanks John! And your last name so I can look up your purchase history for better recommendations?"
Customer: "Smith"
Bot: "Perfect! Let me check your purchase history... I see you've bought electronics and home items before. 
     Based on your past purchases, I can offer you exclusive deals on smart home accessories. 
     How would you prefer to be contacted?"
Customer: "Email is fine"
Bot: "Great! I'll make sure john.doe@email.com gets personalized deals based on your purchase history. 
     You're all set for our premium recommendations program!"
```

### Recursos de gerenciamento de contexto
<a name="context-management"></a>
+ **Persistência da sessão:** mantém as informações do cliente em várias intenções
+ **Encadeamento de intenções:** transições perfeitas entre verificação de pedidos, vendas adicionais e captura de leads
+ **Personalização dinâmica:** ajusta as ofertas com base no nível do cliente e no histórico de compras
+ **Rastreamento de receita:** monitora as taxas de sucesso de vendas adicionais e os índices de qualidade dos leads

## Recursos baseados em IA
<a name="exercise-3-ai-features"></a>

Esse chatbot aproveita vários recursos de IA para fornecer atendimento ao cliente inteligente e personalizado e, ao mesmo tempo, impulsionar o crescimento dos negócios.

### Implantação assistida da NLU
<a name="assisted-nlu-implementation"></a>

A NLU assistida usa modelos de linguagem ampla para entender a intenção do cliente, mesmo quando eles usam frases não padronizadas ou combinam várias solicitações em uma única expressão.
+ **Compreensão da linguagem natural:**
  + “Minhas coisas ainda não chegaram” → CheckOrderStatus intenção
  + “Quero devolver esse lixo” → intenção ProcessReturn 
  + “Mostre-me o que mais você tem” → UpsellProducts intenção
+ **Reconhecimento multiintencional:**
  + “Verifique meu pedido 12345 e inscreva-me para ofertas” → \$1 CheckOrderStatus CaptureLeadInfo

### Resolução generativa de slots
<a name="generative-slot-resolution"></a>

Usa IA para extrair valores de slots de entradas complexas de linguagem natural sem exigir correspondências exatas com os dados de treinamento.
+ **Extração inteligente:**
  + “Eu comprei alguns eletrônicos na semana passada, o número do pedido era algo como 12345" → OrderNumber: 12345,: Eletrônica ProductCategory
  + “Ligue para mim no meu celular em 555-123-4567 ou envie um e-mail para john@company.com" → Telefone: 555-123-4567, e-mail: john@company.com

### Integração da análise de sentimentos
<a name="sentiment-analysis"></a>

Monitora o sentimento do cliente durante toda a conversa para ajustar a abordagem e escalar quando necessário.
+ **Roteamento baseado em sentimentos:**
  + Sentimento positivo → Abordagem agressiva de venda adicional
  + Sentimento neutro → Serviço padrão com vendas adicionais suaves
  + Sentimento negativo → Concentre-se na resolução de problemas, vendas adicionais mínimas

## Sistema de verificação e confirmação de pedidos
<a name="exercise-3-confirmation-system"></a>

O bot inclui um sistema de confirmação abrangente que verifica a identidade do cliente, confirma os detalhes do pedido e envia confirmações por meio de vários canais.

### Processo de verificação multifatorial
<a name="verification-process"></a>
+ **Verificação primária:**
  + Validação do número do pedido
  + Confirmação do endereço de e-mail
  + Últimos 4 dígitos da forma de pagamento (para operações confidenciais)
+ **Verificação secundária:**
  + Confirmação do endereço de entrega
  + Validação da data de compra
  + Verificação dos detalhes do produto

### Sistema de confirmação multicanal
<a name="confirmation-channels"></a>

O bot envia confirmações automaticamente por meio de vários canais com base nas preferências do cliente e no tipo de ação.
+ **Confirmações por e-mail:**
  + Atualizações do status do pedido com informações de rastreamento
  + Autorização de devolução com etiquetas de envio pré-pagas
  + Confirmações de compra adicionais com detalhes de entrega
  + Confirmação de captura de leads com ofertas de boas-vindas
+ **Confirmações por SMS:**
  + Atualizações imediatas do status do pedido
  + Notificações de entrega com janelas de tempo
  + Alertas de venda instantânea para clientes interessados
+ **Notificações no aplicativo:**
  + Atualizações de pedidos em tempo real
  + Recomendações personalizadas de produtos
  + Atualizações do programa de fidelidade

## Integração de ponto de venda (POS)
<a name="exercise-3-pos-integration"></a>

O chatbot se integra diretamente aos sistemas POS para processar transações, aplicar descontos e atualizar o inventário em tempo real.

### Processamento de transações em tempo real
<a name="transaction-processing"></a>
+ **Fluxo de transações de venda adicional:**

  ```
  1. Customer accepts upsell offer
  2. Bot validates inventory availability
  3. Bot applies customer-tier discount
  4. Bot processes payment using stored payment method
  5. Bot updates order with additional items
  6. Bot sends confirmation via preferred channel
  7. Bot updates customer profile with purchase data
  ```
+ **Rastreamento de receita:**
  + Taxas de conversão de vendas adicionais por nível de cliente
  + Aumento médio do valor do pedido por interação
  + Atribuição de receita às interações do chatbot
  + Impacto do valor da vida útil do cliente

### Mecanismo dinâmico de preços
<a name="dynamic-pricing"></a>
+ **Preços baseados em níveis:**
  + Bronze: preço padrão
  + Silver: 5% de desconto em vendas adicionais
  + Gold: 10-20% de desconto em vendas adicionais
  + Platinum: 25% de desconto \$1frete grátis
+ **Preços contextuais:**
  + Cenários de resolução de problemas: desconto adicional para manter a satisfação
  + Clientes de alto valor: níveis de preços exclusivos
  + Liquidação de estoque: descontos agressivos para itens de movimentação lenta

## Sistema avançado de geração de leads
<a name="exercise-3-lead-generation"></a>

O chatbot inclui um sofisticado sistema de geração de leads que captura, qualifica e monetiza os dados dos clientes por meio de vários fluxos de receita.

### Estratégia de captura de leads multitoque
<a name="lead-capture-strategy"></a>
+ **Captura oportunista:**
  + Durante a verificação do status do pedido: “Você gostaria de atualizações sobre produtos similares?”
  + Após a resolução do problema: “Podemos notificá-lo sobre melhorias no produto?”
  + Durante as interações de venda adicional: “Devemos alertá-lo sobre futuros negócios nessa categoria?”
+ **Captura de valor agregado:**
  + Acesso exclusivo aos preços para membros
  + Acesso antecipado aos lançamentos de novos produtos
  + Recomendações personalizadas de produtos
  + Ofertas especiais de aniversário e aniversário

### Qualificação automatizada de leads
<a name="lead-qualification"></a>
+ **Critérios de pontuação:**
  + Valor do histórico de compras: 0-25 pontos
  + Nível de engajamento: 0-20 pontos
  + Completude das informações de contato: 0-15 pontos
  + Amplitude de juros da categoria de produto: 0-15 pontos
  + Resposta às tentativas de venda adicional: 0-25 pontos
+ **Categorias principais:**
  + Hot Leads (80-100 pontos): contato imediato com a equipe de vendas
  + Warm Leads (60-79 pontos): sequência de nutrição automatizada
  + Cold Leads (40-59 pontos): boletim informativo mensal
  + Prospectos (0-39 pontos): e-mails promocionais trimestrais

### Monetização de dados de leads para agregadores
<a name="aggregator-sales"></a>

O sistema formata e empacota dados de leads para venda a agregadores terceirizados, criando um fluxo de receita adicional.
+ **Pacotes de dados:**
  + *Pacote Premium:* informações de contato completas, histórico de compras, preferências, pontuações de engajamento
  + *Standard Package:* informações de contato, preferências básicas, categorias de interesses
  + *Basic Package:* endereço de e-mail, categoria de interesse principal
+ **Características de conformidade:**
  + Conformidade com o GDPR com rastreamento de consentimento explícito
  + Conformidade com a CCPA com mecanismos de exclusão
  + Conformidade com CAN-SPAM para marketing por e-mail
  + Políticas de retenção e exclusão de dados
+ **Otimização de receita:**
  + Preços dinâmicos com base em pontuações de qualidade de leads
  + Parcerias de dados exclusivas com agregadores premium
  + Licitação em tempo real para leads de alto valor

## Estratégias de otimização de receita
<a name="exercise-3-revenue-optimization"></a>

Cada interação é projetada para maximizar a receita por meio de vendas adicionais inteligentes, vendas cruzadas e otimização do valor da vida útil do cliente.

### Estratégias inteligentes de upselling
<a name="upselling-strategies"></a>
+ **Venda adicional contextual:**
  + Verificação do status do pedido → “Seu pedido está pronto\$1 Adicionar frete rápido por apenas \$15?”
  + Solicitação de devolução → “Em vez de devolver, você gostaria de trocar por nosso modelo atualizado?”
  + Consulta do produto → “Este item combina perfeitamente com [produto complementar] - agrupe e economize 15%”
+ **Venda com base na urgência:**
  + “Esta oferta expira em 24 horas”
  + “Restam apenas 3 em estoque a esse preço”
  + “A venda relâmpago termina à meia-noite”

### Oportunidades de venda cruzada
<a name="cross-selling-opportunities"></a>
+ **Venda de ecossistemas de produtos:**
  + Eletrônica → Acessórios, garantias, serviços de instalação
  + Vestuário → Itens correspondentes, produtos de cuidado, serviços de estilo
  + Artigos para o lar → Itens complementares, produtos de manutenção, consultas de design
+ **Venda adicional de serviços:**
  + Garantias estendidas e planos de proteção
  + Níveis premium de suporte ao cliente
  + Serviços de assinatura e entrega automática
  + Instalação e configuração profissionais

### Otimização do valor da vida útil do cliente
<a name="lifetime-value-optimization"></a>
+ **Integração do programa de fidelidade:**
  + Atualizações automáticas de níveis com base nas interações do chatbot
  + Pontos de bônus por se envolver com ofertas de venda adicional
  + Recompensas e descontos exclusivos somente para chatbots
+ **Estratégias de retenção:**
  + Resolução proativa de problemas para evitar a rotatividade
  + Ofertas personalizadas de recuperação para clientes inativos
  + Ofertas de comemoração de aniversários e marcos

## Procedimentos de implementação
<a name="exercise-3-implementation"></a>

Siga esses step-by-step procedimentos para criar seu chatbot avançado de atendimento ao cliente com todos os recursos de otimização de receita.

### Pré-requisitos e requisitos de configuração
<a name="exercise-3-prerequisites"></a>

Antes de criar o SmartCommerce bot, verifique se você tem a configuração e as permissões necessárias da conta da AWS e compreende as considerações do serviço.

#### Requisitos de conta e acesso da AWS
<a name="aws-account-setup"></a>
+ **Conta da AWS:** você precisa de uma conta ativa da AWS com o faturamento ativado. Se você não tiver um, cadastre-se em [aws.amazon.com](https://aws.amazon.com/).
+ **Permissões do IAM:** Seu usuário ou função da AWS deve ter as seguintes permissões:
  + `lex:*`- Permissões completas do Amazon Lex V2 para criação e gerenciamento de bots
  + `iam:CreateRole`- Para criar funções de serviço para o bot
  + `iam:AttachRolePolicy`- Para anexar políticas às funções de serviço
  + `lambda:CreateFunction`- Para integração com o Lambda (opcional)
  + `logs:CreateLogGroup`- Para registro no Amazon CloudWatch Logs
+ **Seleção de região:** escolha uma região da AWS que ofereça suporte ao Amazon Lex V2 e ao seu público-alvo. As regiões recomendadas incluem:
  + Leste dos EUA (Norte da Virgínia) – us-east-1
  + Oeste dos EUA (Oregon): us-west-2
  + Europa (Irlanda): eu-west-1
  + Ásia-Pacífico (Sydney) – ap-southeast-2

#### Limites e cotas de serviço
<a name="service-limits-quotas"></a>

O Amazon Lex V2 tem vários limites de serviço que podem afetar o desenvolvimento e a implantação do seu bot:
+ **Limites do bot:**
  + Máximo de 100 bots por conta por região
  + Máximo de 100 intenções por bot
  + Máximo de 100 tipos de slots por bot
  + Máximo de 200 slots por intenção
+ **Limites de tempo de execução:**
  + Tempo limite máximo da sessão de 15 minutos
  + Máximo de 1.000 solicitações por segundo (pode ser aumentado)
  + Máximo de 1.500 caracteres por entrada de texto
+ **Limites de dados de treinamento:**
  + Máximo de 1.500 amostras de declarações por intenção
  + Máximo de 10.000 valores de tipo de slot
  + Máximo de 140 caracteres por amostra de enunciado

**nota**  
Se precisar de limites mais altos para o uso da produção, você pode solicitar aumentos de cota por meio do AWS Support Center.

#### Considerações sobre custos
<a name="cost-considerations"></a>

Compreender os preços do Amazon Lex V2 ajuda você a planejar e orçar a implantação do seu chatbot:
+ **Preços baseados em solicitações:**
  + Solicitações de texto: 0,00075 USD por solicitação após as primeiras 10.000 solicitações por mês
  + Solicitações de fala: 0,004 USD por solicitação após as primeiras 1.000 solicitações por mês
+ **Nível gratuito:**
  + 10.000 solicitações de texto por mês durante o primeiro ano
  + 1.000 solicitações de fala por mês durante o primeiro ano
+ **Custos adicionais:**
  + Funções Lambda (se usadas): 0,20 USD por 1 milhão de solicitações\$1tempo de computação
  +  CloudWatch Registros do Amazon Logs: 0,50 USD por GB ingerido
  + Custos de transferência de dados para integrações externas
+ **Dicas de otimização de custos:**
  + Use atributos de sessão para reduzir chamadas de API redundantes
  + Implemente fluxos de conversação eficientes para minimizar turnos
  + Monitore o uso por meio de CloudWatch registros para identificar oportunidades de otimização

**Importante**  
Para obter informações atuais sobre preços, visite a [página de preços do Amazon Lex](https://aws.amazon.com/lex/pricing/), pois as tarifas podem mudar.

#### Visão geral da integração com o Lambda
<a name="lambda-integration-basics"></a>

Embora este exercício se concentre na configuração do bot Lex, os recursos avançados descritos (integração de POS, geração de leads, otimização de receita) normalmente exigiriam funções Lambda para processamento de back-end.
+ **Quando o Lambda é necessário:**
  + Verificação do status do pedido em bancos de dados externos
  + Verificações de inventário em tempo real para vendas adicionais
  + Armazenamento e recuperação de dados do cliente
  + Pesquisa do histórico de vendas em tabelas do S3 usando o nome e o sobrenome do cliente
  + Análise do padrão de compra para recomendações personalizadas
  + Integração de processamento de pagamentos
  + Envio de confirmação por e-mail e SMS
+ **Integração do histórico de vendas do S3:**
  + Consulte tabelas do S3 usando CustomerFirstName slots CustomerLastName 
  + Analise o histórico de compras para identificar padrões e preferências de compra
  + Gere recomendações personalizadas de produtos com base em compras anteriores
  + Calcule o valor da vida útil do cliente para estratégias dinâmicas de preços
  + Identifique oportunidades de venda cruzada a partir da análise de correlação de compra
+ **Requisitos básicos de configuração do Lambda:**
  + Função de execução do Lambda com permissões apropriadas
  + Configuração de VPC se estiver acessando recursos privados
  + Variáveis de ambiente para configuração
  + Implementação do tratamento de erros e do registro
+ **Pontos de integração:**
  + Cumprimento da intenção - Processe as intenções concluídas
  + Validação de slots - valide as entradas do usuário em tempo real
  + Gerenciamento de diálogos - Controle o fluxo de conversas

**nota**  
Neste exercício, vamos nos concentrar na configuração do bot Lex. A integração com o Lambda pode ser adicionada posteriormente à medida que seus requisitos evoluem. O bot trabalhará com respostas estáticas para fins de teste e demonstração.

#### Lista de verificação de pré-implementação
<a name="getting-started-checklist"></a>

Antes de continuar com a criação do bot, verifique se você tem:
+ ✓ Conta ativa da AWS com faturamento ativado
+ ✓ Permissões apropriadas do IAM para Lex e serviços relacionados
+ ✓ Região alvo selecionada da AWS
+ ✓ Limites e cotas de serviço revisados
+ ✓ Implicações de custo compreendidas
+ ✓ Abordagem de integração planejada do Lambda (se necessário)
+ ✓ Acesso ao AWS Management AWS Management Console

### Crie o SmartCommerce bot
<a name="create-advanced-bot-procedure"></a>

**Para criar o bot de SmartCommerce atendimento ao cliente**

1. Faça login no AWS Management Console e abra o console do Amazon Lex em [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Escolha **Criar bot**.

1. Para **Método de criação**, escolha **Criar um bot em branco**.

1. Na seção de **configuração do bot**:
   + Nome do bot: **SmartCommerceBot**
   + Descrição: **Advanced customer service chatbot with upselling, lead generation, and revenue optimization**

1. Na seção **Permissões**, escolha **Criar um novo perfil com permissões básicas do Amazon Lex**.

1. Na seção **Lei de Proteção à Privacidade Online para Crianças (COPPA)**, escolha **Não**.

1. Na seção **Tempo limite da sessão**, defina como **15 minutes** para permitir conversas complexas em vários turnos.

1. Escolha **Próximo**.

1. Adicione inglês (EUA) como idioma e escolha **Concluído**.

### Crie tipos de slots personalizados
<a name="create-custom-slot-types-procedure"></a>

**Para criar os tipos de slots personalizados**

1. No painel de navegação esquerdo, escolha **Tipos de slots**.

1. Escolha **Adicionar tipo de slot** e crie os seguintes tipos de slot:

   1. **ProductCategories:**
      + Eletrônica
      + Roupas
      + Início 
      + Livros
      + Esportes
      + Beleza
      + Automotivo

   1. **ReturnReasons:**
      + Defeituoso
      + Tamanho errado
      + Mudou de ideia
      + Não conforme descrito
      + Danificado no transporte
      + Melhor preço encontrado

   1. **ContactPreferences:**
      + E-mail
      + SMS
      + Chamada telefônica
      + Notificação no aplicativo
      + Correio

   1. **CustomerTiers:**
      + Bronze
      + Prata
      + Ouro
      + Platina

### Crie intenções personalizadas
<a name="create-intents-procedure"></a>

**Para criar a CheckOrderStatus intenção**

1. No painel de navegação esquerdo, escolha **Intents**.

1. Escolha **Adicionar intenção e dê um** nome a ela. **CheckOrderStatus**

1. Adicione os seguintes exemplos de enunciados:
   + “Qual é o status do meu pedido \$1OrderNumber\$1”
   + “Preciso verificar o número do pedido \$1OrderNumber\$1”
   + “Onde está meu pacote?”
   + “Rastrear meu pedido \$1OrderNumber\$1”
   + “Meu pedido já foi enviado?”
   + “Quando meu pedido chegará?”
   + “Quero saber sobre minha entrega”

1. Adicione os seguintes slots:
   + `OrderNumber`([AMAZON.Number](built-in-slot-number.md)) - Obrigatório

     Aviso: “Você pode fornecer o número do seu pedido?”
   + `CustomerEmail`([AMAZON.EmailAddress](built-in-slot-email.md)) - Obrigatório

     Aviso: “Para verificar sua identidade, forneça o endereço de e-mail associado a este pedido”.

1. Defina o aviso de confirmação: “Deixe-me verificar o pedido \$1 \$1OrderNumber\$1 para \$1CustomerEmail\$1. Está certo?”

1. Defina a mensagem de atendimento: “Encontrei seu pedido\$1 O número do pedido \$1OrderNumber\$1 é \$1OrderStatus\$1. \$1UpsellMessage\$1”

**Para criar a UpsellProducts intenção**

1. Crie uma nova intenção chamada**UpsellProducts**.

1. Adicione exemplos de declarações:
   + “Mostre-me produtos relacionados”
   + “O que mais aconteceria com isso?”
   + “Você tem alguma oferta?”
   + “Estou interessado em \$1ProductCategory\$1 itens”
   + “O que está à venda hoje”
   + “Mostre-me mais opções”

1. Adicionar slots:
   + `ProductCategory`(ProductCategories) - Obrigatório

     Pergunta: “Em que tipo de produtos você está interessado?”
   + `Budget`([AMAZON.Number](built-in-slot-number.md)) - Opcional

     Pergunta: “Qual é a sua faixa de orçamento para itens adicionais?”

**Para criar a CaptureLeadInfo intenção**

1. Crie uma nova intenção chamada**CaptureLeadInfo**.

1. Adicione exemplos de declarações:
   + “Quero ouvir sobre novos produtos”
   + “Inscreva-me para receber atualizações”
   + “Estou interessado em \$1InterestCategory\$1”
   + “Mantenha-me informado sobre vendas”
   + “Quero me juntar à sua lista de e-mails”
   + “Envie-me promoções e ofertas”
   + “Meu nome é \$1CustomerFirstName\$1 \$1CustomerLastName\$1”
   + “Sou \$1CustomerFirstName\$1 \$1CustomerLastName\$1 e quero recomendações personalizadas”

1. Adicionar slots:
   + `CustomerFirstName`([AMAZON.FirstName](built-in-slot-first-name.md)) - Obrigatório

     Pergunta: “Qual é o seu primeiro nome para um serviço personalizado?”
   + `CustomerLastName`([AMAZON.LastName](built-in-slot-last-name.md)) - Obrigatório

     Pergunta: “E seu sobrenome para que eu possa consultar seu histórico de compras?”
   + `CustomerEmail`([AMAZON.EmailAddress](built-in-slot-email.md)) - Obrigatório
   + `CustomerPhone`([AMAZON.PhoneNumber](built-in-slot-phone.md)) - Opcional
   + `InterestCategory`(ProductCategories) - Obrigatório
   + `ContactPreference`(ContactPreferences) - Obrigatório

### Habilite recursos baseados em IA
<a name="enable-ai-features-procedure"></a>

**Para habilitar o NLU assistido e outros recursos de IA**

1. No painel de navegação esquerdo, escolha **Configurações do bot**.

1. Em **NLU assistida**, escolha **Ativar**.

1. Em **Generative AI**, habilite:
   + Resolução assistida de slots
   + Construção descritiva de bots

1. Em **Análise de sentimentos**, escolha **Ativar**.

1. Escolha **Salvar**.

### Teste e implante o bot
<a name="test-and-deploy-procedure"></a>

**Para testar o SmartCommerce bot**

1. Escolha **Construir** para compilar seu bot.

1. Quando a compilação estiver concluída, escolha **Testar**.

1. Teste os seguintes fluxos de conversa:

   1. **Fluxo de status do pedido:**
      + Usuário: “Verifique meu pedido 12345"
      + Bot: solicita verificação de e-mail
      + Usuário: Fornece e-mail
      + Bot: fornece status e oferece vendas adicionais

   1. **Fluxo de vendas adicionais:**
      + Usuário: “Mostre-me ofertas”
      + Bot: solicita a categoria do produto
      + Usuário: “Electronics”
      + Bot: apresenta ofertas personalizadas

   1. **Fluxo de geração de leads:**
      + Usuário: “Inscreva-me para receber atualizações”
      + Bot: coleta informações de contato
      + Usuário: Fornece detalhes
      + Bot: confirma a assinatura e oferece desconto imediato

1. Verifique se os recursos de IA estão funcionando:
   + Teste variações de linguagem natural como “minhas coisas não chegaram”
   + Verifique se a análise de sentimentos ajusta as respostas dos bots
   + Confirme se a resolução do slot funciona com entradas complexas

1. Quando o teste estiver concluído, escolha **Publicar** para implantar seu bot.

## Análise e otimização de desempenho
<a name="exercise-3-analytics"></a>

Monitore e otimize o desempenho do seu SmartCommerce bot usando análises abrangentes e rastreamento de receita.

### Principais métricas de desempenho
<a name="key-metrics"></a>
+ **Métricas de receita:**
  + Taxa de conversão de vendas adicionais por nível de cliente
  + Aumento médio do valor do pedido por interação
  + Receita por conversa
  + Impacto do valor da vida útil do cliente
+ **Métricas de geração de leads:**
  + Taxa de captura de leads por tipo de interação
  + Índices de qualidade de leads e taxas de conversão
  + Receita de monetização de dados de vendas agregadas
  + Taxa de crescimento da assinatura de e-mail
+ **Métricas operacionais:**
  + Precisão do reconhecimento de intenções
  + Taxa de sucesso no preenchimento de slots
  + Taxa de conclusão da conversa
  + Pontuações de satisfação do cliente

### Estratégias de otimização contínua
<a name="optimization-strategies"></a>
+ **Teste A/B:**
  + Teste diferentes abordagens de mensagens de venda adicional
  + Compare técnicas de captura de chumbo agressivas com técnicas suaves
  + Otimize as porcentagens de desconto para obter o máximo de conversão
+ **Otimização do Machine Learning:**
  + Analise padrões de conversação bem-sucedidos
  + Identifique o momento ideal para ofertas de venda adicional
  + Refine os algoritmos de classificação por nível de cliente

## Conclusão do exercício
<a name="exercise-3-conclusion"></a>

Parabéns\$1 Você criou com sucesso um chatbot avançado de atendimento ao cliente que demonstra recursos de nível empresarial para otimização de receita e engajamento do cliente. Esse SmartCommerce bot mostra como as empresas podem aproveitar os recursos de IA do Amazon Lex V2 para:
+ **Maximize a receita:** por meio de estratégias inteligentes de vendas adicionais, vendas cruzadas e preços dinâmicos
+ **Gere leads:** capturando e qualificando sistematicamente as informações do cliente para vários fluxos de receita
+ **Melhore a experiência do cliente:** usando a IA para entender a linguagem natural e fornecer interações personalizadas
+ **Otimize as operações:** por meio de atendimento ao cliente automatizado que se expande de forma eficiente enquanto mantém a qualidade

As técnicas demonstradas neste exercício podem ser adaptadas e expandidas para vários setores e casos de uso, fornecendo uma base para a criação de soluções sofisticadas de IA conversacional que impulsionam o crescimento dos negócios.

### Próximas etapas
<a name="next-steps"></a>

Para aprimorar ainda mais seu SmartCommerce bot, considere implementar:
+ **Integrações avançadas:**
  + Integração do sistema CRM para perfis completos de clientes
  + Conexões do sistema de gerenciamento de inventário para disponibilidade em tempo real
  + Integração de processamento de pagamentos para transações perfeitas
+ **Implantação multicanal:**
  + Integração do widget de chat do site
  + Conexões de plataformas de mídia social
  + Implantação da interface de voz
+ **Análise avançada:**
  + Desenvolvimento de painel personalizado para métricas de negócios
  + Análise preditiva para o comportamento do cliente
  + Rastreamento de ROI e modelagem de atribuição

# Melhores práticas para começar
<a name="getting-started-best-practices"></a>

## Princípios de design de conversas
<a name="conversation-design-principles"></a>

Seguir esses princípios de design de conversas desde o início ajudará você a criar chatbots Amazon Lex V2 mais eficazes, fáceis de manter e fáceis de usar que forneçam interações naturais.

### Princípios básicos de design
<a name="core-design-principles"></a>
+ **Comece com as metas do usuário**: crie seu bot com base no que os usuários desejam realizar, não no que seu sistema pode fazer. Concentre-se na jornada do usuário e nos resultados desejados.
+ **Use linguagem natural** - escreva instruções e respostas conversacionalmente. Evite o jargão técnico e fale como um ser humano prestativo faria.
+ **Forneça opções claras** - Quando os usuários ficarem presos, ofereça exemplos específicos do que eles podem dizer em vez de um texto de ajuda genérico.
+ **Simplifique**: comece com a funcionalidade básica e aumente gradualmente a complexidade. Os usuários devem ser capazes de concluir tarefas comuns rapidamente.
+ **Lide com os erros com elegância** — Quando o bot não entender, forneça orientações úteis em vez de simplesmente dizer “Não entendo”.
+ **Confirme ações importantes**: sempre confirme antes de realizar ações que não podem ser facilmente desfeitas, como fazer pedidos ou excluir informações.
+ **Forneça rotas de fuga** - Sempre ofereça aos usuários uma maneira de recomeçar, obter ajuda ou se conectar com um humano quando necessário.

### Melhores práticas de fluxo de conversas
<a name="conversation-flow-best-practices"></a>
+ **Defina expectativas claras**: informe aos usuários o que o bot pode ou não fazer logo no início da conversa.
+ **Use a Divulgação Progressiva** - Peça informações uma peça por vez, em vez de sobrecarregar os usuários com várias perguntas.
+ **Forneça contexto** - lembre aos usuários quais informações você já coletou e o que ainda precisa.
+ **Facilite as correções** - Permita que os usuários corrijam as informações sem recomeçar completamente.

## Casos de uso e exemplos do mundo real
<a name="real-world-use-cases"></a>

Esses exemplos práticos mostram como aplicar princípios de design de conversas a cenários comuns que os novos usuários do Amazon Lex V2 encontram.

### Caso de uso 1: agendamento de consultas
<a name="use-case-appointment-booking"></a>

**Cenário:** um consultório médico deseja automatizar o agendamento de consultas.

**Desafio:** os usuários precisam fornecer várias informações (tipo de serviço, data, hora, informações de contato) e talvez queiram alterar os detalhes.

**Abordagem da solução:**
+ **Comece de forma ampla:** “Que tipo de compromisso você gostaria de agendar?” (odontologia, exame oftalmológico, consulta)
+ **Limite:** “Quando você prefere sua consulta odontológica?” (Aceite informações flexíveis, como “na próxima semana” ou “sexta-feira à tarde”)
+ **Confirme e ofereça alterações:** “Agendei uma limpeza dentária para sexta-feira, 15 de março, às 14h. Isso funciona para você?”
+ **Lidar com as alterações:** se o usuário disser “Podemos fazer às 15h em vez disso?” , atualize a hora sem reiniciar todo o processo.

**Técnicas principais:**
+ Use [AMAZON.Date](built-in-slot-date.md) e [AMAZON.Time](built-in-slot-time.md) para date/time entrada flexível
+ Crie tipos de slots personalizados para tipos de compromissos
+ Use as instruções de confirmação antes de finalizar as reservas

### Caso de uso 2: consulta do status do pedido
<a name="use-case-order-tracking"></a>

**Cenário:** uma empresa de comércio eletrônico quer que os clientes verifiquem o status do pedido sem ligar para o suporte.

**Desafio:** os usuários podem não ter o número do pedido em mãos ou podem perguntar de maneiras diferentes.

**Abordagem da solução:**
+ **Vários pontos de entrada:** aceite “Onde está meu pedido?” , “Rastrear meu pacote” ou “Status do pedido”
+ **Identificação flexível:** “Posso ajudá-lo a rastrear seu pedido. Você tem o número do seu pedido ou prefere usar seu endereço de e-mail?”
+ **Orientação útil:** “O número do seu pedido geralmente está no e-mail de confirmação e começa com 'ORD-'”
+ **Resultados claros:** “Seu pedido \$1ORD -12345 foi enviado ontem e chegará amanhã às 20h. Você gostaria de detalhes de rastreamento?”

**Técnicas principais:**
+ Use tipos de slots integrados, como AMAZON. AlphaNumeric para números de pedidos
+ Forneça várias maneiras de identificar pedidos (e-mail, telefone, número do pedido)
+ Forneça informações claras e acionáveis nas respostas

### Caso de uso 3: Perguntas frequentes e Support
<a name="use-case-faq-support"></a>

**Cenário:** uma empresa de software quer lidar com perguntas comuns de suporte automaticamente.

**Desafio:** os usuários fazem as mesmas perguntas de várias maneiras diferentes, e alguns problemas exigem ajuda humana.

**Abordagem da solução:**
+ **Amplo reconhecimento de intenções:** treine intenções para reconhecer variações como “Não consigo fazer login”, “Problemas de login”, “A senha não funciona”
+ **Solução de problemas guiada:** “Vamos tentar algumas etapas rápidas. Primeiro, você já tentou redefinir sua senha?”
+ **Caminho de escalonamento:** “Se essas etapas não funcionarem, posso conectar você à nossa equipe de suporte. Você gostaria que eu fizesse isso?”
+ **Acompanhamento:** “Isso resolveu seu problema? Você sempre pode dizer 'ajuda' se precisar de ajuda com outra coisa.”

**Técnicas principais:**
+ Use muitos exemplos de expressões para capturar diferentes maneiras pelas quais os usuários expressam problemas
+ Forneça step-by-step orientação em vez de explicações longas
+ Sempre ofereça um caminho para o suporte humano quando a ajuda automatizada não for suficiente

### Lidando com cenários complexos
<a name="handling-complex-scenarios"></a>

Até mesmo bots simples se deparam com situações complexas. Veja como lidar com eles com elegância:
+ **Quando os usuários mudam de ideia:**
  + Usuário: “Na verdade, eu quero rosas em vez de tulipas”
  + Bot: “Não tem problema\$1 Eu atualizei seu pedido para rosas. Suas rosas estarão prontas para serem retiradas na sexta-feira às 14h. Isso está correto?”
+ **Quando as informações não estão claras:**
  + Usuário: “Preciso de flores para a próxima semana”
  + Bot: “Eu ficaria feliz em ajudar\$1 Qual dia da próxima semana funciona melhor para você? Você pode dizer algo como 'segunda-feira' ou 'próxima terça'.”
+ **Quando o bot não entende:**
  + Usuário: “Eu quero os roxos com caules longos”
  + Bot: “Quero ter certeza de que estou fazendo isso da maneira certa. Você está procurando flores roxas? Temos rosas roxas, tulipas roxas e íris roxas disponíveis.”
+ **Quando os usuários precisam recomeçar:**
  + Usuário: “Cancele isso, eu quero começar de novo”
  + Bot: “Claro\$1 Eu liberei seu pedido atual. Que tipo de flores você gostaria de pedir hoje?”