WhatsApp Business Platform
WhatsApp Business Platform
Recursos

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.
  • messages
  • message_echoes
  • calls
  • consumer_profile
  • messaging_handovers
  • group_lifecycle_update
  • group_participants_update
  • group_settings_update
  • group_status_update
  • smb_message_echoes
  • smb_app_state_sync
  • history
  • account_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.

Requisitos

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

Use o ponto de extremidade POST /<WABA_ID>/subscribed_apps para definir um URL de retorno de chamada alternativo em uma WABA.

Sintaxe da solicitação

POST /<WABA_ID>/subscribed_apps

Corpo do post

{
  "override_callback_uri":"<WABA_ALT_CALLBACK_URL>",
  "verify_token":"<WABA_ALT_CALLBACK_URL_TOKEN>"
}

Parâmetros do corpo

Espaço reservado Descrição Valor de exemplo
<WABA_ALT_CALLBACK_URL>
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>
Obrigatório.
Token de verificação do URL de retorno de chamada alternativo.
Sem máximo.
myvoiceismypassport?

Resposta

Caso a solicitação seja bem-sucedida:
{
  "success": true
}

Exemplo de pedido

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?"
}'

Exemplo de resposta

{
  "success": true
}

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.

Exemplo de resposta

{
  "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

Use o ponto de extremidade POST /<BUSINESS_PHONE_NUMBER_ID> para definir um URL de retorno de chamada alternativo no número de telefone comercial.

Sintaxe da solicitação

POST /<BUSINESS_PHONE_NUMBER_ID>

Corpo do post

{
  "webhook_configuration": {
    "override_callback_uri": "<PHONE_ALT_CALLBACK_URL>",
    "verify_token": "<PHONE_ALT_CALLBACK_URL_TOKEN>"
  }
}

Parâmetros do corpo

Espaço reservado Descrição Valor de exemplo
<PHONE_ALT_CALLBACK_URL>
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>
Obrigatório.
Token de verificação do URL de retorno de chamada alternativo.
Sem máximo.
myvoiceismypassport?

Resposta

Caso a solicitação seja bem-sucedida:
{
  "success": true
}

Exemplo de pedido

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?"
  }
}'

Exemplo de resposta

{
  "success": true
}

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.

Sintaxe da solicitação

GET /<BUSINESS_PHONE_NUMBER_ID>
  ?fields=webhook_configuration

Resposta

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.

Exemplo de pedido

curl 'https://graph.facebook.com/v17.0/106540352242922?fields=webhook_configuration' \
-H 'Authorization: Bearer EAAJB...'

Exemplo de resposta

{
  "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": ""
  }
}
Você achou esta página útil?
Ícone de polegar para cima
Ícone de polegar para baixo