Integrate Netcore with Third-Party WhatsApp BSPs

Connect third-party BSP's with multi-partner solutions.

Overview

Meta allows you to connect your third-party BSP with multi-partner solution(MPS). The WhatsApp Multi-BSP integration allows you, to continue using your existing WhatsApp Business Solution Provider (BSP)(like: Infobip) while still accessing the full range of Netcore’s Customer Engagement (CE) features.

Through Meta’s WhatsApp Cloud API, Netcore operates as a technical middleware. Your BSP continues to handle:

  • Billing
  • Phone number hosting
  • WhatsApp message delivery

Netcore only connects to your WhatsApp Business Account (WABA) to:

  • Fetch metadata using Meta Graph API
  • Receive delivery/read/template events
  • Process webhook activity

This event stream powers features like:

  • Send Time Optimization (STO)
  • Journey orchestration
  • Template insights
  • Messaging analytics
  • Intent detection
  • Event-driven automations

Your BSP setup and billing remain untouched. You refer to Meta documentation to learn more.

Prerequisites

Before Netcore can begin the integration process, you or your BSP must share the required authentication credentials. These credentials give Netcore secure access to your WhatsApp Business Account (WABA) and enable the retrieval of all Meta Graph API objects needed for CE functionality.

  1. Required Credentials and IDs (From Customer / BSP)

To integrate with the WhatsApp Business Cloud API, you must provide one of the following authentication paths.

  1. BISUAT (Preferred) — Business System User Access Token

A BISUAT is a long-lived, permanent System User Access Token created under your Meta Business Manager. This is the recommended method because it is stable, secure, and ideal for large-scale, server-to-server integrations.

Benefits of BISUAT:

  • Does not expire unless manually revoked
  • Contains all permissions required for automated WhatsApp operations
  • Eliminates token refresh cycles
  • Ensures reliable access to your WABA resources

Required Scopes:

The BISUAT must include:

  • whatsapp_business_messaging
  • whatsapp_business_management
  • business_management

Standardized cURL Request

curl -i -X POST \
"https://graph.facebook.com/v24.0/<CLIENT_BUSINESS_ID>/system_user_access_tokens \
?appsecret_proof=<APPSECRET_PROOF_HASH> \
&access_token=<ACCESS_TOKEN> \
&system_user_id=<SYSTEM_USER_ID> \
&fetch_only=true"

Parameter Reference:

ParameterDescription
<CLIENT_BUSINESS_ID>Your Meta Business Manager ID.
<APPSECRET_PROOF_HASH>HMAC-SHA256 hash generated using App Secret + Access Token.
<ACCESS_TOKEN>A valid System User or User Access Token.
<SYSTEM_USER_ID>ID of the System User under your Business Manager.

Access Token Verification Requirement

Before the integration can proceed, Netcore must validate the provided token using Meta’s Access Token Debugger:

🔗 https://developers.facebook.com/tools/debug/accesstoken/

Verification ensures:

  • Whether the token is long-lived or short-lived
  • The expiry timestamp
  • The scopes/permissions assigned
  • Whether it belongs to a System User (BISUAT)
  • Which Business Manager or app is it linked to

Mandatory Outcome

  • If the token is long-lived & BISUAT-based, integration continues. Netcore requires a permanent token to be issued on your behalf.

Webhook Requirements

To enable CE features(downfunnel reporting), WhatsApp webhook events must be routed to:

https://wawebhook.netcorecloud.com/wawebhook

Events Required:

  • Delivery receipts
  • Read receipts
  • Template status callbacks
  • Quality rating changes
  • Phone number status updates
  • Incoming message events

Webhook Routing Options:

  1. WABA-Level Webhook Override: All events for the entire WABA route to Netcore.
  2. Phone Number–Level Override (Recommended for Multi-BSP Scenarios): Only selected numbers route events to Netcore. Useful if some phone numbers belong to other systems or BSPs.
  3. BSP Webhook Mirroring: Your BSP retains its webhook endpoint and forwards an identical, unmodified copy of each event to Netcore. This ensures accurate analytics, STO, template insights, and journey automation.

Callback Priority Rule

Meta follows a strict priority order when determining which callback URL to send events to:

  1. Phone Number–Level Override (highest priority)
  2. WABA-Level Override
  3. App-Level Callback URL

Only one callback configuration is active based on this hierarchy.

You can refer to Meta documentation to learn more about how to override Webhook.

Implementation Steps

  1. Token Validation: Netcore verifies whether the token or credentials provided:
  • Are long-lived
  • Belong to the correct Business Manager
  • Include required scopes
  • Are tied to a system user (preferred)

If the token is short-lived, we request App ID + App Secret + Business Manager ID to generate a permanent token.

  1. Retrieving Your Meta IDs: With valid access, Netcore programmatically retrieves required WhatsApp entities:
    1. Business Manager ID: Identifies the business that owns the WhatsApp assets.
    2. WABA ID: Indicates which WhatsApp Business Account your phone numbers belong to.
    3. Phone Number IDs: Fetched from your WABA and needed for message delivery and webhook configuration.
    4. Webhook Routing: To enable Netcore’s CE features, all WhatsApp webhook events must be sent to:
      https://wawebhook.netcorecloud.com/wawebhook
      These events include:
  • Message delivery and read receipts
  • Template approval/status changes
  • Quality and tier updates
  • Profile updates
  • Incoming messages

There are multiple ways webhook access can be configured, based on your BSP’s constraints.

Option A: WABA-Level Webhook Override (Full Access)

Meta sends all WABA events directly to Netcore.

Send all message webhooks for this WABA to the Netcore endpoint

Endpoint:

POST /<WABA_ID>/subscribed_apps

Request Body:

{
"override_callback_uri":
"https://wawebhook.netcorecloud.com/wawebhook",
"verify_token": "Netcore"
}

Success Response:

{
 "success: "true""
}

Applies to all the mobile numbers under the WABA, unless a phone-level override is present.

Option B: Phone Number–Level Override (Recommended for multi-BSP setups)

Only selected numbers route events to Netcore. Use this if:

  • You have multiple numbers with different BSPs
  • You want Netcore to handle only specific numbers

For this specific Whatsapp number, send webhooks to the Netcore endpoint.

Endpoint:

POST /<BUSINESS_PHONE_NUMBER_ID>

Request

{
"webhook_configuration": {
"override_callback_uri":
"https://wawebhook.netcorecloud.com/wawebhook",
"verify_token": "<PHONE_ALT_CALLBACK_URL_TOKEN>"
}
}

Success Response:

{
 "success: "true""
}

Option C: BSP Webhook Mirroring (When BSP must retain control)

Your BSP retains its webhook endpoint and mirrors an exact copy of all WhatsApp events to Netcore.Must be:

  • Unmodified
  • Byte-for-byte identical
    This ensures accurate STO, analytics, and journey automation.
  1. Activating Netcore CE Capabilities

Once tokens and webhooks are configured, Netcore begins to:

  • Sync all message metadata
  • Compute read/delivery insights
  • Power journey orchestration
  • Populate template insights
  • Trigger automations from events
  • Apply Send Time Optimization

This enhances your WhatsApp engagement while your BSP handles all billing and routing.

📘

Important Points to Remember

  • Your existing BSP remains unchanged.Billing, phone number hosting, and message delivery continue through your current BSP.
  • BISUAT token is the preferred authentication method. It provides long-term, stable access for server-to-server operations.
  • Webhook events must reach Netcore without modification. Any altered or partial payloads will impact analytics, STO, journeys, and template insights.
  • You can configure only the phone numbers you want Netcore to manage. Number-level webhook overrides allow selective integration in multi-BSP setups.
  • App Credentials (App ID, App Secret, Business Manager ID) are required only if BISUAT cannot be shared. Token verification is mandatory to confirm long-lived validity and proper permissions.
  • Link tracking works only for templates created and sent through Netcore. Templates sent through other BSPs or via the Graph API cannot be tracked.
  • No migration or disruption is required. Netcore acts as a middleware layer and does not move your WhatsApp assets.

Frequently Asked Questions

Q1. Why do we need to share the BISUAT token with Netcore?

A. The BISUAT (Business System User Access Token) gives Netcore secure, permission-based access to your WhatsApp Business Account (WABA) through Meta’s Graph API.
This token:

  • Belongs to your Business Manager
  • Is created under your System User
  • Does not transfer ownership of your WABA to Netcore
  • Is required only to manage templates, phone numbers, and messaging configurations on your behalf

Netcore acts purely as a technology layer.
Your BSP continues to manage:

  • Billing
  • Credit line
  • Phone number hosting
  • Template delivery infrastructure

If sharing the BISUAT is not possible, you may instead share your:

  • App ID
  • App Secret
  • Business Manager ID

Netcore will generate the token securely on your behalf.

Q2. What happens to our existing webhook configuration if Netcore overrides it?

A. Webhook events are essential for Netcore CE features such as:

  • STO
  • Template insights
  • Journeys
  • Analytics
  • Quality monitoring

If Netcore applies a webhook override:

  • All WhatsApp webhook events will be delivered to Netcore’s endpoint
  • Your BSP’s billing and message delivery remain unaffected

If you prefer to retain control of your webhook endpoint, your BSP can:

  • Continue receiving the primary webhook
  • Mirror an identical, unmodified copy of every event to Netcore

This ensures CE features work without disrupting your existing BSP setup.

Q3. Can we keep our existing BSP webhook and still integrate with Netcore?

A. Yes. If your BSP does not want to give up webhook control, they can mirror all events to Netcore.

Important requirements:

  • Payload must be forwarded exactly as Meta sends it
  • No modification, filtering, or restructuring is allowed
  • All event types (delivery, read, templates, quality, messages) must be forwarded

This ensures analytics and automations function correctly.

Q.4. We have multiple phone numbers under our WABA. Do all numbers need to be configured for Netcore?

A. No.Netcore requires access only to the phone numbers you want to manage through Netcore CE.

You can use phone number–level webhook override to:

  • Enable Netcore for selected numbers
  • Keep your existing BSP setup for other numbers

This is the preferred method for multi-BSP environments.

Q.5. Will Netcore take ownership of our WABA or migrate us away from our BSP?

A. No. Netcore does not:

  • Migrate your WABA
  • Move your phone numbers
  • Change your BSP
  • Alter your billing setup

Your BSP continues to own:

  • Billing
  • Credit line
  • Infrastructure
  • Customer relationship

Netcore only adds a CE layer on top of your existing BSP.

Q.6. What about template creation and link tracking?

A. Netcore’s link tracking works only if:

  • Templates are created inside Netcore, and
  • Messages are executed via Netcore’s delivery pipeline

If templates are created or messages are sent via:

  • Another BSP
  • A different platform
  • Graph API directly
    Then link tracking will not work.

Q7. Why are webhooks so important for Netcore?

A. Webhooks contain the real-time events that power CE capabilities:

  • Delivery and read status
  • Retry logic insights
  • Template status
  • Quality rating changes
  • Customer responses
  • Phone number updates
  • Profile and tier changes

Without these events, CE features cannot provide accurate insights or trigger automations.

Q.8. What if our BSP cannot share BISUAT?

A. You can share:

  • App ID
  • App Secret
  • Business Manager ID

Netcore will generate the long-lived BISUAT for you securely. Your BSP retains full control over your WhatsApp setup.