L’envoi de SMS par Icodia

Envoyez des SMS via votre logiciel de messagerie ou un webservice directement depuis votre site.

Le principe de base est le suivant :

Vous envoyez un email (via la fonction mail de php par exemple ou depuis votre client de messagerie préféré) à une adresse spécifique avec comme contenu un identifiant et mot de passe, le contenu du message, les numéros de téléphone.
Cet email est ensuite converti par nos robots en envoi SMS.

Concernant l’envoi en lui même :

1 SMS = 160 caractères maximum

Il est possible d’envoyer des SMS de plus de 160 caractères, mais dans ce cas, un envoi inférieur à 320 caractères par exemple, mais supérieur à 160, utilisera 2 unités.

Voici la liste des caractère qui comptent pour un caractère :
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 _!?&()*+,-.=

Voici la liste des caractère qui comptent pour deux caractères :
‘\»#%/:;<>@{|}~÷àáâãäçèéêëìíîïñòóôõøùúûüÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕØÙÚÛÜ

Les accents comptent pour deux caractères.

Tarifs :

Il faut précréditer un compte.

Aucun précrédit n’est remboursable, même partiellement, car Icodia obtient ses tarifs auprès des opérateurs par le même biais.

Le tarif par SMS est unique, quel que soit l’endroit où se trouve le mobile dans le monde.

>> Consulter la grille des tarifs

(Chaque SMS envoyé, quel que soit l’état de réception est facturé)

Protocole technique :

/!\ Attention :

Suite à des fraudes récentes d’usurpation du numéro émetteur,
certains opérateurs peuvent bloquer sans avis les sms utilisant un  numéro téléphonique dans le champ expéditeur.
Nous vous conseillons donc d’utiliser un ID alphanumérique (votre nom expéditeur), et non un numéro de téléphone existant
dans le champ sourceid.

Envoyer les SMS par email

 

L’email est à adresser sur : robotsms@icodia.com.

Le sujet de l’email n’a aucune influence et peut être vide.

Le contenu de l’email est le suivant :

command=sendsms
accountid=votre_compte_fourni_par_icodia
password=votre_mot_de_passe_fourni_par_icodia
text=votre_contenu_sms
(les caractères autorisés sont : abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ‘_!?\ »#%&()*+,-./:;<>?@{|}~÷=àáâãäçèéêëìíîïñòóôõøùúûüÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕØÙÚÛÜ )
encoding=plain
(‘plain’ ou ‘unicode’. plain : si il n’y a que des caractères type lettres chiffres, unicode pour tout le reste).
sourceid=votre_numéro_expéditeur_ou_nom_expediteur
(il doit contenir maximum 11 caractères, voici les caractères autorisés : ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.0123456789 + (et « espace ») )
receps=numéros_de_téléphone_de_réception_au_format_international_séparés_par_des_points_virgules_si_plusieurs
mailfrom=adresse(s)_email_de_notification_de_l_état_de_l_envoi_séparées_par_des_points_virgules_si_plusieurs

exemple :

 

Utilisation d’ un script PHP

Pour envoyer un SMS :

&amp;lt;?php
$message ='command=sendsms'."\n";
$message .='accountid=votre_compte_fourni_par_icodia'."\n";
$message .='password=votre_mot_de_passe_fourni_par_icodia'."\n";
$message .='text=Ceci est un envoi de test!'."\n";
$message .='encoding=plain'."\n";
$message .='sourceid=votre_numéro_expéditeur_ou_nom_expediteur'."\n";
$message .='receps=336xxxxxxxx;336xxxxxxxx'."\n";
$message .='mailfrom=email@votredomaine'."\n";
mail('robotsms@icodia.com','', $message);
?&amp;gt;

Pour connaître votre crédit sms restant :

la fonction « smscredit » est à votre disposition.

Exemple:

&amp;lt;?php
$message ='command=smscredit'."\n";
$message .='accountid=votre_compte_fourni_par_icodia'."\n";
$message .='password=votre_mot_de_passe_fourni_par_icodia'."\n";
$message .='mailfrom=email@votredomaine'."\n";
mail('robotsms@icodia.com','', $message);
?&amp;gt;

Vous recevrez alors par email (mailfrom) votre crédit sms.

Pour tester un envoi de SMS sans faire l’envoi réel :

afin de vérifier tous les tests préliminaires par rapport à la syntaxe du robot. :

Note : cette commande de test ne décompte pas de crédit SMS

&amp;lt;?php
$message ='command=sendsmstest'."\n";
$message .='accountid=votre_compte_fourni_par_icodia'."\n";
$message .='password=votre_mot_de_passe_fourni_par_icodia'."\n";
$message .='text=Ceci est un envoi de test!'."\n";
$message .='encoding=plain'."\n";
$message .='sourceid=votre_numéro_expéditeur_ou_nom_expediteur'."\n";
$message .='receps=336xxxxxxxx;336xxxxxxxx'."\n";
$message .='mailfrom=email@votredomaine'."\n";
mail('robotsms@icodia.com','', $message);
?&amp;gt;

Pour vérifier l’état du service :

la fonction « etatservice » est à votre disposition.

Exemple:

&amp;lt;?php
$message ='command=etatservice'."\n";
$message .='accountid=votre_compte_fourni_par_icodia'."\n";
$message .='password=votre_mot_de_passe_fourni_par_icodia'."\n";
$message .='mailfrom=email@votredomaine'."\n";
mail('robotsms@icodia.com','', $message);
?&amp;gt;

Le robot renvoie alors :

  • « OK » => tous les services sont disponibles
  • ou « KO » ou pas de réponse =>une erreur sur le robot pour délivrer les sms.

Dans le cas du robot via email, en cas d’erreur inférieure à 60mn, le robot réessayera de délivrer les messages avant de renvoyer un message d’erreur.

Autres possibilités d’envoi :

Vous pouvez effectuer vos envois via une url en « GET » toujours sur le même principe de fonctionnement:

https://websrv.icodia.com/sms/?command=sendsms&accountid=votre_compte_fourni_par_icodia&password=votre_mot_de_passe_fourni_par_icodia&text=Ceci est un envoi de test!&encoding=plain&sourceid=votre_numéro_expéditeur_ou_nom_expediteur&receps=336xxxxxxxx;336xxxxxxxx

Le principe est le même pour visualiser son crédit sms:

https://websrv.icodia.com/sms/?command=smscredit&accountid=votre_compte_fourni_par_icodia&password=votre_mot_de_passe_fourni_par_icodia

Encore plus simple : la fonction ICOSMS sur les hébrgements mutualisés Icodia

Une fonction php a également été ajoutée sur la plateforme mutualisée pour une utilisation simplifiée, il s’agit de la fonction « icosms » :

&amp;lt;?php
icosms("commande","id","pass","texte sms","expediteur","liste  destinataire séparée par ';'");
?&amp;gt;

Exemple pour l’envoi de SMS:

&amp;lt;?php

echo icosms("sendsms","votre_compte_fourni_par_icodia","votre_mot_de_passe_fourni_par_icodia","Ceci est un SMS !","votre_numéro_expéditeur_ou_nom_expediteur","336xxxxxxxx;337xxxxxxxx");

?&amp;gt;

Pour visualiser votre crédit SMS, même principe :

&amp;lt;?php

echo icosms("smscredit","votre_compte_fourni_par_icodia","votre_mot_de_passe_fourni_par_icodia","","","");

?&amp;gt;

Pour tester un envoi de SMS sans faire l’envoi réel,

afin de vérifier tous les tests préliminaires par rapport à la syntaxe du robot. :

Note : cette commande de test ne décompte pas de crédit SMS

&amp;lt;?php

echo icosms("sendsmstest","votre_compte_fourni_par_icodia","votre_mot_de_passe_fourni_par_icodia","Ceci est un envoi de test!","votre_numéro_expéditeur_ou_nom_expediteur","336xxxxxxxx;337xxxxxxxx");

?&amp;gt;

Liste des retours possibles du robot, en mode webservice ou e-mail :

[1001] : Tout s'est bien déroulé.
[3001] : Erreur, trop de tentatives, merci de réessayer ultérieurement; Lorsque l'utilisateur fait trop d'erreurs pendant plus de 400 secondes, il est blacklisté 120 secondes.
[4001] : Désolé, mais l'identifiant / mot de passe utilisé est inconnu sur ce système.
[4009] : Il ne reste plus suffisamment de crédit SMS pour effectuer cette opération (sms restants: {NBCREDS}, à envoyer: {NBDESTLIST})
[4011] : Désolé, mais la commande demandée n'existe pas. Envoi une demande avec un requête commande inconnue
[4102] : Désolé, mais le sourceid ne peut dépasser 11 caractères (uniquement lettres et chiffres). Mauvais formatage de l'id expéditeur
[4103] : Désolé, mais il n'y a pas de "champ" destinataire.
[4104] : Désolé, mais le format des numéros destinataires n'est pas correct.
[4105] : Désolé, mais le texte sms est trop long (maximum 320 caractères, les accents et caractères spéciaux comptant double). -> erreur si sms fait plus de 320 caractères.
[4106] : Désolé, mais le texte sms contient des caractères invalides.
[4107] : Désolé, mais le texte sms n'existe pas... pas de texte à envoyer.
[4108] : Désolé, l'encodage de votre texte est inconnu dans notre outil.
[4109] : Le format du numéro FR destinataire est incorrect.
[4199] : Désolé, mais certains paramètres sont manquants ou erronés. Erreur générique coté client.
[5001] : erreur serveur ou erreur inconnue du robot. Réessayer plus tard.
[5011] : Désolé, mais la plateforme opérateur sms destinataire n'est pas accessible pour le moment.
[5012] : Votre liste contient des numéros impossibles. Merci de vérifier
[5202] : Impossible d'envoyer au destinataire, destinataire inconnu

 

 

N’hésitez pas à nous contacter pour plus d’informations.