Campaign

This method allows you to send a campaign to one or multiple destinations.

POST

/send

Body Parameters

text
required
Your message
value
required
The recipients' numbers
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
gsmsmsid An id of your choice to link it to its delivery report
unicode Activate the unicode mode, allowing special chars and reducing the length of one SMS to 70 characters. Default 0

Examples


POST /send HTTP/1.1
Host: api.smsfactor.com
Authorization: Bearer your.token
Accept: application/json

{
  "sms": {
    "message": {
      "text": "Message via API",
      "pushtype": "alert",
      "sender": "Illidan",
      "delay": "2024-10-21 10:40:53",
      "unicode": 0
    },
    "recipients": {
      "gsm": [
        {
          "gsmsmsid": "100",
          "value": "33612345678"
        },
        {
          "gsmsmsid": "101",
          "value": "33612345677"
        }
      ]
    }
  }
}
          
        

<?xml version="1.0" encoding="UTF-8"?>
<sms>
  <message>
    <text>Message via API</text>
    <pushtype>alert</pushtype>
    <sender>Illidan</sender>
    <delay>2024-10-21 10:40:53</delay>
    <unicode>0</unicode>
  </message>
  <recipients>
    <gsm gsmsmsid="100">33612345678</gsm>
    <gsm gsmsmsid="101">33612345677</gsm>
  </recipients>
</sms>
        
      

\SMSFactor\SMSFactor::setApiToken('your token');

$response = \SMSFactor\Campaign::send([
  'sms' => [
    'message' => [
      'text' => 'Message via API',
      'pushtype' => 'alert',
      'sender' => 'Illidan',
      'delay' => '2024-10-21 10:40:53',
      'unicode' => 0
    'recipients' => [
      'gsm' => [
        [
          'gsmsmsid' => "100",
          'value' => '33612345678'
        ],
        [
          'gsmsmsid' => "101",
          'value' => '33612345677'
        ]
      ]
    ]
  ]
], 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>