Agora dá pra personalizar o corpo do webhook nas Automações do CloudChat. Você monta o JSON no formato que o sistema de destino espera, sem precisar de uma ferramenta no meio só pra converter os dados.
Se deixar o corpo em branco, o CloudChat continua enviando o formato padrão.
Como configurar
-
Vá em Configurações > Automações e crie ou edite uma regra.
-
Escolha o evento (por exemplo, conversa criada ou conversa atualizada) e as condições.
-
Em Ações, escolha Enviar webhook e coloque a URL de destino.
-
No campo Corpo da requisição (JSON), escreva o JSON usando as variáveis abaixo.
-
Salve.
Variáveis
Para atributos personalizados, troque CHAVE pela chave do atributo como está cadastrada no CloudChat.
Contato
- `{{ contact.id }}`: ID do contato
- `{{ contact.name }}`: nome completo
- `{{ contact.first_name }}`: primeiro nome
- `{{ contact.last_name }}`: sobrenome
- `{{ contact.email }}`: e-mail
- `{{ contact.phone_number }}`: telefone
- `{{ contact.custom_attribute.CHAVE }}`: atributo personalizado do contato
Atendente da conversa
- `{{ agent.id }}`: ID do atendente
- `{{ agent.name }}`: nome
- `{{ agent.email }}`: e-mail
Conversa
- `{{ conversation.display_id }}`: número da conversa que aparece na tela
- `{{ conversation.id }}`: ID interno da conversa
- `{{ conversation.channel }}`: canal (ex.: `Channel::Whatsapp`)
- `{{ conversation.contact_name }}`: nome do contato
- `{{ conversation.custom_attribute.CHAVE }}`: atributo personalizado da conversa
- `{{ conversation.assignee.name }}`: nome do atendente que o cliente vê
- `{{ conversation.assignee.first_name }}`: primeiro nome do atendente
- `{{ conversation.recent_messages }}`: últimas mensagens da conversa
Caixa de entrada e conta
- `{{ inbox.id }}`: ID da caixa de entrada
- `{{ inbox.name }}`: nome da caixa de entrada
- `{{ account.id }}`: ID da conta
- `{{ account.name }}`: nome da conta
Especificações
Sempre use | json depois da variável. Ele coloca as aspas e trata acentos, aspas e quebras de linha. Se o campo estiver vazio, envia null.
-
Certo:
"nome": {{ contact.name | json }} -
Errado:
"nome": "{{ contact.name }}" -
Errado:
"nome": {{ contact.name }}
Exemplo:
{
"email": {{ agent.email | json }},
"ticket": {{ conversation.display_id | json }},
"cliente": {{ contact.name | json }},
"canal": {{ inbox.name | json }}
}