API : Envoi de SMS en PHP

Ce guide vous expliquera en quelques étapes comment faire votre premier appel à l'API en PHP pour l'envoi de SMS.

1. La clé API

L'authentification nécessite une clé API. Cette clé est indispensable car elle vous identifie pour effectuer toutes vos requêtes via notre API SMS.
  1. Connectez vous à votre compte iSendPro Telecom ici
  2. Cliquez ensuite sur l'onglet "Mon compte" puis sur la sous-rubrique "Mon API"
  3. Notez votre clé API "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

2. Autoriser l'accès

Le contrôle IP permet d'améliorer la sécurité en limitant l'accès à votre clé API. Vous pouvez soit renseigner une liste d'IP autorisées, soit désactiver totalement le contrôle IP.

  1. Cliquez sur l'onglet "Mon compte" puis sur la sous-rubrique "Mon API"
  2. Dans la rubrique "Gestion des adresses IP", ajoutez l'adresse IP appelante ou désactivez simplement le contrôle IP.

3. Réaliser un premier appel à l'API

  1. Téléchargez le Wrapper PHP : php-client-exemples
  2. Uploadez sur votre serveur le Wrapper PHP
  3. Éditez le fichier nommé testSms.php

Exemple de script pour l'envoi d'un simple SMS :

<?php
require_once("php-client/SwaggerClient-php/autoload.php");
$api_instance = new Swagger\Client\Api\SmsApi();
$smsrequest = new \Swagger\Client\Model\SmsUniqueRequest(); 
$smsrequest["keyid"] ="ICI_CLE_API";
$smsrequest["num"]="ICI_NUMERO_TELEPHONE";
$smsrequest["sms"]="Ceci est un test avec un envoi unique!";
try {
    $result = $api_instance->sendSms($smsrequest);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling SmsApi->sendSms: ',print_r($e), PHP_EOL;
    print_r($e->getResponseObject());
}
?>

Voici le type de réponse attendue aprés l'exécution de ce script :

{  
   "etat":{  
      "etat":[  
         {  
            "code":0,
            "tel":"06xxxxxxxx",
            "message":"Votre message a bien ete envoye"
         }
      ]
   }
}

4. Les paramètres

Il est possible de spécifier différents paramètres (optionnels) :

date_envoi Date au format YYYY-MM-DD hh:mm. A utiliser uniquement en cas d'envoi différé
emetteur L’émetteur doit être une chaîne alphanumérique comprise entre 4 et 11 caractères. Les caractères acceptés sont les chiffres entre 0 et 9, les lettres entre A et Z et l’espace. Il ne peut pas comporter uniquement des chiffres. Pour la modification de l’émetteur et dans le cadre de campagnes commerciales, les opérateurs imposent contractuellement d’ajouter en fin de message le texte suivant : STOP XXXXX De ce fait, le message envoyé ne pourra excéder une longueur de 149 caractères au lieu des 160 caractères, le « STOP » étant rajouté automatiquement.
tracker Le tracker doit être une chaîne alphanumérique de moins de 50 caractères. Ce tracker sera ensuite renvoyé en paramètre des urls pour les retours des accusés de réception.
smslong Nombre maximum de SMS concaténés que vous autorisez pour l'envoi de ce SMS. Le SMS long permet de dépasser la limite de 160 caractères en envoyant un message constitué de plusieurs SMS. Pour obtenir un calcul dynamique du nombre de SMS alors il faut renseigner smslong = 999
nostop Si le message n’est pas à but commercial, vous pouvez faire une demande pour retirer l'obligation du STOP.
ucs2 Il est également possible d'envoyer des SMS en alphabet non latin (russe, chinois, arabe, etc) sur les numéros hors France métropolitaine. Pour ce faire, la requête devrait être encodée au format UTF-8 et contenir l'argument suivant ucs2 = 1 Du fait de contraintes techniques, 1 SMS unique ne pourra pas dépasser 70 caractères (au lieu des 160 usuels) et dans le cas de SMS long, chaque SMS ne pourra dépasser 67 caractères.

5. La documentation complète

Ce guide vous a permis d'envoyer votre premier SMS avec le wrapper PHP de l'API REST. Vous pouvez maintenant poursuivre l'intégration de ce service dans votre application. Notre documentation complète vous permettra d'intégrer d'autres services tels que : La consultation du crédit, l'envoi d'un SMS à de multiples destinataires, la qualification d'un numéro (Lookup HLR), téléchargement des récapitulatifs de campagne etc...

Télécharger la documentation complète

6. Support technique.

Si vous avez des questions techniques merci de contacter le support à l’adresse suivante : support@iSendPro.com. Le support technique est joignable tous les jours de la semaine de 9h à 13h et de 14h à 17h.