ISP renewal reminder
Dear Customer, your internet package expires tomorrow. Kindly renew to avoid service interruption.
The EchoBulk API is designed to stay simple: authenticate with a Bearer API key, send a JSON request, and submit messages through one branded endpoint. It works for CRMs, billing systems, schools, fintech apps, e-commerce platforms, and ISP customer-notification workflows.
Authorization: Bearer YOUR_API_KEY Content-Type: application/json
Use an approved sender ID and one or more recipient phone numbers.
curl -X POST \
https://echobulk.com/api/send-sms.php \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"sender": "APPROVED_ID",
"to": ["233551234567", "233241234567"],
"message": "Hello from EchoBulk",
"campaign_name": "API Campaign"
}'| Field | Required | Description |
|---|---|---|
| sender | Yes | An approved EchoBulk sender ID. |
| to | Yes* | Array of recipient phone numbers. Use international Ghana format such as 233XXXXXXXXX. |
| message | Yes | The SMS content to send. |
| campaign_name | No | Friendly label for reports and campaign tracking. |
| group_id | Optional | Send to a saved contact group owned by the API customer. Use this instead of to. |
* Provide either to or group_id.
{
"success": true,
"message": "SMS submitted successfully.",
"campaign_id": 123,
"recipients_count": 2
}API examples use 233XXXXXXXXX. This keeps CRM, billing, and automation integrations predictable when sending to Ghanaian numbers.
The same send endpoint can power automated customer communication. These examples show practical message types businesses often send.
Dear Customer, your internet package expires tomorrow. Kindly renew to avoid service interruption.
Payment received successfully. Your account has been renewed and your service is active.
We are currently experiencing a service disruption. Our technical team is working to restore service.
Your EchoBulk verification code is 482991. It expires in 10 minutes. Do not share it.
<?php
$payload = [
'sender' => 'APPROVED_ID',
'to' => ['233551234567'],
'message' => 'Your account has been renewed.',
'campaign_name' => 'Renewal Notice'
];
$ch = curl_init('https://echobulk.com/api/send-sms.php');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json'
],
CURLOPT_POSTFIELDS => json_encode($payload)
]);
$response = curl_exec($ch);
curl_close($ch);const response = await fetch(
'https://echobulk.com/api/send-sms.php',
{
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
sender: 'APPROVED_ID',
to: ['233551234567'],
message: 'Your OTP is 482991.',
campaign_name: 'OTP Verification'
})
}
);
const result = await response.json();Missing or invalid Bearer API key.
Disabled API key or inactive account.
Missing sender, invalid recipient list, invalid message, or insufficient wallet balance.
Outbound SMS is temporarily paused by platform security controls.