Saltar para o conteúdo

Referência da API pública

Endpoints, scopes e exemplos para tickets, mensagens e ações.

Use chaves de API com scopes para gerir tickets omnichannel e ações a partir dos seus sistemas.

URL base

Todas as requisições passam pelo gateway público.

https://api.threada.ai

Autenticação

  • Envie a chave da API no cabeçalho `X-Api-Key`.
  • Crie e rode chaves em Admin → API keys; use uma chave por integração.
  • As chaves são por tenant e aplicam menor privilégio via scopes.

Scopes

  • `support.read` — listar e recuperar tickets, mensagens e ações.
  • `support.write` — criar/atualizar tickets e anexar mensagens.
  • `support.actions` — executar ações e consultar o status.

Paginação

  • Endpoints de lista aceitam `limit` e `page_token`.
  • Passe `next_page_token` na próxima requisição.

Erros

  • Erros retornam `{ error: { type, message, code } }`.
  • Os códigos HTTP refletem o valor de `code`.

Exemplos de requisição e resposta

Listar tickets

Busque tickets abertos em todos os canais.

Requisição
curl -X GET "https://api.threada.ai/api/v1/public/tickets?limit=25" \
  -H "X-Api-Key: YOUR_API_KEY"
Resposta
{
  "items": [
    {
      "ticket_id": "TICKET_ID",
      "tenant_id": "TENANT_ID",
      "subject": "SUBJECT",
      "status": "open",
      "priority": "normal",
      "channel": "email",
      "tags": ["vip", "returns"],
      "last_message_at": "2026-02-04T18:32:11Z"
    }
  ],
  "next_page_token": "NEXT_PAGE_TOKEN"
}

Criar um ticket

Abra um novo ticket com uma mensagem inicial.

Requisição
curl -X POST "https://api.threada.ai/api/v1/public/tickets" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "SUBJECT",
    "priority": "normal",
    "channel": "email",
    "contact": {
      "name": "CUSTOMER_NAME",
      "email": "customer@example.com"
    },
    "tags": ["returns"],
    "initial_message": {
      "role": "user",
      "content": "MESSAGE_BODY",
      "external_message_id": "EXT_MSG_ID"
    }
  }'
Resposta
{
  "ticket": {
    "summary": {
      "ticket_id": "TICKET_ID",
      "tenant_id": "TENANT_ID",
      "subject": "SUBJECT",
      "status": "open",
      "priority": "normal",
      "channel": "email",
      "tags": ["returns"],
      "created_at": "2026-02-04T18:32:11Z"
    },
    "contact": {
      "name": "CUSTOMER_NAME",
      "email": "customer@example.com"
    },
    "messages": [
      {
        "message_id": "MESSAGE_ID",
        "role": "user",
        "content": "MESSAGE_BODY",
        "channel": "email",
        "created_at": "2026-02-04T18:32:11Z"
      }
    ]
  }
}

Executar uma ação

Dispare uma automação HTTP personalizada para um ticket.

Requisição
curl -X POST "https://api.threada.ai/api/v1/public/tickets/TICKET_ID/actions" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "payload": {
      "type": "custom_http",
      "method": "POST",
      "url": "/hooks/zapier",
      "headers": {
        "X-Source": "threada"
      },
      "body_json": "{\"event\":\"ticket_updated\"}"
    }
  }'
Resposta
{
  "action": {
    "action_id": "ACTION_ID",
    "tenant_id": "TENANT_ID",
    "ticket_id": "TICKET_ID",
    "action_type": "custom_http",
    "status": "succeeded",
    "requested_by": "api_key:API_KEY_ID",
    "payload": {
      "type": "custom_http",
      "method": "POST",
      "url": "/hooks/zapier",
      "headers": {
        "X-Source": "threada"
      },
      "body_json": "{\"event\":\"ticket_updated\"}"
    }
  }
}

Precisa de mais endpoints?

Contacte-nos para acesso ampliado, limites mais altos e SLAs empresariais.

Contactar vendas