📘 Introdução

Documentação da API voltada para uso por empresas (Client + Application API).

🔐 Autenticação

  • Client API: usa inbox_identifier e contact_identifier
  • Application API: usa header api_access_token

👤 Client API

Endpoints públicos usados por clientes externos (ex: widgets ou apps).

Criar Contato

POST /public/api/v1/inboxes/{inbox_identifier}/contacts

Exemplo fetch

fetch("https://<host>/public/api/v1/inboxes/INBOX_ID/contacts", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    name: "João",
    identifier: "user-123",
    email: "joao@example.com"
  })
})

JSON de envio

{
  "name": "João",
  "identifier": "user-123",
  "email": "joao@example.com"
}

Resposta esperada

{
  "id": 12345,
  "name": "João",
  "identifier": "user-123",
  "email": "joao@example.com",
  "contactable": true
}

Iniciar Conversa

POST /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations

Exemplo fetch

fetch("https://<host>/public/api/v1/inboxes/INBOX_ID/contacts/CONTACT_ID/conversations", {
  method: "POST",
  headers: { "Content-Type": "application/json" }
})

Resposta esperada

{
  "id": 54321,
  "status": "open",
  "messages": []
}

Enviar Mensagem

POST /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations/{conversation_id}/messages

Exemplo fetch

fetch("https://<host>/public/api/v1/inboxes/INBOX_ID/contacts/CONTACT_ID/conversations/CONV_ID/messages", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    content: "Olá!",
    message_type: "incoming",
    content_type: "text"
  })
})

JSON de envio

{
  "content": "Olá!",
  "message_type": "incoming",
  "content_type": "text"
}

Resposta esperada

{
  "id": 9876,
  "content": "Olá!",
  "message_type": "incoming",
  "created_at": "2025-08-19T12:00:00Z"
}

Listar Conversas

GET /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations

Exemplo fetch

fetch("https://<host>/public/api/v1/inboxes/INBOX_ID/contacts/CONTACT_ID/conversations")

Resposta esperada

[
  {
    "id": 1,
    "status": "open",
    "messages": []
  },
  {
    "id": 2,
    "status": "resolved",
    "messages": []
  }
]

Listar Mensagens

GET /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations/{conversation_id}/messages

Exemplo fetch

fetch("https://<host>/public/api/v1/inboxes/INBOX_ID/contacts/CONTACT_ID/conversations/CONV_ID/messages")

Resposta esperada

[
  {
    "id": 101,
    "content": "Olá!",
    "message_type": "incoming"
  },
  {
    "id": 102,
    "content": "Como posso ajudar?",
    "message_type": "outgoing"
  }
]

🏢 Application API

Endpoints autenticados usados por operadores, bots e sistemas internos.

Listar Conversas

GET /api/v1/accounts/{account_id}/conversations

Criar Conversa

POST /api/v1/accounts/{account_id}/conversations

Enviar Mensagem

POST /api/v1/accounts/{account_id}/conversations/{conversation_id}/messages

Listar Agentes

GET /api/v1/accounts/{account_id}/agents

Relatórios

GET /api/v2/accounts/{account_id}/reports/conversations

Integrações

GET /api/v1/accounts/{account_id}/integrations/apps