WABA Integration

End-to-end WhatsApp Business Account integration: token validation, discovery, and subscription.

Looking for the high-level overview first? Start with WhatsApp Business API and then return here for the implementation details.

Overview

This covers end-to-end WABA integration using Meta Graph API. Dualhook automates most of these steps, but this is the underlying model.

Required Inputs

Integration Flow

  1. Validate token and permissions.
  2. Discover WABA and phone number IDs.
  3. Subscribe app and configure Webhook Override.
  4. Send a test message.
  5. Verify webhook delivery and statuses.

Validate Access Token

curl -X GET "https://graph.facebook.com/<GRAPH_VERSION>/debug_token?input_token=<ACCESS_TOKEN>&access_token=<APP_ID>|<APP_SECRET>"
{
  "data": {
    "app_id": "123456789012345",
    "type": "USER",
    "is_valid": true,
    "expires_at": 0,
    "scopes": [
      "whatsapp_business_management",
      "whatsapp_business_messaging"
    ]
  }
}

List WABAs for a Business

curl -X GET "https://graph.facebook.com/<GRAPH_VERSION>/<BUSINESS_ID>/owned_whatsapp_business_accounts?fields=id,name" \
  -H "Authorization: Bearer <ACCESS_TOKEN>"
{
  "data": [
    { "id": "102290129340398", "name": "Acme Primary WABA" }
  ]
}

List Phone Numbers

curl -X GET "https://graph.facebook.com/<GRAPH_VERSION>/<WABA_ID>/phone_numbers?fields=id,display_phone_number,verified_name,name_status,quality_rating" \
  -H "Authorization: Bearer <ACCESS_TOKEN>"
{
  "data": [
    {
      "id": "123456789012345",
      "display_phone_number": "15550001234",
      "verified_name": "Acme Inc",
      "name_status": "APPROVED",
      "quality_rating": "GREEN"
    }
  ]
}

Subscribe and Configure Override

curl -X POST "https://graph.facebook.com/<GRAPH_VERSION>/<WABA_ID>/subscribed_apps" \
  -H "Authorization: Bearer <ACCESS_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "override_callback_uri":"https://api.yourcompany.com/webhooks/whatsapp",
    "verify_token":"your-verify-token"
  }'
{
  "success": true
}

Validation Checklist

  • Token is valid and has required scopes.
  • Correct WABA_ID and PHONE_NUMBER_ID are selected.
  • subscribed_apps returns success.
  • Incoming message webhooks arrive at your endpoint.
  • Outbound status updates are received for test sends.

Dualhook sets and maintains webhook override configuration automatically. Message traffic remains Meta → your endpoint directly.

Related

  • WhatsApp Business AccountsWhat a WABA is, how it relates to phone numbers, and how ownership works.
  • WhatsApp Webhook OverrideHow Dualhook uses WhatsApp Webhook Override to route message webhooks directly from Meta to your server.
  • Quick StartSet up Dualhook and connect your first WhatsApp Business Account in minutes.
Browse more docsStart Free Trial