# Instagram

## **Como funciona?**

A integração do Zenvia NLU com o Instagram acontece por intermédio da Zenvia. Sendo assim, todo o funcionamento do assistente consiste na integração do App Zenvia com o Instagram do cliente, e a posterior configuração de um webhook entre Zenvia NLU e Zenvia.

### **Pré-requisitos**

* **Integração com a Zenvia**: certifique-se que sua conta do Instagram está corretamente integrada ao [App Zenvia](https://accounts.zenvia.com/). Caso ainda não tenha feito essa configuração [siga este passo-a-passo](https://support.zenvia.com/pt/article/configurando-o-instagram-com-o-app-zenvia);
* **Sender ID**: é o identificador do remetente da mensagem. Ele identifica de forma única a conta que está enviando as mensagens, e é fornecido pela Zenvia;
* **API Token**: chave necessária para a autenticação com a API Zenvia, também fornecido pela Zenvia.

### **Restrições**

Por enquanto, **o Instagram não permite que assistentes virtuais iniciem conversas**. Dessa forma, a atuação dos assistentes está restrita a responder mensagens iniciadas pelos usuários.

## **Criar integração no** Zenvia NLU

Para isso, acesse Connect > Canais > Instagram. Na tela "*Integrações com Zenvia Instagram*", clique no botão ➕, no canto inferior direito, crie uma nova integração e preencha os seguintes campos:

* **Nome**<mark style="color:red;">\*</mark>: nome da sua integração (você pode alterar essa informação depois);
* **Assistente**<mark style="color:red;">\*</mark>: selecione o assistente que deseja integrar ao Instagram;
* **Squads**: selecione o nome da squad, se estiver disponível na lista. Caso contrário, mantenha como “geral”;
* **Sender ID**<mark style="color:red;">\*</mark>: informe o Sender ID. **Essa informação está no App Zenvia**, em **Meu Menu > Integrações > Instagram**. Ao encontrar na lista a conta que deseja vincular seu assistente, clique em **Copiar Sender ID** e use-a nesse campo;
* **API Token**<mark style="color:red;">\*</mark>: token para autorização de envio de mensagens. Você pode gerar seu token no console da API dentro da plataforma Zenvia. Se precisar de ajuda, [acesse a documentação da Zenvia](https://support.zenvia.com/pt/article/como-criar-tokens-e-webhooks-no-app-zenvia#tokens);
* **Mensagens para mídias não suportadas (opcional)**: cadastre mensagens que serão exibidas caso o usuário envie um tipo de informação não suportada.
* **Usuários de homologação (opcional):** nomes de usuários para teste do fluxo de atendimento. Utilize o seu nome de usuário do Instagram, sem o @.

![](/files/AqJGYlfYZqMTbYfJvqVe)

### **Configurações adicionais**

Após criar a integração, clique no botão **editar** integração.

Então, você poderá consultar sua URL de Webhook, que será utilizada na [configuração da integração do Zenvia NLU com o App Zenvia.](#configurar-integracao-no-app-zenvia)

![](/files/cRa3kNjR1Ewj8OFVBHS2)

Também é possível fazer algumas configurações extras, como:

* **Inatividade (opcional)**: ao marcar essa opção o atendimento será reiniciado ao identificar inatividade do usuário após o tempo definido.
  * **Mínimo:** 10 min
  * **Máximo:** 1440 min (24 horas)
  * **Padrão:** 60 min

## **Configurar Integração no App Zenvia**

Acesse o portal Zenvia e vá para **Produtos > Tokens e Webhooks** para acessar o console da API.

Na seção Webhooks, clique no botão "**Criar Novo**" para criar um novo webhook e preencha os seguintes campos:

* **Status**: o status da subscrição. **Deixe essa opção ativa**;
* **Versão**: a versão da subscrição. **Selecione a opção v2**;
* **Tipo do evento**: o tipo do evento da subscrição. **Selecione a opção Mensagem**;
* **Canal**: o canal da subscrição. **Selecione a opção Instagram**;
* **URL:** URL usada para receber as mensagens de seus clientes. [**Consulte a URL na plataforma Zenvia NLU**](#configuracoes-adicionais), em Entrada de Mensagens da seção Webhooks;
* **Cabeçalhos**: informações de autenticação na chamada de webhook. **Adicione dois cabeçalhos**, um para Username e outro para AuthenticationToken. **Consulte os cabeçalhos na plataforma Zenvia NLU**, no Header da seção Webhooks.

Se precisar de mais ajuda, [acesse a documentação de Webhooks da Zenvia](https://support.zenvia.com/pt/article/como-criar-tokens-e-webhooks-no-app-zenvia#webhooks).

## **Entrada e saída de mensagens**

É possível **receber** mensagens como:

* Texto
* Áudio
* Vídeo

É possível **enviar** mensagens como:

* Texto

{% hint style="info" %}
Os componentes de quick reply, select, e option list serão convertidos para texto
{% endhint %}

* Imagem

{% hint style="info" %}
Arquivos **sem type definido** no payload **serão enviados ao usuário e poderão ser exibidos caso sejam do tipo imagem**. **Caso o type esteja definido** no payload e **não for do tipo imagem**, uma mensagem de texto contendo a URL de download será enviada ao usuário
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.altu.d1.cx/connect/canais/instagram.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
