O webhook da Graph API para a WhatsApp Cloud API é uma funcionalidade que permite receber notificações em tempo real sobre eventos e interações ocorrendo na plataforma do WhatsApp. Quando você configura um webhook, a Graph API enviará solicitações HTTP POST para uma URL especificada por você sempre que ocorrer um evento relevante. Ele é uma forma eficiente de receber atualizações instantâneas, como mensagens recebidas, mensagens enviadas, status de entrega, leitura de mensagens e outros eventos importantes relacionados à interação com os usuários do WhatsApp.
Para acessar o contrato atualizado do webhook da Graph API para a WhatsApp Cloud API, é necessário consultar a documentação oficial do Facebook para desenvolvedores. Lá, você encontrará todas as informações detalhadas sobre o formato das mensagens enviadas pelo webhook, a estrutura dos eventos, os parâmetros disponíveis e outras especificações técnicas relevantes.
Segue abaixo um modelo do contrato de webhook que contempla todos os tipos de webhooks atualmente suportados da Graph API v16, messages
, message_template_status_update
, template_performance_metrics
e o template_category_update
:
{
"templates_performance_metrics": [
{
"template_id": "string",
"template_name": "string",
"template_language": "string",
"messages_sent_7d": 0,
"messages_opened_7d": 0,
"top_block_reason": "string"
}
],
"event": "string",
"message_template_id": 0,
"message_template_name": "string",
"message_template_language": "string",
"previous_category": "string",
"new_category": "string",
"reason": "string",
"messages_sent_7d": 0,
"messages_opened_7d": 0,
"top_block_reason": "string",
"metadata": {
"display_phone_number": "string",
"phone_number_id": "string"
},
"messaging_product": "string",
"messages": [
{
"from": "string",
"id": "string",
"timestamp": "string",
"text": {
"body": "string"
},
"type": "string",
"identity": {
"acknowledged": true,
"created_timestamp": 0,
"hash": "string"
},
"reaction": {
"emoji": "string",
"message_id": "string"
},
"audio": {
"id": "string",
"mime_type": "string",
"filename": "string",
"caption": "string",
"sha_256": "string"
},
"image": {
"id": "string",
"mime_type": "string",
"filename": "string",
"caption": "string",
"sha_256": "string"
},
"sticker": {
"id": "string",
"mime_type": "string",
"filename": "string",
"caption": "string",
"sha_256": "string"
},
"video": {
"id": "string",
"mime_type": "string",
"filename": "string",
"caption": "string",
"sha_256": "string"
},
"document": {
"id": "string",
"mime_type": "string",
"filename": "string",
"caption": "string",
"sha_256": "string"
},
"location": {
"latitude": "string",
"longitude": "string",
"name": "string",
"address": "string"
},
"referral": {
"source_url": "string",
"source_id": "string",
"source_type": "string",
"headline": "string",
"body": "string",
"media_type": "string",
"image_url": "string",
"video_url": "string",
"thumbnail_url": "string"
},
"errors": [
{
"code": 0,
"title": "string"
}
],
"context": {
"forwarded": true,
"frequently_fowarded": true,
"from": "string",
"id": "string",
"referred_product": {
"catalog_id": "string",
"product_retailer)id": "string"
}
},
"system": {
"body": "string",
"new_wa_id": "string",
"identity": "string",
"type": "string",
"user": "string"
},
"button": {
"text": "string",
"payload": "string"
},
"order": {
"catalog_id": "string",
"product_items": [
{
"product_retailer_id": "string",
"quantity": "string",
"item_price": "string",
"currency": "string"
}
],
"text": "string"
},
"interactive": {
"button_reply": {
"id": "string",
"title": "string"
},
"list_reply": {
"id": "string",
"title": "string",
"description": "string"
},
"type": "string"
}
}
],
"contacts": [
{
"profile": {
"name": "string"
},
"wa_id": "string",
"name": {
"formatted_name": "string",
"first_name": "string",
"last_name": "string",
"middle_name": "string",
"suffix": "string",
"prefix": "string"
},
"org": {
"company": "string",
"department": "string",
"title": "string"
}
}
],
"statuses": [
{
"id": "string",
"status": "string",
"timestamp": "string",
"recipient_id": "string",
"type": "string",
"conversation": {
"id": "string",
"expiration_timestamp": "string",
"origin": {
"type": "string"
}
},
"pricing": {
"pricing_model": "string",
"billable": true,
"category": "string"
},
"errors": [
{
"code": 0,
"title": "string"
}
]
}
],
"errors": [
{
"code": 0,
"title": "string"
}
]
}