Skip to main content
Esta página descreve a estrutura completa dos payloads JSON entregues pelo Tivar para cada tipo de evento de webhook. Use as tabelas de campos abaixo para mapear os dados recebidos na sua integração com n8n, Typebot, Zapier ou qualquer outro sistema. Para entender como configurar um webhook e validar assinaturas, consulte a visão geral.
Disparado quando uma nova mensagem chega de um contato externo — ou seja, sempre que alguém envia uma mensagem para o seu workspace via qualquer canal integrado (WhatsApp, Telegram, Instagram, etc.).
payload
{
  "event": "message.received",
  "workspace_id": "uuid-do-workspace",
  "conversation_id": "uuid-da-conversa",
  "contact": {
    "id": "uuid-do-contato",
    "phone": "5511999998888",
    "name": "João Silva"
  },
  "message": {
    "id": "uuid-da-mensagem",
    "text": "Oi, quero saber sobre meu pedido.",
    "type": "text"
  },
  "status": {
    "assigned_to_type": "agent",
    "assigned_to_id": "uuid-do-agente"
  },
  "integration": {
    "id": "uuid-da-integracao",
    "provider": "whatsapp-official"
  }
}
CampoTipoDescrição
eventstringSempre "message.received"
workspace_idstringUUID do workspace no Tivar
conversation_idstringUUID da conversa no Tivar
contact.idstring | nullUUID do contato no Tivar
contact.phonestring | nullNúmero de telefone normalizado
contact.namestring | nullNome do contato
message.idstringUUID da mensagem
message.textstringConteúdo textual da mensagem
message.typestringTipo da mensagem: text, image, audio, video, document, location, etc.
status.assigned_to_type"human" | "agent" | nullTipo do responsável pela conversa no momento do evento
status.assigned_to_idstring | nullUUID do membro ou agente de IA responsável
integration.idstringUUID da integração que recebeu a mensagem
integration.providerstringCanal de origem: whatsapp-official, whatsapp, telegram, instagram, messenger, livechat ou mercado_livre
Disparado quando o Tivar envia uma mensagem para um contato — seja por um membro da equipe via painel, por uma requisição à API pública ou por um agente de IA.
payload
{
  "event": "message.sent",
  "workspace_id": "uuid-do-workspace",
  "conversation_id": "uuid-da-conversa",
  "message": {
    "id": "uuid-da-mensagem",
    "text": "Seu pedido foi confirmado!",
    "type": "text"
  },
  "status": {
    "sender_type": "human"
  },
  "integration": {
    "id": "uuid-da-integracao",
    "provider": "whatsapp-official"
  }
}
CampoTipoDescrição
eventstringSempre "message.sent"
workspace_idstringUUID do workspace no Tivar
conversation_idstringUUID da conversa no Tivar
message.idstringUUID da mensagem
message.textstringConteúdo textual da mensagem enviada
message.typestringTipo da mensagem: text, image, audio, video, document, location, etc.
status.sender_typestringOrigem do envio: human (membro da equipe), agent (agente de IA) ou system (API ou automação)
integration.idstringUUID da integração usada para o envio
integration.providerstringCanal de destino: whatsapp-official, whatsapp, telegram, instagram, messenger, livechat ou mercado_livre
Disparado quando uma conversa é atribuída a um membro da equipe ou a um agente de IA, reatribuída a outro responsável, ou quando a atribuição é removida. O campo assigned_to_id será null quando a atribuição for removida.
payload
{
  "event": "conversation.assigned",
  "workspace_id": "uuid-do-workspace",
  "conversation_id": "uuid-da-conversa",
  "status": {
    "assigned_to_type": "agent",
    "assigned_to_id": "uuid-do-agente"
  }
}
CampoTipoDescrição
eventstringSempre "conversation.assigned"
workspace_idstringUUID do workspace no Tivar
conversation_idstringUUID da conversa no Tivar
status.assigned_to_type"human" | "agent" | nullTipo do novo responsável
status.assigned_to_idstring | nullUUID do membro ou agente de IA para quem foi atribuída; null se a atribuição foi removida

Valores de assigned_to_type

ValorSignificado
"human"Conversa atribuída a um membro da equipe
"agent"Conversa atribuída a um agente de IA
nullAtribuição removida — conversa sem responsável
Disparado quando uma conversa é marcada como resolvida no Tivar, seja manualmente por um membro da equipe ou automaticamente por um agente de IA.
payload
{
  "event": "conversation.resolved",
  "workspace_id": "uuid-do-workspace",
  "conversation_id": "uuid-da-conversa",
  "status": {
    "value": "resolved"
  }
}
CampoTipoDescrição
eventstringSempre "conversation.resolved"
workspace_idstringUUID do workspace no Tivar
conversation_idstringUUID da conversa no Tivar
status.valuestringSempre "resolved"