GMS API-kompatibilitet
SMSBAT understøtter et kompatibilitetslag med GMS API. Dette giver dig mulighed for at migrere dine eksisterende integrationer designet til GMS direkte til SMSBAT uden at skulle ændre dine beskedrutingsskemaer, nyttelaststrukturer eller tilbagekaldslyttere.
Forbindelsesindstillinger
For at dirigere anmodninger gennem SMSBAT skal du opdatere basis-URL’en og godkendelsesoplysningerne i din integration:
- Basis-URL:
https://restapi.smsbat.com - Endpunkt:
POST /api/GMSMessage/send_message - Request Format:
application/json - Godkendelse: HTTP Basic Authentication (bruger dine SMSBAT API-legitimationsoplysninger)
Anmodningsparametre
GMS-kompatibilitets-API’en accepterer et JSON-objekt med følgende parametre på øverste niveau:
| Parameter | Skriv | Påkrævet | Beskrivelse |
|---|---|---|---|
telefonnummer | streng | Ja | Modtagerens telefonnummer i internationalt format (f.eks. “380501234567”). |
tag | streng | Ja | Registreret afsendernavn / alfanavn. |
kanaler | række | Ja | Liste over kanaler, der skal prøves, i prioriteret rækkefølge. Understøttede værdier: “viber”, “sms”, “push”. F.eks. ["viber", "sms"]. |
kanal_indstillinger | objekt | Ja | Kort med muligheder for hver aktiv kanal (se nedenfor). |
ekstra_id | streng | Nej | Dit interne meddelelses-id på kundesiden. |
callback_url | streng | Nej | Endpoint URL på dit system for at modtage tilbagekald med leveringsstatus. |
divisionskode | streng | Nej | Valgfri divisionskodeidentifikator (standard til “hoved”). |
Kanalindstillinger Indstillinger
Objektet channel_options indeholder kanalspecifikke konfigurationer.
Bruges, når ‘viber’ er opført i arrayet ‘kanaler’.
| Parameter | Skriv | Påkrævet | Beskrivelse |
|---|---|---|---|
tekst | streng | Ja | Beskedens brødtekst. |
ttl | heltal | Ja | Time-To-Live på få sekunder. |
img | streng | Nej | Offentlig HTTPS-URL for billedet, der skal vises. |
billedtekst | streng | Nej | Knap tekst etiket. |
handling | streng | Nej | Destinations-URL, når der trykkes på knappen. |
survey_options | række | Nej | Array af strenge (2 til 5 elementer) til visning som undersøgelsesmuligheder. |
karrusel_varer | række | Nej | Array af diasobjekter, der skal vises som en Viber-karrusel (se struktur i fanen). |
Eksempel på Viber-anmodning:
{
"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"
}
}
}
Svarformat
Slutpunktet returnerer svar i JSON-format med en “HTTP 200 OK”-statuskode.
Vellykket svar
{
"MessageId": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
"ErrorCode": null,
"ErrorText": null
}
Fejlsvar
Hvis validering eller behandling mislykkes, returneres et fejlsvar med en “ErrorCode” uden nul og detaljeret “ErrorText”.
{
"MessageId": "00000000-0000-0000-0000-000000000000",
"ErrorCode": 10221,
"ErrorText": "This type of Message is not supported by the system"
}
Tilbagekaldsleveringsformat
Hvis “callback_url” blev angivet i anmodningen, sender SMSBAT leveringsstatusopdateringer som en JSON POST-nyttelast til dit slutpunkt.
Eksempel på anmodning om tilbagekald
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
}
Tilbagekaldsfelter Beskrivelse
| Felt | Skriv | Beskrivelse |
|---|---|---|
nummer | streng | Modtagerens telefonnummer. |
| ‘tid’ | nummer | Hændelsestidsstempel i Unix millisekunder. |
status | nummer | Forenklet statusidentifikation (se Statuskodetabel). |
understatus | nummer | Detaljeret statusidentifikator (se Understatuskodetabel). |
hyber_status | nummer | Detaljeret SMSBAT intern statuskode (se tabellen Hyber Status). |
meddelelses-id | streng | SMSBAT-meddelelses-id (GUID) genereret ved afsendelse. |
ekstra_id | streng | Kundeside-id angivet i den oprindelige anmodning. |
sendt_via | streng | Kanal, der behandlede beskeden: ‘viber’, ‘sms’ eller ‘rcs’. |
matching_template_id | nummer | Viber skabelon match status (hvor relevant). |
Statuskortlægninger
1. Forenklet status (“status”)
| Kode | Betydning |
|---|---|
1 | Beskeden accepteret eller bliver leveret. |
2 | Besked leveret. |
3 | Behandlings- eller leveringsfejl. |
2. Detaljeret status (“understatus”)
| Kode | Betydning |
|---|---|
12 | Accepteret til behandling. |
23 | Leveret. |
24 | Set/læst. |
35 | Leveres ikke inden for TTL (Udløbet). |
36 | Leveringsfejl. |
3. Kanaltype (sendt_via)
| Kanal | Beskrivelse |
|---|---|
| ’viber’ | Status produceret af Viber-kanalen. |
sms | Status produceret af SMS-kanal. |
rcs | Status produceret af RCS-kanal. |
4. Detaljeret SMSBAT-status (“hyber_status”)
| Kode | Kanal | Status | Understatus | Betydning |
|---|---|---|---|---|
| 23033 | ’viber’ | 2 | 23 | Viber besked leveret. |
| 24013 | ’viber’ | 2 | 24 | Viber besked læst af modtager (Set). |
| 36013 | ’viber’ | 3 | 36 | Viber intern fejl. |
| 36023 | ’viber’ | 3 | 36 | Ugyldigt eller utilgængeligt Viber-tjeneste-id. |
| 36033 | ’viber’ | 3 | 36 | Ugyldige Viber-nyttelastdata. |
| 36037 | ’viber’ | 3 | 36 | Viber-billedwebadressen er for lang. |
| 36038 | ’viber’ | 3 | 36 | Ugyldig webadresse til Viber-billede. |
| 36039 | ’viber’ | 3 | 36 | Viber-teksten er for lang. |
| 36044 | ’viber’ | 3 | 36 | Tom Viber-tekst. |
| 36053 | ’viber’ | 3 | 36 | Ikke-understøttet Viber-meddelelsestype. |
| 36063 | ’viber’ | 3 | 36 | Ugyldige Viber-parametre. |
| 36073 | ’viber’ | 3 | 36 | Viber udbyder timeout. |
| 36083 | ’viber’ | 3 | 36 | Viber-afsender blokeret af modtageren. |
| 36093 | ’viber’ | 3 | 36 | Modtager er ikke registreret som Viber-bruger. |
| 36103 | ’viber’ | 3 | 36 | Ingen Android/iOS-enhed med Viber-understøttelse fundet. |
| 36113 | ’viber’ | 3 | 36 | Uautoriseret IP-adresse til Viber-afsendelse. |
| 36123 | ’viber’ | 3 | 36 | Dublet Viber-meddelelse fundet. |
| 36143 | ’viber’ | 3 | 36 | Viber faktureringsfejl. |
| 36153 | ’viber’ | 3 | 36 | Meddelelse blokeret af platformens sortliste. |
| 36163 | ’viber’ | 3 | 36 | Viber platform intern behandlingsfejl. |
| 36173 | ’viber’ | 3 | 36 | Forkert eller manglende Viber-label. |
| 36183 | ’viber’ | 3 | 36 | Ugyldig Viber TTL-værdi. |
| 12011 | sms / rcs | 1 | 12 | SMS/RCS accepteret. |
| 36011 | sms / rcs | 1 | 12 | SMS/RCS på vej. |
| 23011 | sms / rcs | 2 | 23 | SMS/RCS leveret. |
| 35015 | sms / rcs | 3 | 35 | SMS/RCS udløbet (leveres ikke inden for TTL). |
| 36021 | sms / rcs | 3 | 36 | SMS/RCS besked slettet. |
| 36031 | sms / rcs | 3 | 36 | SMS/RCS kan ikke leveres. |
| 36041 | sms / rcs | 3 | 36 | Ukendt SMS/RCS leveringsstatus. |
| 36051 | sms / rcs | 3 | 36 | SMS/RCS besked afvist. |