Skip to content

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 वस्तु स्वीकार गर्दछ:

प्यारामिटर प्रकार आवश्यक विवरण
फोन_नम्बर स्ट्रिङ हो अन्तर्राष्ट्रिय ढाँचामा प्रापकको फोन नम्बर (जस्तै, ३८०५०१२३४५६७)।
ट्याग स्ट्रिङ हो दर्ता प्रेषक नाम / अल्फा नाम।
'च्यानलहरू' array हो प्रयास गर्न च्यानलहरूको सूची, प्राथमिकता क्रम मा। समर्थित मानहरू: viber, sms, push। जस्तै, ["viber", "sms"]
channel_options वस्तु हो प्रत्येक सक्रिय च्यानलका लागि विकल्पहरू समावेश गर्ने नक्सा (तल हेर्नुहोस्)।
extra_id स्ट्रिङ छैन तपाईंको आन्तरिक ग्राहक-साइड सन्देश ID।
callback_url स्ट्रिङ छैन डेलिभरी स्थिति कलब्याकहरू प्राप्त गर्न तपाईंको प्रणालीमा अन्तिम बिन्दु URL।
डिभिजन_कोड स्ट्रिङ छैन वैकल्पिक विभाजन कोड पहिचानकर्ता (पूर्वनिर्धारित मुख्य)।

च्यानल विकल्प सेटिङहरू

'channel_options' वस्तुले च्यानल-विशेष कन्फिगरेसनहरू समावेश गर्दछ।

'भाइबर' लाई 'च्यानलहरू' एरेमा सूचीबद्ध हुँदा प्रयोग गरिन्छ।

प्यारामिटर प्रकार आवश्यक विवरण
पाठ स्ट्रिङ हो सन्देशको मुख्य पाठ।
ttl पूर्णांक हो सेकेन्डमा बाँच्ने समय।
img स्ट्रिङ छैन प्रदर्शन गर्न छविको सार्वजनिक HTTPS URL।
'क्याप्शन' स्ट्रिङ छैन बटन पाठ लेबल।
'कार्य' स्ट्रिङ छैन बटन क्लिक गर्दा गन्तव्य URL।
सर्वे_विकल्प array छैन सर्वेक्षण विकल्पहरूको रूपमा प्रदर्शन गर्न स्ट्रिङहरूको एर्रे (2 देखि 5 वस्तुहरू)।
carousel_items array छैन Viber carousel को रूपमा प्रदर्शन गर्न स्लाइड वस्तुहरूको एरे (ट्याबमा संरचना हेर्नुहोस्)।

भाइबर अनुरोध उदाहरण:

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

TTL भित्र Viber डेलिभरी असफल भएमा स्वचालित SMS फलब्याकको साथ Viber सन्देश सक्षम गर्दछ।

फलब्याक अनुरोध उदाहरण:

{
  "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' लाई 'च्यानलहरू' एरेमा सूचीबद्ध हुँदा प्रयोग गरिन्छ।

प्यारामिटर प्रकार आवश्यक विवरण
पाठ स्ट्रिङ हो सन्देशको मुख्य पाठ।
alpha_name स्ट्रिङ हो प्रेषक अल्फा नाम।
ttl पूर्णांक हो सेकेन्डमा बाँच्ने समय।
ctr बुलियन छैन पाठमा रहेको लिङ्कहरूमा CTR क्लिक ट्र्याकिङ सक्षम गर्नुहोस् (true/false)।

SMS अनुरोध उदाहरण:

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

Viber पोल र सर्वेक्षणहरू सिर्जना गर्न प्रयोग गरियो।

!!! चेतावनी Viber सर्वेक्षण कन्फिगरेसनमा सर्वे_विकल्पहरू भित्र २ र ५ विकल्पहरू बीचमा हुनुपर्छ।

सर्वेक्षण अनुरोधको उदाहरण:

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

स्वाइप गर्न मिल्ने छवि स्लाइड कार्डहरू पठाउन प्रयोग गरिन्छ। प्रत्येक स्लाइडले छवि, शीर्षक र बटनहरूलाई समर्थन गर्दछ।

क्यारोसेल अनुरोध उदाहरण:

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

जब पुश च्यानल एरेमा सूचीबद्ध हुन्छ प्रयोग गरिन्छ।

प्यारामिटर प्रकार आवश्यक विवरण
'शीर्षक' स्ट्रिङ हो पुश सूचनाको शीर्षक पाठ।
पाठ स्ट्रिङ हो सन्देशको मुख्य पाठ।
ttl पूर्णांक हो सेकेन्डमा बाँच्ने समय।
img स्ट्रिङ छैन प्रदर्शन गर्न छविको सार्वजनिक HTTPS URL।
'क्याप्शन' स्ट्रिङ छैन बटन पाठ लेबल।
'कार्य' स्ट्रिङ छैन बटन क्लिक गर्दा गन्तव्य URL।
ctr बुलियन छैन क्लिक ट्र्याकिङ सक्षम गर्नुहोस्।

पुश अनुरोध उदाहरण:

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


प्रतिक्रिया ढाँचा

अन्तिम बिन्दुले HTTP २०० ओके स्थिति कोडको साथ JSON ढाँचा मा प्रतिक्रियाहरू फर्काउँछ।

सफल प्रतिक्रिया

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

कलब्याक क्षेत्र विवरण

क्षेत्र प्रकार विवरण
संख्या स्ट्रिङ प्रापकको फोन नम्बर।
समय नम्बर युनिक्स मिलिसेकेन्डमा घटना टाइमस्ट्याम्प।
'स्थिति' नम्बर सरलीकृत स्थिति पहिचानकर्ता (स्थिति कोड तालिका हेर्नुहोस्)।
उपस्थिति नम्बर विस्तृत स्थिति पहिचानकर्ता (सबस्टेटस कोड तालिका हेर्नुहोस्)।
hyber_status नम्बर विस्तृत SMSBAT आन्तरिक स्थिति कोड (हाइबर स्थिति तालिका हेर्नुहोस्)।
message_id स्ट्रिङ SMSBAT सन्देश ID (GUID) पठाउँदा उत्पन्न भयो।
extra_id स्ट्रिङ मूल अनुरोधमा प्रदान गरिएको ग्राहक-साइड ID।
sent_via स्ट्रिङ सन्देश प्रशोधन गर्ने च्यानल: viber, sms, वा rcs
matching_template_id नम्बर Viber टेम्प्लेट मिलान स्थिति (जहाँ लागू हुन्छ)।

स्थिति म्यापिङ

१. सरलीकृत स्थिति (स्थिति)

कोड अर्थ
1 सन्देश स्वीकार गरियो वा डेलिभर गरिँदै।
2 सन्देश पठाइयो।
3 प्रशोधन वा वितरण त्रुटि।

२. विस्तृत स्थिति (सबस्टेटस)

कोड अर्थ
12 प्रशोधनका लागि स्वीकार गरियो।
२३ डेलिभर गरियो।
24 देखियो/पढ्यो।
३५ TTL भित्र डेलिभर गरिएको छैन (म्याद सकिएको)।
३६ डेलिभरी त्रुटि।

३. च्यानलको प्रकार (sent_via)

च्यानल विवरण
viber Viber च्यानल द्वारा उत्पादित स्थिति।
sms एसएमएस च्यानल द्वारा उत्पादित स्थिति।
rcs RCS च्यानल द्वारा उत्पादित स्थिति।

४. विस्तृत SMSBAT स्थिति (hyber_status)

कोड च्यानल स्थिति सबस्टेटस अर्थ
२३०३३ viber 2 २३ भाइबर सन्देश पठाइयो।
२४०१३ viber 2 24 प्राप्तकर्ता द्वारा पढिएको Viber सन्देश (हेरिएको)।
३६०१३ viber 3 ३६ Viber आन्तरिक त्रुटि।
३६०२३ viber 3 ३६ अमान्य वा अनुपलब्ध Viber सेवा ID।
३६०३३ viber 3 ३६ अवैध Viber पेलोड डाटा।
३६०३७ viber 3 ३६ Viber छवि URL धेरै लामो छ।
३६०३८ viber 3 ३६ अवैध Viber छवि URL।
३६०३९ viber 3 ३६ Viber पाठ धेरै लामो छ।
३६०४४ viber 3 ३६ खाली Viber पाठ।
३६०५३ viber 3 ३६ असमर्थित Viber सन्देश प्रकार।
३६०६३ viber 3 ३६ अमान्य Viber प्यारामिटरहरू।
३६०७३ viber 3 ३६ Viber प्रदायक समय समाप्त।
३६०८३ viber 3 ३६ Viber प्रेषक प्राप्तकर्ता द्वारा अवरुद्ध।
३६०९३ viber 3 ३६ प्राप्तकर्ता भाइबर प्रयोगकर्ताको रूपमा दर्ता गरिएको छैन।
३६१०३ viber 3 ३६ Viber समर्थन भएको कुनै Android/iOS यन्त्र फेला परेन।
३६११३ viber 3 ३६ Viber पठाउनको लागि अनाधिकृत आईपी ठेगाना।
३६१२३ viber 3 ३६ डुप्लिकेट Viber सन्देश पत्ता लाग्यो।
३६१४३ viber 3 ३६ Viber बिलिङ त्रुटि।
३६१५३ viber 3 ३६ प्लेटफर्म कालोसूचीद्वारा सन्देश अवरुद्ध।
३६१६३ viber 3 ३६ Viber प्लेटफर्म आन्तरिक प्रशोधन त्रुटि।
३६१७३ viber 3 ३६ गलत वा हराएको Viber लेबल।
३६१८३ viber 3 ३६ अवैध Viber TTL मान।
१२०११ sms / rcs 1 12 SMS/RCS स्वीकार गरियो।
३६०११ sms / rcs 1 12 SMS/RCS बाटोमा।
२३०११ sms / rcs 2 २३ SMS/RCS पठाइयो।
३५०१५ sms / rcs 3 ३५ SMS/RCS को म्याद सकियो (TTL भित्र डेलिभर गरिएको छैन)।
३६०२१ sms / rcs 3 ३६ SMS/RCS सन्देश मेटाइयो।
३६०३१ sms / rcs ३६ SMS/RCS पठाउन सकिँदैन।
३६०४१ sms / rcs 3 ३६ अज्ञात SMS/RCS डेलिभरी स्थिति।
३६०५१ sms / rcs 3 ३६ SMS/RCS सन्देश अस्वीकार गरियो।