section-9134a21

API-LAMPUSH

section-1
1 Portée

LAMPUSH est une solution pour envoyer des SMS en utilisant l'interface d'un ordinateur. LAMPUSH propose deux interfaces:
-­­ via Web: l'utilisateur se connecte via un navigateur ;
--­ via API: l'application du client échange des informations automatiquement avec la plateforme de LAfricaMobile. Ce document décrit la seconde manière et explique comment utiliser cette API.

section-2
2 Paramètres du compte
2.1 Pré-­­requis

Pour utiliser cette API, vous avez besoin d'un compte valide. Lors de la création de votre compte, LAfricaMobile doit vous donner:

-­­ Un login (nommé aussi accountid)
-­­ Un mot de passe
Cette paire identifiant / mot de passe est utilisée comme paramètres d'identification dans l'API et peut aussi être utilisée pour se connecter à la plateforme LAMPUSH via votre navigateur.

Figure 1: Connexion à la plateforme via le navigateur

2.2 Variables utilisées dans la documentation

Dans ce document, nous utilisons les valeurs ci-­­dessous. Les vraies valeurs vous seront transmises par notre équipe technique ou par votre propre configuration (pour les paramètres dépendant de votre côté, ret_url par exemple). Certaines d'entre elles peuvent ne pas être utilisées en fonction de vos besoins. Valeurs d'essai du document:

- login = fred

- password = xpasswordx

- api_key = azertyuiop

- LAMPUSH Server url : https://lampush-­­tls.lafricamobile.com

- Phone Test Number:+221771611010

Vous devez remplacer ces valeurs par vos propres paramètres lors de vos tests.

2.3 Test de votre compte avec un envoi via l’interface web

Une fois que vous êtes connecté, vous pouvez choisir « Envoi unitaire » et préparer votre premier SMS.

 

Figure 2: Envoyer un SMS en utilisant l’interface web

section-3
3 Envoi SMS en utilisant XML
3.0 Sécurisation par Token pour les IP tournantes

Un système de sécurisation par IP sur l’API a été mis en place.
Dans le cas où il ne peut être appliqué (utilisation d’IP tournantes), un système de sécurisation par token peut être lui être substitué (on intervenir en complément) pour les appels API (méthode GET|POST avec le format XML et JSON). Ce token sera renseigné par le paramètre « hmac ».

Pour que vous puissiez utiliser cette sécurisation, la clé API que vous devez utiliser doit être configurée et donneé par LAfricaMobile

Pour construire ce token « hmac », il faut
- Préparer la chaîne à encoder en concaténant certaines valeurs des paramètres utilisés lors de l’appel de l’API et la clé API (APIKEY) qui vous a été fournie avec un séparateur ‘&’ entre chaque valeur.
- Utiliser un système hachage avec comme algorithme « SHA256 » et comme clé de codage l’APIKEY pour calculer le hmac
- Rajouter un paramètre nommé « hmac » lors de l’appel de l’API en lui donnant la valeur calculée.
Un exemple pour générer le paramètre « hmac » est donné ci-dessous.
Paramètres pris en compte pour préparer la chaîne à coder :

  • accountid
  • password
  • ret_id
  • push_id
  • ret_url
  • ret_mo_url
  • APIKEY

NB : L’ordre des paramètres est important dans la génération de la clé de hachage

3.1 Utiliser une requête XML

Après l'envoi d'un SMS manuellement comme montrer précédemment, nous supposons que si vous lisez ce document relatant de l'API, c'est parce que vous voulez envoyer des SMS automatiquement, sans passer par l'interface Web.
Une des manière de demander à LAMPUSH d'envoyer des SMS est de soumettre cette demande en une requête XML. Cette requête peut être soumise en fichier ou transmise comme étant une requête HTTP(s) sous forme d'un POST ou d'un GET.

3.1.1 Premier exemple

$API_KEY = 'azertyuiop'
$CHAINE = 'password&login&api_key'
$CHAINE = 'fred&xpasswordx&azertyuiop'
hmac= hash_hmac("sha256",$CHAINE,$API_KEY)

<?xml version="1.0" encoding="iso-­­8859-­­1"?>
<push
  accountid="fred"
  password="xpasswordx"
 hmac="2521e323022313f9f037c5251fdb722308f38986f77b71c41954f15f42efd8ca">
  <message>
    <text>Helllo world !</text>
    <to>00221771611010</to>
  </message>
 </push>
3.1.2 Comment envoyer du XML via HTTP ?

Vous pouvez envoyer cet XML via une requête HTTP sous forme d'un POST ou d'un GET. Le contenu du XML doit être dans un paramètre nommé xml.
Voici un exemple avec un GET:
https://lampush-­­tls.lafricamobile.com/api?xml=<push accountid="fred" password="xpasswordx"
hmac="2521e323022313f9f037c5251fdb722308f38986f77b71c41954f15f42efd8ca"><message><text>Helllo world xml!</text><to>00221771611010</to></message></push>
Il n'est pas recommandé d'utiliser cette manière pour envoyer UN SMS, ceci est juste un exemple pour expliquer comment fonctionne l'API. Ainsi, lorsque vous entrez cette adresse sur votre navigateur vous pourrez voir un id comme suit:
1866740934
C'est un push_id et nous expliquerons plus tard comment l'utiliser. Si une erreur survient, vous pourrez voir un message comme celui-­­ci:

error: 1 (XML_PARSING_ERROR)
error_code: 76
error_string:
line_number: 1
column_number: 144
byte_index: 119

3.1.3 Comment envoyer “comme XML” via HTTP ?

Au lieu d'avoir tous les paramètres encapsulés dans un paramètre XML, vous pouvez directement les renseigner ou les récupérer individuellement, ces paramètres sont :

Ainsi, vous pouvez directement taper sur votre navigateur:

https://lampush-­­tls.lafricamobile.com/api?accountid=fred&password=xpassword&hmac=2521e323022313f9f037c5251fdb722308f38986f77b71c41954f15f42efd8ca&text=Helllo,%20bel%20%e9t%e9to=00221771611010
Voici un exemple en PHP, avec le script PHP au format ISO (:setfileencoding?underlinux/vim pour voir l'encodage actuel dans votre script, :set fileencoding=latin1 pour définir le latin)

$API_KEY = 'azertyuiop'
$CHAINE = 'password&login&api_key'
$CHAINE = 'fred&xpasswordx&azertyuiop'
$hmac = hash_hmac("sha256",$CHAINE,$API_KEY)

<?php
$accountid='fred';
$password='xpasswordx';
$hmac = ‘2521e323022313f9f037c5251fdb722308f38986f77b71c41954f15f42efd8ca’ ;
$urlapi='https://lampush-tls.lafricamobile.com/api';
# (the usage may be limited to allowed ippaddress, you should have given #your own server address to
be authorized to use this url)
$to='00221771611010'; # Sample number
$sender='LAM_ISO';
$text='Hello, belété';
$text=urlencode($text);
$full_url_called=$urlapi.'?'."accountid=$accountid&password=$password&hmac=$hmac"
."&text=$text"
."&to=$to"
."&sender=$sender" ;
print "$full_url_called\n";
$result=file_get_contents($full_url_called);
print "\nresult=";
print_r($result);
print "\n-­­-­­-­­-­­\n";

Comme pour le format XML, le push_id est fourni en réponse.
Voici ce qui est affiché quand nous exécutons le script précédent :

https://lampush-­­
tls.lafricamobile.com/api?accountid=fred&password=xpasswordx&hmac=
2521e323022313f9f037c5251fdb722308f38986f77b71c41954f15f42efd8ca
&text=Hello%2C+bel+%E9t%E9&to= 0619896895&sender=LAM_ISO

result=1871005578

Notez que vous avez %E9 pour représenter “é” dans ce cas : le caractère a été encode avec ISO-­­8859-­­1. result (1871005578 in our sample) is the push_id.
Voici un exemple en PHP, avec le script PHP au format UTF8 ( (:set fileencoding?underlinux/vim pour voir l’encodage actuel de vore script, :set fileencoding=utf8 pour le definir en UTF8)

<?php
$accountid='fred';
$password='xpasswordx';
$hmac = ‘2521e323022313f9f037c5251fdb722308f38986f77b71c41954f15f42efd8ca’ ;
$urlapi='https://lampush-­­tls.lafricamobile.com/api';
# (the usage may be limited to allowed ippaddress, you should have given #your own server address to
be authorized to use this url)
$to='00221771611010'; # Sample number
$sender='LAM_UTF8';
$text='Hello, belété';
$text=urlencode($text);
$full_url_called=$urlapi.'?'."accountid=$accountid&password=$password&hmac=$hmac "
."&text=$text"
."&to=$to"
."&sender=$sender" ;
print "$full_url_called\n";
$result=file_get_contents($full_url_called);
print "\nresult=";
print_r($result);
print "\n-­­-­­-­­-­­\n";

Quand nous faisons appel à l’URL, il est affiché:
https://lampush-­­
tls.lafricamobile.com/api?accountid=fred&password=xpasswordx&hmac=
2521e323022313f9f037c5251fdb722308f38986f77b71c41954f15f42efd8ca
&text=Hello%2C+bel+%C3%A9t%C3
%A9&to=0619896895&sender=LAM_UF8

result=1871016995

Notez que vous avez %C3%A9 pour représenter “é” dans ce cas : les caractères sont
encodes avec UTF8.

3.2 Détails du XML
3.2.1 Comment construire le .XML – Exemple XML

L’exemple ci-­­dessus est très simple. XML a été conçu pour générer des envois massifs avec de nombreux paramètres.
Voici un exemple plus complet:

<?xml version="1.0" encoding="iso-­­8859-­­1"?>
<push
accountid="fred"
password="xpasswordx"
ret_id="Push_1"
hmac=" fb4ec2c8c0b3bd8fa7050b260cbbdd704e154a8738df9473a38193aff4fe364a"
name="PushName"
userdata="User Data Multiple Sent"
sender="API_LAMPUSH">
<message>
<text>Helllo world Multiple</text>
<to>00221771611010</to>
<to>00221771611011</to>
</message>
</push>

3.2.2 Structure du XML

Le XML contient un élément <push> suivi d'un ou de plusieurs éléments <message>. Certains attributs peuvent être définis soit dans l'élément <push> soit dans l'élément <message>. S'ils sont définis dans les deux éléments, Les attributs dans l'élément <message>remplacent les attributs définis dans l'élément <push>.

3.2.2.1 Elément <push>

L’élément <push> contient un ou plusieurs éléments <message>
Attributs du <push>

Nom Mandatory Valeur test Commentaire
accountid Y fred Valeur fournie par LAM
password Y xpasswordx Valeur fournie par LAM
hmac Y fb4ec2c8c0b3bd8fa7 050b260cbbdd704e 154a8738df9473a3 8193aff4fe364a Hachage généré en ‘sha256’ sur la concaténation des paramètres. (On suppose que azertyuiop est la valeur de APIKEY)
start_date N 20014-­­12-­­12 default=today S'il est définit, le SMS ne sera pas envoyé avant cette date.
start_time N 13:00 default=’00 :00’ Dans des cas pasrticuliers, quand start_date est défini mais dans le passé, alors start_time est utilisé avec la date courante. Attention : si start_time N'est PAS défini et que start_date soit défini à une date > la date d'aujourd'hui cela signifie que start_date prend la valeur minuit. L'heure est réglée à l'heure locale (Paris: GMT+2)
stop_time N Si stop_time est défini, aucun SMS n'est transmis à la passerelle après cette heure, et les SMS restants sont envoyés le jour suivant, à l'heure définie comme start_time. Sachez que les SMS transmis à la passerelle avant cette heure peuvent être envoyés à l’opérateur après cette heure.
userdata N User Data Multiple Sent C'est un champ libre qui est écrit dans les fichiers d'état. Il est stocké dans push.user_data
sender N API_LAMSMS Si cette option est définie, elle remplace le numéro qui apparaît en tant qu’expéditeur dans le SMS. Cette valeur NE doit PAS commencer par un chiffre et ne comporte que 11 caractères au maximum (1FOE est interdit, FOE12345678 est autorisé).
ret_id N Push_1 S'il est défini, il est stocké dans push.psh_ext_id. .ret_id est associé à la campagne(push). Il est différent de .red_id qui est un id associé à un SMS unitaire défini par client.
ret_url N https://lampush-­­ tls.lafricamobile.co m/peps_sample/Re trieveStatus.php S'il est défini, lorsque l'état change, un appel à cette URL est effectué. Les spécifications des paramètres sont définis dans le chapitre 4.1.3
priority N 2 Permet d'augmenter la priorité du push. Ne pas augmenter cette valeur pour le push marketing
3.2.2.2 Elément <message>

<message> contient un élément <text>, un ou plusieurs éléments <to>
Attributs du <message>

Nom Mandatory Valeur test Commentaire
start_date N 20014-­­12-­­12 default=today S'il est définit, le SMS ne sera pas envoyé avant cette heure.
start_time N 13:00 default=’00 :00’ Dans des cas particuliers, quand start_date est défini mais dans le passé, alors start_time est utilisé avec la date courante. Attention : si start_time N'est PAS défini et que start_date soit défini à une date > la date d'aujourd'hui cela signifie que start_date prend la valeur minuit. L'heure est réglée à l'heure locale (Paris: GMT+2)
stop_time N Si stop_time est défini, aucun SMS n'est transmis à la passerelle après cette heure, et les SMS restants sont envoyés le jour suivant, à l'heure définie comme start_time. Sachez que les SMS transmis à la passerelle avant cette heure peuvent être envoyés à l’opérateur après cette heure.
userdata N User Data Multiple Sent C'est une référence libre qui est écrite dans les fichiers d'état.
sender N API_LAMPUSH Si cette option est définie, elle remplace le numéro qui apparaît en tant qu’expéditeur dans le SMS. La valeur doit comporter au moins un caractère alphabétique et au maximum 11 caractères ("1664" n'est pas autorisé, par contre "bier1664" est autorisé).
ret_id N Push_1 S'il est défini, il est stocké dans push.psh_ext_id. .ret_id est associé à la campagne(push). Il est différent de .red_id qui est un id associé à un SMS unitaire défini par client.
ref_model N Y default=’N’ S'il reçoit la valeur 'Y', cela signifie que n'est pas le texte du message, mais plutôt le nom d'un modèle créé via l'interface Web. Voir un exemple spécifique.
priority N 2 Permet d'augmenter la priorité du push. Ne pas augmenter cette valeur pour le push marketing
userdata N myClientName Permet de donner des informations supplémentaires pouvant être récupérées via des rapports.
3.2.3 Elément <text>

L'élément <text> est utilisé pour le texte du message. L’élément <text> n'a pas d'attributs, juste une valeur.
En général, c'est simplement le texte du SMS.
Si ref_model a la valeur 'Y' c'est le nom d'un modèle (voir exemple spécifique)
Valeurs de l’élément <text> :
La valeur de l’élément <text> est la valeur du message texte:
<text>Hello world</text>
ou avec une variable
<text>Hello world, %FIRST_NAME%</text>
ou le nom d’un modèle
<text>Bonjour</text>
Comme montré ci-­­dessus, <text> peut contenir un certain nombre de variables de type chaîne de caractères. En effet, vous pouvez utiliser n'importe quelle chaîne de caratère comme nom de variable. Cependant, nous vous encourageons à utiliser %VAR_NAME% pour une variable nommée ‘var_name’. Voir le chapitre Element<param> ci-­­dessous.

3.2.4 Elément <to>

<to> est utilisé pour donner des informations sur l'utilisateur destinataire. Il fait partie d'un élément <message>
<to> peut contenir un certain nombre d'éléments <param>, utilisés pour personnaliser
le message texte. La valeur est un numéro de téléphone,Vous pouvez utiliser le format international (+221771611010)
Pour l'envoi international, veuillez confirmer avec votre responsable de compte si le pays est autorisé dans votre compte.
Attributs du <to>

Nom Mandatory Valeur test Commentaire
ret_id N 231467 Vous pouvez utiliser ce champ pour associer un identifiant (unique) Id à chaque SMS envoyé. Ce ret_id est associé à un sms (différent de .ret_id) et stocké dans la base de données e renvoyé dans les informations
3.2.5 Elément <param>

<param> est utilisé pour donner les paramètres à utiliser dans le message texte. <param> fait partie d'un élément <to>
<param> doit avoir deux attributs, “var” pour le nom de la variable et“value”.

Attributs du <param>

Nom Mandatory Valeur test Commentaire
var Y %NAME% Nous suggérons d'utiliser % entourer le nom de la variable en majuscules
value Y Peps
3.3 Erreurs lorsqu’on intègre le XML

Lorsque le XML est incorrect (dans le fichier .xml ou dans unee requête HTTP), un message d'erreur est généré. Il est affiché en réponse (requête HTTP). Voici un exemple de message d'erreur:
error: 1 (XML_PARSING_ERROR)
error_code: 76
error_string:
line_number: 10
column_number: 7
byte_index: 205

section-4
4 Accusé de réception

Il existe deux manières de suivre le routage des SMS :

  • Votre serveur est informé par la passerelle lorsque le statut change
  • Vous avez demandé à notre serveur le statut des SMS.

La première façon est bien meilleure, car elle est en temps réel et ne charge pas la plateforme avec des appels inutiles. La deuxième façon ne doit être utilisée qu'occasionnellement.

4.1 Réception d’un accusé en temps réel

Dans ce cas, notre serveur appelle une URL lorsqu'il détecte que son statut a changé. Cette URL doit être fournie dans le XML, dans le paramètre nommé ‘ret_url’ dans la section <push>. ( si aucune URL n'est fournie, aucun appel n'est effectué). Ce ret_url est appelé avec ces paramètres dans une requête HTTP GET

  • push_id (transmis par notre serveur)
  • ret_id (defini dans l’appel initial)
  • to (numéro de téléphone du destinataire)
  • status (un statut ou un error_code en cas d’erreur)
  • text (texte du SMS envoyé)

Value for status may be :
SENT=>4 (en fonction de la configuration )
RECEIVED=>6
ERROR_NPAI=>11
ERROR_EXPIRED=>12
ERROR_INVOP=>13
ERROR_NETWORK=>14
ERROR_CREDIT=>15
ERROR_UNKNOWN=>16
ERROR=>2 (erreur générique)
Par exemple avec cet XML

<?xml version="1.0" encoding="iso-­­8859-­­1"?>
<push
accountid="fred"
password="xpasswordx"
name="PushName"
userdata="User Data Multiple Sent"
ret_id="12345"
sender="API_6"
ret_url="https://lampush-­­tls.lafricamobile.com/peps_sample/RetrieveStatus.php"
>
<message>
<text>Helllo world : CheckStatus</text>
<to>00221771611010</to>
<to>00221761611011</to>
</message>
</push>

avec le script RetrieveStatus.php qui enregistre simplement la valeur des paramètres (Voir exemple dans Annexe) nous obtenons ceci:

RetrieveStatus:
Array
(
[push_id] => 1871011352
[ret_id] => 12345
[to] => +221771611010
[status] => 11
[tag] => User Data Multiple Sent
[text] =>Helllo world : CheckStatus
)
RetrieveStatus:
Array
(
[push_id] => 1871011352
[ret_id] => 12345
[to] => +221771611010
[status] => 6
[tag] => User Data Multiple Sent
[text] =>Helllo world : CheckStatus

)
Cela correspond aux différentes requêtes GET:
/RetrieveStatus.php?push_id=1871011213&ret_id=12345&to=%2B221771611010&status=6&tag=User
+Data++Multiple+Sent&text=Helllo+world+%3A+CheckStatus
/RetrieveStatus.php?push_id=1871011213&ret_id=12345&to=%2B221771611010&status=11&tag=Us
er+Data++Multiple+Sent&text=Helllo+world+%3A+CheckStatus
Notez que, dans ce cas le ret_id est en effet un push.ret_id.

4.2 Statut général d’un push (highpush_stat.php)

Si vous ne souhaitez pas disposer de votre propre base de données avec le statut mais souhaitez connaître ponctuellement le statut d'un ensemble de SMS, vous pouvez appeler notre serveur via une requête HTTP. Le script à appeler est nommé
highpush_stat.php.
Pour éviter de charger lourdement la plateforme, NE PAS appeler ce script.

Nom Mandatory Valeur test Commentaire
accountid Y fred Valeur fournie par LAM Nota: Même si cet accountid est généralement le même que votre accountid LAMSMS, en fait c'es un identifiant SMSPusher.
password Y xpasswordx Valeur fournie par LAM Nota: Même si cet accountid est généralement le même que votre accountid LAMSMS, en fait c'es un identifiant SMSPusher.
push_id Y si ret_id n'est pas défini. 1871011352 Valeur interne du push_id, renvoyée lorsque le XML est fourni via une requête HTTP.
ret_id Y si ret_id n'est pas défini. 12345 Valeur que vous fournissez en XML,associée au push pas au message.

Pour faire une requête, vous devez donner votre accountid, votre password et soit le push_id soit le ret_id..
Dans notre exemple avec XML :

<?xml version="1.0" encoding="iso-­­8859-­­1"?>
<push
accountid="fred"
password="xpasswordx"
name="PushName"
userdata="User Data Multiple Sent"
ret_id="12345"
sender="API_6"
ret_url="https://lampush-­­tls.lafricamobile.com/peps_sample/RetrieveStatus.php"
> <message>
<text>Helllo world : CheckStatus</text>
<to>00221771611010</to>
<to>00221761611011</to>
</message>
</push>

Nous pouvons lancer la requite soit avec :
https://lampush-­­tls.lafricamobile.com/highpush_stat.php?accountid=fred&password=xpasswordx&push_id=1871011352
Soit avec:
https://lampush-­­
tls.lafricamobile.com/highpush_stat.php?accountid=fred&password=xpasswordx&ret_id=12345
Nota: S'il y a plusieurs push avec le même ret_id, la dernière est prise en compte. La requête HTTP renvoie un fichier CSV (Content-­­Disposition: attachment;
filename=export.csv Content-­­Type: text/csv).
Les lignes en italique noir ne sont pas envoyées.

La première ligne est un résumé de la date d’envoi du push
- Total Number of SMS
- Total net_error (ERROR_NETWORK => 14)
- Total waiting (no Error or Received answer)
- Total npai (ERROR_NPAI=>11)
- Total expired (ERROR_EXPIRED=>12)
- Total other error
- Total Received
Il y a une autre ligne par SMS.
- PushDate
- Phone Number (to)
- Status (ERROR/RECEIVED/SENT)
- Last status update (update of the status to RECEIVED may happen far after the receipt of the SMS)
- Empty
- Text of the message
- Error Status (if status = Error)
- userdata (field userdata of the xml)

section-5
5 Annulation de campagne

Si la campagne de diffusion est planifiée à l’avenir et identifiée par un ret_it, vous pouvez l’annuler. Cela peut être fait avec un appel de l'API avec un paramètre action défini sur cancel_campaign. Dans notre exemple l'URL est: https://lampush-­­tls.lafricamobile.com/api
Paramètres

Voici un exemple complet :
https://lampush-tls.lafricamobile.com/api?accountid=fred&password=xpasswordx&ext_id=12345&action=cancel_campaign
En réponse, le nombre de campagnes effectivement annulées est affiché:
0 CAMPAGNES ONT ÉTÉ ARRÊTÉES
Dans ce cas, étant donné que la campagne a déjà été envoyée, aucune campagne n'est effectivement annulée. Si plusieurs campagnes avec le même ret_id ne sont pas déjà envoyées, toutes les campagnes sont annulées en un seul appel.

section-6
6 Vérification de crédit via API

Vous pouvez vérifier le crédit de votre compte avant de transmettre votre Push. Pour cela, vous pouvez appeler l’URL principale avec la requête credits Les paramètres à fournir sont accountid et password. Pour notre exemple avec https://lampush-­­tls.lafricamobile.com comme URL racine:
https://lampush-tls.lafricamobile.com/credits?accountid=fred&password=xpasswordx
La réponse est un XML qui indique le crédit, pour chaque type de route autorisé pour le compte.Les crédits sont globaux ou mensuels.
-­­1 indique une valeur infinie.
0 signifie «en rupture de stock»
Voici la réponse pour le compte fred, qui n'a qu'un seul type de route infini "Gold"

<credits>
<route>
<type>gold</type>
<credits>-­­1</credits>
<credits_month>-­­1</credits_month>
</route>
</credits>
section-7
7 Interface Web de l’API
7.1 Login

L’interface Web est utile pour voir rapidement l’état de vos SMS, les statistiques lorsque vous utilisez l’API. Vous avez besoin de votre identifiant et de votre mot de passe et vous utilisez l'URL racine du serveur LAMSMS : https://lampush-­­tls.lafricamobile.com dans notre exemple.

7.2 Liste Push
7.2.1 Interface d’accueil et filtres

Dans cette première capture, vous pouvez voir un bilan des SMS envoyés via l'API et faire une exportation.

Différents champs et liens

Nom Actuellement utilisé Valeur test Commentaire
subject N Champ à afficher dans une exportation spécifique, non utilisé dans cette version
userdata Y Multiple Filte les push où userdata contient la valeur, Multiple dans notre exemple.
message Y 12345 Filtre les push où ret_id contient la valeur 12345 dans notre exemple. Attention, ce n'est pas un filtre sur le texte du message, mais sur le ret_id
Telephone Y +221771611010 Filtre les messages où le numéro de téléphone (to) est égal à la valeur.
Start Data Y Début de la période
End Date Fin de la période
Filter Y Cliquez sur ce lien pour afficher le nombre de SMS, sur la période avec filtre. C'est affiché jour par jour.
Graph Y Cliquez sur ce lien pour afficher les statistiques globales sur le statut de la période. Certaines statistiques sur les opérateurs sont également affichées.
Export messages in current view Y Génére un fichier csv avec toutes les informations sur l'envoi de SMS, avec filtre appliqué. Voir exemple ci-­­ dessous.
7.2.2 Statut jour par jour

Une fois que vous avez cliqué sur le lien de filtrage

Sur cet écran, vous pouvez cliquer sur la petite icône indiquant le jour pour
télécharger les détails.

Voir «détail de l'exportation» pour connaître la signification des différentes colonnes.

7.2.3 Graphiques

Nota: Dans la version actuelle, les statistiques par opérateur ne sont pas correctes,
en raison de l'absence de traitement du nombre transféré.

7.2.4 Détails de l’exportation

Lorsque vous cliquez sur «Exporter le message», il est proposé de télécharger une liste de tous les SMS répondant au critère de filtrage posé:
Sur cet écran, vous pouvez cliquer sur la petite icône indiquant le jour pour télécharger les détails.

Les colonnes sont :

section-8
8 Annexe
8.1 En utilisant des variables

#cat VariableExample.xml

<?xml version="1.0" encoding="iso-­­8859-­­1"?>
<push
accountid="fred"
password="xpasswordx"
>
<message>
<text>Hello world mon %ami% de la ville de %NOM_VILLE% </text>
<to>0619896895
<paramvar="%ami%" value="peps"/>
<param var="%NOM_VILLE%" value="DIJON"/>
</to>
</message>
</push>

Cet XML envoie ce SMS : Hello world mon peps de la ville de DIJON

8.2 Erreur XML

Les erreurs suivantes sont détectées en XML
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

8.3 Codes des différents statuts

NOT_SENT=>1 (SMS envoyé à la passerelle, pas encore à l'opérateur)
ERROR=>2 (Impossible de se connecter à la passerelle)
QUEUE=>3 (mis en attente par la passerelle)
SENT=>4 (Envoyé à l'opérateur)
RECEIVED=>6 (Reçu par l'utilisateur final)
ERROR_NPAI=>11 ("N’habites Pas à l’AdresseIndiquée" = "Return To Sender": l’opérateur ne connaît plus ce numéro
ERROR_EXPIRED=>12 (timeout, no RECEIVED, nor explicit ERRORafter SENT)
ERROR_INVOP=>13 (Opérateur invalide, ce numéro de bloc n'est pas affecté à un opérateur)
ERROR_NETWORK=>14 (erreur lors de l'envoi d'un SMS à l'opérateur)
ERROR_CREDIT=>15 (crédit insuffisant sur le mobile destinataire)
ERROR_UNKNOWN=>16 (autre erreur ...)
ERROR_PARSE=>17 :
ERROR_BLACKLISTED=>18 (Le destinataire est sur la liste noire)
ERROR_UNKNOWN_PROTOCOL=>19 (version de protocole inconnue)
ERROR_NOT_AUTHENTICATED=>20 (Non authentifié)
ERROR_MESSAGE_TOO_LONG=>22 (Longueur maximale 1600 caractères surdimensionnés pour le message)
ERROR_BLOCKED=>23 (Le destinataire est bloqué par l'opérateur)

8.4 Différents identifants

push_id : identifiant du push, associé au push XML, renvoyé par la passerelle.

ret_id : id d'un SMS, connu par HighPush.
sms_id : identifiant interne d'un SMS, utilisé par LAfricaMobile.

LAfricaMobile est la 1ère plateforme de communication multi-opérateurs et multicanale en Afrique. Nous proposons aux entreprises et organisations présentes sur le continent africain des solutions Business et Management leur permettant de créer et maintenir le lien avec leurs clients ou utilisateurs.
  • LAfricaMobile
    Siège social: Immeuble CFI ,
    11 Rue VINCENS X, Avenue Faidherbe, Dakar

  • (+221) 33 842 58 55

  • contact@lafricamobile.com