1. Tickets
Titov
  • Titov
    • Enviar Mensagens
      • Enviar template HSM
      • Enviar mensagem livre
      • Enviar mídia
    • Contatos
      • Listar contatos
      • Listar conversa do contato
      • Criar contato
      • Atualizar contato
      • Excluir contato
    • Mobile
      • Widget de Chat — Guia de Implementação (Web e App Mobile)
      • Cria uma sessão anônima
      • Histórico da sessão
      • Envia mensagem de texto
      • Envia arquivo (imagem, áudio ou documento)
      • Stream SSE das respostas em tempo real
      • Continuar a conversa no WhatsApp
    • Grupos de Contatos
      • Listar grupos de contatos
      • Criar grupo de contatos
      • Atualizar grupo de contatos
      • Excluir grupo de contatos
    • Respostas Rápidas
      • Listar respostas rápidas
      • Criar resposta rápida
      • Atualizar resposta rápida
      • Excluir resposta rápida
    • Template
      • Listar templates aprovados por número
    • Webhooks
      • Mensagens
        • Mensagem recebida de um contato
        • Mensagem enviada pela plataforma
      • Tickets
        • Ticket de atendimento aberto
        • Ticket de atendimento fechado
      • Contatos
        • Contato criado
        • IA pediu atendimento humano
        • Lead qualificado como quente (score ≥ 70)
        • IA converteu o contato
      • Rádio
        • Áudio de ouvinte aprovado (Rádio)
    • Esquemas
      • Error
      • Contact
      • Envelope
      • HistoryMessage
      • ContactInput
      • ContactRef
      • SseMessage
      • Message
      • MessageEvent
      • PhoneTemplates
      • TicketCreatedEvent
      • ContactGroup
      • TicketClosedEvent
      • ContactGroupInput
      • ContactCreatedEvent
      • CannedReply
      • ContactHelpEvent
      • CannedReplyTextInput
      • ContactHotEvent
      • CannedReplyMediaInput
      • ContactConvertedEvent
      • PaginationLinks
      • RadioAudioEvent
      • PaginationMeta
      • CodedError
      • LegacyError
  1. Tickets

Ticket de atendimento fechado

Webhook
POST
ticket.closed
Disparado ao fechar um ticket — manualmente por um atendente ou pela IA. Traz um
snapshot com as métricas consolidadas do atendimento.
O fechamento automático por inatividade (cron) NÃO dispara este evento. O cron
fecha sem notificações: o contato sumiu há dias e notificar retroativamente não faz
sentido. Se você concilia tickets, os fechados pelo cron não vão aparecer aqui.

Requisição

Parâmetros Bodyapplication/jsonNecessário

Exemplo
{
    "event": "ticket.closed",
    "organization_id": 1,
    "ticket_snapshot": {
        "uuid": "6b1d8e3f-2a4c-4d5e-9f80-a1b2c3d4e5f6",
        "closed_by": "user",
        "close_reason": "manual",
        "closed_at": "2026-01-01T10:05:00Z",
        "duration_seconds": 300,
        "wait_time_seconds": 45,
        "handling_time_seconds": 255,
        "messages_inbound": 4,
        "messages_outbound": 6,
        "converted_by_ai": false,
        "fup_label": null,
        "source": "whatsapp",
        "assigned_to": 12
    },
    "contact": {
        "uuid": "945d8b4f-a580-4743-bdfa-f0095059b37a",
        "name": "João Silva",
        "phone": "+5511999990000"
    }
}

Exemplos de Requisição

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://your-api-server.com' \
--header 'Content-Type: application/json' \
--data '{
    "event": "ticket.closed",
    "organization_id": 1,
    "ticket_snapshot": {
        "uuid": "6b1d8e3f-2a4c-4d5e-9f80-a1b2c3d4e5f6",
        "closed_by": "user",
        "close_reason": "manual",
        "closed_at": "2026-01-01T10:05:00Z",
        "duration_seconds": 300,
        "wait_time_seconds": 45,
        "handling_time_seconds": 255,
        "messages_inbound": 4,
        "messages_outbound": 6,
        "converted_by_ai": false,
        "fup_label": null,
        "source": "whatsapp",
        "assigned_to": 12
    },
    "contact": {
        "uuid": "945d8b4f-a580-4743-bdfa-f0095059b37a",
        "name": "João Silva",
        "phone": "+5511999990000"
    }
}'

Respostas

🟢200OK
Recebido.
Esta resposta não possui corpo.
Modificado em 2026-07-17 16:50:55
Página anterior
Ticket de atendimento aberto
Próxima página
Contato criado
Built with