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
- Créer un compte utilisateur pour l'API SMS HTTP
- Compatibilité
- Envoyer et recevoir des SMS via l'API HTTP
- Exemple d'envoi de SMS via l'API HTTP
- Exemple de réception de SMS via l'API HTTP
- Encodeur d'url pour l'API SMS HTTP
- Top 10 des API SMS pour les programmeurs
- Comment envoyer des SMS via HTTPS
- Tâches groupées de SMS programmés