Simulate a campaign
This method allows you to simulate a campaign. Simulate a campaign to find out the cost and the number of SMS messages sent and filtered. This endpoint does not actually create a campaign.
POST
/send/simulate
POST
/send/lists/simulate
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 |
Examples
POST /send/lists/simulate HTTP/1.1
Host: api.smsfactor.com
Authorization: Bearer your.token
Accept: application/json
{
"sms": {
"message": {
"text": "Message via API",
"pushtype": "alert",
"sender": "Sephiroth",
"delay": "2024-12-01 10:52:14"
},
"lists": [
{
"value": 45190
},
{
"value": 47854
}
]
}
}
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>Sephiroth</sender>
<delay>2024-12-01 10:52:14</delay>
</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' => 'Sephiroth',
'delay' => '2024-12-01 10:52:14'
'lists' => [
[
'value' => 45190
],
[
'value' => 47854
]
]
]
], true); // True to simulate the campaign (no SMS sent)
Result Format
A simulated campaign is not really created. You will not be able to retrieve it using the
GET /campaigns
route.
{
"status": 1,
"message": "OK",
"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>
<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>