# Chamadas de API

Chatlayer oferece uma solução para integrar seu agente conversacional com sua lógica de backend, APIs e bancos de dados. Isso permite que você crie experiências conversacionais contextuais, personalizadas e acionáveis para seus usuários.

## Integrações de API com o Chatlayer

![Como funcionam as integrações de API.](https://181262846-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LLTwFwbOqJj4dDhg8Ju%2F-LjpUT_edCWf-bzj1EAX%2F-LjpVleKL7Qi1_dbJKRp%2Fimage.png?alt=media\&token=06efa4e5-b2f6-4bde-8fd2-a00cca7ed4d0)

{% hint style="warning" %}
Por favor, note que o termo *estado do diálogo* refere-se à mesma coisa que [*bloco*](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/buildabot/flow-logic/dialog-state), no contexto de ferramentas de desenvolvimento.
{% endhint %}

<details>

<summary>Como funcionam as integrações de API no Chatlayer</summary>

1. Um usuário digita e envia uma mensagem de texto a partir de um canal de interface do agente conversacional (como Facebook Messenger, chat web, etc.) para o Chatlayer.
2. A mensagem recebida passa pelo motor de PLN do Chatlayer para detectar a [intenção](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/natural-language-processing-nlp/intents) e a intenção retornada combinada com o contexto do usuário será usada para recuperar o próximo bloco na conversa.
3. O [**API** de passo](#configure-your-api-step) pode ser adicionada em um bloco para enviar uma solicitação de API ao seu servidor com diferentes tipos de dados estáticos e/ou dados de sessão do usuário.
4. Seu servidor pode responder com um objeto com 3 campos:

* `sessão`: um objeto de sessão para salvar os dados de sessão do usuário recuperados.
* `mensagens`: um array de mensagens para enviar de volta ao canal de interface.
* `nextDialogstate`: um identificador de estado de bloco para redirecionar o usuário para o próximo bloco em um fluxo de conversa.

Os dados da sessão serão primeiro armazenados na [sessão do usuário](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/bot-answers/session) para que você possa usar esses dados em mensagens definidas no array de mensagens ou em mensagens definidas em um estado de diálogo definido como `nextDialogstate` na resposta da API. Em segundo lugar, as mensagens serão enviadas e, em seguida, o usuário é redirecionado para o `nextDialogstate`. Todos os campos são opcionais.

</details>

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Configure seu passo de API</strong></td><td></td><td></td><td><a href="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FHNjGxFJUc0PBkG7W9NGm%2FScreenshot%202024-09-05%20at%2013.55.11.png?alt=media&#x26;token=c91b1a0c-962d-465d-87e4-3660b74552f5">Screenshot 2024-09-05 at 13.55.11.png</a></td><td><a href="custom-back-end-integrations/configure-your-api-integration">configure-your-api-integration</a></td></tr><tr><td><strong>Recursos avançados de API</strong></td><td></td><td></td><td><a href="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2F2O2fnyzQieeFdq5LYRGk%2FScreenshot%202024-09-05%20at%2013.47.11.png?alt=media&#x26;token=05ee7015-add3-40d4-a03f-4b90dcf710d2">Screenshot 2024-09-05 at 13.47.11.png</a></td><td><a href="custom-back-end-integrations/advanced-api-integrations">advanced-api-integrations</a></td></tr><tr><td><strong>Referências da API V1</strong></td><td></td><td></td><td><a href="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FWRrztFIdgDODWcv5bfQQ%2FScreenshot%202024-09-05%20at%2015.03.47.png?alt=media&#x26;token=c9c6d404-03a7-45ed-82b1-f4d5fb6279de">Screenshot 2024-09-05 at 15.03.47.png</a></td><td><a href="https://api.chatlayer.ai/v1/docs">https://api.chatlayer.ai/v1/docs</a></td></tr></tbody></table>
