Complete reference for Ozibus APIs, SDKs, and integration guides
Our WhatsApp Notifications service lets you send business-initiated messages over WhatsApp—whether OTPs, transactional alerts, or rich-media campaigns—at a global scale with enterprise reliability. With template-based messaging, two-way chat support, geo-intelligent routing, and developer-friendly APIs, you get a fast, secure way to connect with users where they already are.
Before you begin, make sure you have:
Merchant-Id,Authorization bearer token.All API requests must include the following HTTP headers:
Merchant-Id: Your merchant identifier.API-Key: Your secret server-side API key.Authorization: Bearer <JWT> token.Content-Type: application/json before the request body.You may optionally include Idempotency-Key in requests to safely retry without duplicate sends.
type | string | Message type: "text", "template", "image", "document", etc. |
to | string | Recipient number in E.164 format (e.g. +12345678901). |
message | string | For type: "text": the message body. |
template | object | For type: "template": template name, language, and parameters. |
media_url | string | For media types: URL of the image/document/video. |
meta | object | Optional custom metadata (e.g., {"order_id":"OD-1223"}) for your tracking. |
| HTTP Code Error CodeDescription | ||
| 400 | invalid_payload | Missing required field or wrong format |
| 401 | unauthorized | Invalid API key or token |
| 403 | forbidden | Merchants are not permitted for WhatsApp templates |
| 422 | invalid_template | Template not approved or parameter mismatch |
| 429 | rate_limited | Too many requests; retry after cooldown |
| 500 | server_error | Internal error—retry later |
With the WhatsApp Notifications API, you gain a robust, scalable, and highly engaging channel to communicate with your users. From OTPs and transactional alerts to rich media campaigns and two-way chat, you’re equipped for next-generation messaging. Integrate quickly, monitor deeply, and deliver reliably—every time.
Request to /v1/whatsapp
| Name | Description | Required |
|---|---|---|
| Authorization | Bearer YOUR_API_KEY | Yes |
| API-Key | YOUR_API_KEY | Yes |
| Merchant-Id | YOUR_MERCHANT_ID | Yes |
| Content-Type | application/json | Yes |
| Parameter | Type | Description | Required |
|---|---|---|---|
| type | string | Yes | |
| to | number | Recipient phone number in E.164 format | Yes |
| message | string | Message content | Yes |
curl --location 'https://api.ozibus.com.au/v1/whatsapp' \
--header 'Merchant-Id: <YOUR_MERCHANT_ID>' \
--header 'API-Key: <YOUR_API_KEY>' \
--header 'Authorization: Bearer <YOUR_JWT_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
"type": "text",
"to": "+12345678901",
"message": "Hello, hope you’re good?"
}'<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.ozibus.com.au/v1/whatsapp',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"type": "text",
"to": "+12345678901",
"message":"Hello, hope you\'re good ?"
}',
CURLOPT_HTTPHEADER => array(
'Merchant-Id: <YOUR_MERCHANT_ID>',
'API-Key: <YOUR_API_KEY>',
'Content-Type: application/json',
'Authorization: Bearer <YOUR_JWT_TOKEN>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
<?php
$client = new Client();
$headers = [
'Merchant-Id' => '<YOUR_MERCHANT_ID>',
'API-Key' => '<YOUR_API_KEY>',
'Content-Type' => 'application/json',
'Authorization' => 'Bearer <YOUR_JWT_TOKEN>'
];
$body = '{
"type": "text",
"to": "+12345678901",
"message": "Hello, hope you're good ?"
}';
$request = new Request('POST', 'https://api.ozibus.com.au/v1/whatsapp', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
const axios = require('axios');
let data = JSON.stringify({
"type": "text",
"to": "+12345678901",
"message": "Hello, hope you're good ?"
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.ozibus.com.au/v1/whatsapp',
headers: {
'Merchant-Id': '<YOUR_MERCHANT_ID>',
'API-Key': '<YOUR_API_KEY>',
'Content-Type': 'application/json',
'Authorization': 'Bearer <YOUR_JWT_TOKEN>'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});import requests
import json
url = "https://api.ozibus.com.au/v1/whatsapp"
payload = json.dumps({
"type": "text",
"to": "+12345678901",
"message": "Hello, hope you're good ?"
})
headers = {
'Merchant-Id': '<YOUR_MERCHANT_ID>',
'API-Key': '<YOUR_API_KEY>',
'Content-Type': 'application/json',
'Authorization': 'Bearer <YOUR_JWT_TOKEN>'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Join thousands of developers using Ozibus APIs to power their applications.
Get Started for Free