# Bloco de Integração

{% hint style="info" %}
Observação: Para realizar integrações, usaremos o bloco de integração dentro do fluxo do BotConversa, disponível somente no plano PRO, veja mais em: botconversa.com.br
{% endhint %}

![](https://381698884-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKN5jVER9WQHLGiLeuhi9%2Fuploads%2FQkuwVdjUixGhgh7MC0xH%2Fimage.png?alt=media\&token=a34e38ae-c71f-421b-a62e-54f00b649510)              [❓](https://emojiterra.com/pt/ponto-de-interrogacao-vermelho/) Como utilizar o Bloco de integrações? [❓](https://emojiterra.com/pt/ponto-de-interrogacao-vermelho/)

[🎥](https://emojipedia.org/pt/c%C3%A2mera-de-cinema/) Veja o tutorial gravado no vídeo a seguir: &#x20;

{% embed url="<https://www.youtube.com/watch?v=jkGAXaQa0Fo>" %}
Clique no PLAY acima para assistir
{% endembed %}

## [❓](https://emojiterra.com/pt/ponto-de-interrogacao-vermelho/) Para que serve o bloco de Integrações?

O Bloco de integração do BotConversa é utilizado para realizar REQUISIÇÕES à APIs externas dentro de seu próprio fluxo do botconversa.

De forma prática, toda integração que será realizada dentro do próprio fluxo de conversa, poderá utilizar o bloco de integração, pois ele durante a execução do fluxo realiza a requisição e retorna com os dados para o prosseguimento do fluxo. (exemplo: durante o fluxo, perguntar o CEP do contato, realizar uma consulta em uma API e retornar com o nome da rua do contato).

## [❓](https://emojiterra.com/pt/ponto-de-interrogacao-vermelho/) Quais são os métodos de integração existentes?

Em uma integração API, é utilizando urls HTTP, ou seja, através desses links poderá ser enviado dados, como também receber dados. Para isso, existem os métodos presentes dentro do bloco de integração, o qual deverá ser selecionado de acordo com a documentação API do software que deseja integrar. Esses métodos são:

### <mark style="color:blue;">GET:</mark> Receber algum dado externo para dentro do BotConversa.

### <mark style="color:blue;">POST:</mark> Enviar dados do BotConversa para outros softwares via API.

### <mark style="color:blue;">PUT:</mark> Usado para atualizar alguma informação de forma Completa

### <mark style="color:blue;">PATCH:</mark> Usado para atualizar alguma informação de forma Parcial

### <mark style="color:blue;">DELETE:</mark> Método dedicado para deletar informações ou configurações.

{% hint style="info" %}
Lembrando que, para realizar qualquer integração e saber qual método usar, deverá ter em mãos a documentação API da ferramenta que deseja integrar com o BotConversa.
{% endhint %}

## [❓](https://emojiterra.com/pt/ponto-de-interrogacao-vermelho/)Qual é a estrutura do bloco de integrações?

### <mark style="color:blue;">- Headers:</mark>&#x20;

Esse é um campo muito importante, pois é nesse campo que será utilizando parâmetros, chaves de autenticação e poderá informar o agente do usuário. Desde já, é importante pontuar que o uso desse campo está diretamente ligado à documentação API de um sistema, deverá observar com atenção todos os detalhes do que deve ser usado no Header da Requisição.

<figure><img src="https://381698884-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKN5jVER9WQHLGiLeuhi9%2Fuploads%2FIBZfr5o4LK4zirS3LcyP%2Fimage.png?alt=media&#x26;token=9e33e19f-8c34-433f-9999-2e45da7557fc" alt=""><figcaption><p>Campo Header do Bloco de integração</p></figcaption></figure>

### <mark style="color:blue;">- Body:</mark>

Quando você precisa enviar dados de um cliente (como de um navegador web) para sua API, você o envia como um corpo (body) da requisição. O corpo da requisição é a informação enviada pelo cliente para sua API. Poderá enviar pelo corpo de sua requisição campos personalizados do usuário, do robô e também do sistema, como telefones, emails e entre outros.

<figure><img src="https://381698884-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKN5jVER9WQHLGiLeuhi9%2Fuploads%2FGQPlBc1o1TiXeAQRShRS%2Fimage.png?alt=media&#x26;token=6110e6b3-ba87-493b-a33e-f79712ea1665" alt=""><figcaption><p>Campo Body do Bloco de integração</p></figcaption></figure>

### <mark style="color:blue;">- Resposta</mark>

O campo de resposta é basicamente o retorno da sua requisição API, por ele você receberá uma mensagem de sucesso quanto também receberá seus dados de uma requisição GET, podendo mapear posteriormente na aba de Mapeamento de Resposta, como verá abaixo.

<figure><img src="https://381698884-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKN5jVER9WQHLGiLeuhi9%2Fuploads%2FEH9HZobjqJyFzgw3kBGp%2Fimage.png?alt=media&#x26;token=68c8731d-0219-4d09-aca1-c92a016ff962" alt=""><figcaption><p>Campo Resposta do Bloco de integração</p></figcaption></figure>

### <mark style="color:blue;">- Mapeamento da Resposta:</mark>

Esse campo do bloco de integração é um dos mais importantes, pois é nele que será realizado o mapeamento de sua requisição, para dentro do BotConversa, podendo usar essas informações nos  seus fluxos. Basicamente, deverá selecionar qual índice deseja salvar de sua resposta e depois selecionar o campo personalizado na companhia.\
\
Nesse exemplo abaixo, estamos pegando a resposta Bairro da requisição API, e salvando no campo personalizado Bairro dentro do BotConversa:

<figure><img src="https://381698884-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKN5jVER9WQHLGiLeuhi9%2Fuploads%2FbxbIaOPteDJBIUAFDroB%2Fimage.png?alt=media&#x26;token=62ab968e-2900-44f4-8893-d0c8a947ddb1" alt=""><figcaption><p>Campo Mapeamento da resposta do Bloco de integração</p></figcaption></figure>

## [➕](https://emojiterra.com/pt/mais/) Saídas do Bloco de Integração:

No bloco de integração do BotConversa, existem 2 saídas, sendo a saída de CIMA a de **Resposta com sucesso.**\
\
Ou seja, a saída de cima do bloco é executada somente quando a requisição for realizada e tiver um retorno, já a saída de baixo é executada instantaneamente, dando prosseguimento no fluxo.

{% hint style="danger" %}
Importante: A saída de cima possui um time-out de 10 segundos, ou seja, se o bloco de integração não obtiver um retorno em até 10 segundos, o fluxo será continuado sem as informações.
{% endhint %}

<figure><img src="https://381698884-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKN5jVER9WQHLGiLeuhi9%2Fuploads%2FCtCw1qmOvfmwu75SfbHV%2Fimage.png?alt=media&#x26;token=31ec9e90-c0a7-4cc3-bbe0-6c5d87e3977a" alt=""><figcaption><p>Saídas do Bloco de integração</p></figcaption></figure>

## [➕](https://emojiterra.com/pt/mais/) Saiba Mais em:

[Introdução às APIs](https://botconversa.gitbook.io/bem-vindo-ao-botconversa/integracoes/introducao-as-apis)

[Documentação API do BotConversa](https://botconversa.gitbook.io/bem-vindo-ao-botconversa/integracoes/api-botconversa/documentacao-api-botconversa)

[Como Mapear Arrays no Bloco de integração](https://botconversa.gitbook.io/bem-vindo-ao-botconversa/integracoes/tutoriais-prontos/mapear-array-no-bloco-de-integracao)

[Zapier x BotConversa](https://botconversa.gitbook.io/bem-vindo-ao-botconversa/integracoes/api-botconversa/zapier-x-botconversa)
