# Bancos

## Visão geral do template

Este chatbot pode ajudar os usuários a verificar o saldo da conta, limite do cartão, reportar um cartão como perdido ou roubado e encontrar o escritório mais próximo deles.&#x20;

Vamos explorar como você pode adaptar este modelo para o seu negócio!

{% hint style="info" %}
Certifique-se de sempre [atualize o NLP](https://docs.chatlayer.ai/understanding-users/natural-language-processing-nlp#updating-the-nlp) após carregar um modelo!
{% endhint %}

## Como personalizar este modelo

Este modelo usa apenas [este banco de dados do Airtable](https://airtable.com/shr9h2cv6y5LzTr5q) para pesquisar registros. Aprenda como configurar sua própria integração com o Airtable [aqui](https://docs.chatlayer.ai/integrations/app-integrations/airtable?q=airtabe).

{% hint style="info" %}
Usando outro serviço para armazenar seus dados? Você pode vincular qualquer tipo de banco de dados a este bot, desde que ele tenha uma API. Leia mais sobre nossas integrações de API [aqui](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/integrateandcode/custom-back-end-integrations/integrations-101).&#x20;
{% endhint %}

### Fluxo: Geral

#### Bloco: Introdução

Na mensagem de introdução, você pode trocar a imagem do Botbank pelo logotipo do seu próprio negócio. Certifique-se de que os botões de Resposta Rápida cubram os casos de uso do seu bot.

#### Bloco: Não Entendido

Este Bloco usa um [Contador de Não Compreendidos](https://docs.chatlayer.ai/tips-and-best-practices/not-understood-bot-dialog/not-understood-counter?q=not+under) para criar uma experiência do usuário melhor e fazer o bot parecer mais natural. Divirta-se com isso para que combine com a persona do seu bot!

#### Bloco: Outra Coisa

Este Bloco é onde a conversa termina quando um fluxo termina. Por exemplo, quando o usuário termina de verificar sua conta, ele receberá a pergunta se há mais alguma coisa que pode ser feita para ajudá-lo.&#x20;

### Fluxo: Verificar conta

Este fluxo abrange dois casos de uso: verificação de saldo de conta e verificação de limite de cartão. Uma planilha para Contas e outra para Cartões foram criadas em um [base do Airtable](https://airtable.com/shr9h2cv6y5LzTr5q/tblpP867BDn6KHPXK/viwC9GRRqh8qMslvC?blocks=hide) que foi feita usando a  [integração do App do Airtable](https://docs.chatlayer.ai/integrations/app-integrations/airtable-app-integration).

Por um lado, se os usuários pedirem para verificar o limite do cartão, eles recebem uma resposta diferente dependendo do tipo de cartão que escolherem. Os tipos de cartão são definidos sob a `cardtype` entidade contextual na seção de NLP. Este fluxo é acionado seja por um botão de Resposta Rápida ou pelo `Card.Limit` intenção.

![Visualização da tabela Cartões da base de dados do Airtable usada para este modelo. Aprenda como configurar o seu próprio aqui. ](https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FxhH3vAc4o0PcLYUAOXaq%2FScreenshot%202022-07-28%20at%2010.14.53.png?alt=media\&token=917e29af-0c01-4a8a-8ac4-8e1d321a3809)

Por outro lado, se os usuários pedirem para verificar o saldo da conta, eles podem escolher verificar sua conta corrente ou conta poupança. Esses são definidos na `accounttype` entidade contextual. Este fluxo é acionado seja por um botão de Resposta Rápida ou pela `Check.Balance` intenção. Uma vez que o saldo é verificado, o usuário é perguntado se deseja fazer uma transferência de dinheiro dessa conta. Isso nos redireciona para o `Transferir dinheiro` fluxo onde um `A conta é conhecida?` O bloco Ir-Para verifica que a `accounttype` variável já está preenchida antes de prosseguir para a transferência de dinheiro.

![Visualização da tabela Contas da base de dados do Airtable usada para este modelo. Aprenda como configurar o seu próprio aqui.](https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FsBpBTLRq5Z9hoyKzxZy2%2FScreenshot%202022-07-28%20at%2010.15.01.png?alt=media\&token=d618fb96-44ff-4da8-a9e7-ecbb868e0cd1)

### Fluxo: Transferir dinheiro

Neste fluxo, os usuários podem fazer uma transferência única ou criar uma ordem periódica.

#### Bloco: Transferência única

Aqui, o bot primeiro pergunta o valor a ser transferido, de qual conta e, finalmente, o número da conta bancária do destinatário. Esses valores são armazenados como:

`amount` : o valor a ser transferido

`accounttype` : a conta da qual o dinheiro é transferido

`IBAN` : o número da conta do destinatário

Para verificar se a conta bancária corresponde a um formato IBAN correto, usamos um bloco de Condição que verifica se o `IBAN` existe. Para isso, o bot verifica se o IBAN inserido corresponde ao padrão Regex de IBAN. Em resumo, verifica se este é um IBAN válido. Para ver este padrão e adaptá-lo às suas necessidades, você pode ir na aba Entidades > Coincidir Entidades > `@IBAN.`

#### Bloco: Ordem periódica

Para configurar uma ordem periódica, o bot primeiro pergunta ao usuário com que frequência o pagamento deve ocorrer. Isso é armazenado na`frequência`variável. Depois disso, ele pede a data de início e término. Para verificar se a entrada do usuário é uma data válida, verificamos se o valor corresponde a "date" antes de salvá-lo como as variáveis `startDate` e `endDate`. Aqui os usuários também podem adicionar uma referência na sua transferência, armazenada em `referência` variável.

### Fluxo: Reportar cartão perdido

Este fluxo permite que os usuários reportem seu cartão como perdido ou roubado. Eles são imediatamente redirecionados para links externos para ajudar a bloquear o cartão, após o que são perguntados se desejam solicitar um novo cartão. Este fluxo é acionado por um botão de Resposta Rápida ou pela `Lost.Or.Stolen.Card` intenção.

Para encontrar os locais de escritório mais próximos, a conversa é direcionada para o fluxo Localizações de Escritório.

#### Bloco: Reportar cartão perdido

Você pode personalizar os links externos para redirecionar seus usuários para seu site e/ou número de telefone.&#x20;

{% hint style="info" %}
No bloco de Ação *limpar endereço*, o bot excluiu a variável `user_address` porque o usuário quer corrigir seu endereço inserindo um novo. Precisamos limpar a variável antiga para poder salvar uma nova.
{% endhint %}

### Fluxo: Localizações de Escritório

Este fluxo é acionado quando queremos mostrar ao usuário o escritório mais próximo deles. Para fins deste modelo, endereços são predefinidos dentro do bloco, mas você pode personalizá-los seguindo o [Modelo Encontrar Local Mais Próximo](https://docs.chatlayer.ai/tips-and-best-practices/bot-templates/use-case-templates/template-find-nearest-location) que usa o Google Maps.

![Visualização da tabela Localizações de Escritório da base de dados do Airtable usada para este modelo. Aprenda como configurar o seu próprio aqui.](https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FAi6LPCj2TnsvU8gpnaOR%2FScreenshot%202022-07-28%20at%2010.14.45.png?alt=media\&token=2f1c54fe-907e-4e6e-b505-2fc0c17e1ffb)

### Fluxo: Perguntas aleatórias

Neste fluxo estão agrupados todos os blocos destinados a responder perguntas aleatórias como: *Quais cartões vocês oferecem?, Como você está?, Quem construiu isto?, ...* Todos esses blocos são acionados por intenções para que o bot possa respondê-los a qualquer momento na conversa. Certifique-se de prever muitos deles durante a construção do seu bot para que a conversa flua sem problemas!
