Centre d'aide Compatibilité des API GMS

Compatibilité des API GMS

SMSBAT prend en charge une couche de compatibilité avec l’API GMS. Cela vous permet de migrer vos intégrations existantes conçues pour GMS directement vers SMSBAT sans avoir à modifier vos schémas de routage de messages, vos structures de charge utile ou vos écouteurs de rappel.


Paramètres de connexion

Pour acheminer les requêtes via SMSBAT, mettez à jour l’URL de base et les informations d’authentification dans votre intégration :

  • URL de base : https://restapi.smsbat.com
  • Point de terminaison : POST /api/GMSMessage/send_message
  • Format de la demande : application/json
  • Authentification : Authentification HTTP de base (utilise vos informations d’identification API SMSBAT)

Paramètres de la requête

L’API de compatibilité GMS accepte un objet JSON avec les paramètres de niveau supérieur suivants :

ParamètreTapezObligatoireDescriptif
numéro_téléphonechaîneOuiNuméro de téléphone du destinataire au format international (par exemple, « 380501234567 »).
balisechaîneOuiNom de l’expéditeur enregistré / nom alpha.
canauxtableauOuiListe des chaînes à essayer, par ordre de priorité. Valeurs prises en charge : viber, sms, push. Par exemple, ["viber", "sms"].
channel_optionsobjetOuiCarte contenant les options pour chaque canal actif (voir ci-dessous).
id_extrachaîneNonVotre identifiant de message interne côté client.
callback_urlchaîneNonURL du point de terminaison sur votre système pour recevoir des rappels d’état de livraison.
code_divisionchaîneNonIdentificateur de code de division facultatif (par défaut : « principal »).

Paramètres des options de chaîne

L’objet channel_options contient des configurations spécifiques au canal.

Utilisé lorsque « viber » est répertorié dans le tableau « canaux ».

ParamètreTapezObligatoireDescriptif
textechaîneOuiTexte du corps du message.
ttlentierOuiDurée de vie en secondes.
imgchaîneNonURL HTTPS publique de l’image à afficher.
légendechaîneNonÉtiquette de texte du bouton.
‘action’chaîneNonURL de destination lorsque le bouton est cliqué.
survey_optionstableauNonTableau de chaînes (2 à 5 éléments) à afficher comme options d’enquête.
carrousel_itemstableauNonTableau d’objets slide à afficher sous forme de carrousel Viber (voir structure dans l’onglet).

Exemple de demande Viber :

{
  "phone_number": "380501234567",
  "tag": "MySender",
  "channels": ["viber"],
  "channel_options": {
    "viber": {
      "text": "Hello from SMSBAT!",
      "ttl": 60,
      "img": "https://www.example.com/image.png",
      "caption": "Open",
      "action": "https://www.example.com"
    }
  }
}

Format de réponse

Le point de terminaison renvoie des réponses au format JSON avec un code d’état « HTTP 200 OK ».

Réponse réussie

{
  "MessageId": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
  "ErrorCode": null,
  "ErrorText": null
}

Réponses aux erreurs

Si la validation ou le traitement échoue, une réponse d’erreur avec un « ErrorCode » non nul et un « ErrorText » détaillé sera renvoyée.

{
  "MessageId": "00000000-0000-0000-0000-000000000000",
  "ErrorCode": 10221,
  "ErrorText": "This type of Message is not supported by the system"
}

Format de livraison du rappel

Si « callback_url » a été spécifié dans la demande, SMSBAT envoie des mises à jour de l’état de livraison sous forme de charge utile JSON POST à votre point de terminaison.

Exemple de demande de rappel

POST /your-callback-endpoint HTTP/1.1
Host: yoursystem.com
Content-Type: application/json

{
  "number": "380501234567",
  "time": 1719237600000,
  "status": 2,
  "substatus": 23,
  "hyber_status": 23033,
  "message_id": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
  "extra_id": "ORDER-12345",
  "sent_via": "viber",
  "matching_template_id": 0
}

Champs de rappel Description

ChampTapezDescriptif
numérochaîneNuméro de téléphone du destinataire.
tempsnuméroHorodatage de l’événement en millisecondes Unix.
statutnuméroIdentifiant de statut simplifié (voir tableau des codes de statut).
sous-statutnuméroIdentifiant de statut détaillé (voir tableau des codes de sous-statut).
hyber_statutnuméroCode d’état interne SMSBAT détaillé (voir tableau Hyber Status).
message_idchaîneID de message SMSBAT (GUID) généré lors de l’envoi.
id_extrachaîneID côté client fourni dans la demande d’origine.
envoyé_viachaîneCanal qui a traité le message : viber, sms ou rcs.
matching_template_idnuméroStatut de correspondance du modèle Viber (le cas échéant).

Mappages de statut

1. Statut simplifié (« statut »)

CodesSignification
’1’Message accepté ou en cours de livraison.
‘2’Message délivré.
‘3’Erreur de traitement ou de livraison.

2. Statut détaillé (« sous-statut »)

CodesSignification
’12’Accepté pour traitement.
‘23’Livré.
‘24’Vu/lu.
‘35’Non livré dans le délai TTL (expiré).
‘36’Erreur de livraison.

3. Type de canal (sent_via)

ChaîneDescriptif
vibreurStatut produit par la chaîne Viber.
smsStatut produit par canal SMS.
rcsStatut produit par la chaîne RCS.

4. Statut détaillé de SMSBAT (hyber_status)

CodesChaîneStatutSous-statutSignification
23033vibreur’2''23’Message Viber envoyé.
24013vibreur’2''24’Message Viber lu par le destinataire (Vu).
36013vibreur’3''36’Erreur interne Viber.
36023vibreur’3''36’ID de service Viber invalide ou indisponible.
36033vibreur’3''36’Données de charge utile Viber invalides.
36037vibreur’3''36’URL de l’image Viber trop longue.
36038vibreur’3''36’URL de l’image Viber invalide.
36039vibreur’3''36’Texte Viber trop long.
36044vibreur’3''36’Texte Viber vide.
36053vibreur’3''36’Type de message Viber non pris en charge.
36063vibreur’3''36’Paramètres Viber invalides.
36073vibreur’3''36’Expiration du délai du fournisseur Viber.
36083vibreur’3''36’Expéditeur Viber bloqué par le destinataire.
36093vibreur’3''36’Le destinataire n’est pas enregistré en tant qu’utilisateur Viber.
36103vibreur’3''36’Aucun appareil Android/iOS prenant en charge Viber trouvé.
36113vibreur’3''36’Adresse IP non autorisée pour l’envoi Viber.
36123vibreur’3''36’Message Viber en double détecté.
36143vibreur’3''36’Erreur de facturation Viber.
36153vibreur’3''36’Message bloqué par la liste noire de la plateforme.
36163vibreur’3''36’Erreur de traitement interne de la plateforme Viber.
36173vibreur’3''36’Étiquette Viber erronée ou manquante.
36183vibreur’3''36’Valeur TTL Viber invalide.
12011sms / rcs’1''12’SMS/RCS acceptés.
36011sms / rcs’1''12’SMS/RCS en route.
23011sms / rcs’2''23’SMS/RCS délivrés.
35015sms / rcs’3''35’SMS/RCS expiré (non livré dans le délai TTL).
36021sms / rcs’3''36’Message SMS/RCS supprimé.
36031sms / rcs’3''36’Les SMS/RCS ne peuvent pas être délivrés.
36041sms / rcs’3''36’Statut de livraison SMS/RCS inconnu.
36051sms / rcs’3''36’Message SMS/RCS rejeté.