Las cuentas de WhatsApp Business (WABA) y sus activos son objetos de la gráfica social de Facebook. Facebook nota cuando se produce un evento de activación de uno de esos objetos y envía una notificación a la URL del webhook especificada en tu panel de la app de Facebook.
En relación con el registro incrustado, puedes usar webhooks para recibir notificaciones relativas a cambios en tus WABA, números de teléfono, plantillas de mensajes y mensajes enviados a tus números de teléfono.
Debes suscribirte por separado a cada WABA en la que quieras recibir webhooks. Después de obtener el identificador de la WABA del cliente, suscribe tu app al identificador para empezar a recibir webhooks.
Consulta Webhooks para cuentas de WhatsApp Business si quieres obtener más información sobre la suscripción a Webhooks.
En primer lugar, configura el producto Webhooks para tu app:
Para obtener más información sobre la suscripción a los webhooks en el panel de apps, consulta Configurar el producto Webhooks.
Una vez que hayas configurado los webhooks en el panel de productos Webhooks, envía una solicitud POST al punto de conexión subscribed_apps
de la cuenta de WhatsApp Business en la que deseas recibir webhooks.
Incluye el token de acceso de usuario del sistema en el encabezado de la solicitud, anteponiendo Authorization: Bearer
. Si quieres obtener ayuda para generar tu token de acceso de usuario del sistema, consulta Usuarios del sistema, instalar apps y generar tokens.
POST https://graph.facebook.com/<API_VERSION>/<WABA_ID>/subscribed_apps
curl -X POST \
'https://graph.facebook.com/v21.0
/102289599326934/subscribed_apps' \
-H 'Authorization: Bearer EAAJi...'
{ "success" : true }
Tu app (identificada por el token de acceso de usuario del sistema) debería recibir ahora notificaciones de webhook que describan los cambios en la cuenta de WhatsApp Business.
Repite este proceso para cualquier otra WABA en la que desees recibir notificaciones de webhook. Ten en cuenta que, si suscribes tu app a los webhooks para múltiples WABA, todas las notificaciones de webhook se enviarán a la URL de devolución de llamada de la app especificada en el panel de producto Webhooks ubicado en el panel de apps.
Si deseas usar diferentes URL de devolución de llamada para cada WABA, debes crear apps separadas, donde cada una tenga su propia URL de devolución de llamada, para cada WABA y realizar la consulta anterior en relación con cada WABA mediante el token de acceso de usuario del sistema de cada app. De forma alternativa, si quieres usar una sola app, puedes reemplazar la URL de devolución de llamada si te suscribes a los webhooks de cada WABA. Consulta Reemplazar la URL de devolución de llamada.
Para obtener una lista de apps suscritas a webhooks de un WABA, envía una solicitud GET al punto de conexión subscribed_apps
de el WABA:
GET https://graph.facebook.com/<API_VERSION>/<WABA_ID>/subscribed_apps
Si la respuesta es exitosa, se incluye una variedad de apps que se suscribieron a WABA, con los enlaces, nombres y las propiedades del identificador de cada app.
curl \
'https://graph.facebook.com/v21.0
/102289599326934/subscribed_apps' \
-H 'Authorization: Bearer EAAJi...'
{ "data" : [ { "whatsapp_business_api_data" : { "id" : "67084...", "link" : "https://www.facebook.com/games/?app_id=67084...", "name" : "Jaspers Market" } }, { "whatsapp_business_api_data" : { "id" : "52565...", "link" : "https://www.facebook.com/games/?app_id=52565...", "name" : "Jaspers Fresh Finds" } } ] }
Para cancelar la suscripción de tu app a los webhooks de una cuenta de WhatsApp Business, envía una solicitud DELETE al punto de conexión subscribed_apps
de la WABA.
DELETE https://graph.facebook.com/<API_VERSION>/<WABA_ID>/subscribed_apps
curl -X DELETE \
'https://graph.facebook.com/v21.0
/102289599326934/subscribed_apps' \
-H 'Authorization: Bearer EAAJi...'
{ "success" : true }
Consulta Anulación de webhooks.
Puedes configurar webhooks para recibir notificaciones de los cambios en tus cuentas de WhatsApp Business suscritas. Estos son los tipos de notificaciones a los que puedes suscribirte:
Field Name | Description |
---|---|
| Notifies you of decisions related to Official Business Account status or a denial of messaging limit increases. Note that these are independent of developer notifications. |
| A notification is sent to you when a WhatsApp Business Account has been reviewed. |
| A notification is sent to you when a change to your WhatsApp Business Account has occurred. This change can include phone number update, a policy violation, a WhatsApp Business Account has been banned and more. |
| Notifies you of changes to a business's capabilities. This can include changes to the maximum number of business phone numbers your WhatsApp Business Account can have, or a change to the messaging limit for all of your WhatsApp Business Account's business phone numbers. |
| Notifies you of changes to a template's components, like a change in title or body, or an addition of a button. |
| A notification is sent to you when a message template's quality rating changes. |
| A notification is sent to you when the message template has been approved or rejected, or if it has been disabled. |
| A notification is sent to you when your business has received a message from a customer, when you send a message to a customer, when a message is delivered to a customer, and when your message is read by a customer. |
| A notification is sent to you when the name associated with a phone number has been approved or rejected. |
| A notification is sent to you when the business phone number quality status changes. See Monitor Quality Signals for additional information. |
| A notification is sent to you when: |
| A notification is sent to you when a template's category changes, indicating the template's previous and new category. |
Visit the
WhatsApp Business Account Webhooks Reference
for more information about each payload field and the
WhatsApp Cloud API Webhooks Reference
for more information on the different types of messages
notifications you can receive.
Consulta la documentación de Webhooks para cuentas de WhatsApp Business si deseas obtener más información.
Las notificaciones tienen el siguiente formato general:
{ "object": "whatsapp_business_account", "entry": [ { // entry object, containing changes "changes": [ { // changes object, containing value "value": { // value object } } ] } ] }
Consulta más detalles sobre cada campo:
Un webhook account_update se activa con event
configurado en PARTNER_ADDED
cuando un cliente comercial completa con éxito el proceso de registro insertado.
{ "entry": [ { "id": "<BUSINESS_PORTFOLIO_ID>", "time": <WEBHOOK_SENT_TIMESTAMP>, "changes": [ { "value": { "event": "<EVENT>", "waba_info": { "waba_id": "<CUSTOMER_WABA_ID>", "owner_business_id": "<CUSTOMER_BUSINESS_PORTFOLIO_ID>" } }, "field": "account_update" } ] } ], "object": "whatsapp_business_account" }
{ "entry": [ { "id": "35602282435505", "time": 1731617831, "changes": [ { "value": { "event": "PARTNER_ADDED", "waba_info": { "waba_id": "495709166956424", "owner_business_id": "942647313864044" } }, "field": "account_update" } ] } ], "object": "whatsapp_business_account" }
{ "object": "whatsapp_business_account", "entry": [ { "id": "WHATSAPP-BUSINESS-ACCOUNT-ID", "time": TIMESTAMP, "changes": [ { "field": "phone_number_name_update", "value": { "display_phone_number": "PHONE_NUMBER", "decision": "APPROVED", "requested_verified_name": "WhatsApp", "rejection_reason": null } } ] } ] }
{ "object": "whatsapp_business_account", "entry": [ { "id": "WHATSAPP-BUSINESS-ACCOUNT-ID", "time": TIMESTAMP, "changes": [ { "field": "phone_number_quality_update", "value": { "display_phone_number": "PHONE_NUMBER", "event": "FLAGGED", "current_limit": "TIER_10K" } } ] } ] }
{ "object": "whatsapp_business_account", "entry": [ { "id": "WHATSAPP-BUSINESS-ACCOUNT-ID", "time": TIMESTAMP, "changes": [ { "field": "account_update", "value": { "phone_number": "PHONE_NUMBER", "event": "VERIFIED_ACCOUNT" } } ] } ] }
{ "object": "whatsapp_business_account", "entry": [ { "id": "WHATSAPP-BUSINESS-ACCOUNT-ID", "time": TIMESTAMP, "changes": [ { "field": "account_update", "value": { "event": "DISABLED_UPDATE" "ban_info": { "waba_ban_state": ["SCHEDULE_FOR_DISABLE", "DISABLE", "REINSTATE"], "waba_ban_date": "DATE" } } } ] } ] }
{ "object": "whatsapp_business_account", "entry": [ { "id": "WHATSAPP-BUSINESS-ACCOUNT-ID", "time": TIMESTAMP, "changes": [ { "field": "account_review_update", "value": { "decision": "APPROVED" } } ] } ] }
{ "entry": [ { "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>", "time": <TIMESTAMP>, "changes": [ { "value": { "event": "APPROVED", "message_template_id": <TEMPLATE_ID>, "message_template_name": "<TEMPLATE_NAME>", "message_template_language": "<LANGUAGE_AND_LOCALE_CODE>", "reason": "NONE" }, "field": "message_template_status_update" } ] } ], "object": "whatsapp_business_account" }