GMS API suderinamumas
SMSBAT palaiko suderinamumo sluoksnį su GMS API. Tai leidžia perkelti esamas GMS integracijas tiesiai į SMSBAT, nekeičiant pranešimų maršruto schemų, naudingos apkrovos struktūrų ar atgalinio skambučio klausytojų.
Ryšio nustatymai
Norėdami nukreipti užklausas per SMSBAT, integruodami atnaujinkite bazinį URL ir autentifikavimo kredencialus:
– Pagrindinis URL: „https://restapi.smsbat.com“. – Galinis taškas: „POST /api/GMSMessage/send_message“. – Užklausos formatas: „application/json“. - Autentifikavimas: HTTP pagrindinis autentifikavimas (naudojami jūsų SMSBAT API kredencialai)
Prašyti parametrų
GMS suderinamumo API priima JSON objektą su šiais aukščiausio lygio parametrais:
| Parametras | Tipas | Reikalingas | Aprašymas |
|---|---|---|---|
| "telefono_numeris" | styga | Taip | Gavėjo telefono numeris tarptautiniu formatu (pvz., „380501234567“). |
| "žyma" | styga | Taip | Registruotas siuntėjo vardas / alfa vardas. |
kanalai |
masyvas | Taip | Bandomų kanalų sąrašas prioriteto tvarka. Palaikomos reikšmės: „viber“, „sms“, „push“. Pvz., „["viber", "sms"]'. |
| „channel_options“ | objektas | Taip | Žemėlapis su kiekvieno aktyvaus kanalo parinktimis (žr. toliau). |
| „papildomas_id“ | styga | Ne | Jūsų vidinio kliento pranešimo ID. |
atskambinimo_url |
styga | Ne | Galinio taško URL jūsų sistemoje, kad gautumėte pristatymo būsenos atgalinius skambučius. |
| „padalinio_kodas“ | styga | Ne | Pasirenkamas padalijimo kodo identifikatorius (numatytasis nustatymas yra „pagrindinis“). |
Kanalo parinkčių nustatymai
Objekte „channel_options“ yra kanalui būdingų konfigūracijų.
=== "Viber" pranešimas
Naudojama, kai „viber“ yra „kanalų“ masyve.
| Parametras | Tipas | Reikalingas | Aprašymas |
| :--- | :--- | :--- | :--- |
| "tekstas" | styga | **Taip** | Pranešimo tekstas. |
| `ttl` | sveikasis skaičius | **Taip** | Laikas gyventi per kelias sekundes. |
| "img" | styga | Ne | Rodytino vaizdo viešas HTTPS URL. |
| "antraštė" | styga | Ne | Mygtuko teksto etiketė. |
| "veiksmas" | styga | Ne | Paskirties URL spustelėjus mygtuką. |
| `survey_options` | masyvas | Ne | Eilučių masyvas (nuo 2 iki 5 elementų), kad būtų rodomos kaip apklausos parinktys. |
| "carousel_items" | masyvas | Ne | Skaidrių objektų masyvas, skirtas rodyti kaip „Viber“ karuselė (žr. struktūrą skirtuke). |
**Viber užklausos pavyzdys:**
```json
{
"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"
}
}
}
```
=== „Viber su SMS atsarginiu“
Įgalina „Viber“ pranešimų siuntimą su automatiniu SMS atsarginiu pranešimu, jei „Viber“ pristatymas nepavyksta TTL.
**Atsarginės užklausos pavyzdys:**
```json
{
"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
}
}
}
```
Naudojama, kai „sms“ yra „kanalų“ masyve.
| Parametras | Tipas | Reikalingas | Aprašymas |
|---|---|---|---|
| "tekstas" | styga | Taip | Pranešimo tekstas. |
| "alfa_vardas" | styga | Taip | Siuntėjo alfa vardas. |
ttl |
sveikasis skaičius | Taip | Laikas gyventi per kelias sekundes. |
| "ctr" | loginis | Ne | Įgalinti teksto nuorodų PR paspaudimų stebėjimą („teisinga“/„klaidinga“). |
SMS užklausos pavyzdys:
Naudojamas Viber apklausoms ir apklausoms kurti.
Įspėjimas
„Viber“ apklausos konfigūracija turi turėti nuo 2 iki 5 parinkčių lauke „survey_options“.
Apklausos užklausos pavyzdys:
=== „Viber karuselė“
Naudojamas braukiamoms vaizdo skaidrių kortelėms siųsti. Kiekviena skaidrė palaiko vaizdą, pavadinimą ir mygtukus.
**Karuselės užklausos pavyzdys:**
```json
{
"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"
}
]
}
}
}
```
Naudojama, kai masyve kanalai yra „push“.
| Parametras | Tipas | Reikalingas | Aprašymas |
|---|---|---|---|
| "pavadinimas" | styga | Taip | Tiesioginio pranešimo pavadinimo tekstas. |
| "tekstas" | styga | Taip | Pranešimo tekstas. |
ttl |
sveikasis skaičius | Taip | Laikas gyventi per kelias sekundes. |
| "img" | styga | Ne | Rodytino vaizdo viešas HTTPS URL. |
| "antraštė" | styga | Ne | Mygtuko teksto etiketė. |
| "veiksmas" | styga | Ne | Paskirties URL spustelėjus mygtuką. |
| "ctr" | loginis | Ne | Įgalinti paspaudimų stebėjimą. |
Push užklausos pavyzdys:
{
"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
}
}
}
Atsakymo formatas
Galutinis taškas pateikia atsakymus JSON formatu su būsenos kodu „HTTP 200 OK“.
Sėkmingas atsakymas
Klaidų atsakymai
Jei patvirtinimas arba apdorojimas nepavyks, bus grąžintas klaidos atsakas su ne nuliu „ErrorCode“ ir išsamiu „ErrorText“.
Atšaukimo pristatymo formatas
Jei užklausoje buvo nurodytas „callback_url“, SMSBAT siunčia pristatymo būsenos naujinius kaip JSON POST naudingą apkrovą į jūsų galutinį tašką.
Atskambinimo užklausos pavyzdys
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
}
Atšaukimo laukų aprašymas
| Laukas | Tipas | Aprašymas |
|---|---|---|
| "skaičius" | styga | Gavėjo telefono numeris. |
| "laikas" | numeris | Įvykio laiko žyma Unix milisekundėmis. |
| "būsena" | numeris | Supaprastintas būsenos identifikatorius (žr. Būsenos kodų lentelę). |
substatusas |
numeris | Išsamus būsenos identifikatorius (žr. Subbūsenos kodų lentelę). |
| „hyber_status“ | numeris | Išsamus SMSBAT vidinės būsenos kodas (žr. Hyber Status lentelę). |
| „pranešimo_id“ | styga | SMSBAT pranešimo ID (GUID) sugeneruotas siunčiant. |
| „papildomas_id“ | styga | Kliento ID, pateiktas pirminėje užklausoje. |
| „išsiųsta_per“ | styga | Kanalas, kuris apdorojo pranešimą: „viber“, „sms“ arba „rcs“. |
matching_template_id |
numeris | „Viber“ šablono atitikties būsena (jei taikoma). |
Būsenos atvaizdai
1. Supaprastinta būsena ("status")
| Kodas | Reikšmė |
|---|---|
| "1" | Pranešimas priimtas arba pristatomas. |
| "2" | Pranešimas pristatytas. |
| "3" | Apdorojimo arba pristatymo klaida. |
2. Išsami būsena ("substatus")
| Kodas | Reikšmė |
|---|---|
| "12" | Priimta apdoroti. |
| "23" | Pristatyta. |
| "24" | Pamatytas/skaitytas. |
| "35" | Nepristatoma per TTL (baigęs galiojimo laikas). |
| "36" | Pristatymo klaida. |
3. Kanalo tipas (sent_via)
| Kanalas | Aprašymas |
|---|---|
viber |
Būsena sukurta Viber kanalo. |
sms |
Būsena sukurta SMS kanalu. |
| "rcs" | Būsena sukurta RCS kanalo. |
4. Išsami SMSBAT būsena ("hyber_status")
| Kodas | Kanalas | Būsena | Substatusas | Reikšmė |
|---|---|---|---|---|
| 23033 | viber |
"2" | "23" | Viber žinutė pristatyta. |
| 24013 | viber |
"2" | "24" | „Viber“ pranešimą perskaitė gavėjas (matytas). |
| 36013 | viber |
"3" | "36" | Viber vidinė klaida. |
| 36023 | viber |
"3" | "36" | Neteisingas arba nepasiekiamas Viber paslaugos ID. |
| 36033 | viber |
"3" | "36" | Netinkami „Viber“ naudingos apkrovos duomenys. |
| 36037 | viber |
"3" | "36" | Viber vaizdo URL per ilgas. |
| 36038 | viber |
"3" | "36" | Neteisingas Viber vaizdo URL. |
| 36039 | viber |
"3" | "36" | Viber tekstas per ilgas. |
| 36044 | viber |
"3" | "36" | Tuščias Viber tekstas. |
| 36053 | viber |
"3" | "36" | Nepalaikomas Viber pranešimo tipas. |
| 36063 | viber |
"3" | "36" | Netinkami Viber parametrai. |
| 36073 | viber |
"3" | "36" | „Viber“ teikėjo skirtasis laikas. |
| 36083 | viber |
"3" | "36" | „Viber“ siuntėją užblokavo gavėjas. |
| 36093 | viber |
"3" | "36" | Gavėjas nėra registruotas kaip Viber vartotojas. |
| 36103 | viber |
"3" | "36" | Nerasta „Android“ / „iOS“ įrenginių su „Viber“ palaikymu. |
| 36113 | viber |
"3" | "36" | Neteisėtas IP adresas Viber siuntimui. |
| 36123 | viber |
"3" | "36" | Aptiktas „Viber“ pranešimo dublikatas. |
| 36143 | viber |
"3" | "36" | Viber atsiskaitymo klaida. |
| 36153 | viber |
"3" | "36" | Pranešimą užblokavo platformos juodasis sąrašas. |
| 36163 | viber |
"3" | "36" | Viber platformos vidinė apdorojimo klaida. |
| 36173 | viber |
"3" | "36" | Neteisinga arba jos trūksta Viber etiketės. |
| 36183 | viber |
"3" | "36" | Netinkama Viber TTL vertė. |
| 12011 | „sms“ / „rcs“ | "1" | "12" | SMS/RCS priimta. |
| 36011 | „sms“ / „rcs“ | "1" | "12" | SMS/RCS pakeliui. |
| 23011 | „sms“ / „rcs“ | "2" | "23" | SMS/RCS pristatytas. |
| 35015 | „sms“ / „rcs“ | "3" | "35" | SMS / RCS galiojimo laikas pasibaigęs (nepristatomas per TTL). |
| 36021 | „sms“ / „rcs“ | "3" | "36" | SMS/RCS žinutė ištrinta. |
| 36031 | „sms“ / „rcs“ | "3" | "36" | SMS/RCS pristatyti negalima. |
| 36041 | „sms“ / „rcs“ | "3" | "36" | Nežinoma SMS/RCS pristatymo būsena. |
| 36051 | „sms“ / „rcs“ | "3" | "36" | SMS/RCS žinutė atmesta. |