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

# Atribuição por API

> Deixe que o seu próprio sistema decida qual agente recebe cada conversa. O Treble chama o endpoint que você configurar com o contexto do chat e atribui a conversa ao agente que você responder.

Se a sua equipe já tem a sua própria lógica de routing, com o destino **API** você não precisa replicá-la no Treble. O Treble chama o **seu endpoint** com o contexto do chat e respeita o agente que você responder.

<img src="https://mintcdn.com/trebleai/4IeYTi_jb7MUcJQl/images/transfer-methods-api-1.png?fit=max&auto=format&n=4IeYTi_jb7MUcJQl&q=85&s=371208d78864b14c1a8fcb78ec7dbb23" alt="Destino API" width="1440" height="1024" data-path="images/transfer-methods-api-1.png" />

```mermaid theme={null}
sequenceDiagram
    participant C as Cliente
    participant T as Treble
    participant S as Seu servidor

    C->>T: A conversa chega ao bloco
    T->>S: POST com o contexto do chat
    S->>S: Decide qual agente deve atender
    S->>T: Responde com o agente
    T->>C: Atribui a conversa a esse agente
```

## Configuração

<Steps>
  <Step title="Selecione o destino API">
    Na configuração do bloco, escolha **API** e clique em **Próximo**.
  </Step>

  <Step title="Insira a URL do endpoint">
    Escreva a URL para a qual o Treble fará a requisição `POST` quando a conversa chegar ao bloco.

    <img src="https://mintcdn.com/trebleai/4IeYTi_jb7MUcJQl/images/transfer-methods-api-config.png?fit=max&auto=format&n=4IeYTi_jb7MUcJQl&q=85&s=e8e571211be44347316c0ec00fdbac92" alt="Configurar a URL do endpoint" width="1440" height="1024" data-path="images/transfer-methods-api-config.png" />
  </Step>

  <Step title="Escolha o tipo de autenticação">
    * **Sem autenticação** — o Treble chama o seu endpoint sem credenciais.
    * **Token / API Key** — insira um token que o Treble enviará no header `Authorization` com o formato `Bearer SEU_TOKEN`, para que o seu endpoint verifique que a chamada vem do Treble.

    <img src="https://mintcdn.com/trebleai/4IeYTi_jb7MUcJQl/images/transfer-methods-api-token.png?fit=max&auto=format&n=4IeYTi_jb7MUcJQl&q=85&s=46cf4d769b95a8f9ab60a5cadce1ad36" alt="Configurar o token de autenticação" width="1440" height="1024" data-path="images/transfer-methods-api-token.png" />
  </Step>

  <Step title="Complete a equipe e salve">
    Selecione a equipe em **Tags**, adicione **Etiquetas** se precisar e clique em **Salvar alterações**.

    <Check>
      Pronto! Quando uma conversa chegar ao bloco, o Treble chamará o seu endpoint para resolver o agente.
    </Check>
  </Step>
</Steps>

<div class="hr" />

## O contrato

O seu endpoint recebe o contexto do contato e da conversa, e deve responder com o agente que a atenderá:

```json theme={null}
{
  "agent_email": "andrea.soto@suaempresa.com"
}
```

<Warning>
  O seu endpoint deve responder em **menos de 10 segundos**. Se exceder, devolver um código diferente de `200`, ou devolver um agente que não pode receber a conversa, o Treble aplica o [método de reserva](/pt/docs/build-with-treble/blocks/transfer-methods/overview#prioridade-e-método-de-reserva) configurado na plataforma principal.
</Warning>

A referência completa —o corpo exato que o Treble envia, as duas formas de identificar o agente e um exemplo de implementação— está na referência da API.

<CardGroup cols={2}>
  <Card title="Referência do webhook" icon="code" href="/pt/api-reference/webhooks/api-assignation/intro">
    O corpo que o Treble envia e a resposta que você deve devolver.
  </Card>

  <Card title="Obter os agentes" icon="users" href="/pt/api-reference/endpoints/get-agents">
    Consulte os agentes da sua conta para saber qual email ou id devolver.
  </Card>
</CardGroup>
