Անցնել պարունակությանը

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-ի հարցումներ և հարցումներ ստեղծելու համար:

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

**Հարցման հայտի օրինակ.**
```json
{
  "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»-ով:

=== «Չաջակցվող ալիք/տարբերակ»

{
  "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_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 հաղորդագրությունը մերժվել է: