Substituições de webhook
Updated: 23 de mar de 2026
Webhooks são enviados ao URL de retorno de chamada definido no app, mas é possível designar um URL de retorno de chamada alternativo para a conta do WhatsApp Business (WABA) ou o número de telefone comercial.
Quando um webhook é disparado para um
campo compatível, o sistema primeiro verifica se o seu app definiu um URL de retorno de chamada alternativo para o número de telefone comercial associado ao evento. Se definido, o webhook será enviado para o URL de retorno de chamada alternativo. Se não houver um número de telefone alternativo, o sistema verifica se a WABA associada ao número tem um URL de retorno de chamada alternativo. Nesse caso, é enviado para lá. Se também não houver uma WABA alternativa, o webhook fará o fallback para o URL de retorno de chamada do app.
Campos de webhook aceitos
A substituição se aplica apenas aos tipos de campo de webhook a seguir. Os webhooks para tipos de campos não listados aqui são sempre enviados para o URL de retorno de chamada padrão do seu app.
messagesmessage_echoescallsconsumer_profilemessaging_handoversgroup_lifecycle_updategroup_participants_updategroup_settings_updategroup_status_updatesmb_message_echoessmb_app_state_synchistoryaccount_settings_update
Observação: os webhooks de modelo (message_template_status_update, message_template_quality_update, message_template_components_update, template_category_update) e os webhooks no nível da conta (account_update, account_review_update, account_alerts) não permitem substituições de retorno de chamada. Esses webhooks são sempre entregues ao URL de retorno de chamada padrão do seu app.
Antes de configurar um URL de retorno de chamada alternativo, certifique-se de que seu app está
inscrito nos webhooks na WABA e verifique se o seu ponto de extremidade de retorno de chamada alternativo pode receber e processar webhooks de forma correta.
Como definir um retorno de chamada alternativo da WABA
POST /<WABA_ID>/subscribed_apps
{
"override_callback_uri":"<WABA_ALT_CALLBACK_URL>",
"verify_token":"<WABA_ALT_CALLBACK_URL_TOKEN>"
}
|
Espaço reservado
|
Descrição
|
Valor de exemplo
|
|---|
| Obrigatório. URL de retorno de chamada alternativa para a qual os webhooks compatíveis devem ser enviados. Máximo de 200 caracteres. | https://my-waba-alternate-callback.com/webhook
|
<WABA_ALT_CALLBACK_URL_TOKEN>
| | |
Caso a solicitação seja bem-sucedida:
curl -X POST \
'https://graph.facebook.com/v25.0/102290129340398/subscribed_apps' \
-H 'Authorization: Bearer EAAJi...' \
-H 'Content-Type: application/json' \
-d '
{
"override_callback_uri":"https://my-waba-alternate-callback.com/webhook",
"verify_token":"myvoiceismypassport?"
}'
Como obter retorno de chamada alternativo da WABA
Use o ponto de extremidade
GET /<WABA_ID>/subscribed_apps para ter uma lista de todos os apps inscritos em webhooks na WABA. A resposta deve incluir a propriedade e o valor
override_callback_uri.
{
"data" : [
{
"whatsapp_business_api_data" : {
"id" : "670843887433847",
"link" : "https://www.facebook.com/games/?app_id=67084...",
"name" : "Lucky Shrub"
},
"override_callback_uri" : "https://my-waba-alternate-callback.com/webhook"
}
]
}
Como excluir o retorno de chamada alternativo da WABA
Use o ponto de extremidade
POST /<WABA_ID>/subscribed_apps para inscrever seu app para webhooks na WABA,
como você faria normalmente (ou seja, sem parâmetros de post no corpo). Essa ação removerá o URL de retorno de chamada do ponto de extremidade alternativo da WABA. Os webhooks da WABA voltarão a ser enviados para o URL de retorno de chamada definido no Painel de Apps.
Definir o retorno de chamada alternativo de número de telefone
POST /<BUSINESS_PHONE_NUMBER_ID>
{
"webhook_configuration": {
"override_callback_uri": "<PHONE_ALT_CALLBACK_URL>",
"verify_token": "<PHONE_ALT_CALLBACK_URL_TOKEN>"
}
}
|
Espaço reservado
|
Descrição
|
Valor de exemplo
|
|---|
| Obrigatório. URL de retorno de chamada alternativa para a qual os webhooks compatíveis devem ser enviados. Máximo de 200 caracteres. | https://my-phone-alternate-callback.com/webhook
|
<PHONE_ALT_CALLBACK_URL_TOKEN>
| | |
Caso a solicitação seja bem-sucedida:
curl -X POST 'https://graph.facebook.com/v25.0/106540352242922' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"webhook_configuration": {
"override_callback_uri": "https://my-phone-alternate-callback.com/webhook",
"verify_token": "myvoiceismypassport?"
}
}'
Como obter o retorno de chamada alternativo de número de telefone
Use o ponto de extremidade
GET /<BUSINESS_PHONE_NUMBER_ID> e solicite o campo
webhook_configuration para verificar se o número de telefone comercial tem um URL de retorno de chamada alternativo.
GET /<BUSINESS_PHONE_NUMBER_ID>
?fields=webhook_configuration
Caso a solicitação seja bem-sucedida:
{
"webhook_configuration": {
"phone_number": "<PHONE_ALT_CALLBACK_URL>",
"whatsapp_business_account": "<WABA_ALT_CALLBACK_URL>",
"application": "<APP_CALLBACK_URL>"
},
"id": "106540352242922"
}
Observe que whatsapp_business_account só será incluído se a WABA associada ao número de telefone comercial também tiver um URL de retorno de chamada alternativo definido.
curl 'https://graph.facebook.com/v17.0/106540352242922?fields=webhook_configuration' \
-H 'Authorization: Bearer EAAJB...'
{
"webhook_configuration": {
"phone_number": "https://my-phone-alternate-callback.com/webhook",
"whatsapp_business_account": "https://my-waba-alternate-callback.com/webhook",
"application": "https://my-production-callback.com/webhook"
},
"id": "106540352242922"
}
Como excluir o retorno de chamada alternativo de número de telefone
Para excluir o URL de retorno de chamada alternativo de um número de telefone comercial, use o ponto de extremidade
POST /<BUSINESS_PHONE_NUMBER_ID> com o conjunto de propriedades
override_callback_uri para uma string vazia:
{
"webhook_configuration": {
"override_callback_uri": ""
}
}