Help Center GMS API Համատեղելիություն

GMS API Համատեղելիություն

SMSBAT-ն աջակցում է GMS API-ի հետ համատեղելիության շերտ: Սա թույլ է տալիս տեղափոխել ձեր գոյություն ունեցող ինտեգրումները, որոնք նախատեսված են GMS-ի համար անմիջապես SMSBAT՝ առանց փոփոխելու ձեր հաղորդագրությունների երթուղային սխեմաները, օգտակար բեռի կառուցվածքները կամ հետադարձ զանգի ունկնդիրները:


Կապի կարգավորումներ

SMSBAT-ի միջոցով հարցումները ուղղորդելու համար թարմացրեք բազային URL-ը և նույնականացման հավատարմագրերը ձեր ինտեգրման մեջ.

  • Հիմնական URL: «https://restapi.smsbat.com»:
  • Վերջնական կետ. «POST /api/GMSMessage/send_message»
  • Հարցման ձևաչափ. «հավելված/json»:
  • ** Նույնականացում. ** HTTP հիմնական նույնականացում (օգտագործում է ձեր SMSBAT API հավատարմագրերը)

Հարցման պարամետրեր

GMS-ի համատեղելիության API-ն ընդունում է JSON օբյեկտ հետևյալ վերին մակարդակի պարամետրերով.

ՊարամետրՏեսակՊահանջվում էՆկարագրություն
«հեռախոսի_համար»լարայինԱյոՍտացողի հեռախոսահամարը միջազգային ձևաչափով (օրինակ՝ «380501234567»):
«պիտակ»լարայինԱյոԳրանցված ուղարկողի անունը / ալֆա անունը:
«ալիքներ»զանգվածԱյոՓորձարկվող ալիքների ցանկ՝ ըստ առաջնահերթության: Աջակցվող արժեքներ՝ «viber», «sms», «push»: Օրինակ՝ «[“viber”, “sms”]”.
«ալիքի_ընտրանքներ»օբյեկտԱյոՔարտեզ, որը պարունակում է ընտրանքներ յուրաքանչյուր ակտիվ ալիքի համար (տես ստորև):
«extra_id»լարայինՈչՁեր ներքին հաճախորդի կողմից հաղորդագրության ID-ն:
«callback_url»լարայինՈչՁեր համակարգի վերջնակետի URL՝ առաքման կարգավիճակի հետադարձ զանգեր ստանալու համար:
«բաժանման_կոդ»լարայինՈչԲաժանման կոդի կամընտիր նույնացուցիչ (կանխադրված է «հիմնական»):

Ալիքի ընտրանքների կարգավորումներ

«channel_options» օբյեկտը պարունակում է ալիքին հատուկ կոնֆիգուրացիաներ:

=== «Viber հաղորդագրություն»

Օգտագործվում է, երբ «viber»-ը նշված է «ալիքների» զանգվածում:

| Պարամետր | Տեսակ | Պահանջվում է | Նկարագրություն |
| :--- | :--- | :--- | :--- |
| «տեքստ» | լարային | **Այո** | Հաղորդագրության հիմնական տեքստը: |
| «ttl» | ամբողջ թիվ | **Այո** | Time-To-Live վայրկյաններով: |
| «img» | լարային | Ոչ | Ցուցադրվող պատկերի հանրային HTTPS URL: |
| «վերնագիր» | լարային | Ոչ | Կոճակի տեքստային պիտակ: |
| «գործողություն» | լարային | Ոչ | Նպատակակետի URL, երբ սեղմվում է կոճակը: |
| «հարցման_ընտրանքներ» | զանգված | Ոչ | Տողերի զանգված (2-ից 5 տարր)՝ որպես հարցման ընտրանքներ ցուցադրելու համար: |
| «կարուսելի_իրեր» | զանգված | Ոչ | Սլայդ օբյեկտների զանգված՝ որպես Viber կարուսել ցուցադրելու համար (տես կառուցվածքը ներդիրում): |

**Viber Request Օրինակ՝**
```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 SMS-ի հետադարձ կապով»

Միացնում է Viber հաղորդագրությունների փոխանակումը ավտոմատ հետադարձ SMS-ով, եթե Viber-ի առաքումը ձախողվում է TTL-ի շրջանակներում:

**Հետադարձ խնդրանքի օրինակ.**
```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
    }
  }
}
```

=== «SMS հաղորդագրություն»

Օգտագործվում է, երբ «sms»-ը նշված է «ալիքների» զանգվածում:

| Պարամետր | Տեսակ | Պահանջվում է | Նկարագրություն |
| :--- | :--- | :--- | :--- |
| «տեքստ» | լարային | **Այո** | Հաղորդագրության հիմնական տեքստը: |
| «ալֆա_անուն» | լարային | **Այո** | Ուղարկողի ալֆա անունը. |
| «ttl» | ամբողջ թիվ | **Այո** | Time-To-Live վայրկյաններով: |
| «ctr» | բուլյան | Ոչ | Միացնել CTR սեղմումների հետագծումը տեքստի հղումների վրա («true»/«false»): |

**SMS հարցման օրինակ.**
```json
{
  "phone_number": "380501234567",
  "tag": "MySender",
  "channels": ["sms"],
  "channel_options": {
    "sms": {
      "text": "Your verification code is 1234",
      "alpha_name": "MySender",
      "ttl": 60,
      "ctr": false
    }
  }
}
```

=== «Viber Survey»

Օգտագործվում է Viber-ի հարցումներ և հարցումներ ստեղծելու համար:

Note

Viber-ի հարցումների կազմաձևումը պետք է ունենա **2-ից 5 տարբերակ** «survey_options»-ի ներսում:

Հարցման հայտի օրինակ.

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

=== «Viber կարուսել»

Օգտագործվում է swipeable պատկերի սլայդ քարտեր ուղարկելու համար: Յուրաքանչյուր սլայդ աջակցում է պատկերին, վերնագրին և կոճակներին:

**Կարուսելի խնդրանքի օրինակ.**
```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"
        }
      ]
    }
  }
}
```

=== «Հրում հաղորդագրություն»

Օգտագործվում է, երբ «push»-ը նշված է «channels» զանգվածում:

| Պարամետր | Տեսակ | Պահանջվում է | Նկարագրություն |
| :--- | :--- | :--- | :--- |
| «վերնագիր» | լարային | **Այո** | Push ծանուցման վերնագրի տեքստը: |
| «տեքստ» | լարային | **Այո** | Հաղորդագրության հիմնական տեքստը: |
| «ttl» | ամբողջ թիվ | **Այո** | Time-To-Live վայրկյաններով: |
| «img» | լարային | Ոչ | Ցուցադրվող պատկերի հանրային HTTPS URL: |
| «վերնագիր» | լարային | Ոչ | Կոճակի տեքստային պիտակ: |
| «գործողություն» | լարային | Ոչ | Նպատակակետի URL, երբ սեղմվում է կոճակը: |
| «ctr» | բուլյան | Ոչ | Միացնել սեղմումների հետագծումը: |

**Հրում պահանջի օրինակ.**
```json
{
  "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
    }
  }
}
```

Պատասխանի ձևաչափ

Վերջնական կետը պատասխաններ է տալիս JSON ձևաչափով՝ «HTTP 200 OK» կարգավիճակի կոդով:

Հաջող արձագանք

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

Սխալների պատասխաններ

Եթե վավերացումը կամ մշակումը ձախողվի, սխալի պատասխանը կվերադարձվի ոչ զրոյական «ErrorCode»-ով և մանրամասն «ErrorText»-ով:

=== «Չաջակցվող ալիք/տարբերակ» json { "MessageId": "00000000-0000-0000-0000-000000000000", "ErrorCode": 10221, "ErrorText": "This type of Message is not supported by the system" }

=== «Հարցման անվավեր տարբերակների քանակ» json { "MessageId": "00000000-0000-0000-0000-000000000000", "ErrorCode": 10221, "ErrorText": "There can be from 2 to 5 survey options." }

=== «Չգրանցված ալֆա անուն» json { "MessageId": "00000000-0000-0000-0000-000000000000", "ErrorCode": 400, "ErrorText": "Cannot send to international number: alpha name 'ALPHA' is not registered." }

=== «Ներքին մշակման սխալ» json { "MessageId": "00000000-0000-0000-0000-000000000000", "ErrorCode": 500, "ErrorText": "Internal server error." }


Հետկանչի առաքման ձևաչափ

Եթե հարցումում նշված է «callback_url», SMSBAT-ն ուղարկում է առաքման կարգավիճակի թարմացումները որպես JSON POST ծանրաբեռնվածություն ձեր վերջնակետ:

Հետ կանչի խնդրանքի օրինակ

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
}

Հետ կանչի դաշտերի նկարագրություն

ԴաշտայինՏեսակՆկարագրություն
«համար»լարայինՍտացողի հեռախոսահամարը.
«ժամանակ»համարըԻրադարձության ժամանակի դրոշմը Unix միլիվայրկյաններով:
«կարգավիճակ»համարըՊարզեցված կարգավիճակի նույնացուցիչ (տես կարգավիճակի ծածկագրի աղյուսակը):
«ենթակարգ»համարըՄանրամասն կարգավիճակի նույնացուցիչ (տես Ենթակարգավիճակի ծածկագրի աղյուսակը):
«hyber_status»համարըՄանրամասն SMSBAT ներքին կարգավիճակի կոդը (տես Hyber Status աղյուսակը):
«հաղորդագրություն_id»լարայինSMSBAT հաղորդագրության ID (GUID) ստեղծվել է ուղարկելիս:
«extra_id»լարայինՀաճախորդի կողմից տրված ID-ն՝ տրամադրված սկզբնական հարցումում:
«ուղարկված_միջոցով»լարայինԱլիք, որը մշակել է հաղորդագրությունը՝ «viber», «sms» կամ «rcs»:
«համապատասխանող_կաղապարի_id»համարըViber-ի կաղապարի համընկնման կարգավիճակը (առկայության դեպքում):

Կարգավիճակի քարտեզագրում

1. Պարզեցված կարգավիճակ («կարգավիճակ»)

ԿոդԻմաստը
«1»Հաղորդագրությունն ընդունված է կամ առաքվում է:
«2»Հաղորդագրությունը առաքվել է:
«3»Մշակման կամ առաքման սխալ:

2. Մանրամասն կարգավիճակ («ենթակարգ»)

ԿոդԻմաստը
«12»Ընդունված է մշակման համար։
«23»Հանձնվել է.
«24»Տեսել/կարդացել է.
«35»Չի առաքվել TTL-ի շրջանակներում (Ժամկետանց ժամկետը լրացել է):
«36»Առաքման սխալ.

3. Ալիքի տեսակը («ուղարկված_միջոցով»)

ԱլիքՆկարագրություն
«viber»Ստատուսը՝ Viber ալիքի կողմից։
«sms»Կարգավիճակը ստացվել է SMS ալիքով:
«rcs»Կարգավիճակը արտադրվել է RCS ալիքի կողմից:

4. Մանրամասն SMSBAT կարգավիճակ («hyber_status»)

ԿոդԱլիքԿարգավիճակըԵնթակարգԻմաստը
23033«viber»«2»«23»Viber հաղորդագրություն է ուղարկվել։
24013«viber»«2»«24»Viber հաղորդագրությունը կարդացվել է ստացողի կողմից (Տեսած է):
36013«viber»«3»«36»Viber-ի ներքին սխալ.
36023«viber»«3»«36»Անվավեր կամ անհասանելի Viber ծառայության ID:
36033«viber»«3»«36»Viber-ի օգտակար բեռնվածքի անվավեր տվյալներ:
36037«viber»«3»«36»Viber պատկերի URL-ը չափազանց երկար է:
36038«viber»«3»«36»Viber-ի պատկերի անվավեր URL:
36039«viber»«3»«36»Viber տեքստը չափազանց երկար է:
36044«viber»«3»«36»Դատարկ Viber տեքստ:
36053«viber»«3»«36»Չաջակցվող Viber հաղորդագրության տեսակ:
36063«viber»«3»«36»Viber-ի անվավեր պարամետրեր:
36073«viber»«3»«36»Viber պրովայդերի ժամանակի ավարտը:
36083«viber»«3»«36»Viber ուղարկողն արգելափակված է ստացողի կողմից:
36093«viber»«3»«36»Ստացողը գրանցված չէ որպես Viber-ի օգտատեր:
36103«viber»«3»«36»Viber-ի աջակցությամբ Android/iOS սարք չի գտնվել:
36113«viber»«3»«36»Չլիազորված IP հասցե Viber-ի ուղարկման համար:
36123«viber»«3»«36»Հայտնաբերվել է կրկնօրինակ Viber հաղորդագրություն:
36143«viber»«3»«36»Viber-ի վճարման սխալ:
36153«viber»«3»«36»Հաղորդագրությունն արգելափակվել է հարթակի սև ցուցակի կողմից:
36163«viber»«3»«36»Viber հարթակի ներքին մշակման սխալ.
36173«viber»«3»«36»Սխալ կամ բացակայում է Viber պիտակը:
36183«viber»«3»«36»Անվավեր Viber TTL արժեք:
12011«sms» / «rcs»«1»«12»Ընդունված է SMS/RCS:
36011«sms» / «rcs»«1»«12»SMS/RCS ճանապարհին:
23011«sms» / «rcs»«2»«23»SMS/RCS առաքվել է:
35015«sms» / «rcs»«3»«35»SMS/RCS-ի ժամկետը լրացել է (չի առաքվել TTL-ի շրջանակներում):
36021«sms» / «rcs»«3»«36»SMS/RCS հաղորդագրությունը ջնջվել է:
36031«sms» / «rcs»«3»«36»SMS/RCS-ը չի կարող առաքվել:
36041«sms» / «rcs»«3»«36»SMS/RCS առաքման անհայտ կարգավիճակ:
36051«sms» / «rcs»«3»«36»SMS/RCS հաղորդագրությունը մերժվել է: