Help Center Compatibilità API GMS

Compatibilità API GMS

SMSBAT supporta un livello di compatibilità con l’API GMS. This allows you to migrate your existing integrations designed for GMS directly to SMSBAT without having to modify your message routing schemas, payload structures, or callback listeners.


Impostazioni di connessione

Per instradare le richieste tramite SMSBAT, aggiorna l’URL di base e le credenziali di autenticazione nella tua integrazione:

  • URL di base: https://restapi.smsbat.com
  • Endpoint: POST /api/GMSMessage/send_message
  • Formato della richiesta: “application/json”.
  • Autenticazione: Autenticazione HTTP di base (utilizza le credenziali API SMSBAT)

Richiedi parametri

L’API di compatibilità GMS accetta un oggetto JSON con i seguenti parametri di livello superiore:

ParametroDigitareObbligatorioDescrizione
numero_telefonostringaNumero di telefono del destinatario in formato internazionale (ad esempio, 380501234567).
“tag”stringaNome mittente registrato/nome alfabetico.
canalimatriceElenco dei canali da provare, in ordine di priorità. Valori supportati: viber, sms, push. Ad esempio, ["viber", "sms"].
opzioni_canaleoggettoMappa contenente le opzioni per ciascun canale attivo (vedi sotto).
id_extrastringaNoIl tuo ID messaggio interno lato cliente.
callback_urlstringaNoURL dell’endpoint sul sistema per ricevere richiamate sullo stato della consegna.
codice_divisionestringaNoIdentificatore del codice di divisione opzionale (il valore predefinito è main).

Impostazioni delle opzioni del canale

L’oggetto “channel_options” contiene configurazioni specifiche del canale.

Utilizzato quando “viber” è elencato nell’array “channels”.

ParametroDigitareObbligatorioDescrizione
”testo”stringaTesto del corpo del messaggio.
ttlinteroTime-To-Live in secondi.
imgstringaNoURL HTTPS pubblico dell’immagine da visualizzare.
didascaliastringaNoEtichetta di testo del pulsante.
azionestringaNoURL di destinazione quando si fa clic sul pulsante.
opzioni_sondaggiomatriceNoMatrice di stringhe (da 2 a 5 elementi) da visualizzare come opzioni del sondaggio.
carousel_itemsmatriceNoSerie di oggetti diapositiva da visualizzare come carosello Viber (vedi struttura nella scheda).

Esempio di richiesta 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"
    }
  }
}

Formato della risposta

L’endpoint restituisce risposte in formato JSON con un codice di stato “HTTP 200 OK”.

Risposta riuscita

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

Risposte agli errori

Se la convalida o l’elaborazione falliscono, verrà restituita una risposta di errore con un “ErrorCode” non nullo e un “ErrorText” dettagliato.

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

Formato di consegna della richiamata

Se nella richiesta è stato specificato “callback_url”, SMSBAT invia gli aggiornamenti sullo stato di consegna come payload JSON POST al tuo endpoint.

Esempio di richiesta di richiamata

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
}

Descrizione dei campi di richiamata

CampoDigitareDescrizione
”numero”stringaNumero di telefono del destinatario.
temponumeroTimestamp dell’evento in millisecondi Unix.
statonumeroIdentificatore di stato semplificato (vedi tabella Codici di stato).
sottostatonumeroIdentificatore di stato dettagliato (vedi tabella codici di sottostato).
hyber_statusnumeroCodice di stato interno SMSBAT dettagliato (vedi tabella Stato Hyber).
id_messaggiostringaID del messaggio SMSBAT (GUID) generato al momento dell’invio.
id_extrastringaID lato cliente fornito nella richiesta originale.
inviato_viastringaCanale che ha elaborato il messaggio: viber, sms o rcs.
matching_template_idnumeroStato di corrispondenza del modello Viber (ove applicabile).

Mappature dello stato

1. Stato semplificato (status)

CodiceSignificato
”1”Messaggio accettato o in fase di consegna.
”2”Messaggio consegnato.
”3”Errore di elaborazione o consegna.

2. Stato dettagliato (substatus)

CodiceSignificato
”12”Accettato per l’elaborazione.
”23”Consegnato.
”24”Visto/letto.
”35”Non consegnato entro TTL (scaduto).
“36”Errore di consegna.

3. Tipo di canale (sent_via)

CanaleDescrizione
viberStato prodotto dal canale Viber.
smsStato prodotto dal canale SMS.
rcsStato prodotto dal canale RCS.

4. Stato SMSBAT dettagliato (hyber_status)

CodiceCanaleStatoSottostatoSignificato
23033viber”2""23”Messaggio Viber consegnato.
24013viber”2""24”Messaggio Viber letto dal destinatario (visto).
36013viber”3""36”Errore interno Viber.
36023viber”3""36”ID servizio Viber non valido o non disponibile.
36033viber”3""36”Dati del payload Viber non validi.
36037viber”3""36”URL dell’immagine Viber troppo lungo.
36038viber”3""36”URL dell’immagine Viber non valido.
36039viber”3""36”Il testo di Viber è troppo lungo.
36044viber”3""36”Testo Viber vuoto.
36053viber”3""36”Tipo di messaggio Viber non supportato.
36063viber”3""36”Parametri Viber non validi.
36073viber”3""36”Timeout del fornitore Viber.
36083viber”3""36”Mittente Viber bloccato dal destinatario.
36093viber”3""36”Il destinatario non è registrato come utente Viber.
36103viber”3""36”Nessun dispositivo Android/iOS con supporto Viber trovato.
36113viber”3""36”Indirizzo IP non autorizzato per l’invio Viber.
36123viber”3""36”Rilevato messaggio Viber duplicato.
36143viber”3""36”Errore di fatturazione Viber.
36153viber”3""36”Messaggio bloccato dalla lista nera della piattaforma.
36163viber”3""36”Errore di elaborazione interna della piattaforma Viber.
36173viber”3""36”Etichetta Viber errata o mancante.
36183viber”3""36”Valore TTL Viber non valido.
12011sms / rcs”1""12”SMS/RCS accettati.
36011sms / rcs”1""12”SMS/RCS in arrivo.
23011sms / rcs”2""23”SMS/RCS consegnati.
35015sms / rcs”3""35”SMS/RCS scaduto (non consegnato entro TTL).
36021sms / rcs”3""36”Messaggio SMS/RCS eliminato.
36031sms / rcs”3""36”Impossibile inviare SMS/RCS.
36041sms / rcs”3""36”Stato di consegna SMS/RCS sconosciuto.
36051sms / rcs”3""36”Messaggio SMS/RCS rifiutato.