Messagio-API-Kompatibilität
SMSBAT unterstützt eine Kompatibilitätsschicht mit der Messagio API. Dadurch können Sie Ihre vorhandenen, für Messagio entwickelten Viber-Integrationen direkt zu SMSBAT migrieren, ohne Ihre Nutzlaststruktur neu schreiben oder die Integrationslogik ändern zu müssen.
Verbindungseinstellungen
Um Anfragen über SMSBAT weiterzuleiten, aktualisieren Sie die Basis-URL und die Authentifizierungsdaten in Ihrer Integration:
- Basis-URL:
https://restapi.smsbat.com - Endpunkt:
POST /api/SendMessage - Anfrageformat:
application/x-www-form-urlencoded(Formulardaten)
Authentifizierung und Anmeldeinformationen
Anfragen werden mithilfe von Parametern authentifiziert, die direkt in den Formulardaten des Anfragetexts gesendet werden:
| Parameter | Geben Sie | ein Erforderlich | Beschreibung |
|---|---|---|---|
Benutzer |
Zeichenfolge | Ja | Ihr SMSBAT-Konto-Login oder Ihre Benutzerkennung. |
Zeichen |
Zeichenfolge | Ja | API-Geheimnis oder Signatur, die für den Absendernamen registriert ist. |
| „von“ | Zeichenfolge | Ja | Registrierter Alpha-Name des Absenders. |
sending_method |
Zeichenfolge | Ja | Kanaltyp. Verwenden Sie „viber“ für normale Viber Business-Nachrichten oder „viber_otp“ für Viber OTP-Vorlagen. |
| „Telefon“ | Zeichenfolge | Ja | Telefonnummer des Empfängers im internationalen Format (z. B. „380501234567“). |
Viber-Nachrichtentypen
Wählen Sie unten eine Registerkarte aus, um die spezifischen Parameter anzuzeigen und Nutzlasten für verschiedene Viber-Nachrichtenstrukturen anzufordern:
=== „Textnachricht“
Sendet eine einfache Textnachricht.
**Zusätzliche Parameter:**
| Parameter | Geben Sie | ein Erforderlich | Beschreibung |
| :--- | :--- | :--- | :--- |
| `txt` | Zeichenfolge | **Ja** | Nachrichtentext. |
**Beispiel für eine Nutzlastanforderung:**
```http
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
```
Sendet eine Textnachricht mit einer interaktiven Call-to-Action-Schaltfläche.
Zusätzliche Parameter:
| Parameter | Geben Sie | ein Erforderlich | Beschreibung |
|---|---|---|---|
txt |
Zeichenfolge | Ja | Nachrichtentext. |
button_text |
Zeichenfolge | Ja | Text, der auf der Schaltfläche angezeigt wird. |
button_link |
Zeichenfolge | Ja | Ziel-URL, wenn auf die Schaltfläche geklickt wird. |
Beispiel für eine Nutzlastanforderung:
=== „Bildnachricht“
Sendet eine öffentliche Bilddatei.
**Zusätzliche Parameter:**
| Parameter | Geben Sie | ein Erforderlich | Beschreibung |
| :--- | :--- | :--- | :--- |
| `image_link` | Zeichenfolge | **Ja** | Öffentliche HTTPS-URL des Bildes. |
| `txt` | Zeichenfolge | Nein | Optionaler Beschriftungstext, der unter dem Bild angezeigt wird. |
**Beispiel für eine Nutzlastanforderung:**
```http
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&image_link=https%3A%2F%2Fwww.example.com%2Fimage.png
```
Sendet eine Rich Card mit Text, einem Bild und einer Schaltfläche.
Zusätzliche Parameter:
| Parameter | Geben Sie | ein Erforderlich | Beschreibung |
|---|---|---|---|
txt |
Zeichenfolge | Ja | Beschriftungstext. |
image_link |
Zeichenfolge | Ja | Öffentliche HTTPS-URL des Bildes. |
button_text |
Zeichenfolge | Ja | Text, der auf der Schaltfläche angezeigt wird. |
button_link |
Zeichenfolge | Ja | Ziel-URL, wenn auf die Schaltfläche geklickt wird. |
Beispiel für eine Nutzlastanforderung:
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=Hot+deals+inside%21&image_link=https%3A%2F%2Fwww.example.com%2Fimage.png&button_text=Open&button_link=https%3A%2F%2Fwww.example.com
=== „Videobotschaft“
Sendet eine Videodatei mit optionaler Textbeschriftung und Aktionsschaltflächen.
**Zusätzliche Parameter:**
| Parameter | Geben Sie | ein Erforderlich | Beschreibung |
| :--- | :--- | :--- | :--- |
| `video.url` | Zeichenfolge | **Ja** | Öffentliche HTTPS-URL der Videodatei. |
| `video.thumbnail` | Zeichenfolge | **Ja** | Öffentliche HTTPS-URL des Videovorschaubilds. |
| `video.size_mb` | Ganzzahl | **Ja** | Ungefähre Videodateigröße in Megabyte. |
| `video.duration_sec` | Ganzzahl | **Ja** | Videodauer in Sekunden. |
| `txt` | Zeichenfolge | Nein | Optionaler Beschreibungstext. |
| `button_text` | Zeichenfolge | Nein | Optionaler Schaltflächentext (kann als Beschriftung oder Link dienen). |
| `button_link` | Zeichenfolge | Nein | Optionale Schaltflächen-Link-URL. |
**Beispiel für eine Nutzlastanforderung:**
```http
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=Watch+this+tutorial%21&video.url=https%3A%2F%2Fwww.example.com%2Fvideo.mp4&video.thumbnail=https%3A%2F%2Fwww.example.com%2Fvideo-thumbnail.png&video.size_mb=1&video.duration_sec=3&button_text=Open&button_link=https%3A%2F%2Fwww.example.com
```
=== „OTP-Vorlage“
Sendet Viber-Einmalpasswörter (OTP) mithilfe einer vorab genehmigten Vorlage.
!!! Hinweis
Beim Senden von OTP-Nachrichten müssen Sie „sending_method“ auf „viber_otp“ setzen.
Zusätzliche Parameter:
| Parameter | Geben Sie | ein Erforderlich | Beschreibung |
| :--- | :--- | :--- | :--- |
| `template.id` | Zeichenfolge | **Ja** | Vorab genehmigte Viber OTP-Vorlagen-ID. |
| `template.lang` | Zeichenfolge | **Ja** | Code der Vorlagensprache (z. B. „en“, „uk“). |
| `template.params.pin` | Zeichenfolge | **Ja** | Der OTP-Pin-Wert, der in die Vorlage eingefügt werden soll. |
| `template.params.business_platform_name` | Zeichenfolge | **Ja** | Der Platzhalter für den Firmennamen in der Vorlage. |
| `template.params.code_validity_time` | Zeichenfolge | **Ja** | PIN-Gültigkeitsdauer in Minuten. |
**Beispiel für eine Nutzlastanforderung:**
```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
```
=== „Karussellnachricht“
Sendet eine interaktive Nachrichtenkarte mit mehreren Folien (Karten), durch die der Benutzer wischen kann.
**Zusätzliche Parameter:**
| Parameter | Geben Sie | ein Erforderlich | Beschreibung |
| :--- | :--- | :--- | :--- |
| `txt` | Zeichenfolge | **Ja** | Titeltext des Karussells. |
| `carousel[N].title` | Zeichenfolge | **Ja** | Titel der Karte „N“ (beginnend bei 0). |
| `carousel[N].image_url` | Zeichenfolge | **Ja** | Öffentliche HTTPS-Bild-URL der Karte „N“. |
| `carousel[N].primary_label` | Zeichenfolge | **Ja** | Hauptschaltflächenbeschriftung der Karte „N“. |
| `carousel[N].primary_url` | Zeichenfolge | **Ja** | Hauptschaltflächen-Link-URL der Karte „N“. |
| `carousel[N].secondary_label` | Zeichenfolge | Nein | Sekundärschaltflächenbeschriftung der Karte „N“. |
| `carousel[N].secondary_url` | Zeichenfolge | Nein | Sekundäre Schaltflächen-Link-URL der Karte „N“. |
**Beispiel für eine Nutzlastanforderung:**
```http
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
```
Sendet eine Nachricht mit einer interaktiven Umfrage oder Umfragefrage.
Zusätzliche Parameter:
| Parameter | Geben Sie | ein Erforderlich | Beschreibung |
|---|---|---|---|
txt |
Zeichenfolge | Ja | Text der Umfragefrage. |
survey_options[N] |
Zeichenfolge | Ja | Umfrageoptionstext für Element „N“ (Index beginnt bei 0). Es sind mindestens 2 Optionen erforderlich. |
option_type |
Ganzzahl | Ja | Selektortyp: „1“ (RadioButtons) oder „2“ (normale Buttons). |
Beispiel für eine Nutzlastanforderung:
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=Please+rate+our+service&survey_options%5B0%5D=Excellent&survey_options%5B1%5D=Good&survey_options%5B2%5D=Average&option_type=1
Antwortformat
Der Messagio-API-Kompatibilitätsendpunkt gibt Antworten im XML-Format mit dem Statuscode „HTTP 200 OK“ zurück.
Akzeptierte (Erfolgs-)Antwort
<response>
<code>0</code>
<tech_message>OK</tech_message>
<msg_id phone="380501234567">MESSAGE_GUID</msg_id>
</response>
Fehlerantworten
Wenn die Validierung von Anforderungsparametern oder die Authentifizierung fehlschlägt, gibt die Antwort einen Code ungleich Null zurück.
=== „Fehlende Signatur“
=== „Nicht autorisiert“
Rückrufe
Rückruf-URLs müssen auf Ihrer Plattform implementiert und gehostet werden. SMSBAT sendet HTTP-Rückrufe, um Ihr System hinsichtlich Zustellungsereignissen, Umfrageantworten und Benutzerantworten zu aktualisieren.
1. Rückruf zum Lieferstatus
Wird gesendet, wenn der Status einer Nachricht wechselt (zugestellt, gelesen, fehlgeschlagen).
- Content-Type:
application/x-www-form-urlencoded - Methode:
POST
Nutzlastformate anfordern:
- Geliefert:
- Gesehen/gelesen:
- Nicht zugestellt / fehlgeschlagen:
Feldbeschreibung:
- „msg_id“: Eindeutige SMSBAT-Nachrichten-ID (GUID), die in der SendMessage-Antwort zurückgegeben wird.
- „Status“: Lieferergebnis („geliefert“, „nicht zugestellt“ oder „Status unbekannt“).
- „Typ“: Wird auf „Gesehen“ gesetzt, wenn die Nachricht vom Empfänger angesehen wurde.
- „status_extended“: Spezifischer technischer Grund für den nicht zugestellten Status (z. B. „VIBER_EXPIRED“, „VIBER_BLOCKED_BY_USER“, „VIBER_USER_NOT_FOUND“, „VIBER_NO_DEVICE“).
2. Rückruf der Umfrageantwort
Wird ausgelöst, wenn ein Benutzer eine Antwortoption in einer Viber-Umfragenachricht auswählt.
- Content-Type:
application/x-www-form-urlencoded - Methode:
POST
Nutzlastformat anfordern:
3. Rückruf eingehender Benutzernachrichten
Wird ausgelöst, wenn ein Benutzer eine Text- oder Medienantwort an Ihren Viber Business-Dienst zurücksendet.
- Content-Type:
application/json - Methode:
POST
Nutzlastformat anfordern:
{
"msg_id": "INBOUND_MESSAGE_GUID",
"text": "Hello, I have a question",
"media": "https://example.com/user-attachment.png",
"phone": "380501234567",
"sender_bm_id": "12345"
}
Feldbeschreibung:
- „msg_id“: Die eindeutige Nachrichten-ID, die für die eingehende Antwort generiert wurde.
- „Text“: Vom Benutzer gesendeter Textinhalt (kann „null“ sein, wenn er nur Medien gesendet hat).
- „Medien“: Direkte URL zum Herunterladen aller vom Benutzer gesendeten Medienanhänge (kann „null“ sein, wenn nur Text).
- „Telefon“: Telefonnummer des Absenders im internationalen Format.
- „sender_bm_id“: Die Viber Business-Absender-ID.