> For the complete documentation index, see [llms.txt](https://docs.flw.chat/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flw.chat/guide/documentacao/apps/distribuicao-de-atendimentos/distribuicao-via-api.md).

# Distribuição via API

A API permite duas coisas: configurar a distribuição e o transbordo de uma equipe, sem passar pela tela de Ajustes, e criar atendimentos que respeitam ou ignoram essa distribuição, conforme os campos enviados.

{% hint style="success" %}
**Pré-requisitos:**

* Aplicativo de distribuição de atendimentos habilitado. [Saiba como habilitar](/guide/documentacao/apps/distribuicao-de-atendimentos/habilitar-o-app.md).
* Acesso à API da plataforma.
  {% endhint %}

## Configurar a distribuição e o transbordo

A configuração é feita pelos endpoints **Equipes → Criar**, ao criar uma nova equipe, ou **Equipes → Atualizar**, para uma equipe já existente.

<table><thead><tr><th width="387">Campo API</th><th>Equivalente na tela</th></tr></thead><tbody><tr><td><strong>distributionIsEnabled</strong></td><td>Chave <strong>Distribuição de atendimentos</strong></td></tr><tr><td>distributionConfig.<strong>expirationIsEnabled</strong></td><td>Chave <strong>Transbordo na distribuição</strong></td></tr><tr><td>distributionConfig.<strong>inactivityTimeInMinutes</strong></td><td>Campo <strong>Limite de tempo para realizar transbordo</strong></td></tr><tr><td>distributionConfig.<strong>maximumDurationInMinutes</strong></td><td>Campo <strong>Tempo limite máximo</strong></td></tr></tbody></table>

{% hint style="info" %}
**distributionConfig** é um objeto enviado junto ao corpo da requisição, contendo os três campos relacionados ao transbordo.
{% endhint %}

Para configurar:

1. Acesse o endpoint **Equipes → Criar**, para configurar já na criação da equipe, ou **Equipes → Atualizar**, para uma equipe existente.
2. Se estiver atualizando, informe o ID da equipe que deseja configurar.
3. No corpo da requisição, envie **distributionIsEnabled** para habilitar ou desabilitar a distribuição.
4. Se quiser configurar o transbordo, envie o objeto **distributionConfig** com **expirationIsEnabled** habilitado e os tempos definidos em **inactivityTimeInMinutes** e **maximumDurationInMinutes**.

O resultado é o mesmo de configurar pela tela: a chave fica sincronizada entre API e plataforma, então alterar por um canal reflete no outro.

{% hint style="warning" %}
**Atenção:** assim como pela tela, **inactivityTimeInMinutes** não pode ser igual a **maximumDurationInMinutes**. Se os dois valores forem iguais, o transbordo não ocorre.
{% endhint %}

## Direcionar um atendimento ao criar

Ao criar um atendimento pelos endpoints **Mensagens → Enviar** ou **Mensagens → Enviar Síncrono**, o direcionamento varia conforme os campos informados na requisição:

| Campos informados na requisição | Comportamento                                                                                    |
| ------------------------------- | ------------------------------------------------------------------------------------------------ |
| **Apenas a equipe**             | O atendimento segue a distribuição normalmente, considerando ordem, disponibilidade e transbordo |
| **Equipe + usuário específico** | A distribuição é ignorada e o atendimento é direcionado diretamente para o usuário informado     |

**Exemplo 1:** uma requisição informa apenas o ID da Equipe Comercial. O atendimento entra na fila de distribuição normalmente e é direcionado ao próximo usuário disponível, na ordem configurada.

**Exemplo 2:** uma requisição informa o ID da Equipe Comercial junto com o ID do usuário B. O atendimento vai direto para o usuário B, independentemente de qual seria o próximo da ordem de distribuição ou se B está marcado como disponível.

{% hint style="danger" %}
Informar um usuário específico ignora tanto a ordem de distribuição quanto o status de disponibilidade dele. O atendimento é direcionado mesmo que esse usuário esteja marcado como **Indisponível**.
{% endhint %}

{% hint style="info" %}
Se a equipe também tiver Carteirização de Contatos habilitada, ela pode alterar esse comportamento. Consulte [Funcionamento da Carteirização](/guide/documentacao/crm/carteiras/funcionamento-da-carteirizacao.md) para entender como as duas funcionalidades se combinam.
{% endhint %}

***

## Artigos relacionados

* [Como Funciona](/guide/documentacao/apps/distribuicao-de-atendimentos/como-funciona.md)
* [Como Configurar](/guide/documentacao/apps/distribuicao-de-atendimentos/como-configurar.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.flw.chat/guide/documentacao/apps/distribuicao-de-atendimentos/distribuicao-via-api.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
