WABA Integration (Cloud)
The WhatsApp Cloud API allows you to implement WhatsApp Business APIs through Meta's hosting services.
WhatsApp Business Platform Cloud API - Documentation - Facebook for Developers
Facebook for Developers
WhatsApp Business Platform Cloud API
For any outgoing actions (like messages sending), you need to use requests with appropriate endpoints. Please refer to Meta's Official Documentation above for Cloud API.
- All Cloud API actions are available via different request types that use a combination of a root base URL and an endpoint suffix. To ensure that you use the correct endpoints for your API calls, we recommend to set-up
https://waba-v2.360dialog.io/
as a base URL and, for each request suffix, you can refer to our documentation or reach out to our Support Team for clarification. - The body of the request to the API will determine what exactly you want to send (text, image, etc.).
- You need to use an API key received from the client in authorization purposes.
- A business cannot send a freely composed message first. If business starts a conversation with a user, it should use a template message. Please do not forget about Opt-In requirements.
- Tip: we can recommend to use Postman as first step instrument to test WABA opportunities.
To receive any information that is not a response to your request to the API (e.g. incoming messages from users) you need to set a webhook address.
- It should be unique for every WABA number
- It should return an HTTPS 200 OK response immediately (before any other processing begins)
Meta has recently introduced Local Storage for Cloud API numbers, allowing businesses to choose the location where their message data is stored at rest. For regulated industries like finance, government, or healthcare, storing data in a specific country may align with regulatory or company policies.
With such settings enabled, Cloud API uses a localized storage in the specified country for persisting message content, instead of using its default storage based in the US. Alternatively, by disabling Local Storage, Cloud API reverts to its default storage based in the US.
If you wish to change the local storage of a WABA please reach out to our Support Team with the specific location, and we will enable this feature for you.
The default base URL for the Cloud API is
https://waba-v2.360dialog.io
followed by the path-specific endpoint.
In order to send requests with the 360dialog Cloud API, you will need an API KEY.
Each registered WhatsApp phone number has its own API KEY
Only the newest API key is valid, so if you generate another API key, the old one will stop working.
To receive notifications for in and outbound messages, you have to set a webhook URL. This will serve as the destination for all notifications associated with the WhatsApp Business Account (WABA) in Cloud API.
Webhook URLs for Cloud API do not support "
_
"(underscore)
or ":xxxx
"(port)
in (sub)domain names.
Invalid webhook URL: https://your_webhook.example.com
Valid webhook URL: https://yourwebhook.example.com
Invalid webhook URL:https://subdomain.your_webhook.example.com
:3000
Valid webhook URL: https://subdomain.yourwebhook.example.com
Once you get the
wa_id
, you can start sending messages.Use the messages node
/messages
to send text messages, media, documents, and message templates to your customers.You can send messages by making a
POST
call to the /messages
node regardless of message type. The content of the JSON message body differs for each type of message (text, image, etc.).If this
wa_id
did not sent a message to your WhatsApp Business Account within the last 24 hours, you can only reach this number with a template message.
In case you have set a webhook URL as described in step 2. Set Webhook URL, you will have received a Outbound Message Status Notification for your test message by now.
Webhooks can be used for:
If a webhook event isn't delivered for any reason (e.g., the client is offline) or if the webhook request returns a HTTP status code other than 200, we retry the webhook delivery. We continue retrying delivery with increasing delays up to a certain timeout (typically 24 hours, though this may vary), or until the delivery succeeds.
To deploy a live webhook that can receive webhook events from the WhatsApp Business API, your code must have the following:
- HTTPS support
- A valid SSL certificate
Send a
POST
request to the /v1/configs/webhook
endpoint to set the resource. POST /v1/configs/webhook
{
"url": "{{your-callback-url}}"
}
If the callback URL needs to be authorized by user,
USER
and PASS
should be provided in the header Authorization
that contains Basic base64(USER:PASS)
. Request body example for USER=
testuser
and PASS=testpass
{
"url": "{{your-callback-url}}",
"headers": {
"Authorization": "Basic {{token}}"
}
}
For security reasons you will not be able to access any of the below endpoints. If you need to access any of the below resources, please create a support ticket and, depending on the nature of the request, we will provide some options for you.
In addition to the mentioned country restrictions, businesses operating with Cloud API in Turkey can utilize the WhatsApp Platform for their communication needs. However, due to limitations, users within Turkey are unable to receive messages sent through the API. See Meta documentation for more information.
Last modified 7d ago