Migration: BSP to CloudAPI
If you want to migrate from an existing Business Service Provider (BSP) to Meta's CloudAPI, without losing your display name, sending limit & approved templates.
Considering you have a Meta Developer account and a Verified Meta Business
Any High quality message templates previously approved
Low quality, rejected, or pending message templates.
Display name
-
Quality rating
-
Messaging limits
-
Official Business Account status
-
BASIC CHECKLIST
Create a Meta Developer App
Please follow the steps enlisted in the below-mentioned article. In case you have already done a valid app, you can choose to skip this step.
Meta CloudAPI - Developer AppSetup Payment Method
Make sure you have a payment method associated with the WABA.
Select the Business Account
[
Payment Settings][
Add payment method]
https://business.facebook.com/billing_hub/payment_settings?asset_id=&business_id=
<Business-ID>
Start the Migration
You can use Terminal or CMD. To make it easy, we have created a Postman Collection.
Disable Two-step verification
You can skip this if your Phone Number already had Two-step verification disabled.

Embedded Signup
You will need to access the Meta Business Manager.
1Accounts3Select the Business Account4Settings5WhatsApp Manager6Select the WhatsApp Account7Account Tools8Phone numbersSettings (Gear Icon)
10Two-step verification11[ Turn off two-step verification ]11.aVerify the eMail and click [ Ok ]
12An eMail will be sent to the Business Manager's eMail.13Click on the [ TURN OFF TWO-STEP VERIFICATION ]
https://business.facebook.com/wa/manage/phone-numbers/?business_id=
<Business-ID>&phone_number=&waba_id=&childRoute=PHONE_PROFILE%2FRECOVERY





BSP Classic Signup / -or- / Self-Hosted On-Premise
Initiate Phone Migration
WABA-ID of the destination WABA
POST https://graph.facebook.com/{{Version}}/{{WABA-ID}}/phone_numbers
To find the ID of a WhatsApp Business Account, go to Business Manager > Business Settings > Accounts > WhatsApp Business Accounts. Find the account you want to use and click on it. A panel opens, with information about the account, including the ID.
Headers
Authorization*
Bearer
Access Token
Request Body
cc*
NUM
Numerical country code for the phone number being registered.
phone_number*
NUM
Phone number being migrated, without the country code or plus symbol (+).
migrate_phone_number*
Boolmen
To migrate a phone number, set this to true.
{
"id": "<Phone-Number-ID>"
}Verify Phone Ownership
Request the Code
Select SMS of VOICE to receive your code
POST https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/request_code
Now that you have requested the migration, you need to confirm it by verifying ownership of the phone number.
Headers
Authorization*
Bearer
Access Token
Request Body
code_method*
ENUM
Method of receiving the registration code. Supported values: SMS and VOICE.
{
"success": true
}Verify the Code
To verify the code received
POST https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/verify_code
The code (6-digit pin) received from the previous Request the Code step is to be used to verify the ownership.
Headers
Authorization*
Bearer
Access Token
Request Body
{
"success": true
}Register Phone
Register the Phone Number to your WABA
POST https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/register
You need to register the phone number you want to use to send messages.
Headers
Authorization*
Bearer
Access Token
Request Body
messaging_product*
ENUM
Messaging service used. In this case, use "whatsapp".
{
"success": true
}Troubleshoot
Verify if App is Subscribed
Make sure your Meta Developer App ID is listed in your WABA.
Override Callback URL
In case you are not receiving messages to your chat interface, you can choose to override the Callback URL.
Last updated
Was this helpful?
