Pereiti prie turinio

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:

{
  "phone_number": "380501234567",
  "tag": "MySender",
  "channels": ["sms"],
  "channel_options": {
    "sms": {
      "text": "Your verification code is 1234",
      "alpha_name": "MySender",
      "ttl": 60,
      "ctr": false
    }
  }
}

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:

{
  "phone_number": "380501234567",
  "tag": "MySender",
  "channels": ["viber"],
  "channel_options": {
    "viber": {
      "text": "Please rate our service:",
      "ttl": 60,
      "survey_options": [
        "Excellent",
        "Good",
        "Bad"
      ]
    }
  }
}

=== „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

{
  "MessageId": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
  "ErrorCode": null,
  "ErrorText": null
}

Klaidų atsakymai

Jei patvirtinimas arba apdorojimas nepavyks, bus grąžintas klaidos atsakas su ne nuliu „ErrorCode“ ir išsamiu „ErrorText“.

{
  "MessageId": "00000000-0000-0000-0000-000000000000",
  "ErrorCode": 10221,
  "ErrorText": "This type of Message is not supported by the system"
}
{
  "MessageId": "00000000-0000-0000-0000-000000000000",
  "ErrorCode": 10221,
  "ErrorText": "There can be from 2 to 5 survey options."
}
{
  "MessageId": "00000000-0000-0000-0000-000000000000",
  "ErrorCode": 400,
  "ErrorText": "Cannot send to international number: alpha name 'ALPHA' is not registered."
}
{
  "MessageId": "00000000-0000-0000-0000-000000000000",
  "ErrorCode": 500,
  "ErrorText": "Internal server error."
}

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.