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


{
  "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>