Help Center Compatibilità API Messagio

Compatibilità API Messagio

SMSBAT supporta un livello di compatibilità con Messagio API. Ciò ti consente di migrare le tue integrazioni Viber esistenti progettate per Messagio direttamente su SMSBAT senza dover riscrivere la struttura del carico utile o modificare la logica di integrazione.


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/SendMessage
  • Formato richiesta: application/x-www-form-urlencoded (dati del modulo)

Autenticazione e credenziali

Le richieste vengono autenticate utilizzando parametri inviati direttamente all’interno dei dati del modulo del corpo della richiesta:

ParametroDigitareObbligatorioDescrizione
”utente”stringaIl login del tuo account SMSBAT o l’identificativo utente.
”segno”stringaSegreto API o firma registrata per il nome del mittente.
”da”stringaNome alfa del mittente registrato.
metodo_di_inviostringaTipo di canale. Utilizza viber per i normali messaggi Viber Business o viber_otp per i modelli OTP di Viber.
”telefono”stringaNumero di telefono del destinatario in formato internazionale (ad esempio, 380501234567).

Tipi di messaggi Viber

Scegli una scheda qui sotto per visualizzare i parametri specifici e richiedere payload per diverse strutture di messaggi Viber:

Invia un semplice messaggio di testo.

Parametri aggiuntivi:

ParametroDigitareObbligatorioDescrizione
txtstringaTesto del messaggio.

Esempio di richiesta di carico utile:

POST /api/SendMessage HTTP/1.1
Host: restapi.smsbat.com
Content-Type: application/x-www-form-urlencoded

sending_method=viber&from=MySender&user=myuser&phone=380501234567&sign=api_secret_signature&txt=Hello+from+SMSBAT%21

Parametri aggiuntivi:

| Parametro | Digitare | Obbligatorio | Descrizione |
| :--- | :--- | :--- | :--- |
| `template.id` | stringa | **Sì** | ID modello OTP Viber pre-approvato. |
| `template.lang` | stringa | **Sì** | Codice della lingua del modello (ad esempio, `en`, `uk`). |
| `template.params.pin` | stringa | **Sì** | Il valore del pin OTP da inserire nel modello. |
| `template.params.business_platform_name` | stringa | **Sì** | Il segnaposto del nome dell'azienda nel modello. |
| `template.params.code_validity_time` | stringa | **Sì** | Periodo di validità del PIN in minuti. |

**Esempio di richiesta di carico utile:**
```http
POST /api/SendMessage HTTP/1.1
Host: restapi.smsbat.com
Content-Type: application/x-www-form-urlencoded

sending_method=viber_otp&from=MySender&user=myuser&phone=380501234567&sign=api_secret_signature&template.id=otp_template_123&template.lang=en&template.params.pin=123456&template.params.business_platform_name=SMSBAT&template.params.code_validity_time=7
```

Invia una scheda messaggio interattiva contenente più diapositive (schede) che l’utente può scorrere.

Parametri aggiuntivi:

ParametroDigitareObbligatorioDescrizione
txtstringaTesto del titolo del carosello.
carosello[N].titolostringaTitolo della carta “N” (a partire da 0).
carosello[N].url_immaginestringaURL dell’immagine HTTPS pubblica della carta “N”.
carosello[N].etichetta_primariastringaDidascalia del pulsante principale della carta “N”.
carosello[N].url_primariostringaURL del collegamento del pulsante principale della carta “N”.
carosello[N].etichetta_secondariastringaNoDidascalia del pulsante secondario della carta “N”.
carosello[N].url_secondariostringaNoURL del collegamento del pulsante secondario della carta “N”.

Esempio di richiesta di carico utile:

POST /api/SendMessage HTTP/1.1
Host: restapi.smsbat.com
Content-Type: application/x-www-form-urlencoded

sending_method=viber&from=MySender&user=myuser&phone=380501234567&sign=api_secret_signature&txt=Top+picks+for+you&carousel%5B0%5D.title=First+Offer&carousel%5B0%5D.image_url=https%3A%2F%2Fwww.example.com%2Fitem-1.png&carousel%5B0%5D.primary_label=Open&carousel%5B0%5D.primary_url=https%3A%2F%2Fwww.example.com%2Fitem-1&carousel%5B0%5D.secondary_label=Details&carousel%5B0%5D.secondary_url=https%3A%2F%2Fwww.example.com%2Fitem-1%2Fdetails&carousel%5B1%5D.title=Second+Offer&carousel%5B1%5D.image_url=https%3A%2F%2Fwww.example.com%2Fitem-2.png&carousel%5B1%5D.primary_label=Open&carousel%5B1%5D.primary_url=https%3A%2F%2Fwww.example.com%2Fitem-2

Formato della risposta

L’endpoint di compatibilità dell’API Messagio restituisce risposte in formato XML con un codice di stato “HTTP 200 OK”.

Risposta accettata (riuscita).

<response>
  <code>0</code>
  <tech_message>OK</tech_message>
  <msg_id phone="380501234567">MESSAGE_GUID</msg_id>
</response>

Risposte agli errori

Se la convalida dei parametri di una richiesta o l’autenticazione fallisce, la risposta restituirà un codice diverso da zero.

<response>
  <code>-1</code>
  <tech_message>PARAM ERROR (sign)</tech_message>
</response>

Richiamate

Gli URL di richiamata devono essere implementati e ospitati sulla tua piattaforma. SMSBAT invia richiamate HTTP per aggiornare il tuo sistema in merito agli eventi di consegna, alle risposte ai sondaggi e alle risposte degli utenti.

1. Richiamata sullo stato della consegna

Inviato quando un messaggio cambia stato (consegnato, letto, non riuscito).

  • Tipo di contenuto: application/x-www-form-urlencoded
  • Metodo: POST

Richiedi formati di carico utile:

  • Consegnato:
    msg_id=MESSAGE_GUID&status=delivered
    
  • Visto/Letto:
    msg_id=MESSAGE_GUID&status=delivered&type=seen
    
  • Non consegnato/Non riuscito:
    msg_id=MESSAGE_GUID&status=undelivered&status_extended=REASON
    

Descrizione campi:

  • msg_id: ID messaggio univoco SMSBAT (GUID) restituito nella risposta SendMessage.
  • “status”: esito della consegna (“consegnato”, “non consegnato” o “stato sconosciuto”).
  • “tipo”: impostato su “visto” quando il messaggio è stato visualizzato dal destinatario.
  • status_extended: motivo tecnico specifico per lo stato di mancata consegna (ad esempio VIBER_EXPIRED, VIBER_BLOCKED_BY_USER, VIBER_USER_NOT_FOUND, VIBER_NO_DEVICE).

2. Richiamata della risposta al sondaggio

Attivato quando un utente seleziona un’opzione di risposta in un messaggio Viber Survey.

  • Tipo di contenuto: application/x-www-form-urlencoded
  • Metodo: POST

Richiedi formato payload:

msg_id=ORIGINAL_SURVEY_MESSAGE_GUID&text=SELECTED_OPTION_TEXT

3. Richiamata messaggio utente in entrata

Si attiva quando un utente invia una risposta di testo o multimediale al tuo servizio Viber Business.

  • Tipo di contenuto: application/json
  • Metodo: POST

Richiedi formato payload:

{
  "msg_id": "INBOUND_MESSAGE_GUID",
  "text": "Hello, I have a question",
  "media": "https://example.com/user-attachment.png",
  "phone": "380501234567",
  "sender_bm_id": "12345"
}

Descrizione campi:

  • msg_id: l’ID del messaggio univoco generato per la risposta in entrata.
  • “testo”: contenuto testuale inviato dall’utente (può essere “null” se ha inviato solo contenuti multimediali).
  • media: URL diretto per scaricare eventuali allegati multimediali inviati dall’utente (può essere null se solo testo).
  • phone: numero di telefono del mittente in formato internazionale.
  • sender_bm_id: l’ID mittente di Viber Business.