Keri sisuni

GMS API ühilduvus

SMSBAT toetab ühilduvuskihti GMS API-ga. See võimaldab teil migreerida olemasolevad GMS-i jaoks loodud integratsioonid otse SMSBAT-i, ilma et peaksite muutma oma sõnumite marsruutimise skeeme, kasuliku koormuse struktuure või tagasihelistamiskuulajaid.


Ühenduse seaded

Taotluste suunamiseks SMSBAT-i kaudu värskendage oma integratsioonis põhi-URL-i ja autentimismandaate.

  • Baas-URL: https://restapi.smsbat.com
  • Lõpp-punkt: "POST /api/GMSMessage/send_message".
  • Taotluse vorming: „rakendus/json”.
  • Autentimine: HTTP põhiautentimine (kasutab teie SMSBAT API mandaate)

Küsi parameetreid

GMS-i ühilduvuse API aktsepteerib JSON-objekti järgmiste ülataseme parameetritega.

Parameeter Tüüp Nõutav Kirjeldus
telefoni_number string Jah Saaja telefoninumber rahvusvahelises vormingus (nt 380501234567).
"silt" string Jah Registreeritud saatja nimi / alfanimi.
kanalid massiiv Jah Proovitavate kanalite loend prioriteedi järjekorras. Toetatud väärtused: "viber", "sms", "push". Nt ["viber", "sms"].
"kanali_valikud" objekt Jah Kaart, mis sisaldab iga aktiivse kanali valikuid (vt allpool).
"extra_id" string Ei Teie sisemine kliendipoolse sõnumi ID.
tagasihelistamise_url string Ei Teie süsteemi lõpp-punkti URL tarneoleku tagasihelistamiste saamiseks.
"jaotuse_kood" string Ei Valikuline jaotuse koodi identifikaator (vaikimisi on "peamine").

Kanali valikute sätted

Objekt „channel_options” sisaldab kanalipõhiseid konfiguratsioone.

Kasutatakse, kui "viber" on massiivis "channels" loetletud.

Parameeter Tüüp Nõutav Kirjeldus
tekst string Jah Sõnumi sisutekst.
ttl täisarv Jah Eluaeg sekundites.
"img" string Ei Kuvatava pildi avalik HTTPS-i URL.
"pealkiri" string Ei Nupu teksti silt.
"tegevus" string Ei Sihtkoha URL nupu klõpsamisel.
uuringu_valikud massiiv Ei Stringide massiiv (2 kuni 5 üksust), mida kuvada uuringu valikutena.
karussell_esemed massiiv Ei Slaidiobjektide massiiv, mida kuvada Viberi karussellina (vt struktuuri vahekaardil).

Viberi taotluse näide:

{
  "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"
    }
  }
}

Lubab Viber-sõnumite saatmise automaatse SMS-i tagavaraga, kui Viberi kohaletoimetamine TTL-i piires ebaõnnestub.

Varutaotluse näide:

{
  "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
    }
  }
}

Kasutatakse siis, kui "sms" on massiivis "channels" loetletud.

Parameeter Tüüp Nõutav Kirjeldus
tekst string Jah Sõnumi sisutekst.
"alfa_nimi" string Jah Saatja alfa nimi.
ttl täisarv Jah Eluaeg sekundites.
ctr tõeväärtus Ei Lubage tekstis olevatel linkidel CTR-i klikkide jälgimine ("tõene"/"false").

SMS-i taotluse näide:

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

Kasutatakse Viberi küsitluste ja uuringute loomiseks.

Hoiatus

Viberi küsitluse konfiguratsioonis peab olema 2 kuni 5 valikut jaotises „survey_options”.

Uuringutaotluse näide:

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

Kasutatakse pühitavate pildislaidikaartide saatmiseks. Iga slaid toetab pilti, pealkirja ja nuppe.

Karusselltaotluse näide:

{
  "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"
        }
      ]
    }
  }
}

Kasutatakse siis, kui "tõuke" on massiivis "channels" loetletud.

Parameeter Tüüp Nõutav Kirjeldus
"pealkiri" string Jah Tõuketeatise pealkirja tekst.
tekst string Jah Sõnumi sisutekst.
ttl täisarv Jah Eluaeg sekundites.
"img" string Ei Kuvatava pildi avalik HTTPS-i URL.
"pealkiri" string Ei Nupu teksti silt.
"tegevus" string Ei Sihtkoha URL nupu klõpsamisel.
ctr tõeväärtus Ei Luba klikkide jälgimine.

** Tõukepäringu näide:**

{
  "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
    }
  }
}


Vastusevorming

Lõpp-punkt tagastab vastused JSON-vormingus olekukoodiga „HTTP 200 OK”.

Edukas vastus

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

Vea vastused

Kui valideerimine või töötlemine ebaõnnestub, tagastatakse veavastus mitte-null-ErrorCode ja üksikasjaliku veatekstiga.

{
  "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."
}

Callback Delivery Format

If callback_url was specified in the request, SMSBAT sends delivery status updates as a JSON POST payload to your endpoint.

Callback Request Example

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
}

Callback Fields Description

Väli Tüüp Kirjeldus
"number" string Saaja telefoninumber.
aeg number Event timestamp in Unix milliseconds.
olek number Simplified status identifier (see Status code table).
alamolek number Detailed status identifier (see Substatus code table).
"hüberolek" number Detailed SMSBAT internal status code (see Hyber Status table).
message_id string SMSBAT sõnumi ID (GUID) genereeriti saatmisel.
"extra_id" string Customer-side ID provided in the original request.
saadetud_ kaudu string Channel that processed the message: viber, sms, or rcs.
matching_template_id number Viber template match status (where applicable).

Oleku kaardistused

1. Simplified Status (status)

Kood Tähendus
"1" Message accepted or being delivered.
"2" Sõnum toimetatud.
"3" Processing or delivery error.

2. Detailed Status (substatus)

Kood Tähendus
"12" Töötlemiseks vastu võetud.
"23" Tarnitud.
"24" Nähtud/loetud.
"35" Ei tarnita TTL-i jooksul (aegunud).
"36" Tarneviga.

3. Channel Type (sent_via)

Kanal Kirjeldus
viber Status produced by Viber channel.
sms Status produced by SMS channel.
`rcs' RCS-kanali loodud olek.

4. Detailed SMSBAT Status (hyber_status)

Kood Kanal Olek Alamolek Tähendus
23033 viber "2" "23" Viber sõnum kohale toimetatud.
24013 viber "2" "24" Adressaat luges Viber-sõnumit (nähtud).
36013 viber "3" "36" Viberi sisemine viga.
36023 viber "3" "36" Viberi teenuse ID on kehtetu või kättesaamatu.
36033 viber "3" "36" Viberi kandevõime andmed on kehtetud.
36037 viber "3" "36" Viberi pildi URL on liiga pikk.
36038 viber "3" "36" Viberi pildi URL on kehtetu.
36039 viber "3" "36" Viberi tekst on liiga pikk.
36044 viber "3" "36" Tühi Viberi tekst.
36053 viber "3" "36" Toetamata Viberi sõnumi tüüp.
36063 viber "3" "36" Viberi valed parameetrid.
36073 viber "3" "36" Viberi pakkuja ajalõpp.
36083 viber "3" "36" Saaja blokeeris Viberi saatja.
36093 viber "3" "36" Recipient is not registered as a Viber user.
36103 viber "3" "36" No Android/iOS device with Viber support found.
36113 viber "3" "36" Volitamata IP-aadress Viberi saatmiseks.
36123 viber "3" "36" Tuvastati Viberi duplikaat.
36143 viber "3" "36" Viber arveldusviga.
36153 viber "3" "36" Message blocked by platform blacklist.
36163 viber "3" "36" Viberi platvormi sisemine töötlemisviga.
36173 viber "3" "36" Viberi silt on vale või puudub.
36183 viber "3" "36" Viberi TTL-i väärtus on kehtetu.
12011 sms / rcs "1" "12" SMS/RCS aktsepteeritud.
36011 sms / rcs "1" "12" SMS/RCS teel.
23011 sms / rcs "2" "23" SMS/RCS kohale toimetatud.
35015 sms / rcs "3" "35" SMS/RCS aegunud (ei tarnitud TTL-i jooksul).
36021 sms / rcs "3" "36" SMS/RCS sõnum kustutatud.
36031 sms / rcs "3" "36" SMS-i/RCS-i ei saa kohale toimetada.
36041 sms / rcs "3" "36" Unknown SMS/RCS delivery status.
36051 sms / rcs "3" "36" SMS/RCS message rejected.