• (Updated )
How to properly update your WhatsApp Business account name with Cloud API.
This tutorial requires the use of the command-line interface. For Windows, we recommend instead to use PowerShell instead of the Command Prompt.
Warning: There are three different dashboards to interact with WhatsApp Business Platform. For the purpose of clarity, here's what we really meant about:
- Meta App Dashboard (formerly Facebook Developers App Dashboard): https://developers.facebook.com/apps
- Meta Business Suite (formerly Facebook Business): https://business.facebook.com/latest/home
- WhatsApp Manager: https://business.facebook.com/wa/manage
The WhatsApp Business platform also consists of different set of credentials as listed below. Here, we only need to use the Access Token, the WhatsApp Phone Number ID (not the Business Account ID), and the WhatsApp Two-Step Verification PIN (more on that later).
- Access Token: In order to perform HTTP request to WhatsApp Business Platform.
- The Meta App Dashboard by default allows you to create temporary tokens for use in 24 hours.
- To create a permanent access token:
- Ensure that your Facebook account is connected to both the Meta Business Suite (to manage business entities) and Meta App Dashboard (i.e. by registering into the Meta/Facebook Developers programme).
- Register a new business and Business Assets (i.e. related Facebook pages and Instagram accounts) on Meta Business Suite.
- Register a new app on Meta App Dashboard
- Create a new System User on the Business Settings in the Meta Business Suite
- On the Meta Business Suite, create the Access Token by clicking on Generate Token button on the System User settings, then link them to the desired App.
- App Secret (as configured in the App Dashboard): Only useful when authenticating received webhooks.
- Webhook Verify Token: A unique token set by you to be able to verify certain webhook events.
- WhatsApp Business Account ID: The Facebook Graph API Object ID representing the business account.
- This ID can be easily grabbed on the Meta App Dashboard, assuming that you have registered the phone number.
- WhatsApp Phone Number ID: The Facebook Graph API Object ID representing the registered phone number.
- This ID can be easily grabbed on the Meta App Dashboard, assuming that you have registered the phone number.
- WhatsApp Two-Step Verification PIN: A 6-digit PIN set by you to secure your WhatsApp business account.
If you are not familiar, the Facebook Graph API introduced an universal ID format for every kinds of object/entities. That means if there is a WhatsApp Business Account ID of 123123123, then it is guaranteed that the number are not used in any other forms of objects, like the WhatsApp Phone Number ID, the Facebook Pages ID, the Instagram Post ID, and so on.
Step 1: Request a display name change on WhatsApp Manager.
You cannot try this feature on the default Test WhatsApp Business Account or any account that has the Display Name change featured disabled for administrative reasons.
Go to WhatsApp Manager > Account Tools > Phone Numbers. Make sure that you are selecting the correct WhatsApp Account on the top-right corner.
You can also see that there's the "WhatsApp account ID", which is actually your WhatsApp Business Account ID. It is different than WhatsApp Phone Number ID that we need later, as some WhatsApp Business Account are allowed to add more than one phone numbers.
Now, on your desired phone number, change the display name. You can only move to the next step if the new display name is approved.
Step 2: Set up (or update) your WhatsApp Two-Step Verification PIN.
This is the part where we start to use the command-line.
If you never set up those PINs, you can send a request to the WhatsApp Business Cloud API:
Replace the {{ACCESS_TOKEN}}
, {{PHONE_NUMBER_ID}}
and {{PIN}}
with the Access Token, WhatsApp Phone Number ID, and WhatsApp Two-Step Verification PIN respectively.
# Windows (requires PowerShell)
Invoke-WebRequest -Method Post -Body '{ "pin": "{{PIN}}" } -Headers @{ Authorization = "Bearer {{ACCESS_TOKEN}}" } -ContentType 'application/json' https://graph.facebook.com/v20.0/{{PHONE_NUMBER_ID}}
# macOS and Linux (requires curl)
curl -X POST 'https://graph.facebook.com/v20.0/{{PHONE_NUMBER_ID}}' -H 'Authorization: Bearer {{ACCESS_TOKEN}}' -H 'Content-Type: application/json' -d '{"pin" : "{{PIN}}"}'
Note: We recommend to use the System User Access Token instead of the temporary token generated from the Meta App Dashboard.
Make sure that the server responds with {"success":true}
.
Step 3: Trigger the display name change on the WhatsApp Cloud API.
Lastly, we can trigger the following command to apply the display name change.
Replace the {{ACCESS_TOKEN}}
, {{PHONE_NUMBER_ID}}
and {{PIN}}
with the Access Token, WhatsApp Phone Number ID, and WhatsApp Two-Step Verification PIN respectively.
# Windows (requires PowerShell)
Invoke-WebRequest -Method Post -Body '{ "messaging_product": "whatsapp", "pin": "{{PIN}}" } -Headers @{ Authorization = "Bearer {{ACCESS_TOKEN}}" } -ContentType 'application/json' https://graph.facebook.com/v20.0/{{PHONE_NUMBER_ID}}/register
# macOS and Linux (requires curl)
curl 'https://graph.facebook.com/v20.0/{{PHONE_NUMBER_ID}}/register' -H 'Content-Type: application/json' -H 'Authorization: Bearer {{ACCESS_TOKEN}}' -d '{ "messaging_product": "whatsapp", "pin": "{{PIN}}" }'
Make sure that the server responds with {"success":true}
.