> ## 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.

# Introdução às APIs do AirysChat

> Aprenda como usar as APIs do AirysChat para criar integrações, personalizar experiências de chat e gerenciar sua instalação.

Bem-vindo à documentação da API do AirysChat. Esteja você construindo fluxos de trabalho personalizados para sua equipe de suporte, integrando o AirysChat ao seu produto ou gerenciando usuários em várias instalações, nossas APIs fornecem a flexibilidade e o poder para ajudá-lo a fazer mais com o AirysChat.

O AirysChat fornece três categorias de APIs, cada uma projetada com um caso de uso específico em mente:

* **Application APIs** – Para automação no nível da conta e integrações voltadas para o agente.
* **Client APIs** – Para construir interfaces de chat personalizadas para usuários finais.
* **Platform APIs** – Para gerenciar e administrar instalações em escala.

***

## Application APIs

As Application APIs são projetadas para interagir com uma conta do AirysChat da perspectiva de um agente/administrador. Use-as para construir ferramentas internas, automatizar fluxos de trabalho ou realizar operações em massa, como importação/exportação de dados.

* **Autenticação**: Requer um `access_token` de usuário, que pode ser gerado a partir de **Profile Settings** (Configurações de Perfil) após fazer login em sua conta do AirysChat.
* **Disponibilidade**: Suportado em instalações do AirysChat tanto na **Cloud** (Nuvem) quanto **Self-hosted** (Auto-hospedadas).
* **Exemplo**: [Google Cloud Functions Demo](https://github.com/airyschat/google-cloud-functions-demo)

***

## Client APIs

As Client APIs destinam-se à construção de experiências de mensagens personalizadas no AirysChat. Se você não estiver usando o widget de site nativo ou quiser incorporar o chat em seu aplicativo móvel, essas APIs são o caminho a seguir.

* **Autenticação**: Usa `inbox_identifier` (de **Settings → Configuration** em caixas de entrada de API) e `contact_identifier` (retornado ao criar um contato).
* **Disponibilidade**: Suportado em instalações do AirysChat tanto na **Cloud** (Nuvem) quanto **Self-hosted** (Auto-hospedadas).
* **Exemplos**:

  * [Client API Demo](https://github.com/airyschat/client-api-demo)
  * [Flutter SDK](https://github.com/airyschat/airyschat-flutter-sdk)

***

## Platform APIs

As Platform APIs são usadas para gerenciar instalações do AirysChat no nível de administrador. Essas APIs permitem que você controle usuários, funções e contas, ou sincronize dados de sistemas de autenticação externos.

> **Nota:** As Platform APIs não podem acessar contas ou usuários criados por meio da interface do usuário do AirysChat ou por outras chaves de API. Elas só podem acessar contas, usuários e outros objetos criados pela chave de API da plataforma específica usada para autenticação, ou objetos explicitamente permitidos para essa chave de API.

* **Autenticação**: Requer um `access_token` gerado por um **Platform App**, que pode ser criado no **Super Admin Console**.
* **Disponibilidade**: Disponível apenas em instalações **Self-hosted** / **Managed Hosting** do AirysChat.

***

Use a API certa para o seu caso de uso, e você poderá estender, personalizar e integrar o AirysChat à sua stack com facilidade.

***

## FAQ

### Por que recebo um erro 401 'Non permissible resource' ao usar tokens da Platform API?

As Platform APIs não podem acessar contas ou usuários criados através da interface do AirysChat, ou por outras chaves de API. Elas só podem acessar contas, usuários e outros objetos criados pela mesma chave de API, ou objetos explicitamente permitidos para aquela chave de API. Se você precisar conceder a um Platform App acesso a um objeto (como uma Account) que ele não criou, você pode adicionar a permissão manualmente usando o seguinte comando em um console do Rails (substitua os números pelos IDs corretos):

```ruby theme={null}
PlatformAppPermissible.create!(platform_app: PlatformApp.find(1), permissible: Account.find(1))
```

### O que devo fazer se a documentação da API parecer desatualizada?

Se você encontrar discrepâncias entre a documentação da API e o comportamento real da API, recomendamos inspecionar as requisições reais feitas pela interface do AirysChat através da aba Network (Rede) do console de desenvolvedor do seu navegador para ver o formato exato da requisição e a estrutura do payload que funciona com a API atual, e então replicar a mesma estrutura de requisição na sua integração.

Você pode contribuir enviando um [pull request](/contributing-guide/api-documentation) com correções de documentação ou [abrindo uma issue](https://github.com/airyschat/airyschat/issues) em nosso repositório no GitHub para ajudar a manter nossa documentação da API atualizada para todos.
