Documentation SMS
Chez SMSmobileAPI, nous nous efforçons de rendre notre API aussi compatible que possible avec n'importe quelle architecture ou plate-forme.
Que vous utilisiez REST, SOAP, cURL ou divers langages de programmation comme Python, JavaScript, PHP et bien d'autres, notre API est conçue pour s'intégrer parfaitement à vos projets.
Nous disposons également de plugins prêts à l'emploi pour les solutions et logiciels de commerce électronique.
Cliquez ici pour les découvrir.
Envoyer un SMS
Ce point de terminaison vous permet d'envoyer un SMS depuis votre téléphone mobile.Point final :
Paramètres:
| Paramètre | Description |
|---|---|
| apikey | Requis Votre clé API unique. |
| recipients | Requis Le numéro de téléphone du destinataire. |
| message | Requis Le message à envoyer (pas de limite de 160 caractères). |
| port |
Indiquez le port SIM à utiliser pour l'envoi des SMS : 1, 2, ou laissez-le vide. Si ce champ est laissé vide, le SMS sera automatiquement envoyé via le port SIM disponible. Ce paramètre est disponible à partir de la version Android 4.1.15.0 et fonctionne lorsque l'application est dans le premier plan. |
| shorturl | 1 = convertir les URL en liens courts 0 ou vide = aucune conversion |
| sIdentifiant | Sélectionnez le téléphone connecté qui envoie le SMS. Laissez ce champ vide pour utiliser le premier appareil disponible. Nécessite l'application 3.0.35.3 ou une version ultérieure. |
| sendwa | 1 = envoyer via WhatsApp. |
| sendsms | 1 = envoi par SMS (valeur par défaut si ce champ est vide). Indiquez 0 pour bloquer les SMS. |
| encrypt_message | Oui = Le destinataire a besoin d'une clé pour déchiffrer. Apprendre encore plus |
| schedule_timestamp | Horodatage UNIX (GMT 0) à partir duquel le SMS doit être envoyé. |
Exemple de requête :
GET https://api.smsmobileapi.com/sendsms/?apikey=VOTRE_CLÉ_API&recipients=+1234567890&message=HelloWorld
Exemple de réponse JSON :
{ "result": { "error": 0, "sent": "1", "id": "c319d3b35e8f8712cde20dae39ac3c19f86eda25", "note": "envoyé par mobile", "datetime": "2026-03-20T21:07:44Z", "datetimeLocal": "2026-03-20T22:07:44+01:00", "port": null, "iac_control": "1", "iac_authorized": "1", "send_with_whatsapp": "0", "encrypted": { "status": "0" }, "trial_account": { "status": "0", "sms_sent": 0 } } }
Explication de la réponse :
| Champ | Description |
|---|---|
| result.error | 0 = aucune erreur. Si une autre valeur est renvoyée, la requête a échoué ou a été bloquée. |
| result.sent | 1 = Le message a été accepté pour envoi par le mobile. |
| result.id | Identifiant unique du message généré par l'API. Vous pouvez le conserver à des fins de suivi ou de journalisation. |
| result.note | Informations complémentaires sur le traitement du message. Exemple : envoyé par mobile. |
| result.datetime | Date et heure UTC de la réponse de l'API. |
| result.datetimeLocal | Date et heure locales basées sur la configuration du mobile ou du serveur. |
| result.port | Port SIM utilisé pour l'envoi. Peut être 1, 2, ou nul si non spécifié ou non renvoyé. |
| result.iac_control | État du contrôle de l'API interne. 1 signifie que la requête a passé les contrôles de validation internes. |
| result.iac_authorized | 1 signifie que la clé API est autorisée à utiliser ce point de terminaison. |
| result.send_with_whatsapp | 1 = Le message est traité via WhatsApp. 0 = envoi de SMS standard. |
| result.encrypted.status | 1 = chiffrement activé. 0 = message envoyé sans chiffrement. |
| result.trial_account.status | 1 = Ce compte est un compte d'essai. 0 = compte courant. |
| result.trial_account.sms_sent | Nombre de SMS déjà envoyés depuis le compte d'essai, le cas échéant. |
Renvoyer un SMS non envoyé
Ce point de terminaison vous permet de renvoyer un SMS non envoyé précédemment, uniquement si le message est actuellement en statut d'erreur.
Point final :
Paramètres:
| Paramètre | Description |
|---|---|
| apikey | Requis Votre clé API unique. |
| guid | Requis GUID du message à renvoyer. |
Exemple de requête :
OBTENEZ https://api.smsmobileapi.com/resend/?apikey=VOTRE_CLÉ_API&guid=GUID_DU_MESSAGE
Exemple de réponse JSON :
{ "result": { "error": "0", "sms": "renvoyé avec succès", "attempt": 1 } }
Explication de la réponse :
| Champ | Description |
|---|---|
| result.error | 0 Aucune erreur. La demande de renvoi a été acceptée avec succès. |
| result.sms | Message d'état renvoyé par l'API. Dans cet exemple, il confirme que le SMS a été renvoyé avec succès. |
| result.attempt | Indique le numéro de la tentative de renvoi. |
Journal des SMS envoyés depuis l'API
Ce point de terminaison vous permet de récupérer le journal des messages SMS envoyés via l'API.
Point final :
Paramètres:
| Paramètre | Description |
|---|---|
| apikey | Requis Votre clé API unique. |
| guid_message | Filtrer par identifiant unique du message. |
| before | Récupérez les messages envoyés avant cette valeur. Selon votre implémentation, il peut s'agir d'un horodatage ou d'une référence de message. |
| error_api | 1 = n'afficher que les SMS comportant une erreur de requête API. |
| error_mobile | 1 = n'afficher que les SMS présentant une erreur de traitement mobile. |
| keyword | Filtrer par numéro de destinataire ou par contenu du message. |
Exemple de requête :
GET https://api.smsmobileapi.com/log/sent/sms/?apikey=VOTRE_CLÉ_API
Exemple de réponse JSON :
{ "result": { "error": "0", "sms": [ { "sIdentifiantPhone": "abbg00055x5", "port": 0, "date_add": "2026-03-20", "hour_add": "22:07:44", "timestamp": 1774044464, "send_from_mobile": 1, "send_from_mobile_date": "2026-03-20", "send_from_mobile_heure": "22:10:05", "send_from_mobile_timestamp": 1774044605, "recipients": "32495898697", "sms": "test", "error_api": "", "send_from_mobile_erreur": "", "guid_message": "c319d3b35e8f8712cde20dae39ac3c19f86eda25", "timearea": "UTC+01", "date_add_server": "2026-03-20", "hour_add_server": "21:07:44", "timestamp_server": 1774040864, "send_from_mobile_date_server": "2026-03-20", "send_from_mobile_heure_server": "21:10:05" } ] } }
Explication de la réponse :
| Champ | Description |
|---|---|
| result.error | 0 Aucune erreur. La requête a été traitée avec succès. |
| result.sms | Tableau contenant les entrées du journal des SMS envoyés renvoyées par l'API. |
| result.sms[].sIdentifiantPhone | Identifiant du téléphone utilisé pour l'envoi, le cas échéant. |
| result.sms[].port | Port SIM utilisé pour l'envoi de SMS. |
| result.sms[].date_add | Date locale à laquelle le SMS a été ajouté à la file d'attente. |
| result.sms[].hour_add | Heure locale à laquelle le SMS a été ajouté à la file d'attente. |
| result.sms[].timestamp | Horodatage UNIX de la date/heure locale mise en file d'attente. |
| result.sms[].send_from_mobile | 1 = Le SMS a été envoyé depuis le téléphone mobile. 0 = pas encore envoyé ou échec avant l'envoi. |
| result.sms[].send_from_mobile_date | Date locale à laquelle le mobile a effectivement envoyé le SMS. |
| result.sms[].send_from_mobile_heure | Heure locale à laquelle le téléphone mobile a effectivement envoyé le SMS. |
| result.sms[].send_from_mobile_timestamp | Horodatage UNIX de l'heure d'envoi réelle depuis le mobile. |
| result.sms[].recipients | Numéro de téléphone du destinataire. |
| result.sms[].sms | Contenu du message. |
| result.sms[].error_api | Erreur renvoyée lors du traitement de la requête API, le cas échéant. Une valeur vide signifie qu'aucune erreur API n'a été détectée. |
| result.sms[].send_from_mobile_erreur | Erreur renvoyée par le mobile lors de l'envoi, le cas échéant. Une valeur vide signifie qu'aucune erreur n'a été détectée. |
| result.sms[].guid_message | GUID unique du message. |
| result.sms[].timearea | Fuseau horaire utilisé pour les champs de date et d'heure locales. |
| result.sms[].date_add_server | Date côté serveur à laquelle le SMS a été ajouté. |
| result.sms[].hour_add_server | Heure côté serveur à laquelle le SMS a été ajouté. |
| result.sms[].timestamp_server | Horodatage UNIX côté serveur lors de l'ajout du SMS. |
| result.sms[].send_from_mobile_date_server | Date côté serveur à laquelle le SMS a été envoyé par le mobile. |
| result.sms[].send_from_mobile_heure_server | Heure côté serveur à laquelle le SMS a été envoyé par le mobile. |
Liste des SMS envoyés depuis un mobile
Ce point de terminaison vous permet de lister les SMS envoyés depuis votre appareil mobile et synchronisés avec votre compte SMSMobileAPI.
Important: Cette fonctionnalité est disponible à partir de la version Android 4.1.20.
Important: Cette fonctionnalité est non activé par défaut dans l'application Android.
Confidentialité: Toutes les informations synchronisées sont anonymisées, confidentielles et traitées en toute sécurité.
Limite de l'historique : Cette API ne renvoie que les données de la dernière 7 jours.
Note: Si vous envoyez des SMS en utilisant le point de terminaison API standard https://api.smsmobileapi.com/sendsms/Ces SMS peuvent également apparaître dans cette liste car ils sont physiquement envoyés depuis votre appareil mobile.
Point final :
Paramètres:
| Paramètre | Description |
|---|---|
| apikey | Requis Votre clé API unique. |
| date | Facultatif. Filtre de date exacte dans YYYY-MM-DD format. |
| date_from | Facultatif. Date de début de la période en YYYY-MM-DD format. |
| date_to | Facultatif. Date de fin de la période en YYYY-MM-DD format. |
| period | Optionnel. Filtre de période prédéfini. Valeurs autorisées : today, yesterday, last_24h, last_3days, last_7days. |
| number | Facultatif. Filtrer par numéro de téléphone du destinataire. |
| sIdentifiant | Facultatif. Filtrer par identifiant mobile. |
| message | Facultatif. Filtrer par contenu SMS. |
| search | Facultatif. Recherche globale sur sIdentifiant, number, message, mobile_date_formatted, et synchro_time. |
| sort_by | Facultatif. Champ de tri. Valeurs autorisées : sIdentifiant, number, message, mobile_date_ms, mobile_date_formatted, synchro_time. |
| sort_order | Facultatif. Ordre de tri : ASC ou DESC. |
| limit | Facultatif. Nombre maximal de lignes renvoyées. Valeur maximale autorisée : 200. |
Champs renvoyés :
| Champ | Description |
|---|---|
| sIdentifiant | Identifiant mobile lié au SMS envoyé. |
| number | Numéro de téléphone du destinataire. |
| message | Contenu des SMS. |
| mobile_date_ms | Horodatage du SMS d'origine en millisecondes. |
| mobile_date_formatted | Date formatée reçue de l'appareil mobile. |
| synchro_time | Date et heure de synchronisation du SMS avec SMSMobileAPI. |
Exemple de requête :
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=VOTRE_CLÉ_API
Exemple avec filtres :
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=VOTRE_CLÉ_API&date=2026-03-13&number=+15551234567&sort_by=synchro_time&sort_order=DESC
Exemple avec période prédéfinie :
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY&period=last_7days&limit=200
Exemple de réponse JSON :
{ "result": { "error": "0", "count": 200, "limit": 200, "history_limit_days": 7, "sort_by": "mobile_date_ms", "sort_order": "DESC", "sms": [ { "sIdentifiant": "508b004b4aadacc4", "number": "+15551234567", "message": "Bonjour, votre rendez-vous a été confirmé.", "mobile_date_ms": 1774041004692, "mobile_date_formatted": "2026-03-20 22:10:04", "synchro_time": "2026-03-20 21:10:05" }, { "sIdentifiant": "e5b70a8a28b2ec3d", "number": "+447700900123", "message": "Votre code de vérification est 482915.", "mobile_date_ms": 1774040902284, "mobile_date_formatted": "2026-03-20 22:08:22", "synchro_time": "2026-03-20 21:08:35" }, { "sIdentifiant": "e5b70a8a28b2ec3d", "number": "+33198765432", "message": "Merci pour votre commande. Elle est en cours de traitement.", "mobile_date_ms": 1774026491230, "mobile_date_formatted": "2026-03-20 18:08:11", "synchro_time": "2026-03-20 17:19:19" } ] } }
Explication de la réponse :
| Champ | Description |
|---|---|
| result.error | 0 Aucune erreur. La requête a été traitée avec succès. |
| result.count | Nombre de SMS renvoyés dans la réponse actuelle. |
| result.limit | Nombre maximal de lignes demandées ou appliquées par l'API. |
| result.history_limit_days | Plage d'historique maximale disponible via ce point de terminaison, en jours. |
| result.sort_by | Champ de tri appliqué à la réponse. |
| result.sort_order | Sens de tri appliqué à la réponse : ASC ou DESC. |
| result.sms | Tableau contenant les entrées SMS synchronisées envoyées depuis l'appareil mobile. |
| result.sms[].sIdentifiant | Identifiant de l'appareil mobile qui a envoyé le SMS. |
| result.sms[].number | Numéro de téléphone du destinataire. |
| result.sms[].message | Contenu du message SMS. |
| result.sms[].mobile_date_ms | Horodatage mobile d'origine en millisecondes. |
| result.sms[].mobile_date_formatted | Date et heure lisibles par un humain depuis l'appareil mobile. |
| result.sms[].synchro_time | Date et heure de synchronisation de l'entrée SMS avec SMSMobileAPI. |
SMS reçu
Ce point de terminaison vous permet de récupérer les SMS reçus sur votre smartphone.
Point final :
Paramètres:
| Paramètre | Description |
|---|---|
| apikey | Requis Votre clé API unique. |
| sIdentifiantPhone | Facultatif. Filtrer les messages reçus sur un téléphone associé spécifique. |
| after_timestamp_unix | Facultatif. Récupérer uniquement les SMS reçus après un horodatage UNIX donné. |
| onlyunread | Oui = ne renvoie que les messages qui n'ont pas encore été marqués comme lus par l'état de l'API. |
Exemple de requête :
OBTENEZ https://api.smsmobileapi.com/getsms/?apikey=VOTRE_CLÉ_API
Exemple de réponse JSON :
{ "result": { "error": "", "sms": [ { "id": 466340, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "date": "2026-03-20", "hour": "21:23:34", "timestamp_unix": 1774041814, "time_received": "20260320222332804", "indice": "27593", "message": "Bonjour, votre colis a été livré.", "number": "+15551234567", "guid": "6BFD7DC7-3492-422D-8D02-4AF4E614F122", "alias": null, "apikey": "YOUR_API_KEY_HASH" }, { "id": 466341, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "date": "2026-03-20", "hour": "21:23:34", "timestamp_unix": 1774041814, "time_received": "20260320221005892", "indice": "27591", "message": "Votre rendez-vous est confirmé pour demain.", "number": "+447700900123", "guid": "BF3B38D7-8401-4A8C-8BA6-D8D58ACBB23E", "alias": null, "apikey": "YOUR_API_KEY_HASH" }, { "id": 466324, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "date": "2026-03-20", "hour": "21:08:24", "timestamp_unix": 1774040904, "time_received": "20260320220822763", "indice": "27590", "message": "Veuillez nous rappeler dès que possible.", "number": "+33198765432", "guid": "08C88E20-9B98-453F-B361-9BB06D3275D6", "alias": null, "apikey": "YOUR_API_KEY_HASH" }, { "id": 466156, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "date": "2026-03-20", "hour": "19:05:22", "timestamp_unix": 1774033522, "time_received": "20260320200026246", "indice": "27588", "message": "Rappel : votre compte est en cours de vérification.", "number": "10001", "guid": "551B2CF4-9330-4DD2-B2BA-5A4026EEEB15", "alias": null, "apikey": "YOUR_API_KEY_HASH" } ] } }
Explication de la réponse :
| Champ | Description |
|---|---|
| result.error | Une valeur vide signifie généralement qu'aucune erreur n'a été renvoyée par l'API. |
| result.sms | Tableau contenant les SMS reçus. |
| result.sms[].id | Identifiant unique interne de l'entrée SMS reçue. |
| result.sms[].sIdentifiantPhone | Identifiant du téléphone qui a reçu le SMS. |
| result.sms[].date | Date de réception du SMS. |
| result.sms[].hour | Heure à laquelle le SMS a été reçu. |
| result.sms[].timestamp_unix | Horodatage UNIX du SMS reçu. |
| result.sms[].time_received | Horodatage interne d'origine fourni par l'application mobile. |
| result.sms[].indice | Index ou référence des messages internes issus du processus de synchronisation. |
| result.sms[].message | Contenu du SMS reçu. |
| result.sms[].number | Numéro de téléphone ou code court de l'expéditeur. |
| result.sms[].guid | Identifiant unique (GUID) attribué au SMS reçu. |
| result.sms[].alias | Alias facultatif associé à l'expéditeur, le cas échéant. Peut être nul. |
| result.sms[].apikey | Clé API associée à l'enregistrement du message. Dans les exemples de documentation, cette valeur doit être masquée. |
Marquer les messages SMS reçus comme lus
Ce point de terminaison d'API est utilisé pour marquer un SMS reçu comme lu dans le État de l'API uniquement.
Cela ne modifie pas le statut de lecture sur le smartphone.
Point final :
Paramètre:
| Paramètre | Description |
|---|---|
| apikey | Requis La clé API que vous possédez ou que vous recevrez. |
| guid_message | Requis GUID du message à marquer comme lu. |
Exemple:
OBTENEZ https://api.smsmobileapi.com/getsms/set-read/?apikey=YOUR_APIKEY&guid_message=GUID_MESSAGE
Mettre à jour l'alias SMS
Ce point de terminaison d'API est utilisé pour mettre à jour l'alias d'un SMS reçu à l'aide de son GUID.
Note: Le alias Ce paramètre peut être vide. Dans ce cas, l'alias sera effacé.
Point final :
Paramètres:
| Paramètre | Description |
|---|---|
| apikey | Requis Votre clé API. |
| guid | Requis GUID du SMS reçu à mettre à jour. |
| alias | Requis Alias à attribuer à ce SMS. Cette valeur peut être vide pour effacer l'alias actuel. |
Exemple:
GET https://api.smsmobileapi.com/getsms/update/?apikey=VOTRE_CLÉ_API&guid=GUID_DU_MESSAGE&alias=JohnDoe
Exemple pour supprimer l'alias :
GET https://api.smsmobileapi.com/getsms/update/?apikey=VOTRE_CLÉ_API&guid=GUID_DU_MESSAGE&alias=
Supprimer les SMS
Ce point de terminaison vous permet de supprimer les messages SMS du journal du serveur SMSMobileAPI.
Point final :
Paramètres:
| Paramètre | Description |
|---|---|
| apikey | Requis Votre clé API unique. |
| guid_message | Supprimer un message spécifique à l'aide de son GUID unique. |
| date_start | Utilisée seule, cette fonction supprime tous les messages enregistrés à partir de la date spécifiée. |
| date_end | Utilisé avec date_début supprimer les messages compris dans une plage de dates. |
Exemple de requête :
GET https://api.smsmobileapi.com/deletesms/?apikey=VOTRE_CLÉ_API&guid_message=GUID_DU_MESSAGE
Exemple de réponse JSON :
{ "résultat": { "erreur": null, "compte_supprimer": 1 } }
Explication de la réponse :
| Champ | Description |
|---|---|
| result.error | nul signifie qu'aucune erreur n'a été renvoyée par l'API lors de la requête de suppression. |
| result.count_delete | Nombre d'entrées de journal SMS supprimées du serveur. |
Remarque : seuls les SMS enregistrés dans les journaux du serveur SMSMobileAPI sont supprimés. Les SMS déjà stockés sur l’appareil mobile ne sont pas supprimés.
Liste des conversations SMS
Ce point de terminaison API permet de lister les conversations SMS liées à votre compte.
Chaque conversation est regroupée par numéro de téléphone et contient les SMS entrants et sortants associés.
Note: Le point de départ de la conversation est défini par le origineConversation paramètre:
- received: les conversations sont d'abord détectées à partir des SMS reçus dans logsmsreceive
- sent: les conversations sont d'abord détectées à partir des SMS envoyés dans logsmssent
Note: Si numero Si cette information n'est pas fournie, l'API ne renvoie que les conversations les plus récentes. Par défaut, la dernière 20 Les conversations sont renvoyées.
Note: Pour les SMS sortants, si timearea_of_message est disponible (exemple : UTC+02La date affichée est automatiquement convertie à l'aide de cette valeur. Cette date convertie sert également au tri.
Note: Si resume=1Seuls les derniers messages de chaque conversation sont affichés. Utilisez resume_line_how définir le nombre de messages les plus récents à inclure.
Point final :
Paramètres:
| Paramètre | Description |
|---|---|
| apikey | Requis Votre clé API. |
| origineConversation | Requis Définit le point de départ de la liste des conversations. Valeurs autorisées : received ou sent. |
| numero | Facultatif Filtrer les résultats pour n'afficher qu'un seul numéro de téléphone. |
| date_from | Facultatif Filtre par date de début pour les conversations et les messages. Format accepté : YYYY-MM-DD ou une valeur de date et d'heure complète. |
| date_to | Facultatif Filtre de date de fin pour les conversations et les messages. Format accepté : YYYY-MM-DD ou une valeur de date et d'heure complète. |
| sort | Facultatif Ordre de tri des conversations. Valeurs autorisées : DESC ou ASC. Défaut: DESC. |
| limit | Facultatif Nombre maximal de conversations à renvoyer lorsque numero non fourni. Valeur par défaut : 20. |
| resume | Facultatif Si défini sur 1Seuls les derniers messages de chaque conversation sont affichés. |
| resume_line_how | Facultatif Nombre de derniers messages à renvoyer par conversation lorsque resume=1. Défaut: 1. |
Détails du comportement :
- Les SMS entrants sont lus à partir de logsmsreceive.
- Les SMS sortants sont lus à partir de logsmssent.
- Les messages entrants sont toujours renvoyés direction = "incoming".
- Les messages sortants sont toujours retournés. direction = "outgoing".
- L'alias de contact est tiré de logsmsreceive.alias en cas de disponibilité.
- Pour les SMS entrants, l'identifiant mobile (SID) provient de sIdentifiant_pour_read.
- Pour les SMS sortants, l'identifiant mobile (SID) provient de send_from_mobile_sIdentifiant.
- Pour les SMS sortants, la date affichée est ajustée avec timearea_of_message si ce champ n'est pas vide.
Exemple 1 - Lister les dernières conversations issues des SMS reçus :
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received
Exemple 2 - Lister les dernières conversations issues des SMS envoyés :
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=sent
Exemple 3 - Filtrer un numéro de téléphone spécifique :
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received&numero=32470000001
Exemple 4 - Filtrer par plage de dates :
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received&date_from=2026-03-01&date_to=2026-03-31
Exemple 5 - Reprise du mode avec les 3 derniers messages par conversation :
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=sent&resume=1&resume_line_how=3
Exemple de réponse réussie :
{ "success": true, "origineConversation": "received", "resume": 0, "resume_line_how": null, "conversations": [ { "phone_number": "+10470000001", "contact_alias": "John Doe", "messages": [ { "direction": "incoming", "message_id": "msg_1001", "date": "2026-03-13 08:45:12", "timestamp_utc": "2026-03-13T08:45:12Z", "message": "Bonjour, je souhaite obtenir plus d'informations.", "status": "received", "mobile_sid": "device_sid_1" }, { "direction": "outgoing", "message_id": "msg_1002", "date": "2026-03-13 10:46:03", "timestamp_utc": "2026-03-13T08:46:03Z", "message": "Bien sûr, que souhaitez-vous savoir ?", "status": "envoyé", "mobile_sid": "device_sid_2" } ] } ] }
Champs de réponse :
| Champ | Description |
|---|---|
| success | Indique si la requête a abouti. |
| origineConversation | Le mode de démarrage utilisé pour constituer la liste de conversations. |
| resume | Indique si le mode de reprise est activé. |
| resume_line_how | Nombre de lignes les plus récentes renvoyées par conversation lorsque le mode de reprise est activé. |
| conversations | Ensemble de conversations. |
| phone_number | Numéro de téléphone utilisé pour identifier la conversation. |
| contact_alias | Alias associé au numéro de téléphone, le cas échéant. |
| messages | Tableau des messages SMS contenus dans la conversation. |
| direction | incoming pour les SMS reçus, outgoing pour les SMS envoyés. |
| message_id | Identifiant unique du message. |
| date | Afficher la date du message. Pour les SMS sortants, cette valeur peut être modifiée à l'aide de timearea_of_message. |
| timestamp_utc | Horodatage UTC du message. |
| message | Contenu du message. |
| status | received pour les SMS entrants, sent pour les SMS sortants. |
| mobile_sid | SID de l'appareil mobile qui a reçu ou envoyé le message. |
Exemple d'erreur :
{ "success": false, "error": "Paramètre requis manquant : apikey" }
Remarques :
- Si numero Si les données sont fournies, l'API ne renvoie que la conversation liée à ce numéro de téléphone.
- Si numero Si cette information n'est pas fournie, l'API renvoie les dernières conversations en fonction du mode d'origine sélectionné.
- Les messages entrants et sortants sont fusionnés en une seule chronologie pour chaque numéro de téléphone.
- Le tri des messages sortants tient compte de la date locale ajustée lorsque timearea_of_message est disponible.
- Le mode reprise est utile pour les tableaux de bord, les widgets, les aperçus et les résumés de conversation.
Passerelle – Liste des mobiles connectés
Liste des mobiles connectés à votre Passerelle SMS.
Point final :
Paramètres:
| Paramètre | Description |
|---|---|
| apikey | Requis Votre clé API. |
| sid | Filtrer par SID exact (sIdentifiant_pour_check). |
| search | Recherche par champs (sid, date, batterie, version, étiquette...). |
Exemple:
GET https://api.smsmobileapi.com/gateway/mobile/list/?apikey=VOTRE_CLÉ_API
Passerelle – Mettre à jour une étiquette mobile
Mettre à jour l'étiquette (nom_reference) d'un mobile connecté.
Point final :
Paramètres:
| Paramètre | Description |
|---|---|
| apikey | Requis Votre clé API. |
| sid | Requis L'identifiant SID du périphérique (sIdentifiant_pour_vérification). |
| label | Nouvelle étiquette |
| phone_number | Nouveau numéro de téléphone |
Exemple:
GET https://api.smsmobileapi.com/gateway/mobile/update/?apikey=YOUR_API_KEY&sid=SID&label=OfficePhone
Important: L'étiquette est obligatoire mais peut être vide. (étiquette=).
Passerelle – Supprimer un mobile connecté
Supprimez un mobile connecté à votre passerelle (supprime toutes les lignes d'historique pour ce SID).
Point final :
Paramètres:
| Paramètre | Description |
|---|---|
| apikey | Requis Votre clé API. |
| sid | Requis L'identifiant SID du périphérique (sIdentifiant_pour_vérification). |
Exemple:
GET https://api.smsmobileapi.com/gateway/mobile/delete/?apikey=YOUR_API_KEY&sid=SID
Webhook – SMS reçus
Ce système de webhook envoie une requête POST à l'URL configurée à chaque réception d'un SMS. Le système assure des mises à jour en temps réel en envoyant les détails du SMS à l'URL du webhook spécifiée.
Comment configurer le Webhook dans le tableau de bord
Suivez ces étapes pour configurer l’URL de votre webhook dans le tableau de bord :
- Connectez-vous à votre compte sur le Tableau de bord de l'API mobile SMS.
- Accédez au Paramètres du webhook section.
- Saisissez l'URL de votre webhook (par exemple,
https://example.com/webhook-endpoint). - Cliquez sur le Enregistrer le Webhook bouton.
- Une fois enregistré, le système commencera à envoyer les détails du SMS à l'URL configurée.
Charge utile du webhook
Lorsqu'un SMS est reçu, le système envoie la charge utile JSON suivante à l'URL de votre webhook :
{ "date": "2025-01-20", "hour": "10:15:00", "time_received": "2025-01-20 10:14:50", "message": "Bonjour, ceci est un test.", "number": "+123456789", "guid": "abcde12345" }
Champs de charge utile :
- date: Date à laquelle le SMS a été ajouté (AAAA-MM-JJ).
- heure: Heure à laquelle le SMS a été ajouté (HH:mm:ss).
- heure_reçue : Heure à laquelle le SMS a été reçu.
- message: Contenu du SMS.
- nombre: Numéro de téléphone de l'expéditeur.
- guide: Identifiant unique du SMS.
Exemple de point de terminaison Webhook
Votre serveur doit être prêt à gérer les requêtes POST entrantes. Vous trouverez ci-dessous un exemple de script PHP pour traiter la charge utile du webhook :
Tester le Webhook
Pour tester la configuration de votre webhook, utilisez des outils tels que :
Dépannage
- Assurez-vous que l’URL du webhook est correcte et accessible au public.
- Vérifiez que votre serveur renvoie un code d’état HTTP 200 pour les requêtes réussies.
- Vérifiez les journaux de votre serveur pour détecter d’éventuelles erreurs dans le traitement de la charge utile.
SMS enrichis
À venirAuthentification
L'API SMSMobile prend en charge deux méthodes d'authentification : à l'aide d'une simple clé API ou du protocole OAuth2 avec un ID client et un secret client.
1. Authentification par clé API
Cette méthode nécessite une clé API qui peut être incluse comme paramètre dans une requête GET ou POST.
2. Authentification OAuth2
OAuth2 offre une méthode d'authentification plus sécurisée.
Utilisez un ID client et un secret client pour obtenir un jeton d'accès, puis incluez-le dans le Autorisation en-tête.
Le client_id et le client_secret sont disponibles dans votre tableau de bord.
Téléchargez l'application mobile maintenant ou
Accédez à votre tableau de bord.
Obtention d'un jeton d'accès
curl -X POST https://api.smsmobileapi.com/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
Utilisation du jeton d’accès :
curl-X POST https://api.smsmobileapi.com/sendsms \
-H "Autorisation : Porteur VOTRE_JETON_D'ACCÈS" \
-H "Type de contenu : application/x-www-form-urlencoded" \
-d "destinataires=+1234567890" \
-d "message=Bonjour"
Quelle méthode devriez-vous utiliser ?
- Utiliser Authentification par clé API pour des intégrations rapides et simples.
- Utiliser Authentification OAuth2 pour une sécurité et une évolutivité accrues.
Envoyer un SMS
URL WSDL
Paramètres:
- message: Le message à envoyer.
- apikey: La clé API que vous possédez ou que vous recevrez.
Exemple
require_once "lib/nusoap.php";
$client = new nusoap_client("https://api.smsmobileapi.com/sendsms/wsdl/sendsms.wsdl", true);
$error = $client->getError();
$result = $client->call("sendSms", array("recipients" =>$_GET['recipients'],"message" =>$_GET['message'],"apikey" =>$_GET['apikey']));
print_r($result);
Envoyer des SMS et WhatsApp
Commande cURL de base
curl -X POST https://api.smsmobileapi.com/sendsms/ \
-d "recipients=PHONE_NUMBER" \
-d "message=YOUR_MESSAGE" \
-d "apikey=YOUR_API_KEY"
-d "sendwa=1"
-d "sendsms=1"
Envoyer des SMS et WhatsApp
Utilisez notre module Python officiel : https://smsmobileapi.com/python/
import requests
url = "https://api.smsmobileapi.com/sendsms/"
payload = {"recipients":"PHONE_NUMBER","message":"YOUR_MESSAGE","apikey":"YOUR_API_KEY"}
response = requests.post(url, data=payload)
print(response.text)
API mobile SMS - PHP SDK (Composer)
le compositeur nécessite smsmobileapi/sdk
GitHub : https://github.com/SmsMobileApi/smsmobileapi-php/tree/main
Envoyer des SMS et WhatsApp
const url = "https://api.smsmobileapi.com/sendsms/";
const data = {recipients:"PHONE_NUMBER", message:"YOUR_MESSAGE", apikey:"YOUR_API_KEY"};
fetch(url,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(data)})
.then(r=>r.text()).then(console.log);
Envoyer des SMS et WhatsApp
const axios = require("axios");
axios.post("https://api.smsmobileapi.com/sendsms/", {recipients:"PHONE_NUMBER", message:"YOUR_MESSAGE", apikey:"YOUR_API_KEY"})
.then(r=>console.log(r.data));
Envoyer des SMS et WhatsApp
require "net/http"
require "uri"
uri = URI.parse("https://api.smsmobileapi.com/sendsms/")
req = Net::HTTP::Post.new(uri)
req.set_form_data({"recipients"=>"PHONE_NUMBER","message"=>"YOUR_MESSAGE","apikey"=>"YOUR_API_KEY"})
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true){|http| http.request(req)}
puts res.body

Ce problème provient d'un processus qui tente de s'exécuter en arrière-plan lorsque l'application n'est pas lancée activement. Cependant, en raison des mesures d'optimisation de la batterie d'Android, qui varient selon les versions, ce processus d'arrière-plan peut ne pas démarrer correctement. L'optimisation de la batterie d'Android est conçue pour limiter l'activité en arrière-plan des applications afin de préserver l'autonomie de la batterie, ce qui peut affecter par inadvertance les applications qui nécessitent des processus en arrière-plan pour fonctionner correctement.
Pour résoudre ce problème, les utilisateurs peuvent configurer manuellement leurs paramètres Android pour permettre à SmsMobileApi d'utiliser les ressources sans restrictions.
Cela implique d'ajuster les paramètres d'optimisation de la batterie pour l'application spécifique, en indiquant essentiellement à Android que SmsMobileApi est autorisé à s'exécuter en arrière-plan et à utiliser les ressources selon les besoins. Ce faisant, l'application devrait pouvoir envoyer et recevoir automatiquement des messages SMS même lorsqu'elle n'est pas l'application active au premier plan. Ce réglage garantit que le processus d'arrière-plan nécessaire peut fonctionner sans interruption, contournant les fonctionnalités d'optimisation de la batterie qui pourraient autrement empêcher son exécution correcte.


FAQ pour les développeurs
Commencez dès aujourd’hui avec SMSmobileAPI !
Découvrez la liberté et la flexibilité de gérer vos services SMS où que vous soyez. Téléchargez dès maintenant notre application mobile et faites le premier pas vers une intégration SMS transparente.
Téléchargez l'application