SMS de haute qualité avec rapport de livraison, expéditeur personnalisé et livraison en temps réel
Intégration via API du service professionnel d'envoi de SMS pour l'authentification, les notifications, les rappels, les alertes à un ou plusieurs destinataires.
Toutes les connaissances dont vous avez besoin
Vous trouverez ici quelques conseils à prendre en compte pour aborder cette API. Si vous préférez, nous fournissons des exemples de code, la documentation OAS3, la possibilité d'essayer l'API en direct via Swagger UI ou d'importer l'intégralité de la collection dans Postman. Nous proposons également un environnement Sandbox où vous pouvez expérimenter toutes sortes de requêtes de manière totalement gratuite.
Obtenir le Token dans la section appropriée avant de commencer.
- Oas file url https://console.openapi.com/oas/fr/gatewaysms.openapi.json
- Fork or import with Postman
- Production domain ws.messaggisms.com
- Sandbox domain test.ws.messaggisms.com
- Production Scopes 4
-
Sandbox Scopes 4
- POST test.ws.messaggisms.com/messages
- GET test.ws.messaggisms.com/messages
- PUT test.ws.messaggisms.com/messages
- DELETE test.ws.messaggisms.com/messages
Gateway SMS (1.0.0)
Ce service web propose des appels REST pour envoyer des messages texte directement depuis notre passerelle.
Liste des messages
Cette méthode vous permet de consulter la liste des messages envoyés par votre compte.
Authorizations:
Responses
Response Schema: application/json
Array of objects (Messages) | |
success | boolean |
message | string |
credit | string |
error | integer |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.messaggisms.com/messages/"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); CURLcode ret = curl_easy_perform(hnd);
Response samples
- 200
- 404
- "data": [
- {
- "sender": "alberto",
- "timestamp": "1564411330117",
- "id": "5d3f05c29f2725610c2b4e60"
- {
- "sender": "3939989741",
- "timestamp": "1563554978976",
- "id": "5d31f4a29f27257de166d960"
- {
- "sender": "3939989741",
- "timestamp": "1562686328690",
- "id": "5d24b3789f27257de1645bda"
- {
- "sender": "Nome del mittente",
- "timestamp": "1562142688118",
- "id": "5d1c67e09f27255e2f4079a3"
- {
- "sender": "Nome del mittente",
- "timestamp": "1562142398400",
- "id": "5d1c66be9f272563102e8045"
- "success": true,
- "message": "5 Results",
- "credit": "91.00299999999986",
- "error": null
Envoyer un message texte
Cette méthode permet d'envoyer un message texte directement depuis notre passerelle.
Authorizations:
Request Body schema: application/json
test | boolean Par défaut, elle est fausse, si elle est définie sur true, un envoi est simulé |
sender required | string L'expéditeur doit comporter entre 3 et 11 caractères s'il est alphanumérique et entre 3 et 14 s'il est numérique. |
body required | string Texte du SMS ; dans le texte, les valeurs des paramètres "joker" contenus dans les "champs" peuvent être insérées comme suit : "body" : "Test sending {{name}}". |
required | string or Array of strings or object Le numéro de téléphone du destinataire et les 'champs' de l'objet, dans lesquels seront inscrits les paramètres que nous voulons insérer dans le 'corps', à peu près comme ceci : {'Numéro':'+39-34xxx987', 'Champs':{'Prénom':'simone', 'Nom':'rossi'}}. Le préfixe international est obligatoire et doit être séparé du reste par '-', par exemple : '+39-numéro'. Tout autre format sera considéré comme un faux destinataire et sera enregistré comme non valable. |
priority | number <double> priorité d'envoi ; le paramètre par défaut est 1,00, c'est le minimum ; une augmentation de la priorité augmente le coût total du message, mais en supposant qu'il y a 1000 messages de priorité 1,00 dans la file d'attente, l'envoi d'un message de priorité 1,01 saute la file d'attente |
object (Options) | |
transaction | boolean La valeur par défaut est FALSE. Si TRUE, une transaction est lancée en enregistrant les données envoyées, mais la demande n'est pas mise en file d'attente. Les appels PUT suivants peuvent être effectués au point final "/messages/{id}/" pour compléter le premier appel POST (par exemple en ajoutant des destinataires), jusqu'à ce qu'un PUT avec "transaction" : FALSE soit envoyé. Le champ ID est renvoyé par le premier appel POST. À ce moment-là, la transaction (si elle est valide) est fermée et les messages sont placés normalement dans la file d'attente. |
Responses
Response Schema: application/json
Array of objects (Message_Object) | |
success | boolean |
message | string |
credit | string |
error | integer |
Request samples
- Payload
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
- "test": false,
- "sender": "alberto",
- "body": "test invio",
- "recipients": "+39-349xxxxx18"
Response samples
- 201
- 402
- 422
- "data": [
- {
- "test": false,
- "sender": "alberto",
- "body": "test invio",
- "recipients": {
- "valid": {
- "count": 1
- "invalid": {
- "total": 0,
- "list": [ ]
- "transaction": false,
- "options": {
- "bulk": false,
- "flash": false,
- "realtime": false,
- "timestamp_send": "1564752494920"
- "statistics": {
- "error": 0,
- "sent": 0,
- "delivered": 0,
- "total": 1,
- "sms_total": 1
- "base_price": 0.0315,
- "timestamp": "1564752494920",
- "last_update": "1564752494920",
- "priority": 1,
- "price": 0.0315,
- "state": 0,
- "id": "5d443a6e9f2725660f3db347"
- "message": "Message Queued",
- "credit": "90.90849999999988",
- "success": true,
- "error": null
Recevoir un seul message
Cette méthode affiche le message unique qui se rapporte au paramètre passé dans le chemin d'accès
Authorizations:
path Parameters
id required | string Example: 5cf7cc139f272546624d3795 Message Id |
Responses
Response Schema: application/json
Array of objects (Message_Object) | |
success | boolean |
message | string |
credit | string |
error | integer |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.messaggisms.com/messages/%7Bid%7D"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); CURLcode ret = curl_easy_perform(hnd);
Response samples
- 200
- 406
- "data": [
- {
- "test": false,
- "sender": "Simone",
- "body": "Production test 4 ",
- "recipients": {
- "valid": {
- "count": 1
- "invalid": {
- "total": 0,
- "list": [ ]
- "priority": 1,
- "options": {
- "flash": true,
- "realtime": true,
- "timestamp_send": "326152800000",
- "custom": {
- "test": 123,
- "best": 321,
- "trest": [
- 12,
- 3,
- 12,
- 3
- "transaction": false,
- "statistics": {
- "error": 0,
- "sent": 1,
- "delivered": 1,
- "total": 1,
- "sms_total": 1
- "base_price": 0.03,
- "timestamp": "1559743507600",
- "last_update": "1559743510156",
- "price": 0.036,
- "state": 2,
- "id": "5cf7cc139f272546624d3795"
- "message": "1 Result",
- "credit": "90.97149999999986",
- "success": true,
- "error": null
Intégration de messages
S'il existe un message avec "transaction = true", cette méthode permet de compléter l'appel POST initial (par exemple en ajoutant des destinataires) jusqu'à ce qu'un PUT avec "transaction = false" soit transmis. À ce stade, le message est fermé et placé dans la file d'attente d'envoi. Cette méthode permet également de modifier la date d'envoi du message ('timestamp_send') (s'il n'a pas déjà été envoyé ou s'il n'est pas prévu de l'envoyer).
Authorizations:
Request Body schema: application/json
required | string or Array of strings or object Le numéro de téléphone du destinataire et les 'champs' de l'objet, dans lesquels seront inscrits les paramètres que nous voulons insérer dans le 'corps', à peu près comme ceci : {'Numéro':'+39-34xxx987', 'Champs':{'Prénom':'simone', 'Nom':'rossi'}}. Le préfixe international est obligatoire et doit être séparé du reste par '-', par exemple : '+39-numéro'. Tout autre format sera considéré comme un faux destinataire et sera enregistré comme non valable. |
transaction | boolean Tant qu'elle n'est pas définie sur false, la transaction n'est pas fermée et le message n'est pas placé dans la file d'attente d'envoi. |
object |
Responses
Response Schema: application/json
object (Message_Object) | |
success | boolean |
message | string |
credit | string |
error | integer |
Request samples
- Payload
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
- "recipients": [
- "+39-3xxxxxx115"
- "options": {
- "timestamp_send": "2023-12-25"
Response samples
- 200
- 402
- 404
- 406
- 422
- "data": {
- "test": false,
- "sender": "alberto",
- "body": "test invio",
- "recipients": {
- "valid": {
- "count": 4
- "invalid": {
- "total": 0,
- "list": [ ]
- "transaction": true,
- "options": {
- "bulk": false,
- "flash": false,
- "realtime": false,
- "timestamp_send": "1564751430282"
- "statistics": {
- "error": 0,
- "sent": 0,
- "delivered": 0,
- "total": 4,
- "sms_total": 4
- "base_price": 0.126,
- "timestamp": "1564751430282",
- "last_update": "1564751430282",
- "priority": 1,
- "price": 0.126,
- "state": 0,
- "id": "5d4436469f272566771c6671"
- "message": "Updated",
- "credit": "90.97149999999986",
- "success": true,
- "error": null
Suppression d'un seul message
Cette méthode vous permet d'annuler un message et donc de ne pas l'envoyer (non autorisé pour les messages déjà envoyés ou prévus pour être envoyés). L'annulation n'entraîne pas le remboursement des crédits dépensés.
Authorizations:
path Parameters
id required | string Example: 5cf7cc139f272546624d3795 Message Id |
Responses
Response Schema: application/json
data | Array of strings |
success | boolean |
message | string |
error | integer |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.messaggisms.com/messages/%7Bid%7D"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); CURLcode ret = curl_easy_perform(hnd);
Response samples
- 200
- 400
- 404
- 406
- 422
- "data": [ ],
- "message": "5cf7cc139f272546624d3795 Deleted",
- "success": true,
- "error": null
Récupérer les destinataires d'un message
Cette méthode permet d'afficher les destinataires d'un message donné.
Authorizations:
path Parameters
id required | string Example: 5e5e65429f272510fb6adcc0 Message Id |
Responses
Response Schema: application/json
Array of objects (Recipient_Object) | |
success | boolean |
message | string |
credit | string |
error | integer |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.messaggisms.com/messages/%7Bid%7D/recipients/"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); CURLcode ret = curl_easy_perform(hnd);
Response samples
- 200
- 404
- 406
- "data": [
- {
- "number": "+39-3xxxxx5018",
- "prefix": "+39",
- "send_id": "5e5e65429f272510fb6adcc0_0",
- "body": "test summary2",
- "sms": 1,
- "remaining_chr": 147,
- "state": "DELIVERED",
- "state_description": "DELIVERED_TO_HANDSET",
- "price": 0.03,
- "fields": [ ],
- "message_id": "5e5e65429f272510fb6adcc0",
- "i": 0,
- "state_detail": "Message delivered to handset",
- "timestamp_sent": {
- "$date": {
- "$numberLong": "1583244661371"
- "real_cost": 0.03,
- "report": {
- "price": {
- "pricePerMessage": 0.03,
- "currency": "EUR"
- "status": {
- "id": 5,
- "groupId": 3,
- "groupName": "DELIVERED",
- "name": "DELIVERED_TO_HANDSET",
- "description": "Message transmis à l'ordinateur portable"
- "error": {
- "id": 0,
- "name": "NO_ERROR",
- "description": "Pas d'erreur",
- "groupId": 0,
- "groupName": "OK",
- "permanent": false
- "messageId": "5e5e65429f272510fb6adcc1",
- "doneAt": "2020-03-03T15:11:03.168+0100",
- "smsCount": 1,
- "sentAt": "2020-03-03T15:11:01.467+0100",
- "to": "393495155018"
- "timestamp_delivery": {
- "$date": {
- "$numberLong": "1583244663000"
- "id": "5e5e65429f272510fb6adcc1"
- "message": "1 Result",
- "credit": 90.20949999999985,
- "success": true,
- "error": null
Déterminer le destinataire d'un message
Cette méthode permet d'afficher le destinataire spécifique d'un message donné.
Authorizations:
path Parameters
id required | string Example: 5e5e65429f272510fb6adcc0 Message Id |
number required | string Example: +39-34xxxxx018 Numéro du destinataire |
Responses
Response Schema: application/json
Array of objects (Recipient_Object) | |
success | boolean |
message | string |
credit | string |
error | integer |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.messaggisms.com/messages/%7Bid%7D/recipients/%7Bnumber%7D"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); CURLcode ret = curl_easy_perform(hnd);
Response samples
- 200
- 404
- 406
- "data": [
- {
- "number": "+39-3xxxxx5018",
- "prefix": "+39",
- "send_id": "5e5e65429f272510fb6adcc0_0",
- "body": "test summary2",
- "sms": 1,
- "remaining_chr": 147,
- "state": "DELIVERED",
- "state_description": "DELIVERED_TO_HANDSET",
- "price": 0.03,
- "fields": [ ],
- "message_id": "5e5e65429f272510fb6adcc0",
- "i": 0,
- "state_detail": "Message delivered to handset",
- "timestamp_sent": {
- "$date": {
- "$numberLong": "1583244661371"
- "real_cost": 0.03,
- "report": {
- "price": {
- "pricePerMessage": 0.03,
- "currency": "EUR"
- "status": {
- "id": 5,
- "groupId": 3,
- "groupName": "DELIVERED",
- "name": "DELIVERED_TO_HANDSET",
- "description": "Message transmis à l'ordinateur portable"
- "error": {
- "id": 0,
- "name": "NO_ERROR",
- "description": "Pas d'erreur",
- "groupId": 0,
- "groupName": "OK",
- "permanent": false
- "messageId": "5e5e65429f272510fb6adcc1",
- "doneAt": "2020-03-03T15:11:03.168+0100",
- "smsCount": 1,
- "sentAt": "2020-03-03T15:11:01.467+0100",
- "to": "393495155018"
- "timestamp_delivery": {
- "$date": {
- "$numberLong": "1583244663000"
- "id": "5e5e65429f272510fb6adcc1"
- "message": "1 Result",
- "credit": 90.20949999999985,
- "success": true,
- "error": null