API HTTP - Action 'sendmessage'

Cette commande API HTTP permet d'envoyer un message SMS via la passerelle SMS. La commande peut être utilisée pour envoyer des SMS texte ou d'autres types de messages, tels que des SMS binaires, des logos d'opérateur, des sonneries, des WAP PUSH, etc... Lorsque vous utilisez cette commande, vous devez utiliser un nom d'utilisateur et mot de passe API HTTP, vous devez spécifier le numéro de téléphone du destinataire et le texte du message.

Description

Pour envoyer un SMS, utilisez le format d'URL suivant :

https://127.0.0.1:9508/api?action=sendmessage&username=UUUUU&password=PPPPP&
recipient=NNNNN&messagetype=MMMMM&messagedata=DDDDD


127.0.0.1 est une IP locale, veuillez donc la remplacer par l'adresse IP ou le nom d'hôte de l'ordinateur sur lequel la passerelle SMS Ozeki est installée. (Remarque : 127.0.0.1 est une adresse de bouclage locale qui peut être utilisée lorsque vous vous connectez à la passerelle SMS depuis le même ordinateur.) 9508 est le port par défaut de l'API HTTP de la passerelle SMS Ozeki. Ce numéro de port peut être visualisé et modifié dans l'interface utilisateur de la passerelle SMS Ozeki 10, en cliquant sur le bouton Avancé dans la barre d'outils.

"UUUUU" et "PPPPP" doivent être remplacés par le nom d'utilisateur et le mot de passe de l'utilisateur que vous avez créé dans la passerelle SMS.

Remplacez "NNNNN" par le numéro de téléphone auquel vous souhaitez envoyer le SMS. Vous pouvez utiliser le format de numéro de téléphone local ainsi que les formats internationaux (les numéros de téléphone formatés selon le format international commencent toujours par un signe '+'). Si le format international est utilisé, notez que vous devez remplacer le caractère '+' par '%2B', en raison des règles d'encodage des URL.

Remplacez "MMMMM" par le type de message. Le type de message "SMS:TEXT" doit être utilisé pour les messages texte.

Les données du message contiennent le message que vous souhaitez envoyer. Placez les données du message à la place de "DDDDD". Les données du message doivent utiliser des caractères UTF-8 et doivent être encodées en URL.

D'autres paramètres peuvent également être ajoutés à la requête.
Pour une liste complète des paramètres disponibles, veuillez consulter le tableau 'Paramètres de requête' ci-dessous :

Exemple de requête URL

https://127.0.0.1:9508/api?action=sendmessage&username=admin&password=abc123&
recipient=06203105366&messagetype=SMS:TEXT&messagedata=Hello+World

Exemple de réponse

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 246

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE smsapi PUBLIC "-//OZEKI//DTD XML 1.0//EN" "http://www.ozekisms.com/DTD/smsapi.xml">
<response>
   <action>sendmessage</action>
   <data>
      <acceptreport>
         <statuscode>0</statuscode>
         <statusmessage>Message accepté pour livraison</statusmessage>
         <messageid>ERFAV23D</messageid>
         <recipient>06203105366</recipient>
      </acceptreport>
   </data>
</response>
Paramètres de requête HTTP
Paramètre Description Valeurs possibles Exemple O/M*
action Spécifie la commande de l'API HTTP sendmessage action=sendmessage M
username Spécifie le nom d'utilisateur. Les paramètres username et password sont utilisés pour authentifier l'utilisateur. Lorsque vous envoyez un message, il sera envoyé au nom de l'utilisateur authentifié. La valeur doit être url-encodée. valeur string, longueur maximale de 16 caractères username=admin M
password Spécifie le mot de passe. Les paramètres username et password sont utilisés pour authentifier l'utilisateur. Lorsque vous envoyez un message, il sera envoyé au nom de l'utilisateur authentifié. La valeur doit être url-encodée. valeur string, longueur maximale de 16 caractères password=abc123 M
originator Spécifie l'adresse de l'expéditeur. Cette information sera affichée sur le téléphone mobile qui reçoit le message. Il s'agit de l'adresse de l'expéditeur. Cela peut être un numéro de téléphone, un code court ou une adresse alphanumérique. Le numéro de téléphone peut être formaté en format local (ex. 06201234567) ou en format international (ex. +36201234567). Si vous utilisez une adresse alphanumérique (ex. ozeki), les caractères doivent être encodés en UTF8 et la valeur doit être url-encodée. valeur string, longueur maximale de 16 caractères originator=%2B36201112222 O
recipient Spécifie le numéro de téléphone du destinataire. Le message sera envoyé à ce numéro de téléphone. Le numéro de téléphone peut être spécifié en format local (ex. 06201234567) ou en format international (ex. +36201234567).
Plusieurs adresses de destinataires peuvent être séparées par un deux-points (ex : +36201234567,+36202222222) ou un point-virgule.
La valeur doit être url-encodée.
valeur string, longueur maximale de 16 caractères recipient=%2B36201234567 M
messagetype Spécifie le type de message. Le type des données du message SMS basé sur la Spécification du type de message mobile. Pour les messages texte, les données du message seront en texte brut, pour les autres types de messages ce sera un document XML.
SMS:TEXT
SMS:WAPPUSH
...
Les valeurs possibles peuvent être trouvées dans la Spécification du type de message mobile
messagetype=SMS:TEXT O
messagedata Spécifie le texte ou les données du message SMS. La valeur doit être encodée en UTF8 et doit être url-encodée. valeur string, longueur maximale de 32768 caractères messagedata=Hello+World M
_charset_ Spécifie le charset des données encodées (si non spécifié, utf-8 sera supposé). Les navigateurs récents devraient définir automatiquement la valeur de _charset_. Si votre navigateur ne supporte pas cette fonctionnalité, vous pouvez la définir manuellement à :
utf-8
windows-1250
iso-8859-1
iso-8859-2
...
(Valeurs de jeux de caractères supportés)
_charset_=iso-8859-2 O
serviceprovider Spécifie le nom du modem GSM ou de la connexion au fournisseur de services SMS IP à utiliser pour envoyer le message. Plus d'informations sur la sélection de la connexion au fournisseur de services sont disponibles dans le Guide de routage SMS de l'API HTTP SMS.

La valeur doit correspondre à la chaîne spécifiée dans le formulaire de configuration de la connexion au fournisseur de services.
valeur string, longueur maximale de 16 caractères serviceprovider=Vodafone O
sendondate Spécifie la date et l'heure à laquelle le message doit être envoyé.

La valeur doit utiliser le format de date suivant : YYYY-MM-DD hh:mm:ss. La valeur doit être url-encodée.
valeur date au format YYYY-MM-DD hh:mm:ss sendondate=2018-12-12+10%3A07%3A05 O
responseformat Après que la passerelle a soumis le message SMS, la passerelle renverra une page web indiquant que le message a été soumis avec succès. Le contenu de la page web est formaté selon le paramètre responseformat. Vous pouvez avoir une réponse en texte html pour faciliter la lecture par un humain ou vous pouvez avoir un format xml pour faciliter le traitement par un logiciel. xml (par défaut)
html
urlencoded
responseformat=xml O
continueurl Après que la passerelle a soumis le message SMS, la passerelle renverra une page web indiquant que le message a été soumis avec succès. Le contenu de la page web est formaté selon le paramètre responseformat. Si le paramètre responseformat est défini sur html, la page web peut contenir un lien "Continuer". Si vous spécifiez l'URL dans ce paramètre, le lien continuer sera affiché et pointera vers l'URL spécifiée. La valeur de l'URL doit être url-encodée.

L'URL que vous spécifiez peut contenir des mots-clés qui seront remplacés par des informations d'état correspondant au message soumis. Plus d'informations sur les mots-clés possibles peuvent être trouvées dans le guide "Mots-clés d'URL de soumission".
valeur string, longueur maximale de 1024 caractères continueurl=192.168.1.23

ou

continueurl=http%3A%2F%2Fwww.ozekisms.
com%2Findex.php%3Fowpn%3D159

Note : le deuxième exemple contient une URL url-encodée.
O
redirecturl Après que la passerelle a soumis le message SMS, par défaut la passerelle renverra une page web indiquant que le message a été soumis avec succès. Optionnellement, vous pouvez demander à la passerelle de rediriger automatiquement le navigateur vers une URL que vous spécifiez. Si vous spécifiez une URL dans le paramètre redirect, la réponse HTTP renvoyée par la passerelle SMS contiendra une URL de redirection dans l'en-tête HTTP. Cela indiquera au navigateur web de suivre le lien que vous avez spécifié. La valeur de l'URL doit être url-encodée.

L'URL que vous spécifiez peut contenir des mots-clés qui seront remplacés par des informations d'état correspondant au message soumis. Plus d'informations sur les mots-clés possibles peuvent être trouvées dans le guide "Mots-clés d'URL de soumission".
valeur string, longueur maximale de 1024 caractères redirecturl=192.168.1.23

ou

redirecturl=http%3A%2F%2F192.168.1.23
%2Findex.php%3Fowpn%3D159

Note : le deuxième exemple contient une URL url-encodée.
O
reporturl Vous pouvez configurer une page web pour traiter les informations sur les événements "livré au réseau" et "livré au terminal". Si vous spécifiez une URL dans le paramètre reporturl, votre page web sera appelée lorsque ces événements se produisent. La valeur de l'URL que vous spécifiez dans le paramètre reporturl doit être URL encodée.

L'URL que vous spécifiez peut contenir des mots-clés qui seront remplacés par des informations d'état correspondant au message soumis.

Un bon exemple sur l'utilisation de l'option report URL peut être trouvé dans le guide comment envoyer un SMS programmé et utiliser la fonctionnalité reporturl.
valeur string, longueur maximale de 1024 caractères reporturl=http%3A%2F%2Fwww.ozekisms.
com%2Fproc.php%3Freporttype%3D%24reporttype
%26messageid%3D%24messageid

Note : ceci est la version url-encodée de l'URL suivante. Avant que cette URL ne soit appelée par la passerelle SMS, les paramètres $reporttype et $messageid seront remplacés par les valeurs appropriées :

http://192.168.1.23/proc.php?reporttype=$reporttype&
messageid=$messageid

sera appelé comme :
http://192.168.1.23/proc.php?reporttype=deliveredtonetwork& messageid=ERFAV23D

La liste des mots-clés que vous pouvez utiliser dans reporturl est :
$reporttype
$messageid
$statuscode
$statusmessage
$fromstation
$fromconnection
$fromaddress
$tostation
$toconnection
$toaddress
$text
$createdate
$submitdate
$receiveddate
O
messagecount Il spécifie le nombre exact de messages que vous souhaitez envoyer. Si défini, l'indexation est nécessaire pour les paramètres 'recipient', 'messagetype' et 'messagedata'. Le tutoriel détaillé sur 'messagecount' peut être trouvé ici. nombre
(valeur par défaut :
1)
messagecount=6 O
maxresponse Ce nombre spécifie le maximum de messages pour lesquels vous recevrez un retour. Si vous dépassez ce nombre, vos messages seront envoyés, mais vous ne recevrez pas de retour à leur sujet. Par défaut, ce paramètre est défini à 500 messages. nombre maxresponse=1000 O
vp Spécifie la période de validité de votre message.

La valeur doit utiliser le format de date suivant : YYYY.MM.DD hh:mm:ss. La valeur doit être url-encodée.
Lisez ce tutoriel pour plus d'informations.
valeur date au format YYYY.MM.DD hh:mm:ss vp=2019.01.28.+10%3A07%3A05 O

* M = Paramètre obligatoire, O = Paramètre optionnel

Paramètres de réponse
(format de réponse xml)
Paramètre Description Valeurs possibles Exemple
acceptreport Contient la réponse à la demande d'envoi pour une seule adresse de destinataire. Si plusieurs destinataires ont été spécifiés, un acceptreport sera inclus dans la réponse pour chaque destinataire. L'ordre des acceptreports correspondra à l'ordre des adresses des destinataires.  
<acceptreport>
   <statuscode>0</statuscode>
   <statusmessage>Message accepté pour livraison</statusmessage>
   <messageid>ERFAV23D</messageid>
   <recipient>06203105366</recipient>
</acceptreport>
acceptreport.statuscode Contient une valeur entière pour indiquer le succès ou l'échec. Si la valeur est 0, cela signifie que le message a été accepté pour livraison. Si la valeur est supérieure à 0, cela signifie qu'une erreur est survenue et que le message n'a pas été accepté pour livraison. Valeur entière, supérieure ou égale à 0. Inférieure à 32768. <statuscode>0</statuscode>
acceptreport.statusmessage Contient une représentation textuelle du code de statut. Si le message a été accepté, la valeur sera "Message accepté pour livraison". Si le message n'a pas été accepté pour livraison, vous pouvez trouver le message d'erreur dans ce champ. valeur chaîne de caractères, longueur maximale de 1024 caractères <statusmessage>Message accepté pour livraison</statusmessage>
acceptreport.messageid Contient une référence de message qui peut être utilisée pour suivre le message dans la passerelle SMS. Cette référence de message est également utilisée pour identifier les rapports de livraison au réseau et à l'appareil ou pour interroger des informations sur le message. valeur chaîne de caractères, longueur maximale de 16 caractères <messageid>ERFAV23D</messageid>
acceptreport.recipient Contient l'adresse du destinataire. valeur chaîne de caractères, longueur maximale de 16 caractères <recipient>06203105366</recipient>

Résumé

Cet article portait sur l'action 'sendmessage' de l'API HTTP. Avec cette action, vous pouvez envoyer des SMS texte et de nombreux autres types de messages à des destinataires via la passerelle SMS Ozeki. Vous avez vu des exemples de réponses et d'autres requêtes HTTP avec description, valeurs possibles et exemples.

Si vous souhaitez en savoir plus sur l'état de livraison de vos messages, n'hésitez pas à cliquer sur la page concernant les statuts de livraison SMS. Si vous souhaitez obtenir un modèle d'URL, visitez la page correspondante.

Si vous souhaitez utiliser cette solution dans des situations réelles, téléchargez la passerelle SMS Ozeki et commencez à l'utiliser dès maintenant !

More information