Antonnia Docs

API de Agentes

Tipos de agente e atribuição

Agentes são atribuídos a sessões e determinam como as conversas são tratadas. Não existe uma API CRUD independente para agentes — os agentes são gerenciados pelo painel da Antonnia e referenciados por ID nas operações de sessão.

Objeto Agent

Os agentes possuem dois tipos, diferenciados pelo campo type:

Agente IA

{
  "id": "agent_abc",
  "name": "Support Bot",
  "type": "ai",
  "assistant_id": "asst_123",
  "organization_id": "org_xyz",
  "created_at": "2025-01-15T10:30:00Z"
}
FieldTypeDescription
idstringIdentificador único do agente
namestringNome de exibição
typestringSempre "ai"
assistant_idstringReferência à configuração do assistente
organization_idstringOrganização proprietária

Agente Humano

{
  "id": "agent_def",
  "name": "João Silva",
  "type": "human",
  "profile_id": "profile_456",
  "organization_id": "org_xyz",
  "created_at": "2025-01-15T10:30:00Z"
}
FieldTypeDescription
idstringIdentificador único do agente
namestringNome de exibição
typestringSempre "human"
profile_idstringReferência ao perfil de usuário do operador
organization_idstringOrganização proprietária

Usando agentes em sessões

Atribuir na criação

POST /sessions
{
  "contact_id": "user_123",
  "contact_name": "Jane Doe",
  "agent_id": "agent_abc"
}

Transferir para outro agente

POST /sessions/{session_id}/transfer
{ "agent_id": "agent_def" }

Remover agente

POST /sessions/{session_id}/transfer
{ "agent_id": null }

Verificando o tipo do agente

O campo agent da sessão inclui o objeto completo do agente. Use agent.type para determinar o comportamento:

session = httpx.get(f"{BASE_URL}/sessions/{session_id}", headers=HEADERS).json()

if session["agent"] and session["agent"]["type"] == "ai":
    # Trigger auto-reply
    httpx.post(f"{BASE_URL}/sessions/{session_id}/reply", headers=HEADERS, json={})
elif session["agent"] and session["agent"]["type"] == "human":
    # Human agent — no auto-reply needed
    pass
else:
    # No agent assigned
    pass

On this page