-I- TUTORIEL PLATEFORME FASTSMS NOVADIAL

L’interface FASTSMS propose la possibilité de créer et de gérer des campagnes de SMS.
Elle propose donc la possibilité de créer des modèles de message, des envois unitaires à des fins de test et la gestion de listes de contacts.
L’interface est disponible à l’adresse : https://fastsms.novadial.fr/

La gestion des campagnes est scindée en deux parties, la gestion des campagnes et la gestion des modèles de SMS.

2.1 Gestion des campagnes

La page de gestion des campagnes affiche une liste de toutes les campagnes prêtes à partir avec un court descriptif. Cette liste peut être triée par nom de campagne, par date d’envoi ou par statuts et une recherche par nom de campagne et date minimale d’envoi des campagnes peut être effectuée (par exemple : Une campagne démarrant le 31 décembre 2018 sera affichée si la date recherchée est le 12/12/2018).

Une campagne peut être mise en pause, et toujours présente dans la liste, éditée ou supprimée pour toujours. Lorsqu’une campagne est en pause, il est possible de l’arrêter et de la faire disparaître de cette liste, pour apparaître dans la liste des statistiques, ou redémarrée.
Un indicateur de statut vous montre le statut actuel ainsi qu’une barre de progression dans la colonne appelée «Statut»



2.2 Modèles de SMS

Les modèles de SMS peuvent être utiles pour créer un SMS et le réutiliser plusieurs fois lors des créations de campagnes. Un modèle de SMS peut être créé en cliquant sur le bouton “Ajouter” ou durant la création de campagnes en sauvegardant le message en tant que modèle dans l’édition du contenu du message.
Un modèle de message est composé d’un nom, pour être identifiable dans la création de campagnes, et d’un contenu qui va être réutilisé. Le compteur présent sous la zone d’édition affiche le nombre de caractères ainsi que le nombre de SMS utilisé par ce contenu.

Attention : Les caractères spéciaux peuvent réduire le nombre de caractères autorisés par message à 70.


Appuyer sur “Sauvegarder” pour enregistrer le modèle. Lorsqu’un modèle est enregistré, il apparaît dans la liste et peut être édité (pictogramme crayon) ou supprimé (pictogramme croix).

3.1 Mode de "création de campagne"

La création de campagnes est scindée en cinq étapes :


D’abord, créer une campagne. Donner un nom à cette campagne afin de l’identifier dans la liste.
Vous pouvez spécifier un émetteur personnalisé qui s’affichera sur le téléphone du destinataire.
Attention, cette fonctionnalité peut ne pas fonctionner chez certains opérateurs.
Vous pouvez marquer la campagne comme un envoi BAT (Bon à Tirer).
Vous pouvez aussi «copier une campagne précédente» en cliquant sur le lien “charger avec les paramètres d'une campagne précédente” et valider avec “Copier”. L’interrupteur «Sélectionner une campagne BAT» permet de n’afficher dans la liste déroulante de campagnes précédentes uniquement celles qui ont été marquées comme BAT.

L’étape suivante propose deux modes d’envois : « Envoi à une liste » et « Envoi par copier/coller» (que nous verrons plus loin).

L’«Envoi à une liste» utilise les listes de contact déjà existantes. Vous pouvez «créer une nouvelle liste de contacts» en cliquant sur le bouton portant ce label et en envoyant un fichier CSV, ou un fichier texte contenant des numéros de téléphone avec un des séparateurs suivants : un “;” (point-virgule) ou une “,” (virgule) ou une “|” (barre verticale) ou une TAB (tabulation). L'étape suivante permet d’exploiter un fichier CSV en choisissant la colonne contenant les numéros de téléphone et le format si celui-ci n’a pas été détecté automatiquement

Après la création d’une liste, celle-ci apparaît dans la colonne de gauche. Cliquer sur «ajouter» pour ajouter la liste à la colonne de droite et donc sélectionner cette liste d’envoi. Si plusieurs listes contiennent les mêmes numéros, vous pouvez «supprimer les doublons» en cliquant sur “Synthèse des destinataires” , le détail de la suppression apparaît. Vous pouvez aussi choisir de «filtrer par une campagne précédente» pour éviter l’envoi multiple à des contacts d’une même campagne.

L’ «envoi par copier/coller» permet de coller une liste de contact au format “numéro;Nom;Prénom” et de cliquer sur “Importer”. L’étape suivante propose de valider les colonnes et de sélectionner laquelle correspond aux numéros de téléphone et la possibilité de supprimer les numéros en liste noire.
L’écran suivant affiche un résumé de l’opération.

La troisième étape crée le contenu de la campagne. Vous pouvez créer un contenu dynamique en cliquant sur les boutons correspondant aux champs saisis dans l’étape précédente. Le nombre de caractères affiché entre parenthèses affiche le coût maximal en caractère trouvé dans la colonne.

Le bouton “Créer un lien court” permet de créer des liens courts internes (utilisant un moteur interne à FastSms) via le formulaire suivant :

Création du lien court réussie : Une fois que le lien court a été créé, vous pouvez fermer la fenêtre en utilisant le bouton «Valider» ou générer un nouveau lien court (qui remplacera le précédent).
De retour sur l’écran de rédaction du message, vous pourrez apercevoir sous la zone de rédaction du message les boutons suivants : “Modifier le lien court” et “Insérer le lien court”
Le bouton «Insérer le lien court» permet d’insérer, à la position actuelle du curseur, le code pour l’url courte (de la même manière que les champs dynamiques). Le bouton «Modifier le lien» permet d’afficher à nouveau l’écran de création de lien court.
Remarque : Lorsque la variable URL est disponible et utilisée dans le message, l’url associée à chaque contact sera automatiquement remplacée par une url courte.

Le bouton “Créer un lien image” affiche un écran qui vous permet de créer une url courte vers une image ou une vidéo.
Une fois que l’url courte a été créée, vous pouvez fermer la fenêtre en utilisant le bouton «Valider» ou générer un nouveau lien image (qui remplacera le précédent).
De retour sur l’écran de rédaction du message,vous pourrez apercevoir sous la zone de rédaction du message les boutons suivants : “Insérer le lien image” et “Modifier le lien image”.
Le bouton «Insérer le lien image» permet d’insérer, à la position actuelle du curseur, le code pour l’url courte (de la même manière que les champs dynamiques).
Le bouton «Modifier le lien» permet d’afficher à nouveau l’écran de création de lien image. La case à cocher «Statistiques de clic sur le lien par destinataire» permet d’obtenir par la suite soit un compteur de clic pour chaque destinataire de la campagne soit un simple compteur général.
Le contenu peut être enregistré en tant que modèle en cliquant sur «Sauvegarder le message en tant que modèle…» et en lui donnant un nom. Ou, vous pouvez choisir d’utiliser un modèle en le choisissant dans le sélecteur (attention, cela a pour effet de remplacer le contenu déjà présent).

La quatrième étape programme l’exécution de la campagne.
À cette étape, vous pouvez envoyer un SMS de test, à un numéro spécifique. Ce numéro peut être utilisé pour être le premier et/ou le dernier à recevoir le message de la campagne.

test-sms.jpg
Ensuite, il est nécessaire de programmer la date de départ de l’envoi de la campagne. Si la programmation est antérieure à maintenant, la campagne sera envoyée immédiatement. Il est possible de limiter l’envoi de la campagne dans un intervalle de temps, et de choisir la fréquence maximale d’envoi des messages ou choisir d’envoyer un nombre de messages par minutes (max. x SMS / min) et préciser le nombre de messages maximum.
programmation-sms.jpg
Il est aussi possible de choisir de mettre en pause la campagne à un moment spécifique (par exemple, après un nombre fixe de message ou à une heure précise)
interruptions-sms.jpg
Enfin, il est possible de choisir la récurrence de l’envoi des campagnes. Par exemple, 10 messages, tous les dimanches à 14:00
cadencement-sms.jpg

La dernière étape résume les paramètres de la campagne, vous pouvez les valider et la campagne sera programmée.

3.2 Mode "Envois à une liste Copier/Coller"

La création de campagnes est scindée en cinq étapes :

Les étapes 1, 3, 4 et 5 sont les mêmes que pour le mode “création de campagne” détaillée un peu plus haut.
L’étape 2 “Liste d'envois” propose de coller du texte au format CSV avec un des séparateurs suivants : un “;” (point-virgule) ou une , (virgule) ou un “|” (barre verticale) ou une “TAB” (tabulation). Après, une page permet d’exploiter le CSV en choisissant la colonne qui contient les numéros de téléphone et le format s’il n’est pas détecté automatiquement. Toutes les colonnes peuvent être exploitées dans la création du contenu.

3.3 Mode "Annuaire"

Dans ce mode d'envoi, on utilise des listes de contact pour ajouter des destinataires. Il est aussi possible de créer de nouvelles listes par copier/coller ou en important un fichier CSV (bouton Importer un fichier de destinataire) lors de cette étape.
Vous pouvez aussi utiliser les listes déjà créées en choisissant une liste complète (Bouton “Listes de diffusion”) ou des destinataires présents dans ces listes (bouton “Destinataires”). Tous les contacts sélectionnés sont automatiquement inclus et comptés dans la colonne de droite. Si vous souhaitez voir le détail des contacts sélectionné, cliquez sur “Visualiser les destinataires” ou, si vous souhaitez tous les supprimer, cliquez sur “Vider la liste d'envoi”.

La page d’envoi de message unitaire permet l’envoi un message unique à un (ou plusieurs) numéro de téléphone. Tous les messages envoyés sont décomptés du crédit, par exemple, un message envoyé à 8 destinataires coûtera huit crédits.
En dessous de la zone de contenu du message, un compteur affiche le nombre de caractères du message ainsi qu’un compteur du nombre de messages que le contenu va utiliser.

sms-unitaire.jpg Le champ « Personnalisation de l’émetteur» permet d’afficher sur le téléphone du correspondant, si l’opérateur de ce dernier le supporte, un nom spécifique au lieu du numéro de téléphone.
Dans le champ «Numéro de téléphone», des numéros peuvent être fournis dans les deux formats.
Par exemple, en France, vous pouvez fournir un numéro au format 06xxxxxxxx ou au format international +336xxxxxxxx.
Pour éviter des erreurs, il est recommandé d’utiliser le format international.
Enfin, le champ «Message» est dédié au contenu du message.
Après avoir cliqué sur le bouton envoyer, un nouveau bloc apparaît au-dessus de la zone et vous montre la progression de votre envoi.

5.1. Envois automatiques

La page “envois automatiques” affiche, jour par jour, les données statistiques. Les données peuvent être exportés en cliquant sur le pictogramme export-stats.jpg et les statistiques du jour, si disponibles, s’affichent en cliquant sur la date.

5.2 Listes

Cette page affiche une liste des campagnes ainsi que leurs statuts et de rapides statistiques avec le nombre de SMS envoyés. En cliquant sur le nom de la campagne, une nouvelle page apparaît avec des statistiques détaillées.
Seules les campagnes arrêtées ou en pause peuvent afficher des statistiques.
stats-sms1.jpg

5.3 Statistiques générales

Les statistiques générales proposent une vue globale de l’ensemble des statistiques de toutes les campagnes. Vous pouvez choisir de limiter vos données à un intervalle précis en choisissant une “date de début” et une “date de fin”

5.4 Statistiques cumulées des sous-comptes

La page «Statistiques cumulées des sous-comptes» affiche des statistiques globales pour les sous-comptes directs avec et sans émetteur personnalisé.
Ces statistiques sont affichables jours par jours ou mois par mois et l’intervalle peut être personnalisé.

5.5 Statistiques de tous les sous-comptes

La page «Statistiques de tous les comptes» affiche des statistiques pour tous les sous-comptes avec ou sans émetteur personnalisé.
Ces statistiques sont affichables jours par jours ou mois par mois et l’intervalle peut être personnalisé.
Il est possible de filtrer les sous-comptes par super-utilisateurs. stats-sscomptes.jpg

5.6 Statistiques de lien image

Cette section permet d’avoir un retour sur le nombre de clic qu’il y a eu sur les liens image utilisées dans les campagnes sms

5.7 Statistiques d'url courtes internes

Cette section permet de visualiser pour chaque campagne:

  • Le nombre de sms envoyés
  • Le nombre de sms dont le lien a été cliqué
  • Le nombre total de clic sur le lien tout destinataire confondus

stats-urls.jpg

La vue détaillée permet pour chaque destinataire de la campagne de connaître :

  • L’url cible
  • Le message du sms
  • Le nombre de clics sur le lien
  • L’horaire du dernier clic sur le lien

La partie contacts est utilisée pour gérer les listes de contacts.
Par exemple, gérer les numéros mis en liste noire ou fusionner plusieurs listes de contacts en une.

6.1 Listes de contacts

Cette page liste les contacts déjà créés et permet de les trier par nom, par date de création ou par date de dernière utilisation.
Le premier clique tri dans l’ordre croissant, le second tri dans l’ordre décroissant.
Vous pouvez aussi rechercher un contact dans cette liste par nom ou par date ou choisir de les rechercher par date de création ou par date de dernière utilisation.
Vous pouvez éditer une liste ou choisir de la supprimer.
Le mode édition permet de renommer ou supprimer une liste ainsi que de rechercher, ajouter, éditer, supprimer ou mettre en liste noire un numéro de téléphone. liste-contacts.jpg

6.2 Ajouter une liste de contacts

Vous pouvez créer facilement une liste de contact avec un fichier CSV ou TEXTE contenant des numéros de téléphone.
Le format CSV accepte les “;” (point-virgule) ou les “,” (virgule) ou les “|” (barre verticale) ou les TAB (tabulation).
Le format peut être détecté automatiquement ou vous pouvez le sélectionner manuellement dans la page de validation.
Vous pouvez aussi choisir la colonne contenant les numéros de téléphone.
colonne-num.jpg

Avant de choisir de valider l’importation, vous avez la possibilité de choisir de ne pas insérer les contacts en liste noire pour réduire la liste. L’étape suivante résume le résultat de l’importation.

Vous pouvez fusionner deux listes de contacts en une seul en cliquant sur «Fusionner des listes», un panneau se déroule avec les listes existantes à gauche et les listes sélectionnées à droite.
Vous pouvez ajouter une liste à fusionner en cliquant sur ajouter dans la colonne de gauche. Vous pouvez ensuite choisir l’ordre de la fusion dans la colonne de droite.
La première liste de la liste est considérée comme la plus importante.
Pour valider, il est possible de donner un nom à cette nouvelle liste et de cliquer sur «Créer une nouvelle liste».
fusion-listes.jpg

6.3 Liste noire

Dans le menu “Blacklistes” de la section “Contacts”, vous pouvez ajouter ou supprimer des contacts de la liste noire en important un fichier CSV, ou ajouter un contact à la liste noire unitairement dans le panneau «Ajouter un numéro». Les numéros seront ajoutés au format international.
liste-noire.jpg
Vous pouvez rechercher un numéro mis en liste noire en passant ce dernier au format international dans le champ «numéro de téléphone dans le panneau «Chercher d’après une partie du numéro de téléphone».
Cette liste permet la suppression d’un numéro de la liste noire ou la réactivation de ce dernier dans cette même liste.
Vous pouvez choisir de supprimer tous les numéros, présents dans la liste noire, anciens de plus de n mois.

7.1 Liste

La liste affiche tous les sous utilisateurs, et un récapitulatif. Par exemple, vous pouvez voir dans cette liste le nombre limite de SMS pour cet utilisateur et sa consommation. Vous pouvez éditer ou supprimer un utilisateur

7.2 Compte

L’administration des comptes gère les sous-comptes. Vous pouvez créer un nouvel utilisateur en cliquant sur “Ajouter utilisateur” et en complétant les informations demandées. L’utilisateur peut être un simple utilisateur ou un super utilisateur (qui peuvent à leur tour créer des sous-utilisateurs).
Un utilisateur peut créer une campagne de quatre façons différentes :

  • -«Création de campagnes» : l’utilisateur dispose du parcours classique. Il peut créer une campagne avec une liste de contact ou par copier/coller d’un CSV.
  • -«Mode annuaire» : L’utilisateur doit créer des listes de contact avant, ou pendant, la création de campagnes.
  • -«Envoi à une liste CSV» : L’utilisateur utilise un fichier CSV, à chaque fois, pour créer des campagnes.
  • -«Envoi à une liste copier/coller» : L’utilisateur doit coller une liste de contact au format CSV lors de la première étape



Un utilisateur peut accéder à l’API, et peut être limité par une ou plusieurs adresses IP.
Si une URL est donnée à Novadial pour la gestion des SR, vous pouvez choisir de recevoir automatiquement en temps réel ou/et en différé.
Si aucune URL n’est passée, tous les choix correspondent à des SR en différé.

7.3 Configuration SMS

La configuration SMS permet de configurer une limite pour un nouvel utilisateur, en nombre de messages global ou en nombre de messages par mois. Un seuil peut être défini afin d’avertir un utilisateur d’une limite proche d’être atteinte. Un “émetteur personnalisé” peut être défini pour s’afficher en tant qu’émetteur, mais beaucoup d’opérateurs ne supportent pas cette option.
Enfin, une URL peut être définie pour orienter les MO (messages du client final).

-II- TUTORIEL API SMS FASTSMS NOVADIAL



Cette documentation présente la solution API SMS de Novadial.

Vous avez en charge la mise en place d'un formulaire qui appellera en sortie l'API en lui passant un certain nombre de paramètres.

Vous devez également prendre soin de masquer les données de sécurisation (Username, Password) à travers un script serveur.

Cela implique que les données de sécurisation ne doivent pas être transférées au navigateur client (elles seraient sinon visibles par l'utilisateur).

L'interface HTTP FASTSMS permet l'envoi de SMS à l'unité ou en masse par appel d'une requête http.



Avec l'API d'envoi, vous disposez des fonctionnalités suivantes :

  • accusés de réception
  • personnalisation de l'émetteur
  • réception des réponses (SMS-MO)
  • gestion des numéros portés
  • prise en charge des messages longs



Les sms sont acheminés via des connexions directes aux opérateurs.

Pour utiliser l'API, vous devez disposer d'un compte FastSMS (couple login/password) avec l'option API activée. Cette option est activée au préalable par Novadial.

Avec un compte nominatif, vous accédez à l'extranet de gestion des campagnes qui permet de consulter les statistiques d'envoi et de télécharger les accusés de réception.

Nombre de caractères des SMS :

  • 1 SMS = 160 caractères
  • 2 SMS = 306 caractères
  • 3 SMS = 459 caractères





Il est nécessaire de restreindre l’accès au service SMS par adresse IP. Vous devez ainsi communiquer à Novadial votre ou vos adresses IP publiques afin que Novadial les autorise.



#Whitelist IP

A l'inverse, pour les flux sortant concernent l’émission des SMS, vous pouvez vous aussi restreindre nos IP si vous le souhaitez:

• Si aucune restriction n’est mise en place sur les IPs sortantes : Les SMS partiront. • Une restriction est mise en place chez vous : il faut ajouter les plages d’IP suivantes > 109.3.194.192/27 et 149.7.0.128/27

3.1. Compte d'envoi

Il comprend 2 paramètres dédiés :

  • accountid : Transmis par email
  • password : Transmis par email



3.2. Connecteurs d'envoi unitaire

Protocole http : L’appel se fait en mode GET (encodage des paramètres obligatoires) ou en mode POST.

Paramètres obligatoires :

  • accountid : nom d’utilisateur (communiqué lors de l’activation du compte)
  • password : mot de passe (communiqué lors de l’activation du compte)
  • route_type : G (qualité d’envoi Gold, correspondant à une connexion directe aux opérateurs)
  • to : numéro de téléphone mobile du destinataire, au format national (0612345678) ou international (33612345678, +33612345678)
  • text : texte du message, ne doit pas dépasser 160 caractères pour être compatibilité comme un seul SMS, tous les caractères spéciaux doivent être url-encodés (exemple « Hello World » ⇒ « Hello%20World »)



Exemple :

https://fastsms.novadial.fr/api?accountid=mycompany&password=mypassword&text=hello&route_type=G&to=0612345678</nowiki>

Paramètres optionnels :

  • sender : nom de l’émetteur (optionnel, 11 caractères alpha-numériques maxi, doit débuter par une lettre)
  • ret_url : url à appeler pour l'envoi des accusés de réception (doit débuter par http://)
  • ret_id : votre identifiant interne du SMS



https://fastsms.novadial.fr/api?accountid=mycompany&password=mypassword&text=hello&sender=MYCOMPANY&route_type=G&ret_url=http://sms.mycompany.com&ret_id=101&to=0612345678

Le numéro de message “push_id” est renvoyé en réponse.

Exemple : 133724628

3.3. Connecteurs d'envoi de masse (multi-destinataires)

Méthode de soumission de l'envoi :

Le client envoie une requête HTTP en POST sur https://fastsms.novadial.fr/api en passant comme argument une variable nommé « xml » contenant directement le fichier XML à traiter (xml=).

En cas de succès, le résultat de requête contient l’identification unique du push “push_id” qui pourra être utilisé pour la récupération des statistiques.

En cas d'erreur lors de la validation, cet appel retourne un fichier text/plain décrivant l'erreur :

  • error: 1
  • error_code: [code d'erreur]
  • error_string: [Description de l'erreur, voir annexe]
  • line_number: [Localisation de l'erreur dans le xml transmis]
  • column_number: [Localisation de l'erreur dans le xml transmis]
  • byte_index: [Localisation de l'erreur dans le xml transmis]



A titre de test, vous pouvez également soumettre le fichier XML via le formulaire de la page d'identification de l'extranet :

https://fastsms.novadial.fr

Soumission fichier XML



Format du XML

Le fichier xml définit un envoi, il est formé d’un élément. L'envoi peut comporter plusieurs messages, chaque message peut avoir plusieurs destinataires. Certains paramètres peuvent être définis à plusieurs niveaux (exemple : start_date défini au niveau push et au niveau message). S'il est défini, le paramètre de niveau inférieur surcharge celui de niveau supérieur.

Attributs de l'élément “Push”

Attribut Description
accountid nom d’utilisateur (communiqué lors de l’activation du compte)
password mot de passe (communiqué lors de l’activation du compte)
class_type mode de réception du message par le terminal (voir détail ci-après)
route_type G (qualité d’envoi Gold, correspondant à une connexion directe aux opérateurs)
start_date jour de début d’envoi de message, format YYYY-MM-DD, si non précisé date du jour (ou du lendemain si stop_time est dépassé)
start_time heure de début d’envoi de message, si non précisé envoi immédiat
stop_time heure de fin d’envoi de message, après cette heure les messages ne sont plus envoyés. Les envois reprennent le lendemain à start_time si la valeur est définie.
sender nom de l’émetteur (optionnel, 11 caractères alpha-numériques maxi, doit débuter par une lettre)
ret_url url à appeler pour l'envoi des accusés de réception (doit débuter par http://)



Attributs de l'élément “message”

Attribut Description
ret_id votre identifiant interne, commun à tous les SMS du message
to numéro de téléphone mobile du destinataire, au format national (0612345678) ou international (33612345678, +33612345678)
class_type Vous pouvez positionner un ret_id à ce niveau. Dans ce cas, le ret_id est propre à chaque SMS mode de réception du message par le terminal (voir détail ci-après)
route_type G (qualité d’envoi Gold, correspondant à une connexion directe aux opérateurs)
start_date Jour de début d’envoi de message, format YYYY-MM-DD, si non précisé date du jour (ou du lendemain si stop_time est dépassé)
start_time heure de début d’envoi de message, si non précisé envoi immédiat
stop_time heure de fin d’envoi de message, après cette heure les messages ne sont plus envoyés. Les envois reprennent le lendemain à start_time si la valeur est définie.
sender nom de l’émetteur (optionnel, 11 caractères alpha-numériques maxi, doit débuter par une lettre)
ret_model Précise si le contenu du message texte est une référence à un modèle ou bien un message complet (valeur Y pour yes ou N pour no). Si cette valeur est Y, il faut qu'un modèle soit défini dans l'interface FastSMS, et qu'on référence ce modèle par son nom.



Utilisation de “class_type”

Valeur Description
0 Pour un message dit « flash » qui s'affiche directement sur l'écran du mobile (non-sauvegardé)
1 Pour un sms sauvegardé sur le mobile (comme un texto normal)



NB : nous vous conseillons fortement d'utiliser la valeur 1 qui est le mode de réception normal.

Utilisation de “to”

- Sous-élément “param”

Si vous utilisez un modèle de message contenant des variables, l'élément “param” permet de définir la valeur des variables pour chaque destinataire.

Attribut Description
name Nom de la variable contenu dans le modèle. Le nom doit être préfixé et suffixé par le caractère % (exemple %MAVARIABLE%)
value Contenu de la variable



NB : L'élément param peut être un sous-élément de “message” ou de “to”.

Attribut ret_id : “ret_id” est un attribut de l'élément “to”. C'est un identifiant utilisé pour tracer unitairement chaque SMS envoyé (contrairement au ret_id positionné au niveau message commun à tous les destinataires du message).

Exemples de fichiers XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE push SYSTEM "push.dtd">
<push
accountid='xxxxxxxxxxxxx'
password='xxxxxxxxxxxxx'
class_type="1"
route_type="G"
start_date="2014-01-11"
start_time="12:26"
sender="toto"
ret_url="http://sms.mycompany.com/sms_ack.php"
ret_id="push1"
>
<message>
<text>message1</text>
<to ret_id="RET_ID_1_1">+336xxxxxxxx</to>
<to ret_id="RET_ID_1_2">+336xxxxxxxx</to>
</message>
<message>
<text>message2</text>
<to ret_id="RET_ID_2_1">+336xxxxxxxx</to>
<to ret_id="RET_ID_2_2">+336xxxxxxxx</to>
</message>
</push>



Avec utilisation d'un modèle de message (attribut param)

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE push SYSTEM "push.dtd">
<push
accountid='dev_nti'
password='DoKk81zedSDEM'
class_type="1"
route_type="G"
start_date="2014-01-11"
start_time="10:30"
sender="toto"
ret_url="http://sms.mycompany.com/sms_ack.php"
>
 <message ref_model="Y">
  <text>TEST</text>
   <to ret_id="RET_ID_3">
    <param var="%NOM%" value="JULIEN3" />
    +336xxxxxxxx
   </to>
 </message>
</push>



Note relative à l'encodage

Pour que le XML soit correctement formaté certains caractères doivent être encodés

& &amp;
< &lt;
> &gt;



Pour les contraintes générales d'encodage des smstext, voir le chapitre CARACTERES AUTORISES DANS LE CONTENU DES MESSAGES.

3.4. Accusés de réception et suivi statistique



Vous disposez de 3 méthodes de récupération des accusés de réception :

* au fil de l'eau, envoi sur l'url indiquée dans le paramètre ret_url

* par téléchargement sur l'extranet

* à la demande, par appel du web-service Fastsms



3.4.1 Au fil de l'eau, envoi sur l'url indiquée dans le paramètre ret_url



Notre serveur appelle l'url indiquée dans le paramètre ret_url à chaque changement d’état du SMS. Les IP à autoriser chez vous sont :
Site Principal * 109.3.194.192/27 * 149.7.0.128/27

Site de secours * 130.117.8.112/28 * 130.117.9.128/28 * 85.90.54.192/28



http://sms.mycompany.com?push_id=<push_id>&ret_id=<ret_id>&to=<to>&text=<text>&status=<status>



Exemple de données reçues :

status : 6
ret_id : 101
text : hello
to : 0612345678
push_id : 133724626


Dans le cas d'un sms délivré, vous recevez 3 accusés de réception successivement avec les status :


• 3 : pris en compte par la plateforme d'envoi
• 4 : envoyé à l’opérateur
• 6 : reçu par le destinataire
La liste exhaustive des codes statuts est donnée en annexe.


3.4.2 Par téléchargement sur l'extranet

Vous pouvez également consulter les statistiques quotidiennes d'envoi API et télécharger les accusés de réception sur l'extranet, rubrique “Statistiques”, sous-rubrique “Envois automatiques”.

Url de l'extranet : https://fastsms.novadial.fr

Statistiques dans les Envois automatiques

Le fichier téléchargé est au format CSV



Dans le cas d'un SMS délivré, vous recevez 3 accusés de réception successivement avec les statuts :

  • 3 : pris en compte par la plateforme d'envoi
  • 4 : envoyé à l’opérateur
  • 6 : reçu par le destinataire



La liste exhaustive des codes statuts est :

  • NOT_SENT⇒1 (non encore envoyé à l’opérateur)
  • ERROR⇒2 (erreur au niveau de la plateforme d'envoi)
  • QUEUE⇒3 (pris en compte par la plateforme d'envoi)
  • SENT⇒4 (envoyé à l’opérateur)
  • RECEIVED⇒6 (reçu par le destinataire)
  • ERROR_NPAI⇒11 (“N’habite Pas à l’Adresse Indiquée” : l’opérateur contacté ne connaît pas ou plus ce numéro)
  • ERROR_EXPIRED⇒12 (pas de réception de RECEIVED après SENT au bout d’un certain délai, en général 24h)
  • ERROR_INVOP⇒13 (opérateur invalide, numéro non rattaché à une tranche opérateur)
  • ERROR_NETWORK⇒14 (problème réseau lors de l’acheminement)
  • ERROR_CREDIT⇒15 (crédit insuffisant)
  • ERROR_UNKNOWN⇒16 (autres erreurs)



3.4.3 A la demande, par appel du web-service Fastsms

Il est possible d’appeler l'API pour connaître le statut individuel d’un message. Cette fonctionnalité doit être réservée à un emploi ponctuel (pas d’appel récurent tant que l’accusé n’est pas disponible).


La requête se fait en appelant :

https://fastsms.novadial.fr/status?id=<push_id>



L’identifiant passé en paramètre est le push_id, renvoyé par le serveur dans la réponse quand il est sollicité pour l’envoi. Le retour est au format XML :
<?xml version="1.0" encoding="iso-8859-1"?> <statuses> <sms> <id>sms_id</id> <ret_id>ret _id</ret_id> <code>sms_status</code> <text>lib Statut</text> </sms> </statuses>

"sms_id" est l’identifiant unique du sms. "sms_status" et "lib_status" correspondent à l’état du SMS (voir annexe)

Exemple :

https://fastsms.novadial.fr/status?id=126427588 renvoie :
<statuses> <sms> <id>12699496</id> <ret_id>575456</ret_id> <code>6</code> <text>RECEIVED</text> </sms> </statuses>

3.5. Réponses (SMS-MO)

Les SMS MO de réponse peuvent vous être envoyés sur l'url de votre choix en GET. Cette url doit-être paramétrée à la création de votre compte. Elle peut contenir un début de chaine de paramètres.

Les IP à autoriser chez vous sont : 149.7.0.131, 149.7.0.154, 149.7.0.155, 149.7.0.141 et 109.3.194.205.

En cas de timeout de votre url, il y a 2 tentatives de ré-émission à intervalle d'une minute chacune.

Principaux paramètres reçus :

  • RECEPTION_DATE : 2013-01-25 10:35:04
  • ORIG_MESSAGE : test
  • ORIG_DATE : 2013-01-25 10:33:59
  • FROM : +33607145246
  • MESSAGE : Reponse
  • ORIG_ID : 133724626



La réception de réponse n'est possible que si l'émetteur n'est pas personnalisé. Si vous souhaitez quand même personnaliser l'émetteur, indiquez dans le SMS initial “envoyez votre réponse au 36105”.

Votre url peut répondre par :

« Reply: <Texte du message réponse> »

Auquel cas un nouveau SMS est renvoyé au destinataire initial.

Nous black-listons au niveau de la plateforme les numéros destinataires suite à un dépôt de plainte auprès des opérateurs.
Le désabonnement du fichier d'envoi est sous la responsabilité de l'utilisateur de la plateforme d'envoi.
Vous devez donc mettre en œuvre à votre niveau les procédures de désabonnement nécessaires (en utilisant l'url de réponse ou par tout autre canal de relation avec vos abonnés).

  • Récupération des réponses au format CSV

Pour récupérer les réponses (dont les STOP) correspondant à un envoi via l’API, il est nécessaire de faire un appel au webservice « answer » avec le ret_id du push. Dans notre exemple avec https://fastsms.novadial.fr comme root url : https://fastsms.novadial.fr/answer.php?accountid=fred&password=xpasswordx&ret_id=12345&start_date=2017-03-10

Ce WebService est prévu pour être utilisé après une campagne pour en récupérer les STOPS. Il peut être pénalisant si on cherche sur une plage de date trop importante. Aussi dans tous les cas, la recherche ne s’effectue que sur les 40 derniers jours.

Paramètres

Le fichier généré est au format CSV et contient les colonnes suivantes :

  • Récupération des réponses par url de retour

Si l’utilisateur répond au SMS (STOP), le contenu du SMS est renvoyé à l’url de gestion des retours, soit celle explicitement positionnée dans l’appel, soit celle configurée par défaut dans le BO du compte. Dans notre exemple c’est http://myaddress.com/TreatMO.php

Donc cette url est appelé en http au format GET avec tous les paramètres positionnés par la plate-forme.

Ci-dessous les paramètres principaux, les plus utiles.



Il est possible de contrôler le crédit restant via l'API avant d’envoyer le message.

https://fastsms.novadial.fr/credits?accountid=mycompany&password=mypassword


La réponse est un contenu XML :

<credits>
	<route>
		<type>gold</type>
		<credits>xxxx</credits>
<credits_month>xxxx</credits_month>
	</route>
</credits>



<credits> représente le crédit total restant
<credits_month> représente le crédit restant pour le mois courant


Si le compte n’est pas limité, la valeur -1 est renvoyée (0 si le crédit est épuisé)

Exemple :

<credits>-1</credits>
<credit_month>-1</credit_month>

  • NOT_SENT⇒1 (non encore envoyé à l’opérateur)
  • ERROR⇒2 (erreur au niveau de la plateforme d'envoi)
  • QUEUE⇒3 (pris en compte par la plateforme d'envoi)
  • SENT⇒4 (envoyé à l’opérateur)
  • RECEIVED⇒6 (reçu par le destinataire)
  • ERROR_NPAI⇒11 (“N’habite Pas à l’Adresse Indiquée” : l’opérateur contacté ne connaît pas ou plus ce numéro)
  • ERROR_EXPIRED⇒12 (pas de réception de RECEIVED après SENT au bout d’un certain délai, en général 24h)
  • ERROR_INVOP⇒13 (opérateur invalide, numéro non rattaché à une tranche opérateur)
  • ERROR_NETWORK⇒14 (problème réseau lors de l’acheminement)
  • ERROR_CREDIT⇒15 (crédit insuffisant)
  • ERROR_UNKNOWN⇒16 (autres erreurs)



Caractères autorisés dans le contenu des messages :


  • à l'exception des caractères LINE FEED et CARRIAGE RETURN, tous les caractères de la table ISO-8859-1 qui font également partie de la table ETSI GSM 03.38 peuvent être utilisés directement
  • les retours chariot doivent être représentés par un caractère 127 (0x7F)
  • le signe euro (EURO SIGN) doit être représenté par les deux caractères 27 101 (0x1B 0x65)
  • les caractères ETSI GSM 03.38 qui n'existent pas dans la table ISO-8859-1 n'ont pas de représentation smstext et ne peuvent donc pas être utilisés
  • les caractères ISO-8859-1 qui n'existent pas dans l'ETSI GSM 03.38 seront automatiquement convertis dans le caractère le plus proche (par exemple: ç sera remplacé par c)


IMPORTANT : les caractères de la table d'extension du GSM 03.38 : ^ { } \ [ ~ ] | € comptent comme deux caractères dans les 160 caractères autorisés dans un message.


L'utilisation de l'API d'envoi de masse impose que les caractères suivants soient encodés pour que le XML soit correctement formaté :


& &amp;
< &lt;
> &gt;





			
* XML_ERROR_NONE
* XML_ERROR_NO_MEMORY
* XML_ERROR_SYNTAX
* XML_ERROR_NO_ELEMENTS
* XML_ERROR_INVALID_TOKEN
* XML_ERROR_UNCLOSED_TOKEN
* XML_ERROR_PARTIAL_CHAR
* XML_ERROR_TAG_MISMATCH
* XML_ERROR_DUPLICATE_ATTRIBUTE
* XML_ERROR_JUNK_AFTER_DOC_ELEMENT
* XML_ERROR_PARAM_ENTITY_REF
* XML_ERROR_UNDEFINED_ENTITY
* XML_ERROR_RECURSIVE_ENTITY_REF
* XML_ERROR_ASYNC_ENTITY
* XML_ERROR_BAD_CHAR_REF
* XML_ERROR_BINARY_ENTITY_REF
* XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
* XML_ERROR_MISPLACED_XML_PI
* XML_ERROR_UNKNOWN_ENCODING
* XML_ERROR_INCORRECT_ENCODING
* XML_ERROR_UNCLOSED_CDATA_SECTION
* XML_ERROR_EXTERNAL_ENTITY_HANDLING



9.1 Description du service MailtoSMS qui fonctionne en lien avec l’API SMS

La passerelle Mail2sms envoie par SMS le contenu d'un message routé par e-mail sur une adresse définie par nos équipes lors de la création de votre compte
Le contenu de l’e-mail doit respecter un format spécifique décrit ci-après. La passerelle utilise l'API d'envoi de masse standard pour l'envoi du SMS.


Pour utiliser le mailtosms en production, Novadial devra d’abord activer le service sur votre compte SMS et vous délivrer l'adresse email à laquelle il faudra envoyer votre message.

9.2 Format de l’e-mail

N.B : Les emails ne seront routés vers l'API que s'ils sont formatés en texte brut. Si vous utilisez un outil de type php pour envoyer des emails cela fonctionnera sans problème, cependant si vous utilisez des clients email tels qu'Outlook (ou autres) pour tester le service, les formats de texte html ou texte enrichi ne fonctionneront pas. Optez alors pour le texte brut.
Seul le corps de l’email est pris en compte, le sujet et l'expéditeur n'influent pas sur l'envoi.

Le corps de l’e-mail doit avoir le format suivant :

/;*+-/;User=xxxxxxxxxxx;Password=xxxxxxxxxxxxxxxxx;DateEnvoi=2016-01-06 09:12:00;Signature=test;Phone=+33612345678;Message=test4;*+-/;/



  • /;*+-/; : délimiteur de début de la chaîne utile au traitement
  • User : utilisateur du compte
  • Password : mot de passe du compte
  • DateEnvoi : date et heure souhaitées de l'envoi du SMS au format AAAA-MM-JJ HH:MM:SS (facultatif)
  • Signature : expéditeur du SMS (doit être une chaîne alphanumérique) : ex : NOVADIAL (facultatif)
  • Phone : destinataire du SMS (format pris en charge : 6xxxxxxx - 06xxxxxxx - +33xxxxxxxxx -
  • Message : texte du SMS
  • ;*+-/;/ : délimiteur de fin de la chaîne utile au traitement


Pour envoyer à plusieurs destinataires, les numéros doivent être séparés par une virgule dans la variable Phone.

9.3 Format du message et de la signature

Le service Mail to sms utilise le corps de l'email pour générer un fichier XML contenant les informations du SMS qui est ensuite posté via l'API standard.

Les caractères &, <, >, ', “ et € sont supportés dans le contenu du message. Se référer à la section de l'API d'envoi de masse pour l'encodage des caractères réservés XML.

Notre support est disponible du lundi au vendredi de 9h à 12h et de 14h à 18h, vous pouvez envoyer un email directement à support@novadial.org qui créera automatiquement un ticket sur notre outil de support. Si vous souhaitez créer un compte afin de retrouver l'historique de vos demandes de supports, cliquez sur ce lien : https://prod.novadial.fr/tickets/account.php?do=create

  • index.txt
  • Dernière modification: 2022/05/24 16:50
  • par novadmin