API SMS

Cette page décrit les différentes fonctionnalités de l’API d’Axialys pour l’envoi de SMS ainsi que la façon de procéder pour les mettre en oeuvre.

Vous pourrez ainsi :

  • envoyer des SMS
  • recevoir les accusés de réception de vos envois

Haut de page

1. Activation de votre compte

Lors de la création de votre compte, vous pouvez nous fournir l’adresse IP de la machine qui interrogera le serveur ainsi que l’adresse et l’URI du serveur auquel les accusés de réception devront être renvoyés (si vous souhaitez activer cette fonctionnalité). Une fois votre compte créé, une clé vous sera fournie, accompagnée des paramètres du serveur à interroger.

Haut de page

2. Les différentes variables utilisées

Champs Description Longueur
cle Clé permettant d’identifier le client. Elle doit être systématiquement envoyée. Il est également possible de définir l’adresse IP de la machine autorisée à accéder à votre compte. 16 ma_cle
pass Mot de passe. Peut-être changé, systématiquementfourni. 16 passe
ID Identifiant d’envoi. Ce champ est facultatif, vous pouvez mettre ce que vous voulez ; il vous permettra ensuite de faire correspondre un accusé de réception ou un message reçu, à un envoi. 16 test
ID2 Champ facultatif. Peut servir à vos propres identifiants clients par exemple. 16 client 1
ID3 Champ facultatif. Peut servir à vos propres identifiants clients par exemple. 16 client 2
liste Identifiant d’une liste 10 1
numero Numéro de téléphone au format e164 20 33619000000
nom Permet la personnalisation des messages à l’aide de ##NOM## 32 Dupont
prenom Permet la personnalisation des messages à l’aide de ##PRENOM## 32 Patrick
usr1 Permet la personnalisation des messages à l’aide de ##USR1## 32 pat
usr2 Permet la personnalisation des messages à l’aide de ##USR2## 32 pat
numeros Liste de numéros au format e164 20
contenu Contenu du message à envoyer ou reçu.Les messages envoyés ne doivent pas faire plus de 160 caractères. 160 Ceci est un message de test !
type STANDARD : envoi d’un SMS simple. REPONSE : possibilité de recevoir les réponses 8 STANDARD
date Date approximative à laquelle le message doit être délivré ou date à laquelle un message a été reçu. Elle a le format YYYYMMDDHHiiSS 14 20160806181000
emetteur Permet de configurer l’émetteur du message, on peut utiliser une chaîne de caractère ou un numéro au format e164. La personnalisation de l’émetteur n’est pas compatible avec la réception d’éventuels messages de retour. 16 Axialys
ttl Date limite d’envoi au-delà de laquelle le message ne pourra plus être transmis. 14 20160806181000
marketing Permet de spécifier le type d’envoi : 1 : envoi marketing 0 : envoi de type notification
format Permet de sélectionner le format de sortie de l’API, actuellement sont disponibles :* csv (défault ancien format, l’entête du CSV retourné n’est pas toujours disponible) * csv_header * json json
encodage UTF-8 : permet de passer certaines données en UTF-8 à la place de l’ISO-8859- 1
mode_envoi LATIN1 : utilisation d’un sous ensemble de l’ISO-8859- 1 ETENDU : utilisation des caractères étendus (ATTENTION, la taille des SMS est fortement réduite, voir Tableau de la section VI, de plus il est alors nécessaire de passer le contenu du message à envoyer en UTF-8 ) LATIN1
URL ##TRACKINGURL##  utilisé par le shorturl, et sera remplacé par une adresse axialys plus courte sous la forme « axia.ly/XXXXXXX » sans le préfixe http/https que tout mobile est en mesure d’interpréter aujourd’hui. Par contre bien préciser « http/https » lors de la configuration de cette variable et éviter les accents et ne pas dépasser les 128 caractères 128 https://www.axialys.com/welcome
Attention selon le type de contrat souscrit, le type de SMS ne sera pas forcément pris en compte

Haut de page

3. Gestion des abonnés de liste

Il est possible de définir des listes d’abonnés, afin de pouvoir envoyer par la suite un message à un ensemble de personnes prédéfinies.

Pour les gérer vous disposez de 5 fonctionnalités :

  • get_abonnes : Pour obtenir l’ensemble des abonnés d’une liste.
  • add_abonne : Pour ajouter un abonné à une liste.
  • del_abonne : Pour supprimer un abonné d’une liste
  • reset_abonnes : Pour supprimer tous les abonnés d’une liste.
  • update_abonne : Pour mettre à jour les données d’un abonné (basées sur le numéro).
  • add_liste : Pour ajouter une liste.
  • update_liste : Pour mettre à jour les attributs d’une liste.

Les variables utilisées par cette méthode sont :

  • Obligatoires : cle, pass, liste
  • Facultatives : –

L’URL appelée a la forme suivante : http://api-sms.sites.axialys.net/get/get_abonnes.php?cle=macle&pass=pass&liste=10&numero=336100000000

Cet appel retourne alors une page contenant l’ensemble des numéros appartenant à cette liste ainsi que les données associées (nom, prenom, usr1, usr2). Seuls les champs contenant une valeur sont retournés, voici un exemple renvoyant 2 résultats

OK 33619471505;dd

En absence de données, c’est alors un message d’erreur qui est retourné. La liste des codes erreurs retournés se trouve en annexe.

Les variables utilisées par cette méthode sont :

  • Obligatoires : cle, pass, liste, numero
  • Facultatives : pseudo, nom, prenom, usr1, usr2, encodage

L’URL appelée a la forme suivante : http://api-sms.sites.axialys.net/get/add_abonne.php?cle=macle&pass=pass&liste=10&nom=david&prenom=david

Si l’insertion se passe correctement, l’appel renvoi ‘OK’.

Les variables utilisées par cette méthode sont :

  • Obligatoires : cle, pass, liste, numero
  • Facultatives : –

L’URL appelée a la forme suivante : http://api-sms.sites.axialys.net/get/del_abonne.php?cle=macle&pass=pass&liste=10&numero=336100000000

Cet appel renvoie ‘OK’, si la suppression réussie.

Les variables utilisées par cette méthode sont :

  • Obligatoires : cle, liste
  • Facultives : encodage

Cette méthode s’utilise de la même façon que « get_abonnes », elle renvoie le message ‘OK’ si la suppression de tous les abonnés réussie.

Les variables utilisées par cette méthode sont :

  • Obligatoires :cle, liste, numero
  • Facultatives : pseudo, nom, prenom, usr1, usr2, encodage

Cette méthode s’utilise de la même façon que « add_abonne », elle renvoie le message ‘OK’ si la mise à jour réussie.

Les variables utilisées par cette méthode sont :

  • Obligatoires : cle, pass, nom
  • Facultatives : –

L’URL appelée a la forme suivante : http://api-sms.sites.axialys.net/get/add_liste.php?cle=macle&pass=pass&nom=maPetiteListe

Cette méthode renvoie le message ‘OK’ en cas de succès.

Les variables utilisées par cette méthode sont :

  • Obligatoires : cle, pass, liste, nom
  • Facultatives : –

L’URL appelée a la forme suivante : http://api-sms.sites.axialys.net/get/update_liste.php?cle=macle&pass=pass&liste=1&nom=maPetiteListe

Cette méthode renvoie le message ‘OK’ suivi de l’identifiant attribué à la liste.

Les variables utilisées par cette méthode sont :

  • Obligatoires : cle, pass
  • Facultatives : numero,liste, type, date, ttl, ID2, emetteur

L’URL appelée a la forme suivante : http://api-sms.sites.axialys.net/get/cancel.php?cle=macle&pass=pass&numeros[]=33670200200&format=json

Cette méthode permet d’annuler un envoi, elle retourne ‘OK’ si la suppression a été effectuée, ainsi que le nombre de lignes supprimées.

Haut de page

4. Envoi des SMS

Un message peut être envoyé à un ou plusieurs numéros, il est également possible de l’envoyer à une liste de diffusion prédéfinie avec les méthodes vues précédemment. Les variables utilisées par cette méthode sont :

  • Obligatoires : cle, ID
  • Facultatives : numero, liste, type, date, ttl, ID2, ID3, emetteur, mode_envoi, URL
Attention, au minimum une liste ou un numéro doit être défini(e) afin de pouvoir envoyer un message.

Voici la forme d’un message envoyé à une liste de diffusion : http://api-sms.sites.axialys.net/get/send.php?cle=dd&ID2=axe&ID3=test&pass=pass&liste=10&id=ax&contenu=coucou+dd&emetteur=AXIALYS

Voici la forme d’un message envoyé à plusieurs numéros : http://api-sms.sites.axialys.net/get/send.php?cle=dd&ID2=axe&pass=pass&numeros[]=336100000000&numeros[]=336100000001&id=ax&contenu=coucou+dd

Tout comme les précédentes méthodes, l’appel renvoie ‘OK’, une fois les données intégrées. Si le SMS à envoyer est de type ETENDU, le texte du SMS doit être au format UTF-8.

ATTENTION, Si le SMS à envoyer est de type ETENDU, le texte du SMS doit être au format UTF-8.  La taille des SMS est fortement réduite, un texte contenant 135 caractères compte pour 3 SMS, voir Tableau de la section 5.

Haut de page

5. Réception des SMS MO

Si un utilisateur répond à un message, il est possible de récupérer son message. L’url à laquelle sera envoyée la réponse est la même que pour les notifications.

Les variables reçues sont les suivantes :

Variable
Type MO
ID Identifiant du message fourni lors de l’envoi
numero Numéro concerné au format e164
date Date de réception d’un acquittement ou suivi du message
Etat Message retourné

Haut de page

6. Décompte des SMS

Pour se mettre en conformité avec la législation, lors des envois marketing, une information est ajoutée pour l’utilisateur afin que ce dernier puisse cesser l’envoi des SMS. Il lui suffit en effet de répondre “STOP” au message reçu. Il faut déduire du message envoyé la longueur du message d’annonce.

  • Marketing avec personnalisation : STOP XXXXX (10 caractères)
  • Marketing sans personnalisation : STOP XXXXX (10 caractères)

Ceci est valable uniquement pour la France pour le moment.

Pour rappel, un SMS fait 160 caractères, et les SMS composés sont constitués de maximum 5 SMS, chaque portion valant 140 caractères. Les retours à la ligne comptent pour 2 caractères.
Type/Coût 1 SMS 2 SMS 3 SMS 4 SMS 5 SMS
Notification 160 280 420 560 700
Marketing sans personnalisation 150 270 410 550 690
Marketing avec personnalisation 150 270 410 550 690
Caractères étendus 70 134 201 268 335

Haut de page

7. Réception des accusés de réception

Si vous disposez d’un serveur capable de recevoir des requêtes HTTP, et après l’envoi des informations concernant votre serveur nom et URI à utiliser, vous avez la possibilité de recevoir toutes les informations concernant le statut du message envoyé. Pour un même message envoyé à un téléphone donné, vous pouvez recevoir plusieurs informations de statut. Par exemple au moment de l’envoi, le mobile peut être en dehors de la zone de couverture du réseau, le message sera alors reçu quand le téléphone se trouvera dans une zone de couverture. On est alors averti à chaque changement d’état, jusqu’à ce que le message soit transmis. Voici ci-dessous les valeurs retournées :

Variable
Type ACK
ID Identifiant du message fourni lors de l’envoi
numero Numéro concerné au format e164
date Date de réception d’un acquittement ou suivi du message
Etat La liste des états possibles se trouve en annexe

Haut de page

8. Envoi des SMS via e-mail

Notre plateforme offre également la possibilité d’envoyer des SMS en envoyant un mail. Afin d’envoyer des SMS tous les paramètres concernant le ou les envois sont envoyés dans le corps du mail sous la forme suivante : <nom variable>: <valeur>

Le mail sera ensuite envoyé à l’adresse [email protected] En cas de problème : variable manquante, problème d’authentification… Un message d’erreur vous sera renvoyé contenant la description du problème rencontre.

L’authentification est effectuée par rapport à l’adresse de l’expéditeur qui nous a été fournie lors de l’activation de votre API. Il est également possible de nous fournir une liste d’adresses IP autorisées à renvoyer des SMS sous votre compte.

Pour effectuer votre envoi, nous avons d’abord besoin de savoir à qui il est destiné. Pour cela nous devons obligatoirement renseigner les variables ‘numero’ ou ‘liste’ qui sont respectivement un numéro de téléphone ou le nom d’une liste sur laquelle nous souhaitons effectuer notre envoi. Dans le cas d’utilisation de la variable ‘numero’, il est possible d’indiquer plusieurs numéros de téléphone en les séparant par une virgule.

Nous devons ensuite renseigner notre message avec la variable ‘contenu’ en faisant bien attention qu’elle ne contienne pas de caractères non autorisés.

Dans le cas d’envoi à une liste, il est également possible de personnaliser le message pour chaque contact de cette liste à l’aide des variables :

##NOM##, ##PRENOM##, ##USR1##, ##USR2##

liste:axialys

contenu:Bonjour ##PRENOM## ##NOM##, vous avez gagné ##USR1##

Il est ensuite possible de programmer l’envoi à une date donnée ou de fixer une date de fin de validité avec respectivement les variables ‘date’ et ‘ttl’.

Attention, ces variables devront toujours préciser la variable ‘contenu’.

Et enfin, vous disposez de 3 variables vous permettant d’identifier vos envois ou éventuellement faciliter la facturation de vos clients : ID, ID2 et ID3.

liste:axialys

date:20111010101010

ttl:20111020101010

Haut de page

9. Envoi des SMS via FTP

L’envoi des SMS peut être effectué par dépôt d’un fichier FTP. Le dépôt est constitué des répertoires ci-dessous :

  • attente : dossier dans lequel doit être déposé le fichier à traiter
  • traitement : données en cours de traitement
  • archive : sauvegarde des données traitées.

Le fichier à traiter doit être au format ISO-8859- 1, sauf si l’on souhaite utiliser les caractères étendus ; dans ce cas le fichier sera au format UTF-8 et devra obligatoirement avoir le format suivant : « *_ETENDU.csv ».

Les colonnes disponibles sont :

  • ID : identifiant message
  • e164 : numéro de téléphone auquel envoyer le SMS
  • contenu : message à envoyer
  • date : date d’envoi du message
  • emetteur : nom à afficher dans l’émetteur du message
  • ttl : non utilisé
  • ref : référence du message
  • marketing : permet d’activer le mode marketing quand le champ est à « 1 ».
  • inutilisé
  • URL : l’URL qui sera remplacé par un short URL, elle n’est valable qu’un mois, le lien sera sous la forme « axia.ly/XXXXXXX » sans le préfixe http/https que tout mobile est en mesure d’interpréter aujourd’hui. Dans le cas de l’utilisation du shorturl, ne pas oublier d’utiliser dans le message «##TRACKINGURL## » qui sera remplacé par la short URL.
Attention ce champ n’est utilisé que si votre compte a accès aux envois marketing et aux alertes.

Haut de page

10. Annexes

Voici la liste des codes erreurs retournés :

Code Description
1 Méthode non trouvée
2 Problème d’identification
3 La liste retournée est vide
4 L’ajout d’un abonné a échoué
5 La suppression d’un abonné a échoué
6 Le champ numéro est mal rempli
7 Aucune liste ou numéro de destination n’a été configuré(e)
8 Aucun message n’a été paramétré
9 La date limite est inférieure à la date d’envoi
10 Envoi échoué
13 Erreur interne

Les messages d’erreur ont la forme suivante : NO;<code erreur>;<message d’erreur>

Voici la liste des différents états par lesquels un message envoyé peut passer :

Code Description
1 Message envoyé
2 Problème plateforme
5 Message expiré
6 Syntaxe invalide
7 Hors zone de couverture
8 Erreur inconnue
9 Service temporairement indisponible
10 Abonné inconnu
11 Numéro porté
12 En cours
13 Message reçu
14 Destination non incluse dans le forfait
15 Destination black-listée
16 Téléphone incompatible
17 Solde insuffisant
18 Message indélivrable
20 En attente d’envoi
21 En attente d’envoi massif (interne)
23 Numéro invalide
24 Abonné inaccessible

Le jeu de caractères supporté par Axialys dans le contenu du message est un sous ensemble du ISO-8859- 1. Comme défini dans le tableau ci-dessous.

ATTENTION, si le client envoie un caractère en dehors de la  liste ci-dessous, il sera remplacé par un caractère similaire, voir supprimé. Pour forcer l’utilisation de caractères non latin, il faut configurer la variable «mode_envoi » avec la valeur « ETENDU » . 
Pour forcer l’utilisation de caractères non latin, il faut configurer la variable «mode_envoi » avec la valeur « ETENDU ».

Haut de page

11. Modifications/Evolutions

Date Version Modifications/évolutions
08/2017 1.8 Gestion des shorts URL.
01/2015 1.7 Gestion des caractères étendus
06/2014 1.6 Gestion du STOP et du retour
02/2013 1.5 Mise à jour
04/2011 1.3 Personnalisation de l’émetteur
10/2010 1.2 Possibilité d’envoyer un SMS par mail
01/2008 1.1 Version initiale

Haut de page

  • Axialys S.A © 2021 Tous droits réservés