|
URL TEXTE SSL : https://api.smsbox.fr/api.php
URL XML SSL : https://api.smsbox.fr/api.xml
|
|
Comment ça fonctionne ?
|
|
SMSBOX met à votre disposition une API vous permettant d'intégrer, facilement, notre solution d'envoi de SMS à vos applications en toute transparence.
Pour envoyer des SMS via notre API, vous devez avant tout posséder un compte SMSBOX disposant d'un minimum de Crédits. Vous devez ensuite envoyer à notre API une requête HTTP en méthode GET ou POST contenant plusieurs paramètres.
Veuillez noter que les fonctions sont identiques, que ce soit en mode de retour TEXTE ou XML. Seul le retour de notre API diffère.
|
|
Exemple d'envoi d'un SMS par méthode HTTP GET
|
http://api.smsbox.fr/api.php?login=Identifiant&pass=mot-de-passe&msg=votre+message&dest=06XXXXXXXX&origine=Vous&mode=Expert Interprétation : Nous envoyons les paramètres « login », « pass », « dest », « msg », « origine » et « mode » à notre API qui, grâce à ces paramètres, effectue l'envoi effectif du SMS.
|
|
Liste des paramètres disponibles pour l'envoi d'un SMS
|
|||||||||||
|
Paramètre
|
Description
|
||||||||||
|
login
(obligatoire)
|
L'identifiant de votre compte SMSBOX permet de vous identifier pour l'utilisation de l'API.
|
||||||||||
|
pass
(obligatoire)
|
Le mot de passe de votre compte SMSBOX permet de vous identifier pour l'utilisation de l'API.
Astuce : Vous pouvez encrypter votre mot de passe sous forme d'un Hash MD5. En PHP, il suffit d'utiliser la fonction md5().
|
||||||||||
|
dest
(obligatoire)
|
Le numéro de votre destinataire (Voir notre couverture).
Information : Si vous souhaitez faire des envois groupés, il vous suffit de séparer vos numéros par des virgules. Voir aussi la section sur l'envoi vers un groupe donné plus bas.
|
||||||||||
|
msg
(obligatoire)
|
Le message que vous souhaitez envoyer à votre destinataire.
Remarque : Si vous dépassez la limite de caractères autorisés, votre messages sera envoyé en plusieurs SMS. Se référer au paramètre udh pour le nombre de caractères autorisés.
|
||||||||||
|
udh
|
Facultatif. Par défaut, lorsque votre message dépasse le nombre de caractères autorisés, les SMS réceptionnés sont concaténés en un seul et unique affichage sur le mobile du destinataire.
Toutefois, si vous ne souhaitez pas que vos messages soient automatiquement concaténés, vous devez ajouter le paramètre udh=0 afin de désactiver cette fonctionnalité.
Remarques : la concaténation diminue le nombre de caractères autorisés dans un SMS.
|
||||||||||
|
mode
(obligatoire)
|
Définissez votre mode d'envoi :
Remarque : l'émetteur (origine) n'est personnalisable qu'en mode Expert.
Par défaut, l'envoi se fait en mode Expert.
|
||||||||||
|
origine
|
Obligatoire en mode Expert (sauf si émetteur par défaut préalablement renseigné).
Le nom ou le numéro de l'émetteur du SMS (Maximum 15 chiffres ou 11 caractères). Si laissé vide, utilisation de votre émetteur par défaut.
Remarque : l'émetteur (origine) n'est personnalisable qu'en mode Expert. IMPORTANT : Vous devez préalablement déclarer les émetteurs que vous souhaitez utiliser en vous rendant à la rubrique « Gestion émetteurs » de votre Espace Client.
|
||||||||||
|
type
|
Facultatif. Le type de message que vous souhaitez envoyer : Classique ou Flash.
Remarque : Par défaut, l'envoi se fait de manière classique.
|
||||||||||
|
strategy
|
Recommandé. Définissez la stratégie de votre message.
|
||||||||||
|
date
|
Facultatif. Si vous souhaitez envoyer le message à une date ultérieure, indiquez date=JJ/MM/AAAA
Remarque : Ce paramètre doit être utilisé conjointement au paramètre « heure ». Par défaut, ou si la date est passée, l'envoi est immédiat.
|
||||||||||
|
heure
|
Facultatif. Si vous souhaitez envoyer un message à une heure ultérieure, indiquez heure=HH:MM
Remarque : L'heure est au format 24H heure de Paris (UTC+1). Ce paramètre doit être utilisé conjointement au paramètre « date ». Par défaut, ou si l'heure est passée, l'envoi est immédiat.
|
||||||||||
|
id
|
Facultatif. Lorsque vous ajoutez le paramètre id=1, notre API vous renverra OK suivi de la référence de l'envoi.
Exemple : OK 1234567890
Remarque : si la longueur du SMS excède la limitation du nombre de caractères autorisés, vous aurez alors plusieurs références séparées par des virgules.
|
||||||||||
|
callback
|
Facultatif. En ajoutant le paramètre callback=1 sur vos requêtes, vous activez la fonction de retour de vos accusés de réception sur votre URL de Callback.
Consultez la rubrique « Routage des accusés de réception sur URL de Callback » pour plus d'informations.
|
||||||||||
|
cvar
|
Facultatif. En complément de l'utilisation de « callback », ce paramètre permet de définir des données additionnelles de votre composition qui seront retournées à la fin de l'URL (en GET) lors de l'appel de votre script.
Exemple : mon_parametre=valeur
Important: pensez à URL-encoder le contenu des paramètres fournis à l'API.
|
||||||||||
|
personnalise
|
Cette méthode permet de personnaliser le message pour chaque destinataire via l'intermédiaire de variables.
Pour réaliser un envoi personnalisé vous devez spécifier le paramètre personnalise=1 lors de votre requête.
Les variables de remplacement sont à coupler au numéro du destinataire dans le paramètre « dest » sous la forme suivante :
numero;variable1;variable2,numero;variable1;variable2,numero;variable1;variable2 Dans votre message (paramètre « msg »), le remplacement s'effectuera de la manière suivante :
Vous pouvez utiliser au maximum 10 variables (numéro de mobile compris, donc de 0 à 9).
Exemple de requête :
http://api.smsbox.fr/api.php?login=vous&pass=motdepasse&dest=0600000000;Jean;vehicule,0612345678;Paul;scooter Cet exemple enverra les messages suivants aux destinataires :
|
||||||||||
|
RAPPORT D'ENVOI ET MESSAGES D'ERREURS
|
|
|
Si une information est mal indiquée, si vous n'avez plus assez de crédits sur votre compte, ou bien si votre SMS a correctement été envoyé, notre API renverra un code indiquant le statut de votre envoi.
Vous trouverez ci-dessous, les différents codes retours possibles.
|
|
Retour API
|
Description
|
|
OK
|
Le message a été accepté par notre plateforme.
Ce code retour peut être suivi de la référence de l'envoi si vous avez précisé le paramètre id=1 lors de votre requête.
|
|
ERROR 01
|
Des paramètres sont manquants.
Vérifiez les arguments de votre requête.
|
|
ERROR 02
|
Identifiants incorrects, compte banni ou restriction par adresse IP.
Vérifiez vos identifiants ou rendez-vous à la rubrique « Sécurité API » de votre Espace Client.
|
|
ERROR 03
|
Crédit épuisé ou insuffisant.
Rechargez votre compte en achetant des Crédits SMS.
|
|
ERROR 04
|
Numéro de destination invalide ou mal formaté.
Vérifiez si le numéro de votre destinataire est correctement saisi.
|
|
ERROR 05
|
Erreur d'éxécution interne à notre application.
Réessayez ultérieurement.
|
|
ERROR
|
L'envoi a échoué pour une autre raison (numéro présent en liste noire, opérateur indisponible, indicatif non géré, ...).
|
|
Callback
|
|
Vos URLs de Callback doivent être préalablement configurée depuis votre Espace Client à la rubrique « Configuration ».
Les requêtes de Callback sont effectuées via la méthode HTTP GET.
Votre script de Callback doit renvoyer un statut HTTP 200 et le mot OK uniquement.
Si votre système n'est pas en mesure de répondre favorablement à notre requête, vous devez retourner le mot ERROR ainsi qu'un statut HTTP différent de 200. Nous réitérerons alors la requête toutes les 15 minutes durant une période maximale de 12 heures.
Consultez la rubrique « Sécurité » ci-dessous pour connaître les adresses IP d'émission des Callbacks.
|
| Réception de SMS et routage sur URL de Callback | |
| Vous pouvez transmettre sur l'URL de votre choix les messages réceptionnés sur votre mot-clef sur numéro partagé, votre numéro dédié, ou en réponse à vos envois réalisés par l'intermédiaire du mode Réponse. Votre URL de Callback doit être préalablement configurée depuis votre Espace Client. Notre plateforme appellera votre script automatiquement via la méthode GET à chaque nouveau message réceptionné. L'appel s'effectuera de la manière suivante : http://votre-url-de-callback.ext/votre-script.php?modem=336XXXXXXXX&numero=33612345678&reference=12345678&ts=timestamp_unix&charset=ISO-8859-1&message=le+message |
| Paramètre | Description |
| modem | Numéro de téléphone ayant réceptionné le message de votre correspondant. |
| numero | Numéro de téléphone de la personne ayant envoyé le message (votre correspondant). |
| reference | Référence interne du message réceptionné. Cette référence ne correspond pas à celle de l'éventuel message envoyé auquel le destinataire aurait répondu. |
| ts | Date et Heure de réception du message au format UNIX (UTC +1) |
| charset | Jeu de caractères utilisé pour l'encodage du contenu du message. |
| message | Contenu du message réceptionné de la part de votre correspondant. |
| Consultez la rubrique « Callback » ci-dessus pour connaître les modalités de capture et de réémission des Callbacks. Consultez la rubrique « Sécurité » ci-dessous pour connaître les adresses IP d'émission des Callbacks. |
| Routage des accusés de réception sur URL de Callback | |
| Vous avez la possibilité de réceptionner en direct les accusés de réception de vos envois effectués par l'intermédiaire de notre API. Votre URL de Callback doit être préalablement configurée depuis votre Espace Client. Vous devez également insérer lors de vos requêtes d'envoi de SMS le paramètre « callback ». Voir « Liste des paramètres disponibles ». Notre plateforme appellera votre script automatiquement via la méthode GET à chaque mise à jour de l'accusé de réception. L'appel s'effectuera de la manière suivante : http://votre-url-de-callback.ext/votre-script.php?numero=33612345678&reference=123456789&accuse=0&ts=timestamp_unix |
| Paramètre | Description |
| numero | Numéro de téléphone de votre correspondant. |
| reference | Référence interne du message envoyé. |
| accuse | Statut de l'accusé de réception lors de l'appel de votre script. Consultez la liste des accusés de réception. |
| ts | Date et Heure de mise à jour du statut au format UNIX (UTC +1) |
|
Consultez la rubrique « Callback » ci-dessus pour connaître les modalités de capture et de réémission des Callbacks. Consultez la rubrique « Sécurité » ci-dessous pour connaître les adresses IP d'émission des Callbacks. |
| Sécurité |
Afin de sécuriser vos envois, vous disposez de différentes options :
Si vous utilisez un firewall, vous devez autoriser les adresses IP suivantes :
|
| Liste des statuts de l'accusé de réception | ||||||||||||||||||||||||||||||||||
|
| Envoi de SMS Multimédia | ||||||||
| Envoi d'un message binaire | ||||||||
http://api.smsbox.fr/api.php?login=vous&pass=passe&mode=multimedia&dest=33600000000&type=bin&data_udh=06050423F40000L'UDH (dans le paramètre data_udh) et le contenu (paramètre data) doivent être sous forme hexadécimal par paires (exemple : le caractère d'un saut de ligne \n sera représenté par 0A et non A). Pas de : ou de % de séparations. La taille conjointe des paramètres data_udh et data ne peut excéder 140 octets par SMS. Exemples d'UDH :
|
||||||||
| Envoi de messages Wap-Push préformatés | ||||||||
http://api.smsbox.fr/api.php?login=vous&pass=passe&mode=multimedia&dest=33600000000&type=push&duree=7Paramètres additionnels :
|
||||||||
| Envoi de messages vCard préformatés | ||||||||
http://api.smsbox.fr/api.php?login=vous&pass=passe&mode=multimedia&dest=33600000000&type=vcard&vtype=TEL;CELL&vnom=TotoParamètres additionnels :
|
||||||||
| Envoi de messages vCalendar préformatés | ||||||||
http://api.smsbox.fr/api.php?login=vous&pass=passe&mode=multimedia&dest=33600000000&type=vcalendar&vdate=31/03/2008&vheure=09:00Paramètres additionnels :
|
| HLR Lookup | ||||||||||||
| Ce service vous permet de tester la validité d'un numéro et de connaître l'opérateur (même en cas de numéro porté) en envoyant directement une requête de type « HLR Lookup » sur le réseau mobile. Le coût est de 0.3 Crédit SMS par numéro testé. Consultez la couverture spécifique pour ce service. L'appel de l'API se fait de cette façon : http://api.smsbox.fr/api.php?login=vous&pass=motdepasse&action=hlr&dest=33600000000Retours possibles : Idem que pour l'envoi d'un SMS. Vous pouvez passer plusieurs numéros en les séparant par une virgule dans la limite de 100 numéros par requête. Pour réceptionner le statut du numéro ainsi que le MNC de l'opérateur vous devez préalablement définir une URL de Callback spécifique depuis le menu « Configuration » de votre Espace Client. Consultez la rubrique « Callback » pour plus d'informations. Le retour sur votre URL de Callback se fera de cette façon : http://votre-url-de-callback.ext/votre-script.php?numero=W&reference=X&accuse=Y&mnc=Z&libelle=A Légende :
|
| Les fonctions disponibles | |
| Paramètre | Description |
| login (obligatoire) |
L'identifiant de votre compte SMSBOX permet de vous identifier pour l'utilisation de l'API. |
| pass (obligatoire) |
Le mot de passe de votre compte SMSBOX permet de vous identifier pour l'utilisation de l'API. Astuce : Vous pouvez encrypter votre mot de passe sous forme d'un HASH MD5. En PHP , il suffit d'utiliser la fonction md5(). |
| action (obligatoire) |
Action désirée afin d'exécuter votre requête (voir ci-dessous la liste des actions disponibles). |
| Envoi vers un groupe défini | |
| Action | Description |
| envoigroupe | Requête : ...&action=envoigroupe&msg=message&groupe=123&origine=Vous&mode=ExpertInformation : 123 correspond à l'ID du groupe à qui envoyer le message. Vous trouverez cet ID dans l'affichage de la liste de vos groupes plus bas. Le paramètre dest devient facultatif avec l'utilisation de cette fonction. Retour de l'API : Voir plus haut le tableau des retours possibles lors d'un envoi. |
| Création de sous-comptes | |
| Action | Description |
| utilisateur | Requête : ...&action=utilisateur&do=add&pseudo=pseudo&mdp=motdepasse&nolimit=yesInformation : le paramètre « nolimit » est facultatif et peut prendre comme valeur yes ou no. Voir option « No-limit » ci-dessous dans « Gestion du crédit ». Retour de l'API : OK ou ERREUR. Limites :
|
| Gestion du crédit | |||||||
| Action | Description | ||||||
| credit |
Requête : ...&action=creditRetour de l'API : CREDIT 22 Interprétation : Il reste 22 Crédits SMS sur le compte client. | ||||||
| Gérer le crédit d'un sous-compte Requête : ...&action=credit&to=souscompte&credit=123Interprétation : Cette requête ajoutera 123 crédits au sous-compte souscompte (dans la limite du solde disponible sur le compte principal). Information : Le paramètre credit (ici égal a 123) peut être positif ou négatif. Astuce : Nous disposons d'une option pour que vos sous-comptes puissent puiser dans votre solde lors de l'envoi d'un SMS via l'API, ceci sans avoir de crédit attitré. Voir l'option « No-limit » ci-dessous. Retour de l'API : OK ou ERREUR Option « No-limit » Lors de l'édition d'un sous-compte, vous pouvez au choix lui attribuer un solde de Crédits SMS fixe (débités immédiatement de votre compte principal), soit utiliser l'option « No-limit » qui permettra au sous-compte d'utiliser le solde disponible sur le compte principal. Pour activer cette option sur l'un de vos sous-comptes, rendez-vous à la rubrique Gestion utilisateurs de votre Espace Client. |
|||||||
| Émetteur par défaut | |||||||
| Action | Description | ||||||
| emetteur |
Requête : ...&action=emetteurRetour de l'API : La valeur de l'émetteur par défaut configuré sur votre Espace Client. | ||||||
| Lister vos émetteurs disponibles (déclarés) Requête : ...&action=emetteur&do=listRetour de l'API : La liste (séparés par des retours à la ligne) de vos émetteurs disponibles, préalablement déclarés via votre Espace Client. | |||||||
Édition de la valeur de l'émetteur par défaut
Requête : ...&action=emetteur&do=set&emetteur=valeur Retour de l'API : La valeur de l'émetteur qui a été définie ou ERREUR | |||||||
| Carnet d'adresses : Gestion de mes contacts | |||||||||
| Action | Description | ||||||||
| contacts |
Requête : ...&action=contacts Retour de l'API : ID;nom;numéro | ||||||||
| Ajout d'un contact Requête : ...&action=contacts&do=add&nom=Paul&num=06XXXXXXXX Retour de l'API : OK ou ERREUR | |||||||||
| Edition d'un contact : Requête : ...&action=contacts&do=edit&id=123&nom=Paul&num=06XXXXXXXX Information : 123 correspond à l'ID du contact à éditer Retour de l'API : OK ou ERREUR | |||||||||
| Suppression d'un contact : Requête : ...&action=contacts&do=del&id=123 Information : 123 correspond à l'ID du contact à supprimer Retour de l'API : OK ou ERREUR | |||||||||
| Carnet d'adresses : Gestion de mes groupes | |||||||||||
| Action | Description | ||||||||||
| groupes |
Requête : ...&action=groupesRetour de l'API : ID;nomdugroupe;06XXXXXXXX,34XXXXXXXX,32XXXXXXXX | ||||||||||
| Ajout d'un groupe Requête : ...&action=groupes&do=add&nom=nomdugroupe&num=06XXXXXXXX,34XXXXXXXX,32XXXXXXXX Retour de l'API : OK ou ERREUR | |||||||||||
| Edition d'un groupe Requête : ...&action=groupes&do=edit&id=123&nom=nouveaunom&num=06XXXXXXXX,34XXXXXXXX,32XXXXXXXX Information : 123 correspond à l'ID du groupe à éditer Retour de l'API : OK ou ERREUR | |||||||||||
| Ajouter des numéros dans un groupe Requête : ...&action=groupes&do=add_numbers&id=123&num=06XXXXXXXX,34XXXXXXXX,32XXXXXXXX Information : 123 correspond à l'ID du groupe où insérer les numéros Retour de l'API : OK ou ERREUR | |||||||||||
| Suppression d'un groupe Requête : ...&action=groupes&do=del&id=123 Information : 123 correspond à l'ID du groupe à supprimer Retour de l'API : OK ou ERREUR | |||||||||||
| Historique de mes SMS envoyés | |||||||||||||
| Action | Description | ||||||||||||
| historique |
| ||||||||||||
|
Nombre d'enregistrements disponibles dans mon historique Requête : ...&action=historique Retour de l'API : HISTORIQUE 123 Interprétation : Il y a 123 SMS dans l'historique de votre compte client. | |||||||||||||
| Affichage de l'historique Requête : ...&action=historique&from=10&nb=20 Information : Cette requête affichera 20 enregistrements depuis le 10ème dernier message envoyé (enregistrements de 10 à 10+20). Dans le cas ci-dessus, pour afficher tous les enregistrements, on utilisera from=0&nb=123. Retour de l'API : 20/10/2007 18:15:00;336XXXXXXXX;emetteur;0;1;0Astuce : Pour obtenir une colonne contenant les références de vos envois, ajoutez le paramètre showref=1 à votre requête. Interprétation : Chaque colonne est séparée par un point virgule :
| |||||||||||||
| Récupérer l'historique de date à date Requête : ...&action=historique&date_from=2007-11-01&date_to=2007-11-31 Information : les dates sont au format AAAA-MM-JJ. Retour de l'API : Voir plus haut. | |||||||||||||
| Récupérer l'historique d'un message précis Requête : ...&action=historique&id=12345Information : 12345 correspond à la référence du SMS à extraire. Vous pouvez récupérer celle-ci en ajoutant le paramètre id=1 lors de l'envoi d'un SMS. Retour de l'API : Voir plus haut. | |||||||||||||