A documentação mais atualizada das APIs da Cloud Humans fica em docs.cloudhumans.com/api-reference. Em caso de divergência entre este artigo e a referência, vale o que está lá.
Payload enviado pelo Webhook do CloudChat
Quando uma automação dispara um webhook, ela faz um POST HTTP para a URL configurada, enviando um JSON com as seguintes informações principais:
Estrutura do payload (JSON)
CampoDescriçãoeventO tipo de evento que disparou o webhook (ex: message_created, conversation_created, etc.)contentO conteúdo da mensagemmessage_typeTipo da mensagem (incoming, outgoing, etc.)conversationObjeto com dados da conversa, incluindo id, status, etc.senderObjeto com dados do remetente (contato), incluindo id, name, email, phone_number, etc.accountObjeto com dados da conta, incluindo idinboxObjeto com dados da inbox/canalcontactDados do contato associado
Exemplo prático (baseado no código)
Como visto no exemplo de integração com Rasa:
chatwoot / implementation-examples / rasa-agent-bot-demo / rasa_flask_router.py
@app.route('/rasa', methods=['POST'])
def rasa():
data = request.get_json()
message_type = data['message_type']
message = data['content']
conversation = data['conversation']['id']
Eventos suportados para webhooks
Conforme definido no modelo:
chatwoot / chatwoot / app / models / webhook.rb
ALLOWED_WEBHOOK_EVENTS = %w[conversation_status_changed conversation_updated conversation_created contact_created contact_updated
message_created message_updated webwidget_triggered inbox_created inbox_updated
conversation_typing_on conversation_typing_off].freeze
Resumo do JSON típico que chega no seu endpoint:
webhook_payload_example.json
{
"event": "message_created",
"message_type": "incoming",
"content": "Olá, preciso de ajuda!",
"id": 12345,
"conversation": {
Em resumo:
O webhook envia um POST com JSON contendo os dados do evento, da conversa, do contato/remetente, da conta e da inbox, junto com o conteúdo da mensagem e o tipo de mensagem. Isso permite que o sistema externo (que recebe o webhook) saiba exatamente o que aconteceu e tome a ação adequada.