Campaign with list
This method allows you to send a campaign to a list.
POST
/send/lists
Body Parameters
text
required
|
Your message |
value
required
|
The list id |
pushtype | The push type (alert or marketing ) |
delay | Sending date Y-m-d H:i:s . Must be in timezone Europe/Paris |
sender | Allows you to customize the sender |
unicode (default 0) | Activate the unicode mode, reducing the SMS length to 70 characters |
About pushtype and sender
If you haven't already read the basic informations about the SMS and how pushtype and sender work, you might be interested in doing so.
Examples
If you want to add personalised information to the text of your SMS, you can add the following tags:
[info1]
,[info2]
,[info3]
,[info4]
POST /send/lists HTTP/1.1
Host: api.smsfactor.com
Authorization: Bearer your.token
Accept: application/json
{
"sms": {
"message": {
"text": "Message via API with custom contact information [info1]",
"pushtype": "alert",
"sender": "Ganondorf",
"delay": "2025-01-09 10:36:19",
"unicode": 0
},
"lists": [
{
"value": "5a0331bffc5886074551ce97"
},
{
"value": "5a0331bffc5886074551ce98"
}
]
}
}
POST /send/lists HTTP/1.1
Host: api.smsfactor.com
Authorization: Bearer your.token
Accept: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<sms>
<message>
<text>Message via API</text>
<pushtype>alert</pushtype>
<sender>Ganondorf</sender>
<delay>2025-01-09 10:36:19</delay>
<unicode>0</unicode>
</message>
<lists>
<value>45190</value>
</lists>
<lists>
<value>47854</value>
</lists>
</sms>
\SMSFactor\SMSFactor::setApiToken('your token');
$response = \SMSFactor\Campaign::sendToLists([
'sms' => [
'message' => [
'text' => 'Message via API',
'pushtype' => 'alert',
'sender' => 'Ganondorf',
'delay' => '2025-01-09 10:36:19',
'unicode' => 0
],
'lists' => [
[
'value' => 45190
],
[
'value' => 47854
]
]
], false); // True to simulate the campaign (no SMS sent)
Result Format
A status -8 doesn't mean your SMS won't be sent. No need to retry unless you want to send the same SMS multiple times 😉
{
"status": 1,
"message": "OK",
"ticket": "14672468", //The id of your campaign
"cost": 2, //The cost of your campaign
"credits": 642, //Your credits after your campaign has been created
"total": 2, //Number of message before filtering
"sent": 2, //Number of message after filtering
"blacklisted": 0, //Number of blacklisted numbers
"duplicated": 0, //Number of duplicated numbers
"npai": 0 //Number of npai numbers
"invalid": 0, //Number of invalid numbers
"not_allowed": 0, //Number of SMS sent to a not allowed country
"flood": 0, //Number of SMS filtered by anti-flood
"country_limit": 0, //Monthly limit for this country reached
}
<response>
<status>1</status>
<message>OK</message>
<ticket>14672468</ticket>
<cost>2</cost>
<credits>642</credits>
<total>2</total>
<sent>2</sent>
<blacklisted>0</blacklisted>
<duplicated>0</duplicated>
<npai>0</npai>
<invalid>0</invalid>
<not_allowed>0</not_allowed>
<flood>0</flood>
<country_limit>0</country_limit>
</response>
Quelle est la différence entre cost, total et sent ?
The cost
field is the number of credits your campaign cost. As a reminder, an SMS of more than 160 characters costs at least 2 credits. Know more
The total
field is the number of telephone numbers you provided to create your campaign.
The sent
field is the number of telephone numbers to which we have actually sent an SMS (after removing invalid numbers, blacklisting, etc.).