Skip to main content
O Webhook de Conversa Finalizada é automaticamente enviado para sua URL de webhook especificada após uma conversa de chat (WhatsApp ou Widget Web) terminar. Este webhook contém a transcrição completa, variáveis extraídas, informações do cliente e detalhes do remetente.

Configuração do Webhook

Para ativar webhooks de conversa finalizada:
  1. Use o endpoint da API Enable Conversation Ended Webhook
  2. Forneça sua URL de webhook onde as notificações serão enviadas
  3. Opcionalmente configure variáveis pós-chamada no seu assistente para extrair dados estruturados das conversas

Formato da Requisição

O webhook é enviado como uma requisição POST para sua URL configurada com a seguinte carga JSON:

Estrutura da Carga

conversation_id
string
Identificador único (UUID) da conversa
assistant_id
string
Identificador único (UUID) do assistente que handling a conversa
type
string
O tipo de conversa. Valores possíveis: widget, whatsapp
message_count
integer
Número total de mensagens trocadas na conversa
status
string
Status da conversa. Valor: ended
extracted_variables
object
Variáveis extraídas pela IA baseadas na configuração do esquema pós-chamada do seu assistente
input_variables
object
Variáveis que foram passadas para o assistente no início da conversa (ex: de campos de formulário pré-chat ou fluxos de automação)
transcript
array
Array de objetos de mensagem representando a conversa completa
formatted_transcript
string
Transcrição formatada legível para humanos com prefixos AI: e Customer:
customer_phone
string
Número de telefone do cliente (disponível para conversas WhatsApp, null para conversas de widget)
customer_name
string
Nome do cliente se fornecido (ex: de formulário pré-chat), ou null
sender
object
Informações do remetente WhatsApp (apenas presente para conversas WhatsApp, null para widget)
created_at
string
Timestamp ISO 8601 quando a conversa começou (no fuso horário configurado do usuário)
ended_at
string
Timestamp ISO 8601 quando a conversa terminou (no fuso horário configurado do usuário)
{
  "conversation_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "assistant_id": "f9e8d7c6-b5a4-3210-fedc-ba9876543210",
  "type": "widget",
  "message_count": 8,
  "status": "ended",
  "extracted_variables": {
    "status": true,
    "summary": "Cliente perguntou sobre planos de preços e se interessou pelo plano Pro"
  },
  "input_variables": {
    "name": "João Silva",
    "email": "joao@example.com"
  },
  "transcript": [
    {
      "role": "assistant",
      "content": "Olá! Como posso ajudá-lo hoje?"
    },
    {
      "role": "user",
      "content": "Tenho uma pergunta sobre seu serviço."
    },
    {
      "role": "assistant",
      "content": "Claro! Ficarei feliz em ajudar. O que gostaria de saber?"
    },
    {
      "role": "user",
      "content": "Quais são seus planos de preços?"
    }
  ],
  "formatted_transcript": "AI: Olá! Como posso ajudá-lo hoje?\nCustomer: Tenho uma pergunta sobre seu serviço.\nAI: Claro! Ficarei feliz em ajudar. O que gostaria de saber?\nCustomer: Quais são seus planos de preços?",
  "customer_phone": null,
  "customer_name": "João Silva",
  "sender": null,
  "created_at": "2026-02-23T09:30:00+01:00",
  "ended_at": "2026-02-23T10:00:00+01:00"
}

Comportamento de Tentativa

Se seu endpoint de webhook retornar um código de status não-2xx ou a requisição falhar, o sistema tentará novamente:
TentativaAtraso
1ª tentativa30 segundos
2ª tentativa60 segundos
3ª tentativa120 segundos
Após 3 tentativas falharam, a entrega do webhook é marcada como falhou e nenhuma tentativa adicional é feita.

Notas Importantes

  • Os conversation_id e assistant_id são UUIDs, não IDs de inteiros
  • O campo sender é apenas preenchido para conversas WhatsApp — será null para conversas de widget web
  • O customer_phone está disponível apenas para conversas WhatsApp
  • O customer_name vem de dados de formulário pré-chat ou contexto da conversa
  • Timestamps usam o fuso horário configurado do usuário (formato ISO 8601)
  • As extracted_variables são preenchidas a partir da avaliação do esquema pós-chamada do seu assistente
  • As input_variables contêm dados de formulários pré-chat (widget web) ou fluxos de automação