Criar webhook
curl --request POST \
--url https://cloud.datafyapi.com.br/channels/whatsapp/{id}/webhooks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://exemplo.com/webhook",
"events": [
"messages"
],
"enabled": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: 'https://exemplo.com/webhook', events: ['messages'], enabled: true})
};
fetch('https://cloud.datafyapi.com.br/channels/whatsapp/{id}/webhooks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://cloud.datafyapi.com.br/channels/whatsapp/{id}/webhooks"
payload = {
"url": "https://exemplo.com/webhook",
"events": ["messages"],
"enabled": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "9d8c7b6a-5f4e-4d3c-2b1a-0f9e8d7c6b5a",
"url": "https://exemplo.com/webhook",
"events": [
"messages"
],
"enabled": true
}Webhooks do canal
Criar webhook
Cadastra uma URL para receber os eventos do canal.
POST
/
channels
/
whatsapp
/
{id}
/
webhooks
Criar webhook
curl --request POST \
--url https://cloud.datafyapi.com.br/channels/whatsapp/{id}/webhooks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://exemplo.com/webhook",
"events": [
"messages"
],
"enabled": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: 'https://exemplo.com/webhook', events: ['messages'], enabled: true})
};
fetch('https://cloud.datafyapi.com.br/channels/whatsapp/{id}/webhooks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://cloud.datafyapi.com.br/channels/whatsapp/{id}/webhooks"
payload = {
"url": "https://exemplo.com/webhook",
"events": ["messages"],
"enabled": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "9d8c7b6a-5f4e-4d3c-2b1a-0f9e8d7c6b5a",
"url": "https://exemplo.com/webhook",
"events": [
"messages"
],
"enabled": true
}Resposta
| Campo | Descrição |
|---|---|
id | ID do webhook |
url | URL que recebe os eventos |
events | Eventos que o webhook recebe |
enabled | Indica se o webhook está ativo |
Eventos disponíveis
Valores aceitos emevents. Se o campo não for enviado, o webhook recebe messages e smb_message_echoes.
| Evento | Descrição |
|---|---|
messages | Mensagens recebidas e status de entrega |
smb_message_echoes | Mensagens enviadas pelo aplicativo ou pelo WhatsApp Web |
message_template_status_update | Aprovação ou reprovação de templates |
message_template_quality_update | Mudanças na qualidade dos templates |
message_template_components_update | Atualizações nos componentes de templates |
account_alerts | Alertas da conta (qualidade, aprovações, bloqueios) |
account_update | Atualizações gerais da conta do WhatsApp Business |
account_review_update | Atualizações no processo de revisão da conta |
account_settings_update | Mudanças nas configurações da conta |
phone_number_name_update | Mudanças no nome do número de telefone |
phone_number_quality_update | Atualizações na qualidade do número |
business_capability_update | Mudanças nas capacidades do negócio |
business_status_update | Atualizações no status do negócio |
template_category_update | Reclassificação de categoria de templates |
template_correct_category_detection | Detecção de categoria correta em templates |
flows | Eventos relacionados aos WhatsApp Flows |
calls | Chamadas de voz iniciadas pelos usuários |
security | Eventos de segurança da conta |
automatic_events | Eventos automáticos do sistema |
tracking_events | Eventos de rastreamento |
history | Histórico de conversas, na sincronização da coexistência |
smb_app_state_sync | Contatos do aplicativo, na sincronização da coexistência |
payment_configuration_update | Atualizações na configuração de pagamentos |
partner_solutions | Soluções de parceiros integradas |
group_lifecycle_update | Ciclo de vida de grupos (criação, encerramento) |
group_participants_update | Entrada e saída de participantes em grupos |
group_settings_update | Mudanças nas configurações de grupos |
group_status_update | Atualizações de status de grupos |
user_preferences | Preferências e configurações dos usuários |
Autorizações
Token de conta gerado no painel da Datafy, em Perfil. Formato: sk_acct_xxx. Diferente do token de canal (sk_live_).
Parâmetros de caminho
ID do canal, retornado em Listar canais e em Criar canal.
Corpo
application/json
URL que recebe os eventos. Precisa usar HTTPS.
Exemplo:
"https://exemplo.com/webhook"
Eventos que o webhook recebe. Se omitido, recebe messages e smb_message_echoes. Não pode ser uma lista vazia.
Opções disponíveis:
messages, smb_message_echoes, message_template_status_update, message_template_quality_update, message_template_components_update, account_alerts, account_update, account_review_update, account_settings_update, phone_number_name_update, phone_number_quality_update, business_capability_update, business_status_update, template_category_update, template_correct_category_detection, flows, calls, security, automatic_events, tracking_events, history, smb_app_state_sync, payment_configuration_update, partner_solutions, group_lifecycle_update, group_participants_update, group_settings_update, group_status_update, user_preferences Exemplo:
["messages"]
Ativa ou desativa o webhook.
Exemplo:
true