Documentation de l'api — smsgateway24

Documentation

Documentation API et intégration

Utilisez SmsGateway24 avec les SMS, WhatsApp, les chats, les requêtes API et les webhooks.
Cette documentation couvre l'authentification par jeton, l'envoi de messages, les opérations en masse, les API d'appareils, les statuts de livraison et l'intégration des webhooks.
v.1.1
API
Conçu pour les développeurs et les équipes
Connectez votre backend, votre CRM ou votre helpdesk à votre appareil de messagerie Android.

1. Obtenir un jeton:

Description : Si cette requête aboutit, vous recevrez un jeton. Vous pourrez ensuite l'utiliser pour accéder au serveur et effectuer d'autres requêtes.
Point de terminaison : https://smsgateway24.com/getdata/gettoken
Méthode :: GET
Paramètres de la requête:
Variable Type Description
email string [obligatoire] Your login in the system. Usually email
pass string [obligatoire] Your password in the system

Réponse au format JSON ::
Variable Type Description
token string Votre jeton s'obtient via la méthode de récupération du jeton:
error int 0 | 1 — indique s'il y a eu une erreur lors du traitement de la requête
message string Message d'erreur, vide si tout va bien.
Lien vers l'exemple de code Curl
Lien vers l'exemple de code Guzzle
Exemple de réponse:
{"error":0,"message":"OK","token":"abbde3e31e9d026c02f41119fc551111e"}
or
{"error":1,"message":"Login or password incorrect"}

2. Envoyer un message unique avec TOKEN:

Description : Crée un message sortant sur le serveur. Le message peut être envoyé via le canal sélectionné de votre appareil Android connecté.
Point de terminaison : https://smsgateway24.com/getdata/addsms
Méthode : GET, POST (Utilisez %2B à la place du signe plus « + » dans la requête GET)
Paramètres de la requête:
Variable Type Description
token string [obligatoire] Votre jeton s'obtient via la méthode de récupération du jeton.
sendto string [obligatoire] Adresse ou numéro de téléphone du destinataire. Plusieurs valeurs peuvent être séparées par des virgules.
body string [obligatoire] Corps du message. Non requis lors de l'envoi d'une image (voir le paramètre « file » ci-dessous) — dans ce cas, body est remplacé par l'URL de l'image téléversée.
device_id int [obligatoire] ID de l'appareil
sim int [obligatoire] Emplacement SIM : 0 et 1 pour les SMS. 2 - WhatsApp Business, 3 - WhatsApp personnel. 4 et 5 - RCS.
timetosend string
YYYY-MM-DD
ou
YYYY-MM-DD HH:MM:SS
[facultatif] Heure prévue pour l'envoi du message. Par exemple : 2026-09-19 03:50:27
customerid int [facultatif] Le numéro d'identifiant de votre client. Champ facultatif
urgent int [facultatif] Marque le message comme urgent. Utile pour les OTP et le trafic prioritaire.
file file (multipart/form-data) [facultatif] Fichier image à envoyer (jpeg, png, webp, gif). S'il est fourni, la requête doit être envoyée en multipart/form-data avec POST. Le fichier est téléversé sur notre stockage S3 et son URL publique remplace le champ « body », de sorte que l'image est remise au destinataire (actuellement pris en charge sur les emplacements WhatsApp / WhatsApp Business) et s'affiche aussi dans le chat correspondant. Ce paramètre est entièrement facultatif — les intégrations existantes qui n'envoient que du texte continuent de fonctionner sans modification.
Rétrocompatibilité : le paramètre « file » est facultatif. Si vous n'envoyez pas de fichier, le point de terminaison se comporte exactement comme avant — vos intégrations existantes en texte seul ne nécessitent aucune modification.

Réponse au format JSON :
Variable Type Description
error int 0 ou 1 — indique s'il y a eu une erreur lors du traitement de la requête
message string Message d'erreur, vide si tout va bien.
sms_id int Identifiant du message créé dans notre système.
Lien vers l'exemple de code Curl
Lien vers l'exemple de code Guzzle
Exemple de réponse:
{ "error": 0, "sms_id": 62807347, "message": "Sms has been saved successfully" }

2.1 Méthode obsolète : envoyer un SMS unique avec identifiant et mot de passe

Obsolète. Utilisez l'authentification par jeton pour les nouvelles intégrations. Cette méthode n'est conservée que pour la rétrocompatibilité.
Point de terminaison : https://smsgateway24.com/getdata/smstosend
Méthode : GET, POST
Paramètres de la requête:
Variable Type Description
emailstring[obligatoire] Votre e-mail
passstring[obligatoire] Votre mot de passe
sendtostring[obligatoire] Adresse ou numéro de téléphone du destinataire.
bodystring[obligatoire] Corps du message
device_idint[obligatoire] ID de l'appareil
simint[obligatoire] Emplacement SIM : 0 et 1 pour les SMS. 2 - WhatsApp Business, 3 - WhatsApp personnel. 4 et 5 - RCS
timetosendstring[facultatif] Heure d'envoi programmée.
customeridint[facultatif] Votre identifiant client.
urgentint[facultatif] Marque le message comme urgent.

3. Envoi de SMS en masse via JSON

Description : Crée les SMS sur le serveur en vue de l'envoi. Ensuite, le téléphone équipé de l'application Smsgateway24 interroge le serveur, récupère les SMS et les envoie depuis votre carte SIM. Téléchargez l'application via ce lien
Point de terminaison : https://smsgateway24.com/getdata/addalotofsms
Méthode :: GET, POST
Paramètres de la requête:
Variable Type Description
datajson string [obligatoire] {"token":"df427bfcf113c9a21c67718035076b5b","smsdata":[{"sendto":"015752982212","body":"Test message","sim":1,"timetosend":"2019-07-01 23:50:00","device_id":260},{"sendto":"+4915752982212","body":"Test message 2","sim":1,"timetosend":"2019-07-01 23:50:00","device_id":260,"urgent":1}]}

Réponse au format JSON ::
Variable Type Description
error int 0 | 1 — indique s'il y a eu une erreur lors du traitement de la requête
message string Message d'erreur, vide si tout va bien.
Lien vers l'exemple de code Curl
Lien vers l'exemple de code Guzzle
Request example:
{ "token":"df427bfcf113c9a21c6771803501", "smsdata":[ { "sendto":"015752982212", "body":"Your password is 12345", "sim":1, "timetosend":"2019-07-01 23:50:00", "device_id":260, "customerid":122, "urgent":1 }, { "sendto":"015752982212", "body":"Regular SMS. Not urgnet", "sim":1, "timetosend":"2019-07-01 23:50:00", "device_id":260, "customerid":122, "urgent":0 } ] }

4. Récupérer tous les SMS (y compris les SMS entrants):

Description: Cette requête permet de récupérer tous les messages associés à votre compte, y compris les SMS entrants de clients. Toutes les variables d'entrée sont obligatoires pour cette méthode, et les SMS peuvent avoir des statuts différents.
Point de terminaison: https://smsgateway24.com/getdata/getallsms
Moyen: GET, POST (Utilisez %2B à la place du signe plus « + » dans la requête GET)
Paramètres de la requête:
Variable Type Description
token string [obligatoire] Votre jeton s'obtient via la méthode de récupération du jeton.
device_id string [facultatif] ID de l'appareil
status int [facultatif]
  • 1 - SMS en attente
  • 2 - SMS pris en charge par le téléphone
  • 3 - En file d'attente pour l'envoi. Certainly, it would have been more logical to place the status "queued for sending" before "SMS taken by phone," but for backward compatibility, the statuses are in the following order: 1, 3, 2."
  • 5 - SMS entrants
  • 6 - SMS envoyés par le téléphone
  • 7 - Le SMS a été livré
  • 8 - Le SMS n'a PAS été livré
  • 9 - Le SMS n'a pas été envoyé du tout — Generic Failure. (Découvrez quoi faire face à cette erreur ici)
  • Autres erreurs, moins fréquentes:
  • 10 - SMS non envoyé - No Service
  • 11 - SMS non envoyé - Null PDU
  • 12 - SMS non envoyé - Radio Off
  • 100, 101 - SMS non envoyé - NOT ALLOWED. (Les autorisations d'envoi de SMS n'ont pas été accordées à l'application)
begindate string
YYYY-MM-DD
or
YYYY-MM-DD HH:MM:SS
[facultatif] Begin Date Time
enddate string
YYYY-MM-DD
or
YYYY-MM-DD HH:MM:SS
[facultatif] End Date Time
sim int [facultatif] Emplacement SIM : 0 et 1 pour les SMS. 2 - WhatsApp Business, 3 - WhatsApp personnel. 4 et 5 - RCS # 0 or 1
customerid int [facultatif] Le numéro d'identifiant de votre client. Champ facultatif
onlycount int [facultatif] 0 | 1 compter uniquement
phone string [facultatif] 0 | 1 Filtre par numéro de téléphone
orderbydesc int [facultatif] 0 | 1 Order by any field
timezone int [facultatif] Indiquez votre fuseau horaire local, par exemple Australia/Sydney.

Réponse au format JSON ::
Variable Type Description
token string Votre jeton s'obtient via la méthode de récupération du jeton:
error int 0 | 1 — indique s'il y a eu une erreur lors du traitement de la requête
message string Message d'erreur, vide si tout va bien
count int SMS amount
smss int JSON object
Lien vers l'exemple de code Curl
Lien vers l'exemple de code Guzzle
Exemple de réponse ... :
{ "smss": { "62050971": { "id": 62050971, "sendto": "+4912312312332", "body": "Hello! Thank you for Order! ", "customerid": null, "status": 2, "statustitle": "sending", "deviceid": 11231, "urgent": null, "created": { "date": "2023-11-02 22:44:43.000000", "timezone_type": 3, "timezone": "Europe/Paris" }, "senttime": null, "timetosend": null, "paketid": null, "pakettitle": null, "paketbody": null }, "62051117": { "id": 62051117, "sendto": "+4912312312332", "body": "Hello! Thank you for Order! ", "customerid": null, "status": 7, "statustitle": "delivered", "deviceid": 11231, "urgent": null, "created": { "date": "2023-11-02 22:46:09.000000", "timezone_type": 3, "timezone": "Europe/Paris" }, "senttime": null, "timetosend": null, "paketid": null, "pakettitle": null, "paketbody": null } } }

5. Ajouter une nouvelle liste de contacts

Description : Le tag est nécessaire pour créer une newsletter ciblant un groupe de numéros. Utilisez par exemple le tag Employés
Point de terminaison : https://smsgateway24.com/getdata/savetag
Méthode :: GET, POST
Paramètres de la requête:
Variable Type Description
token string [obligatoire] Votre jeton s'obtient via la méthode de récupération du jeton.
title string [obligatoire] Nom du tag

Réponse au format JSON ::
Variable Type Description
tag_id int Tag ID
error int 0 | 1 — indique s'il y a eu une erreur lors du traitement de la requête
message string Message d'erreur, vide si tout va bien.
Lien vers l'exemple de code Curl
Lien vers l'exemple de code Guzzle
Exemple de réponse:
{ "error": 0, "tag_id": 8303, "message": "OK" }

6. Ajouter des contacts à la liste de contacts:

Description : Ajoutez des contacts à n'importe quel tag. Par exemple, vos collègues conviennent parfaitement au tag * Employés *.
Point de terminaison : https://smsgateway24.com/getdata/savecontact
Méthode :: GET, POST
Paramètres de la requête:
Variable Type Description
token string [obligatoire] Votre jeton s'obtient via la méthode de récupération du jeton.
phone string [obligatoire] phone number
ctag_id int [obligatoire] Tag ID
fullname string [obligatoire] Le nom de votre client

Réponse au format JSON ::
Variable Type Description
contact_id int Contact Id
error int 0 | 1 — indique s'il y a eu une erreur lors du traitement de la requête
message string Message d'erreur, vide si tout va bien.
Lien vers l'exemple de code Curl
Lien vers l'exemple de code Guzzle
Exemple de réponse ... :
{"error":0,"contact_id":15954765,"message":"ok"}

7. Créer une newsletter

Description :Une fois le tag créé, vous pouvez lancer l'envoi vers les numéros de ce tag.
Point de terminaison : https://smsgateway24.com/getdata/savepaket
Méthode :: GET, POST
Paramètres de la requête:
Variable Type Description
token string [obligatoire] Votre jeton s'obtient via la méthode de récupération du jeton.
title string [obligatoire] Titre de la newsletter
device_id string [obligatoire] ID de l'appareil
body string [obligatoire] Corps du message cible
tags string [obligatoire] ID du tag. Il peut y en avoir plusieurs, séparés par des virgules. Par exemple : 12,13,14
sim int [obligatoire]Emplacement SIM : 0 et 1 pour les SMS. 2 - WhatsApp Business, 3 - WhatsApp personnel. 4 et 5 - RCS 0 or 1
time_to_send int, default = 0 [obligatoire]Date time when Newsletter should be sent. Do not forget tap start on device. DD.MM.YYYY H:i:s

Réponse au format JSON ::
Variable Type Description
contact_id int ID du contact
error int 0 | 1 — indique s'il y a eu une erreur lors du traitement de la requête
message string Message d'erreur, vide si tout va bien.
paket_id int Package ID
Lien vers l'exemple de code Curl
Lien vers l'exemple de code Guzzle
Exemple de réponse ... :
{"error":0,"message":"OK","token":"abbde3e31e9d026c02f4f49fc551111e"}
or
{"error":1,"message":"Login or password incorrect"}

8. Récupérer la liste des appareils

Description : Vous pouvez tout savoir sur vos appareils.
Point de terminaison : https://smsgateway24.com/getdata/getalldevices
Méthode :: GET, POST
Paramètres de la requête:
Variable Type Description
token string [obligatoire] Votre jeton s'obtient via la méthode de récupération du jeton.

Réponse au format JSON ::
Variable Type Description
count int Nombre d'appareils:
device json
  • id - ID de l'appareil
  • title - Nom de l'appareil
  • created - Date de création de l'appareil
  • createdhumanformat - Date de création de l'appareil au format classique
  • lastseen - Date à laquelle l'appareil a été vu pour la dernière fois
  • lastseenhumanformat - Date à laquelle l'appareil a été vu pour la dernière fois
  • serialnumber - Numéro de série de l'appareil
  • siminfo - Informations sur les cartes SIM au format JSON
  • appversion - La version de l'application installée sur l'appareil
  • subscription - L'appareil dispose-t-il d'un abonnement
message string Message d'erreur, vide si tout va bien.
Lien vers l'exemple de code Curl
Lien vers l'exemple de code Guzzle
Exemple de réponse:
    {
    "count": 2,
    "device": {
        "1576": {
            "id": 1576,
            "title": "AOSP_on_IA_Emulator",
            "number": null,
            "imei": "358240051111110",
            "created": {
                "date": "2020-03-28 20:10:29.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "createdhumanformat": "28.03.2020 20:10:29",
            "lastseen": {
                "date": "2020-04-23 17:02:21.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "lastseenhumanformat": "23.04.2020 17:02:21",
            "serialnumber": "EMULATOR30X0X5X0",
            "siminfo": [
                {
                    "Slot": "0",
                    "IccId": "89014103211118510720",
                    "Number": " 15555215554",
                    "Roaming": "0",
                    "CountryIso": "us",
                    "CarrierName": "Android (T-Mobile)"
                }
            ],
            "appversion": "12.1.21",
            "isappversionactual": false,
            "delaybetweeneachsms": null,
            "delaybetweenrequest": 1,
            "subscription": true
        },
        "1297": {
            "id": 1297,
            "title": "Android_SDK_built_for_x86",
            "number": null,
            "imei": "null",
            "created": {
                "date": "2020-01-20 14:01:05.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "createdhumanformat": "20.01.2020 14:01:05",
            "lastseen": {
                "date": "2020-04-20 20:51:34.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "lastseenhumanformat": "20.04.2020 20:51:34",
            "serialnumber": "unknown",
            "siminfo": [
                {
                    "Slot": "0",
                    "IccId": "8949226172233934327",
                    "Number": "+4915752982212",
                    "Roaming": "1",
                    "CountryIso": "de",
                    "CarrierName": "Drillisch (o2)"
                }
            ],
            "appversion": "12.1.21",
            "isappversionactual": false,
            "delaybetweeneachsms": 5,
            "delaybetweenrequest": 10,
            "subscription": false
        }
    }
}

9. Récupérer le statut de livraison d'un SMS

Description : Cette méthode vous permet de connaître le statut de livraison de chaque SMS
Point de terminaison : https://smsgateway24.com/getdata/getsmsstatus
Méthode :: GET, POST
Paramètres de la requête:
Variable Type Description
token string [obligatoire] Votre jeton s'obtient via la méthode de récupération du jeton.
sms_id int [obligatoire] Sms Id

Réponse au format JSON ::
Variable Type Description
sms_id int SMS ID
status int SMS Status
  • 1 - SMS en attente
  • 2 - SMS pris en charge par le téléphone
  • 3 - En file d'attente pour l'envoi. Certainly, it would have been more logical to place the status "queued for sending" before "SMS taken by phone," but for backward compatibility, the statuses are in the following order: 1, 3, 2."
  • 5 - SMS entrants
  • 6 - SMS envoyés par le téléphone
  • 7 - Le SMS a été livré
  • 8 - Le SMS n'a PAS été livré
  • 9 - Le SMS n'a pas été envoyé du tout — Generic Failure. (Découvrez quoi faire face à cette erreur ici)
  • Autres erreurs, moins fréquentes:
  • 10 - SMS non envoyé - No Service
  • 11 - SMS non envoyé - Null PDU
  • 12 - SMS non envoyé - Radio Off
  • 100, 101 - SMS non envoyé - NOT ALLOWED. (Les autorisations d'envoi de SMS n'ont pas été accordées à l'application)
status_description string Nom du statut
error int 0 | 1 - y a-t-il une erreur lors du traitement de la requête
message string Message d'erreur, vide si tout va bien.
Lien vers l'exemple de code Curl
Lien vers l'exemple de code Guzzle
Exemple de réponse:
{"error":0,"message":"OK","token":"abbde3e31e9d026c02f4f49fc551111e"}
or
{"error":1,"message":"Login or password incorrect"}