> ## Documentation Index
> Fetch the complete documentation index at: https://docs.airys.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurando o Facebook

> Configure a integração do Facebook Messenger para o AirysChat

Para usar o Canal do Facebook, você deve criar um aplicativo do Facebook no portal do desenvolvedor. Você pode encontrar mais detalhes sobre como criar aplicativos do Facebook [aqui](https://developers.facebook.com/docs/apps/#register).

## Pré-requisitos

1. Uma conta válida no Facebook.
2. Uma página válida no Facebook.

## Registrar um Aplicativo no Facebook

1. Acesse o [portal de desenvolvedores do Facebook](https://developers.facebook.com/apps/) e clique no botão "Create App" (Criar Aplicativo).

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook-create-app.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=91b0ba730c32c22745d0ae6bfc6d88a2" alt="facebook_create_app" width="2548" height="1474" data-path="self-hosted/images/facebook/facebook-create-app.png" />

2. Selecione a opção "Other" (Outro).

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_other_app.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=383511288f142ff1d0591efc5b7bf9b4" alt="facebook_other_app" width="1654" height="1254" data-path="self-hosted/images/facebook/facebook_other_app.png" />

3. Para o tipo de aplicativo, escolha "Business" (Empresa).

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_business.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=7ccd8c51f7bf38128d5f33013c320a0d" alt="facebook_business" width="2164" height="1744" data-path="self-hosted/images/facebook/facebook_business.png" />

3. Insira detalhes básicos como o nome do aplicativo e e-mail.

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_business_details.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=8b2ecd5377bdbd03a265bf28923bdfcf" alt="facebook_business_details" width="2150" height="922" data-path="self-hosted/images/facebook/facebook_business_details.png" />

Após registrar seu Aplicativo do Facebook, você precisará obter o `App Id` (ID do Aplicativo) e o `App Secret` (Chave Secreta do Aplicativo). Esses valores estarão disponíveis nas configurações do aplicativo e serão necessários ao configurar as variáveis de ambiente do AirysChat.

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_app_id.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=ef93a0a9643e562cb61eab40800579db" alt="facebook_app_id" width="2922" height="1358" data-path="self-hosted/images/facebook/facebook_app_id.png" />

## Configurando as Variáveis de Ambiente no AirysChat

Configure as seguintes variáveis de ambiente do AirysChat com os valores que você obteve durante a configuração do aplicativo do Facebook. O `FB_VERIFY_TOKEN` deve ser uma string única e segura que você fornece ao configurar o aplicativo do Facebook. Gere uma string aleatória e defina-a como o `FB_VERIFY_TOKEN`. O Facebook incluirá essa string em todas as requisições de verificação.

Reinicie o servidor do AirysChat após atualizar as variáveis de ambiente.

```bash theme={null}
FB_VERIFY_TOKEN=
FB_APP_SECRET=
FB_APP_ID=
```

## Configurar o Login do Facebook

1. Adicione o produto Facebook Login através do painel do aplicativo do Facebook.

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_app_login.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=dec889524705afb0e53614ee6654ea89" alt="facebook_app_login" width="3028" height="1688" data-path="self-hosted/images/facebook/facebook_app_login.png" />

2. Habilite `Web OAuth Login`, `Login with Javascript SDK` e adicione seu domínio self-hosted na entrada `Allowed Domains for the JavaScript SDK`.

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_sdk_login.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=b7f470855ec0657cb1880922a63e2cfc" alt="facebook_sdk_login" width="2960" height="1748" data-path="self-hosted/images/facebook/facebook_sdk_login.png" />

## Configurar o Aplicativo do Facebook

1. Nas configurações do aplicativo, adicione o `domínio de instalação do AirysChat` como o domínio do seu aplicativo.

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_app_domain.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=aa2c82692c538840f6ec286bd558c4c1" alt="facebook_app_domain" width="3004" height="1364" data-path="self-hosted/images/facebook/facebook_app_domain.png" />

2. Na seção de produtos na página de configurações do seu aplicativo, adicione "Messenger".

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_messenger_product.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=89abf3281503c956ea680417abd6546d" alt="facebook_messenger_product" width="2952" height="1766" data-path="self-hosted/images/facebook/facebook_messenger_product.png" />

3. Vá para as configurações do Messenger e configure a URL de callback (URL de retorno).

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_messenger_section.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=6b491b179a6e538c059d43b424eb72e2" alt="Alt text" width="3044" height="1734" data-path="self-hosted/images/facebook/facebook_messenger_section.png" />

4. Forneça a URL de Callback como `{your_airyschat_installation_url}/bot` e o Token de verificação como `FB_VERIFY_TOKEN` da sua variável de ambiente.

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_callback_url.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=1d47ee95d117634ee85a78076fc78578" alt="facebook_callback_url" width="2992" height="1642" data-path="self-hosted/images/facebook/facebook_callback_url.png" />

5. Acesse o AirysChat e crie uma caixa de entrada do Messenger. Escolha uma página para a qual a sua conta de desenvolvedor do Facebook tenha acesso de administrador. Por favor, consulte este [guia](https://www.airyschat.com/hc/user-guide/articles/1677778588-how-to-setup-a-facebook-channel) para mais detalhes sobre como criar uma caixa de entrada do Messenger no AirysChat.

## Testando o canal do Facebook

Até que o aplicativo seja aprovado para produção, o Facebook não enviará as novas mensagens da sua página para o AirysChat.

Para testar as alterações até que o aplicativo seja aprovado para produção, siga os passos abaixo:

1. Acesse a seção do messenger na página de configurações do seu aplicativo, no portal de desenvolvedores do Facebook.

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_messenger_settings.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=5c39554f7ae0cf327ba58fc7d0bac6e0" alt="facebook_messenger_settings" width="3010" height="1754" data-path="self-hosted/images/facebook/facebook_messenger_settings.png" />

2. Clique em `Add or remove pages` (Adicionar ou remover páginas) e conecte a página que você escolheu ao criar a caixa de entrada do Messenger no AirysChat.

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_callback_pages.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=8630f33624fb4fe2de6c08279a436ec0" alt="facebook_callback_pages" width="2972" height="1480" data-path="self-hosted/images/facebook/facebook_callback_pages.png" />

3. Após conectar as páginas, clique em `Add subscriptions` (Adicionar assinaturas) a partir da página conectada.

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_page_config.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=fa044592b314fa762776163784e01e24" alt="facebook_page_config" width="2952" height="1506" data-path="self-hosted/images/facebook/facebook_page_config.png" />

4. Inscreva-se nos seguintes campos e salve a assinatura.

```
messages
messaging_postbacks
message_deliveries
message_reads
message_echoes
```

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/facebook_page_subscription.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=7654db3c87319c393acc4e4ea27800ae" alt="facebook_page_subscription" width="2964" height="1524" data-path="self-hosted/images/facebook/facebook_page_subscription.png" />

4. Envie uma mensagem para a página conectada a partir da sua conta do Facebook e ela deve aparecer no AirysChat agora.

## Entrando em produção

Antes que você possa começar a usar o seu aplicativo do Facebook em produção, você precisará que ele seja verificado pelo Facebook. Consulte a [documentação](https://developers.facebook.com/docs/apps/review/) sobre como ter seu aplicativo verificado.

Obtenha acesso avançado às permissões necessárias mencionadas abaixo para o seu aplicativo do Facebook:

```
pages_messaging (Para enviar mensagens em nome da página)
pages_show_list (Para listar as páginas a serem conectadas no airyschat)
pages_manage_metadata (Assinar webhooks em nome da página)
business_management
pages_read_engagement (Ler dados de seguidores (incluindo nome, PSID) e perfil)
Business Asset User Profile Access (Para acessar a foto do perfil e o nome das pessoas que contatam a página)
```

<Warning>
  Certifique-se de que a versão da assinatura do seu aplicativo do Facebook seja 17.0. Nós atualizamos a assinatura do FB para a versão mais recente, então altere a versão de assinatura de permissão nas opções de webhooks do aplicativo do facebook.
</Warning>

## Desenvolvendo ou Testando a Integração do Facebook na sua máquina

Instale o [ngrok](https://ngrok.com/docs) na sua máquina. Isso será necessário já que a API do Facebook Messenger se comunicará apenas via https.

```bash theme={null}
brew cask install ngrok
```

Configure o ngrok para rotear para a porta do seu servidor Rails.

```bash theme={null}
ngrok http 3000
```

Vá para a página de desenvolvedores do Facebook e navegue até as configurações do seu aplicativo. Nas configurações do aplicativo, adicione `localhost` como domínio do seu aplicativo.
Na página de configurações do Messenger, configure a url de callback com o seguinte valor.

```bash theme={null}
{your_ngrok_url}/bot
```

Atualize o token de verificação nas suas variáveis de ambiente do AirysChat.

Você também terá que adicionar uma página do Facebook à sua seção `Access Tokens` na sua página de configurações do Messenger.
Reinicie o servidor local do AirysChat. Sua configuração do AirysChat estará pronta para receber mensagens do Facebook.

## Versão da API do Facebook

Nós suportamos a API do Facebook versão v13.0 em diante, a qual você pode atualizar nas configurações avançadas do aplicativo do facebook.

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/facebook/fb_api_version.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=014d1f84269389c8cf7fbc57771b850f" alt="fb_api_version" width="2423" height="1018" data-path="self-hosted/images/facebook/fb_api_version.png" />

## Testar sua Configuração local

1. Após terminar a configuração acima, [crie uma caixa de entrada do Facebook](https://www.airyschat.com/hc/user-guide/articles/1677778588-how-to-setup-a-facebook-channel) após fazer login na sua Instalação do AirysChat.
2. Envie uma mensagem para sua página do Facebook.
3. Aguarde e confirme as requisições de entrada para o endpoint `/bot` na sua tela do ngrok.
