Webhooks

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"
    }
  ]
}