WhatsApp
Tech Provider Program

Tech Provider Program

Intro

The Tech Provider Model is an innovative partnership model that unites platforms and Infobip to jointly deliver a robust WhatsApp Solution. This model empowers platforms to take on the role of WhatsApp service providers, while Infobip as a Solution Partner adeptly manages all WhatsApp messaging services in the background, encompassing everything from the initial onboarding to continuous maintenance.

This document serves as guide, outlining the seamless integration process for Tech Providers looking to leverage WhatsApp Business Platform solutions through the expertise of Infobip. This guide covers a spectrum of crucial aspects, encompassing business considerations and the technical details involved in the integration process.

Flow

Welcome to the onboarding journey for Tech Provider program! In the following sections, we will walk you through the three-stage process that encompasses setup, integration, and go-live. This guide will provide you with a clear handbook to successfully onboard onto Meta and Infobip and maximize the WhatsApp capabilities of your platform.

The Setup phase involves actions at the business portfolio level. This includes creating the account, and providing essential information for account verification. Simultaneously, your Infobip account manager will assist in configuring the necessary components on the Infobip platform to prepare for the Integration phase.

Setup phase includes the following:

  • Creating a business portfolio
  • Meta App creation and setup
  • Completing Meta Business Verification

Integration phase includes the following:

  • Embedding the WhatsApp Onboarding Meta UI (Embedded Signup)
  • Applying for necessary permissions on Meta Account level
  • Integrating with Infobip WhatsApp traffic APIs that are built on top of Meta Cloud API
  • Implementing any Infobip service management APIs needed for the setup
  • Setting up webhooks for incoming messages and delivery reports
  • Meta App review

After all integration steps have been finalized, you can plan for final testing and the Go-live with your end customers.

Setup

Create a business portfolio

To get started, you can either create a new business portfolio (opens in a new tab) or review and update your existing one to include all the required business details, such as business address, website, and email. Ensure that the account creator or owner can provide accurate information about the business during the business verification process later.

Things to keep in mind:

  • Your business can have up to 2 business portfolios
  • Ensure all the information provided is correct, otherwise it will be rejected during Business Verification stage.

Meta App setup

Create a Meta App

To create (opens in a new tab) a Meta App, select Business for App type, and link the business account to this new App. Alternatively, use an existing business app that is already linked to your business portfolio. If you are unable to get past this step, try setting the Business Account dropdown menu to No Business Manager account selected and proceed.

WhatsApp TPP1 WhatsApp_TPP1_2

If you create an app and aren’t given the option to create a business app immediately, first choose Other and then Next.

WhatsApp TPP2

Once the app is created, navigate to your App under the Settings < Basic tab to update your domains, icon, etc. Add your privacy policy and terms of service URLs, which will be visible to users onboarding through the Embedded Signup. To complete creating the App, select the Messaging category and save all changes.

WhatsApp TPP3

Add the WhatsApp Product

From your App Dashboard, add the WhatsApp Product. You will then be redirected to select your business account and accept the Facebook Terms for WhatsApp Business and the Meta Hosting Terms for Cloud API.

WhatsApp TPP4

Test Business Messaging on WhatsApp

After accepting the terms and conditions, you will be redirected to the Quickstart page where you can start using the API. You will get access to a fully-featured sandbox that includes a test phone number starting with a “555” area code to send and receive messages. You can allowlist up to 5 numbers in the sandbox environment.

WhatsApp TPP5

You will be prompted with a window that allows you to send a WhatsApp message.

Note

Have in mind that you will be setting up Infobip APIs for sending messages and webhooks for receiving messages and status updates for the production stage, which will be explained later in the document. At this stage, it is sufficient to test with Meta sandbox environment. Therefore, feel free to skip steps 3, 4 and 5 of the prompt displayed below.

WhatsApp TPP6

Scale your solution

Once you have a WhatsApp integration set up, you can start onboarding your end users by selecting the Onboard customers option on the Quickstart page:

WhatsApp TPP7

Complete Business Verification

Select Start verification in the Provider verification step to apply for Business Verification (opens in a new tab) if you have not already done so and ensure you have uploaded the required official documents (opens in a new tab) and followed the guidelines on domain verification (opens in a new tab).

WhatsApp TPP8 WhatsApp TPP9

Integration

During this phase, you can build your end-to-end product experience. Make sure you adhere to the Meta and WhatsApp terms (opens in a new tab) with regards to user data handling when you build your solution.

Integration with Infobip

Partner Solutions

At the core of the Tech Provider model is the partner solution, a setup in the App Dashboard that outlines the WhatsApp assets both you and Infobip can access for your end clients. Once this setup is in place and approved, it can be used to tailor the Embedded Signup process. When your end clients go through this process, they can grant access to these assets for both business entities.

Partner Solution creation

A Partner Solution is an asset sharing relationship between two business entities, configured, initiated, and accepted in the App Dashboard > WhatsApp > Partner Solutions panel.

WhatsApp TPP10

Partner Solutions can have the following states:

StateDescription
ActiveThe solution has been accepted by Infobip and can be used to configure Embedded Signup for end client onboarding.
PendingSolution has not been accepted or rejected by Infobip.End clients who attempt to access Embedded Signup configured for a solution in this state will see an error informing them that it cannot be used for onboarding at this time.
DraftThe solution has been initiated and saved, but you have not sent it to Infobip.End clients who attempt to access Embedded Signup configured for a solution in this state will see an error informing them that it cannot be used for onboarding at this time. 
InactiveThe solution request was declined by Infobip. End clients who attempt to access Embedded Signup configured for a solution in this state will see an error informing them that it cannot be used for onboarding at this time. 
Pending deactivationInfobip has requested to deactivate the solution. You can accept or decline this request.
DeactivatedThe solution has been deactivated. End clients who attempt to access Embedded Signup configured for a solution in this state will see an error informing them that it cannot be used for onboarding at this time. 

Each solution can be used to onboard up to 200 end clients in a rolling one week period.

Adding Infobip App to Partner Solution

As a first step, you should work with Infobip to determine a solution name, which will appear in the WhatsApp -> Partner Solutions panel in the App Dashboard, so both you and Infobip can distinguish it from other solutions you may create.

Once the above is agreed, you can initiate a Partner Solution request in the App Dashboard -> WhatsApp -> Partner Solutions. Navigate to the Partner Solutions panel and click the Create a Partner Solution button. Input the agreed solution name and Infobip App ID 1370401139746733.

Complete the flow to initiate a Partner Solution request.

WhatsApp TPP11

Once completed, Infobip will receive an email and Meta Business Suite notification notifying us of the request. The solution will appear in the Partner Solutions panel with a Pending status until accepted by Infobip.

When Infobip accepts the Partner Solution request, its status will change from Pending to Active. Check the Partner Solutions panel periodically until you see that its status has changed to Active. Once active, copy its Solution ID, as you will need to add it to the Embedded Signup configuration.

WhatsApp TPP12
Embedded Signup

Embedded Signup can be configured and hosted by the Tech Provider, Infobip, or both. End clients who access it will see a customized version of the Embedded Signup flow:

WhatsApp TPP13

When an end user completed the flow, all of the customer's WhatsApp assets that we need are automatically generated, and access to those assets is granted to both you and Infobip.

Embedded Signup setup

Expand the Integration section to view the three steps to access the Embedded Signup flow.

WhatsApp TPP14

Create configuration

This button displays your Facebook Login for Business permission configuration, but you likely have not created any yet. To create one, locate and click the Products link on the left side of the App Dashboard and add the Facebook Login for Business product to your app.

View scripts

This button displays the Embedded Signup code with several values pre-filled, such as your app ID. Be sure to assign your permission configuration ID to the config_id property in the script.

Next, configure the Embedded Signup flow with the solution by assigning the solution ID to a solutionID property in the extras.setup object. For example:

javascript
 
<script>
  // Facebook Login with JavaScript SDK
  function launchWhatsAppSignup() {
    // Launch Facebook login
    FB.login(function (response) {
      if (response.authResponse)
{         const accessToken = response.authResponse.accessToken;         //Use this token to call the debug_token API and get the shared WABA's ID       }
else
{         console.log('User cancelled login or did not fully authorize.');       }
    }, {
      config_id: '<CONFIG_ID>', // configuration ID obtained in the previous step goes here
      response_type: 'code',     // must be set to 'code' for System User access token
      override_default_response_type: true,
      extras: {
        setup:
{           ... // Prefilled data can go here         }
      }
    });
  }
</script>
<button onclick="launchWhatsAppSignup()"
  style="background-color: #1877F2; border: 0; border-radius: 4px; color: #fff; cursor: pointer; font-family: Helvetica, Arial, sans-serif; font-size: 16px; font-weight: bold; height: 40px; padding: 0 24px;">
  Login with Facebook
</button>
 

Once configured, surface it to end clients on your platform wherever you feel it is appropriate.

Another way to simplify the sign-up process on your website is to load the Facebook JavaScript SDK. This script allows users to log in with their Facebook accounts.

javascript
 
<script>
  window.fbAsyncInit = function() {
    FB.init(
{       appId            : '790956649742945',       autoLogAppEvents : true,       xfbml            : true,       version          : 'v20.0'     }
);
  };
</script>
<script async defer crossorigin="anonymous"
  src="https://connect.facebook.net/en_US/sdk.js">
</script>
 

Manage allowlists

Allowlist your domain by clicking on Manage allowlists. This can be managed any time from the Facebook Login settings page as well.

WhatsApp TPP15

Update roles

Add your developers to your App selecting Update Roles. Avoid admin roles unless absolutely necessary. Once you get advanced access on permissions via App Review (covered in the Submit app for Review chapter), any user can onboard using your Embedded Signup flow.

WhatsApp TPP16
Billing

End clients onboarded via Embedded Signup (configured for a Partner Solution) share the Infobip credit line. Infobip is responsible for billing the solution to you for any end-client API usage. You can charge your clients for your value-added solution or service directly.

Customer Registration

Register

Once there is a new Embedded Signup action done on your side, you need to let Infobip's platform know about it. To do so, you need to perform the below request:

json
 
    Request:
    curl -X POST 'https://api.infobip.com/whatsapp/1/embedded-signup/registrations/account/shared' \
    --header 'Authorization: App {{API_TOKEN}}' \
    --header 'Content-Type: Application/json' \
    --data '{
        "techProviderId": "{{techProviderId}}"
    }'
     
    Response:
    Status: 202
 
Get registrations

In case you need to pull information about all registrations performed under your account, you can do so by using the following request:

json
 
    Request:
    curl -X GET 'https://api.infobip.com/whatsapp/1/embedded-signup/registrations' \
    --header 'Authorization: App {{API_TOKEN}}'
     
    Response:Status: 200
    Body:
    {
      "businessAccounts": [
        {
          "businessAccountId": 111111111111111,
          "status": "FINISHED",
          "lastModifiedAt": "2021-01-08T12:53:48.380065100Z",
          "senders": [
            {
              "displayPhoneNumber": "+1 0000 000000",
              "status": "FINISHED",
              "lastModifiedAt": "2021-01-08T12:53:48.380060400Z",
              "type": "CLOUD"
            }
          ]
        }
      ]
    }
 
Webhook registration event (status update on registration)

Infobip will forward notification about any account registration changes to your webhook in real time. To enable the webhook setup, share the URL with your Account Manager.

json
 
    {
      "businessAccountId": "102384266223093",
      "status": "FINISHED",
      "createdAt": "2023-06-07T15:17:37.444+0000",
      "lastModifiedAt": "2023-08-28T17:01:04.904+0000",
      "senders": [
        {
          "phoneNumberId": "122098754222007518",
          "displayPhoneNumber": "+1 313-513-8538",
          "type": "CLOUD",
          "status": "FINISHED"
        },
        {
          "phoneNumberId": "119302867930080",
          "displayPhoneNumber": "+1 213-218-6042",
          "type": "CLOUD",
          "status": "FAILED"
        }
      ]
    }
 

Status can be IN_PROGRESS, FAILED or FINISHED.

Implementing template and traffic management APIs

WhatsApp Standalone API

When you send a WhatsApp message to a phone number belonging to an end user's device you are sending an outbound WhatsApp message. There are several types of WhatsApp messages:

  • Template message – a pre-defined and pre-approved template to send text, images, videos, share location, documents, attach buttons, and configure SMS failover.
  • Free-form text or media – use when contacted by the end user within a certain timeframe to send text, images, audio, video, stickers, share location, or contacts. These do not need to be pre-approved by Meta.
  • Interactive messages – a message end users can interact with, such as interactive buttons, lists, or product messages.

When the end user sends a WhatsApp from their device to a phone number, they have sent an inbound WhatsApp message. The inbound message is routed to the Infobip Platform and Infobip in turn routes the message to you. Typical supporting features you’d use with inbound messages are:

  • Marking messages as read to communicate to the end user that you have read their message.
  • Downloading media and its metadata sent over by the end user.

Find more information on how to integrate Outbound (opens in a new tab) and Inbound WhatsApp traffic (opens in a new tab).

Service Management

Effective service management of the WhatsApp Business Solution entails a comprehensive approach to ensure seamless communication and engagement. The template management process involves designing and maintaining predefined message structures compliant with WhatsApp guidelines, enabling businesses to send consistent messages to their customers. Sender management is equally crucial, involving the management of registered WhatsApp senders and ensuring alignment with business representation and quality of communication. Implementing robust service management practices for these components ensures compliance, reliability, and optimal performance, contributing to a successful and satisfying customer-business interaction on the WhatsApp Business Solution platform.

Find more information on WhatsApp Business Solution Service Management (opens in a new tab).

Message Status Reports

Message status reports play a pivotal role in WhatsApp Business Solution management by providing valuable insights into the delivery and engagement of messages. These reports encompass both delivery and seen reports, enabling businesses to track the journey of their messages. Delivery reports (opens in a new tab) confirm the successful transmission of a message from the business to the recipient's device, ensuring message reachability. Seen reports (opens in a new tab), on the other hand, indicate when a recipient has viewed the message, offering businesses a deeper understanding of user engagement. Effective management of these reports involves implementing mechanisms to capture, process, and interpret the data provided by Infobip APIs, enabling businesses to monitor message effectiveness and optimize their communication strategy. By utilizing these message status reports, businesses can enhance their customer interactions, refine messaging approaches, and ultimately achieve higher levels of user satisfaction.

Messages API

WhatsApp outbound and inbound traffic is also supported over Messages API. The Messages API integrates multiple messaging channels into one interface. Instead of using a separate API for each messaging channel, use only one API for all channels.

In the Messages API, all channels use the same endpoint. You can send and receive messages, and perform other actions in the same manner for all the channels.

This solution is preferable when using other channels in addition to WhatsApp or plan to expand channel offerings in the future, without additional integration effort.

Find more information on  Messages API Product Documentation and API details (opens in a new tab) pages.

CPaaS X

CPaaS X is a set of modular and flexible APIs that speed up onboarding, reduce operational load, reduce engineering effort and speed up time to market.

Read more about how CPaaS X can help you reduce workload here.

Validate your setup

Once you have set up Embedded Signup, surface somewhere on your website where you can test it. To test Embedded Signup, simulate a customer completing the flow using a test customer's business credentials generated from your own platform. To validate that your Embedded Signup Setup is correct, please ensure you can do the following:

  1. Successfully register a number by utilizing Infobip Register API
  2. Successfully send messages on behalf of your customer by utilizing Infobip traffic APIs (WhatsApp Standalone or Messages API, depending on your preference)

Next, navigate to the Meta App Quickstart -> Onboarding -> Integration section and click the checkbox for Mark as complete.

WhatsApp TPP17

Submit App for review

App Review (opens in a new tab) is a required step to allow Apps to access specific features on WhatsApp. Given your App will be able to manage another business WhatsApp Business Account and send messages on another business behalf, Meta needs to validate how you are going to use the requested permissions to make sure there is no abuse and harm to user data. The submission is handled by Meta operational team that reviews and approves, rejects, or asks for additional information.

Firstly, click on Review App settings to review your saved settings and make sure your App icon, privacy policy URL, and App category are selected before starting App review.

Request advanced permissions

You start the App Review process by clicking the Request permissions button in the Final Reviews step on the onboarding page and selecting Edit to continue.

WhatsApp TPP18

Permissions are a form of granular, user-granted authorization. Before your App can use a service to access an App user's data, the App user must grant your App all permissions required by that service. To pass App review, it is important that you ask for only the permissions your App needs to function. Asking for unnecessary permissions is a common reason for rejection during App review.

These are the following App permissions required for App review for WhatsApp Business Solution. You should submit a separate and different video for each permission, annotating where the respective permissions will be used. Video submissions need to be of your product (website or some other mock-ups), not Infobip or Meta products.

  • whatsApp_business_management: Allows your App to read and/or manage WhatsApp business assets you own, or have been granted access to by other businesses through this permission. These business assets include WhatsApp business accounts, phone numbers, message templates, QR codes and their associated messages, and webhook subscriptions. It allows you to manage WhatsApp Accounts that get shared with them via the Embedded Signup flow. You need to provide whatsapp_business_management as part of the ‘scope’ in Embedded Signup script setup.

As a Tech Provider you will likely be using this permission to send and receive messages on your customers behalf, either through an API or an Application you provide. Therefore, in your submission, you should include:

    • Text Explanation: You need to explain how you are using this permission to send messages on behalf of your users. It can be through an API or through an App.
    • Video: Take a video of scrolling through your API docs, or a video of a sandbox/dev environment/product being used if you happen to have something like that. If all you provide is an API, you do not need to create a fake product just to show an example of a sample customer using your API.
  • whatsapp_business_messaging: Allows your App to send WhatsApp messages to a specific phone number, upload/retrieve media from messages, manage WhatsApp business profile information, and register those phone numbers with Meta.

As a Tech Provider you will likely use this permission to manage your customers’ accounts after they have onboarded through Embedded Signup to your solution. To demonstrate the usage, we recommend you build a post-onboarding user experience where you can show the account setup and connection to a phone number, for example, a flow where you setup a user’s phone and take them to a messaging experience. When you display users’ phone or message templates that belong to the WABA on your portal, it will be easy to establish connection between the data fetched and the permission used. Therefore, in your submission, you should include:

    • Text Explanation: Explain how you will be managing a customer's account. For example, many Tech Providers have an API or an Application that allows customers to manage their account details and their message templates.
    • Video: Record a demo of your product that shows information/management of your customers business assets. One of the easiest things to show is a page showing your customers phone number or message templates, or scrolling through the documentation showing API functionality.

If you create a test user that satisfies the above conditions they can go through embedded signup with your business and you can use that to create your demo video.


WhatsApp TPP19

Access verification

To ensure that only businesses with a legitimate use case can access data belonging to other businesses you must go through the access verification process. You can start Access verification after you’ve Applied to advanced permissions on your App. To begin, click Start verification. You can open the full access verification page within our WhatsApp product and quickly return to the onboarding page.

WhatsApp TPP20 WhatsApp TPP21

Go-live

End-to-End Business Onboarding

  • Your users will create an account for your product where you can track and store integration information of businesses
  • WhatsApp Business Account setup via Embedded Signup
    • Your users will use the Embedded Signup flow on your website to onboard by doing the following steps:
  1. Your users will accept WhatsApp and Meta Terms of Service

  2. They will create a new business portfolio or select an existing one

  3. For existing business portfolios, they will have to create a new WhatsApp Business Account and for new business portfolios a WhatsApp account with the same name will be created automatically

  4. Users will then create a WhatsApp Business Profile

  5. Next, they will have to verify the number using Two-Factor Authentication (see pre-verified numbers section for improved user experience)

  6. Make sure your users use a number that is not already registered on WhatsApp

  7. After users complete their registration, you will receive a token to start your integration

    • Once your user finishes the flow, you can guide them to a post onboarding experience where they can take further actions to start WhatsApp messaging (sending messages, creating templates...)
    • Your user’s business portfolios will also have to go through the Business Verification process so we recommend you guide them through it
    • Update your WhatsApp sender business information (about, address, description...) to enhance your profile. Use WhatsApp API (opens in a new tab) or enable this option on your web interface.

Additional functionalities

Pre-verified numbers

Pre-verified business phone numbers are business phone numbers that have already been verified by Infobip, eliminating the need for end clients to have to acquire and verify the phone number they wish to use for the WhatsApp Business Solution. These numbers help speed up the onboarding phase for your customers by eliminating the Two-Factor Authentication step needed to onboard a WhatsApp sender. Infobip can offer pre-verified phone numbers from across the world, depending on your and your customer's preferences.

WhatsApp TPP22

If you feel pre-verified numbers would help improve the onboarding experience for your end-users, please reach out to your Infobip Account Manager.

Bulk sender registration

With this functionality, you can do bulk sender registration (opens in a new tab) to any existing WhatsApp Business Account. This is a big game changer for end-clients that wish to register large quantities of senders for different purposes, as they can​ save time by one sign-up for many numbers and adding hundreds of phone numbers to WhatsApp Business Account at once.

Please reach out to your Infobip Account Manager if you would like to learn more about bulk sender registration.

Why Infobip

Integrate your way

  • A solution for building digital customer journeys that supports all use cases on a single platform; accessible throughout API or All-In-One Cloud Communication Solution.
  • In clients’ eyes, you are their WhatsApp provider. Infobip is in the background, working for you.
  • We do the heavy lifting of channel complex onboarding and integration so that you can focus on your core business.
  • Infobip fully supports your customers through WhatsApp migrations from another provider.

Technical maintenance and security

  • New features and security updates are available automatically on the Cloud, while version upgrades are done by Infobip.
  • We are bringing WhatsApp channel enhanced by a powerful platform and personalized support for all messaging requirements.
  • You don’t need to build anything by yourself - we’re solving throughput issues and queuing prioritization.

Get support and guidance

  • Professional services & consultancy.
  • Get guidance and support to create the best customer experience, from ideation to implementation with Infobip's industry experts.
  • Best in class 24/7 local support with a dedicated account manager and engineers.
  • Infobip automatic reporting and billing will allow real-time insights into WhatsApp traffic as conversations are happening.

Need assistance

Explore Infobip tutorials

Encountering issues

Contact our support

What's new? Check out

Release notes

Unsure about a term? See

Glossary

Research panel

Help shape the future of our products
Service Terms & ConditionsPrivacy policyTerms of use