Você pode testar esta rota diretamente em nossa documentação interativa.

Busca tickets usando prioridade hierárquica: ticketId (máxima) > leadId > conversationId (mínima). Se múltiplos identificadores forem fornecidos, prevalece o de maior prioridade.

Endpoint

POST /api/externalAPIs/public/tickets/getTickets

Parâmetros

ticketId
string

UUID do ticket para busca específica (prioridade 1).

leadId
string

UUID do lead para buscar todos os tickets do cliente (prioridade 2).

conversationId
string

UUID da conversa para buscar tickets da conversa (prioridade 3).

avatarId
string

UUID ou array de UUIDs de avatares para filtrar.

includeEvents
boolean
default: "true"

Incluir histórico de eventos.

includeClosed
boolean
default: "true"

Incluir tickets fechados.

includeDeleted
boolean
default: "false"

Incluir tickets deletados.

Exemplo

curl -X POST {BASE_URL}/api/externalAPIs/public/tickets/getTickets \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "leadId": "5db2c5f7-16b7-40e5-9a0f-f7f0c69c3e77",
    "includeEvents": true,
    "includeClosed": false
  }'

Resposta

{
  "code": 200,
  "success": true,
  "data": [
    {
      "id": "b8c9f8c4-0b6a-4b2a-8f8f-0c9d9e2f5a1a",
      "protocol": "ABCD-1234",
      "subject": "Problema de conectividade",
      "description": "Usuário reporta dificuldades para acessar o sistema",
      "definitionOfDone": "Sistema funcionando normalmente",
      "status": {
        "name": "Em Progresso",
        "level": 2,
        "color": "#F6AD55",
        "isClosed": false
      },
      "createdAt": "2025-01-15T09:00:00.000Z",
      "updatedAt": "2025-01-15T10:30:00.000Z",
      "importance": 3,
      "importanceColor": "#F6AD55",
      "closed": false,
      "closedAt": null,
      "deleted": false,
      "hostId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "leadId": "5db2c5f7-16b7-40e5-9a0f-f7f0c69c3e77",
      "conversationId": "0c8e3fa7-0601-4a75-9b9c-c1c919c50a8c",
      "sessionId": "s1e2s3s4-i5o6-n789-0abc-def123456789",
      "avatarId": "e0fe2a9f-7c1e-4c73-8c70-cb7b0f2e99e0",
      "externalId": "EXT-12345",
      "movedByIa": false,
      "assignedUser": {
        "id": "4a6b9f6e-0f2f-4e2b-9a77-98b0d64c4d11",
        "name": "João Silva"
      },
      "contact": {
        "name": "Maria Santos",
        "email": "maria@empresa.com",
        "phone": "55999998888"
      },
      "events": [
        {
          "id": "evt-789",
          "type": "status",
          "createdAt": "2025-01-15T09:00:00.000Z",
          "description": "Ticket criado automaticamente",
          "summary": "Status alterado para: Em Progresso"
        }
      ],
      "ticketLevelId": "3fb2a9f0-5aa3-4f6d-8d37-c2a0b1d7b9a2"
    }
  ],
  "count": 1,
  "searchCriteria": {
    "ticketId": null,
    "leadId": "5db2c5f7-16b7-40e5-9a0f-f7f0c69c3e77",
    "conversationId": null,
    "hostId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "avatarId": null
  },
  "message": "1 ticket recuperado com sucesso"
}

Campos da Resposta

code
number
Código HTTP da resposta.
success
boolean
Indica se a operação foi bem-sucedida.
data
array

Array de tickets encontrados.

count
number
Quantidade de tickets retornados.
searchCriteria
object
Critérios usados na busca.
message
string
Mensagem informativa.

Pelo menos um identificador (ticketId, leadId ou conversationId) é obrigatório.

Use includeEvents=true para obter o histórico completo de eventos.

includeDeleted=false por padrão exclui tickets deletados. Use includeDeleted=true apenas para auditoria ou recuperação.

Erros

CódigoDescrição
400Nenhum parâmetro de busca fornecido (ticketId, leadId ou conversationId)
403Credenciais inválidas
500Erro interno na busca