Simuler une campagne
Cette méthode vous permet de simuler l'envoi d'une campagne. Simuler une campagne vous permet de connaitre le coût ainsi que le nombre de SMS envoyés et filtrés. Cette route ne crée pas réellement de campagne.
      POST
    
    /send/simulate
      POST
    
    /send/lists/simulate
Paramètres du body
| text requis | Votre message | 
| value requis | L'id de la liste | 
| pushtype | Le type d'envoi ( alertoumarketing) | 
| delay | La date d'envoi Y-m-d H:i:s. Doit être dans la timezoneEurope/Paris | 
| sender | Vous permet de personnaliser l'expéditeur | 
Exemples
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": "2025-11-10 10:46:50"
    },
    "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>2025-11-10 10:46:50</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' => '2025-11-10 10:46:50'
    'lists' => [
      [
        'value' => 45190
      ],
      [
        'value' => 47854
      ]
    ]
  ]
], true); // True to simulate the campaign (no SMS sent)
      
    Format de la réponse
        Une campagne simulée n'est pas réellement créée. Vous ne pourrez pas la récupérer avec la route 
    GET /campaigns    
{
  "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>