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:
Aktiverer Viber-beskeder med en automatisk SMS-faldback, hvis Viber-levering mislykkes inden for TTL.
Eksempel på anmodning om tilbagefald:
{
"phone_number": "380501234567",
"tag": "MySender",
"channels": ["viber", "sms"],
"channel_options": {
"viber": {
"text": "Your order is ready!",
"ttl": 60,
"caption": "Details",
"action": "https://www.example.com/order"
},
"sms": {
"text": "Your order is ready: https://www.example.com/order",
"alpha_name": "MySender",
"ttl": 60,
"ctr": false
}
}
}
Bruges, når 'sms' er opført i arrayet 'kanaler'.
| Parameter | Skriv | Påkrævet | Beskrivelse |
|---|---|---|---|
tekst |
streng | Ja | Beskedens brødtekst. |
alpha_name |
streng | Ja | Afsenderens alfanavn. |
ttl |
heltal | Ja | Time-To-Live på få sekunder. |
ctr |
boolsk | Nej | Aktiver CTR-kliksporing på links i tekst ('true'/'false'). |
Eksempel på SMS-anmodning:
Bruges til at lave Viber-afstemninger og undersøgelser.
Advarsel
Viber-undersøgelseskonfigurationen skal have mellem 2 og 5 muligheder inde i survey_options.
Eksempel på undersøgelsesanmodning:
Bruges til at sende slide-kort med billeder. Hvert dias understøtter billede, titel og knapper.
Eksempel på karruselanmodning:
{
"phone_number": "380501234567",
"tag": "MySender",
"channels": ["viber"],
"channel_options": {
"viber": {
"text": "Choose an offer",
"ttl": 60,
"carousel_items": [
{
"title": "Offer 1",
"image_url": "https://www.example.com/offer-1.png",
"primary_label": "Open",
"primary_url": "https://www.example.com/offer-1",
"secondary_label": "More",
"secondary_url": "https://www.example.com/offers"
},
{
"title": "Offer 2",
"image_url": "https://www.example.com/offer-2.png",
"primary_label": "Open",
"primary_url": "https://www.example.com/offer-2"
}
]
}
}
}
Bruges, når 'push' er opført i arrayet 'kanaler'.
| Parameter | Skriv | Påkrævet | Beskrivelse |
|---|---|---|---|
titel |
streng | Ja | Titeltekst på push-meddelelsen. |
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. |
ctr |
boolsk | Nej | Aktiver kliksporing. |
Eksempel på push-anmodning:
{
"phone_number": "380501234567",
"tag": "MySender",
"channels": ["push"],
"channel_options": {
"push": {
"title": "Order update",
"text": "Your order is ready for pickup!",
"ttl": 60,
"img": "https://www.example.com/push.png",
"caption": "Open",
"action": "https://www.example.com/order",
"ctr": false
}
}
}
Svarformat
Slutpunktet returnerer svar i JSON-format med en "HTTP 200 OK"-statuskode.
Vellykket svar
Fejlsvar
Hvis validering eller behandling mislykkes, returneres et fejlsvar med en "ErrorCode" uden nul og detaljeret "ErrorText".
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. |