We also offer a bulk JSON interface for sending different messages to multiple recipients in bulk. This option is perfect for mail-merging text. We recommend no more than 500 tags in each submission.
https://api.textlocal.in/bulk_json
<?php $messages = array( // Put parameters here such as sender, force or test 'sender' => "SampleName", 'messages' => array( array( 'number' => 918123456789, 'text' => rawurlencode('This is your message') ), array( 'number' => 918987654321, 'text' => rawurlencode('This is another message') ) ) ); // Prepare data for POST request $data = array( 'apikey' => 'Your API key', 'data' => json_encode($messages) ); // Send the POST request with cURL $ch = curl_init('https://api.textlocal.in/bulk_json/'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo $response;
<?php $textlocal = new Textlocal(false, false, 'Your apiKey'); $data = array( 'messages' => array( array( 'number' => 918123456789, 'text' => 'This is your message' ), array( 'number' => 918987654321, 'text' => 'This is another message' ) ) ); $data = json_encode($data); $response = $textlocal->sendBulkSms($data); echo json_encode($response);
Caution: Some users opt to place their request inside a code loop, while testing we highly recommend setting the test parameter to true, as occasionally an infinite loop can occur and users can consume all their credits very quickly.
data | The JSON payload. The only required parameter is “messages”, an array that must include both a “number” and “text” parameter for the message. Optionally it can include a “unicode” parameter if you wish to send the message in unicode, providing your account has unicode enabled. |
---|---|
Login Parameters (Additional Information) | |
apiKey | You can create these in your Messenger Control Panel (click here) for each application, and limit the usage of them by host IP Address. |
Data Parameters—Optional parameters that can be included in the JSON data payload | |
sender |
Use this field to specify the sender name which is pre-approved by DLT and Textlocal.
|
scheduled | This parameter can be used to specify a scheduled date/time for your message, which should be provided in Unix timestamp format. Times should be provided in GMT. |
receiptUrl | Use this field to specify an alternative URL to which the delivery receipt(s) will be sent. See handling receipts documentation. |
force | If included and set to false, this will not send any messages if 1 or more messages in the send fails for any reason. If not provided defaults to true. |
optouts | If included and set to false, this will prevent opt-outs being honoured on your account. If not provided defaults to true. |
test | Set this field to true to enable test mode, no messages will be sent and your credit balance will be unaffected. If not provided defaults to false. |
send_channel | Defaults to sms, See WhatsApp documentation to send WhatsApp messages |
{ "messages":[ { "balance":1161, "batch_id":123456789, "cost":1, "num_messages":1, "message":{ "num_parts":1, "sender":"TXTLCL", "content":"This is your message" }, "receipt_url":"", "custom":"", "messages":[ { "id":1151347780, "recipient":918123456789 } ] }, { "balance":1160, "batch_id":123456790, "cost":1, "num_messages":1, "message":{ "num_parts":1, "sender":"INDMOB", "content":"This is your message" }, "receipt_url":"", "custom":"", "messages":[ { "id":1, "recipient":918987654321 } ] } ], "balance_pre_send":1162, "total_cost":2, "balance_post_send":1160, "status":"success" }
Error Codes | |
4 | No recipients specified. |
---|---|
5 | No message content. |
6 | Message too long. |
7 | Insufficient credits. |
8 | Invalid schedule date. |
9 | Schedule date is in the past. |
10 | Invalid group ID. |
11 | Selected group is empty. |
15 | Invalid JSON string. |
32 | Invalid number format. |
33 | You have supplied too many numbers. |
34 | You have supplied both a group ID and a set of numbers. |
43 | Invalid sender name. |
44 | No sender name specified. |
51 | No valid numbers specified. |
57 | No messages found. |
80 | Invalid Template. The message given didn't match any approved templates on your account. |
191 | Schedule time is outside that allowed. |
192 | You cannot send message at this time. |
204 | Invalid message content. |
314 | One or more messages failed to send. No messages sent. |
600 | Invalid channel |
Warning Codes | 3 | Invalid number. |
---|