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

Examples


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


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