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» կարգավիճակի կոդով:
Հաջող արձագանք
Սխալների պատասխաններ
Եթե վավերացումը կամ մշակումը ձախողվի, սխալի պատասխանը կվերադարձվի ոչ զրոյական «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 հաղորդագրությունը մերժվել է: |