The Senders API is currently available as a Public Beta product and the information contained in this document is subject to change. This means that some features aren't yet implemented and others may be changed before the product is declared as Generally Available. Public Beta products aren't covered by the Twilio Support Terms or Twilio Service Level Agreement.
The Senders API isn't a HIPAA Eligible Service or PCI compliant and shouldn't be enabled in workflows that are subject to HIPAA or PCI.
Learn how direct customers can register WhatsApp senders using the Twilio Senders API.
If the phone number is non-Twilio, it must be able to receive SMS or voice calls.
If the phone number is registered with an Interactive Voice Response (IVR) system or a computer-operated phone system, you can't receive One-Time Passwords (OTPs).
If the phone number is only available for outbound messages or calls, you can't use it to register a WhatsApp sender because Meta can't deliver OTPs.
Display name requirements
The WhatsApp sender display name (profile.name) must comply with Meta's display name guidelines. Meta reviews the name after registration. Before bulk registration, register a single sender first to confirm that the name is accepted. If Meta rejects the name, the phone number is limited to 250 business-initiated messages per 24-hour period, and Meta might disconnect the sender.
After registering the first WhatsApp sender, there are two ways to register additional WhatsApp senders:
WhatsApp Self Sign-up
Senders API
(information)
When to use Self Sign-up or Senders API
Twilio recommends using the API only when you need to onboard a large number of senders across many accounts (bulk registration). Use the WhatsApp Self Sign-up for a small number of senders.
Register WhatsApp senders using the Senders API
The Senders API allows you to register additional WhatsApp senders on behalf of your customers. This is useful when you have many customers and each customer needs multiple senders created across many Twilio subaccounts.
Meta requires ownership verification for every phone number registered with WhatsApp before that number can send or receive messages. Meta verifies ownership through SMS or voice call OTPs.
The registration process depends on the phone number type (Twilio or non-Twilio) and capabilities (SMS or voice) to receive the OTP for verification.
Phone number type
Capabilities
OTP verification code delivery
Twilio
SMS
Twilio handles the verification automatically during the registration process
Voice
Configure the phone number to receive the OTP verification code via email
This request creates a WhatsApp sender in Twilio's system, adds it to the WABA connected to your Twilio account, and completes the phone number verification.
To confirm that the WhatsApp sender is registered, make a GET v2/Channels/Senders/{Sid} request and check if status is ONLINE. Note: Immediately after registration, the status value will be OFFLINE. Wait a few minutes, then make the request again.
In the Voice Configuration section, in the Configure with row, select Webhook, TwiML Bin, Function, Studio Flow, Proxy Service.
In the A call comes in row, select Webhook and set the URL to https://twimlets.com/voicemail?Email=<YOUR_EMAIL_ADDRESS>. For example, https://twimlets.com/voicemail?Email=support@example.com. Note: The Voicemail Twimlet transcribes incoming calls and sends the transcription to your email address. This allows you to receive OTPs via email.
To register a WhatsApp sender, make a POST /v2/Channels/Senders request. The following properties are required in the request body:
sender_id: The phone number to register as a WhatsApp sender in E.164 format
To confirm the WhatsApp sender is registered, make a GET v2/Channels/Senders/{Sid} request and check if status is ONLINE. Note: Immediately after registration, the status value will be OFFLINE. Wait a few minutes, then make the request again.
To confirm the WhatsApp sender is registered, make a GET v2/Channels/Senders/{Sid} request and check if status is ONLINE. Note: Immediately after registration, the status value will be OFFLINE. Wait a few minutes, then make the request again.
To confirm the WhatsApp sender is registered, make a GET v2/Channels/Senders/{Sid} request and check if status is ONLINE. Note: Immediately after registration, the status value will be OFFLINE. Wait a few minutes, then make the request again.
The following troubleshooting steps can help you resolve common issues when you register a WhatsApp sender.
I want to check if a phone number is registered with WhatsApp
To check if a phone number is registered with WhatsApp, use one of the following methods:
Send a test message: Open https://wa.me/<PHONE_NUMBER>?text=hi in a browser (include the country code without +, for example, 15551234). If the number is registered, you'll receive "hi" in WhatsApp.
Search contacts: In WhatsApp, tap New Chat > New Contact and enter the phone number. If the number is registered, you'll see "This phone number is on WhatsApp".
To use a phone number that's already registered with WhatsApp:
If registered with WhatsApp or WhatsApp Business app: Delete the WhatsApp account to make the phone number available for the WhatsApp Business Platform with Twilio.
If registered with another WhatsApp Business Platform: In the WhatsApp Manager, turn off Two-Factor Authentication (2FA) for the number on the WhatsApp Business Platform and register a WhatsApp sender with the number. Contact your Solution Partner if you can't turn off 2FA by yourself.
You might not receive an OTP via SMS for the following reasons:
The OTP delivery is delayed.
You've reached Meta's maximum number of OTP verification attempts.
To resolve this issue:
Wait a few minutes.
Check the Error logs for any errors and follow the recommended actions.
Resend an OTP by making another POST /v2/Channels/Senders request.
If you don't receive the OTP after several attempts, contact Twilio Support.
Alternatively, you can try the voice method for verification.
The status field remains OFFLINE
The status field briefly shows as OFFLINE after registration. The status field changes to ONLINE when registration is complete, which typically takes a few minutes. If the status field remains OFFLINE after that, follow these steps: