Pular para o conteúdo

Lista os chamados da conta

GET /portal/support/tickets

Escopo do token: support:read. Recurso: Chamados.

Chamados da conta do usuário, da conversa mais recente para a mais antiga, opcionalmente de uma ou mais situações. Sem limit nem offset vêm os 200 mais recentes; meta.total é o total da situação pedida e counts conta os chamados em andamento e resolvidos da conta. unread diz que há resposta da equipe ainda não lida; expected é quando a equipe deve responder. Notas internas, nomes da equipe, grupo, etiquetas e o responsável nunca aparecem no portal.

Os exemplos leem o token da variável de ambiente HALVER_API_TOKEN (um token sc_live_… criado em Desenvolvedores › Tokens de API). Nunca escreva o token no código.

Janela do terminal
curl "https://dash.halver.com.br/api/v1/portal/support/tickets?limit=50" \
-H "Authorization: Bearer $HALVER_API_TOKEN"
  • status string

    Uma ou mais situações (open, answered, resolved) separadas por vírgula; open,answered são os em andamento.

  • limit integer

    Tamanho da página (padrão 50, máximo 200). De 1 a 200. Padrão: 50.

  • offset integer

    Deslocamento da página. Mínimo 0. Padrão: 0.

Chamados.

Campos da resposta
  • counts object obrigatório

    Chamados da conta em andamento (abertos ou respondidos) e resolvidos, em todas as páginas.

    • active integer (int64) obrigatório
    • resolved integer (int64) obrigatório
  • data array de object obrigatório
    • can_rate boolean obrigatório

      Resolvido por alguém há até 28 dias; pode ser avaliado.

    • category string obrigatório

      Do que se trata: vendas, suporte técnico, financeiro, bare metal ou privacidade (pedidos do titular, LGPD art. 18). Um de: sales, technical, billing, bare_metal, privacy.

    • closed boolean obrigatório

      Resolvido há mais dias que close_days; uma mensagem nova abre um chamado de continuação.

    • created_at string (date-time) obrigatório
    • expected qualquer obrigatório pode ser nulo

      Quando a equipe deve responder (só enquanto espera a equipe).

      • due_at string (date-time) obrigatório
      • target string obrigatório
    • follow_up_of qualquer obrigatório pode ser nulo
      • id string (uuid) obrigatório
      • number string obrigatório
    • id string (uuid) obrigatório
    • last_from string obrigatório

      Um de: customer, staff, "" (vazio).

    • last_message_at string (date-time) obrigatório
    • merged_into qualquer obrigatório pode ser nulo
      • id string (uuid) obrigatório
      • number string obrigatório
    • messages array de object

      A conversa (só no detalhe).

      • attachments array de object obrigatório
        • content_type string obrigatório

          Um de: image/png, image/jpeg, image/gif, image/webp, application/pdf, text/plain.

        • created_at string (date-time) obrigatório
        • file_name string obrigatório
        • id string (uuid) obrigatório
        • size_bytes integer obrigatório
      • author string obrigatório

        Um de: customer, staff, system.

      • author_name string obrigatório

        Quem escreveu; toda mensagem da equipe aparece como “Equipe Halver” e as do sistema como “Halver”.

      • body string obrigatório
      • created_at string (date-time) obrigatório
      • id string (uuid) obrigatório
    • number string obrigatório
    • priority string obrigatório

      Prioridade: baixa, normal, alta ou urgente (define o SLA). Um de: low, normal, high, urgent.

    • purged boolean obrigatório

      A conversa foi apagada pelo prazo de guarda (1 ano após a resolução).

    • rating qualquer obrigatório pode ser nulo
      • comment string obrigatório
      • rated_at string (date-time) obrigatório
      • rating string obrigatório

        Um de: good, bad.

    • resolved_at string (date-time) obrigatório pode ser nulo
    • server qualquer obrigatório pode ser nulo
      • hostname string obrigatório
      • id string (uuid) obrigatório
    • status string obrigatório

      open: espera a equipe; answered: espera o cliente; resolved: resolvido. Um de: open, answered, resolved.

    • subject string obrigatório
    • unread boolean obrigatório

      Há resposta da equipe que a conta ainda não leu.

  • meta object obrigatório
    • limit integer obrigatório
    • offset integer obrigatório
    • total integer (int64) obrigatório
Exemplo de resposta
{
"counts": {
"active": true,
"resolved": 0
},
"data": [
{
"can_rate": false,
"category": "sales",
"closed": false,
"created_at": "2026-10-20T18:00:00Z",
"expected": {
"due_at": "2026-10-20T18:00:00Z",
"target": "até 4 horas úteis"
},
"follow_up_of": {
"id": "0e37dfb9-2f9b-4ac0-a557-346d5265ae2f",
"number": "FAT-0000123"
},
"id": "f638f2ab-a5a5-45f6-886a-51b17661e088",
"last_from": "customer",
"last_message_at": "2026-10-20T18:00:00Z",
"merged_into": {
"id": "0e37dfb9-2f9b-4ac0-a557-346d5265ae2f",
"number": "FAT-0000123"
},
"messages": [
{
"attachments": [
{
"content_type": "image/png",
"created_at": "2026-10-20T18:00:00Z",
"file_name": "",
"id": "bab8d9c9-1562-4059-820d-444a4445a168",
"size_bytes": 0
}
],
"author": "customer",
"author_name": "Ana Souza",
"body": "Obrigado, voltou a responder.",
"created_at": "2026-10-20T18:00:00Z",
"id": "90bd97e4-e575-44de-9d55-2b401363292c"
}
],
"number": "SUP-000123",
"priority": "low",
"purged": false,
"rating": {
"comment": "",
"rated_at": "2026-10-20T18:00:00Z",
"rating": "good"
},
"resolved_at": null,
"server": {
"hostname": "web-01",
"id": "b71b4464-1ef5-411f-a6f2-c5450d0a7616"
},
"status": "open",
"subject": "Servidor sem rede depois da reinstalação",
"unread": false
}
],
"meta": {
"limit": 50,
"offset": 0,
"total": 1
}
}

Todo erro vem como application/problem+json (RFC 9457), com um code estável, a mensagem em português em detail, o motivo de cada campo em errors (nos erros de validação) e o request_id, que você informa ao suporte. Veja a lista completa de códigos.

Status Quando Códigos
400 Requisição inválida (JSON malformado, campo desconhecido, parâmetro inválido ou falha de validação). validation_failed
401 Não autenticado (token ausente, inválido ou expirado; credenciais inválidas). auth.unauthorized
403 Autenticado, mas sem permissão para a área ou a operação. api_token.insufficient_scope
Exemplo de erro
{
"type": "about:blank",
"title": "Forbidden",
"status": 403,
"detail": "o token não tem o escopo support:read; crie um token com esse escopo em Desenvolvedores › Tokens de API",
"code": "api_token.insufficient_scope",
"request_id": "6f1c0b2a9e4d7c3b5a8f0e1d"
}