> For the complete documentation index, see [llms.txt](https://docs.altu.d1.cx/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.altu.d1.cx/connect/canais/instagram.md).

# 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 %}
