وثائق شريك واجهة برمجة تطبيقات Grizzly SMS

Description of the protocol's operation

تم تصميم بروتوكول الشريك لتقديم أرقام الهواتف والرسائل النصية القصيرة الواردة عبر واجهة برمجة التطبيقات مباشرةً إلى خادم Grizzly SMS.

تتضمن جميع الطلبات معلمة KEY. يوفر هذا المفتاح فريق الدعم وهو متوفر في الحساب الشخصي.

يتم إرسال طلبات الكمية GET_SERVICES وطلبات الأرقام GET_NUMBER وطلبات اكتمال التنشيط FINISH_ACTIVATION مباشرةً من خادتنا إلى خادم الشريك.

صيغة الرابط: https://GrizzlySMS حيث يمكن أن يكون GrizzlySMS عبارة عن partner.ru:port/GrizzlySMS.php or partner.ru/GrizzlySMS.php

GET_SERVICES

GET_NUMBER

PUSH_SMS

FINISH_ACTIVATION

يرسل خادم Grizzly SMS طلبًا لمعرفة كمية أرقام الهواتف باستخدام طريقة GET_SERVICES تقريبًا كل 10-20 ثانية.

إذا قمت بتقديم قيمة أكبر من الصفر في الرد، فسوف تستقبل طلبًا للحصول على رقم هاتف باستخدام طريقة GET_NUMBER.

بعد استلام طلب GET_NUMBER ، يُطلب منك توفير رقم هاتف يلبي جميع المعايير وإعادة توجيه كافة الرسائل النصية القصيرة الواردة إلينا باستخدام طريقة PUSH_SMS. وهذا ضروري بالنسبة لنا لأداء عمليات فلترة واضحة وموضوعية وتقديم الرسائل النصية القصيرة المناسبة إلى الخدمة الصحيحة لصالح عملائنا.

عند الانتهاء من جميع المهام اللازمة المتعلقة بأرقام الهواتف، سوف تستقبل حالة بقيمة 3 من خلال طريقة FINISH_ACTIVATION. تشير هذه الحالة إلى نجاح تسجيل رقم الهاتف وحصولك على مكافأة له.

المتطلبات:

  • تنسيق الطلب/الاستجابة: JSON
  • التشفير: UTF-8
  • يجب دائمًا استخدام رأس user-agent في الطلبات المرسلة إلى خادم Grizzly SMS

أنواع الحقول:

  • int: قيمة عدد صحيح في النطاق من -2,147,483,648 إلى 2,147,483,647
  • Uint: قيمة عدد صحيح غير سالب في النطاق من 0 إلى 2,147,483,647
  • long: قيمة عدد صحيح في النطاق من -9,223,372,036,854,775,808 إلى 9,223,372,036,854,775,807
  • Ulong: قيمة عدد صحيح طويل غير سالب في النطاق من 0 إلى 9,223,372,036,854,775,807
  • cur: قيمة حقيقية تحتوي على ما يصل إلى منزلتين عشريتين، على سبيل المثال 177.77
  • boolean: القيم الحرفية true أو false
  • string: قيمة سلسلة نصية بطول غير محدود
  • array of string: مصفوفة من السلاسل النصية
1. GET_SERVICES number request method

يوفر هذا الطلب معلومات عن كمية أرقام الهاتف المتاحة للبيع للخدمات.

يتم نقل طلب POST من خادم Grizzly SMS إلى خادم الشريك.

! يرجى ملاحظة: إذا كان مودم GSM الخاص بك محدودًا في عدد الوحدات النشطة المتزامنة، فيجب عليك تقديم عدد مساوٍ لعدد الوحدات النشطة.

حقول الطلب

الوصف مطلوب النوع الحقل
action String
 
GET_SERVICES
key String
 
مفتاح البروتوكول

حقول الاستجابة:

الحقل النوع المطلوب الوصف
status String
 
(انظر جدول الحالة) حالة الاستجابة 
countryList Array of CountryList
 
قائمة الدول
 
CountryList
الحقل النوع المطلوب الوصف
country String
 
(انظر جدول البيانات) الدولة 
operatorMap* Associative
array
 
، القيمة - صفائف الخدمات المرتبطة (انظر جدول البيانات), المفتاح - المشغل**

يجب ألا ترسل صفوف بيانات فارغة في operatorMap
** صفائف الخدمات المرتبطة: المفتاح - اسم الخدمة المختصر (انظر جدول البيانات)، القيمة - كمية أرقام الهواتف المتاحة للخدمة (النوع: int)


 

مثال على طلب:
{
  "action": "GET_SERVICES",
  "key": "qwerty123"
}
مثال على رد:
{
  "countryList":
    [
      {
        "country": "russia",
        "operatorMap":
          {
            "any":
              {
                "vk": 3,
                "ok": 10
              }
          }
      },
      {
        "country": "ukraine",
        "operatorMap":
          {
            "any":
              {
                "vk": 0,
                "wa": 32
              }
          }
      }
    ],
  "status": "SUCCESS"
}
2. GET_NUMBER request method

يوفر لنا هذا الطلب رقم هاتف نقوم بنقله إلى العميل.

يتم إرسال طلب POST من خادم Grizzly SMS إلى خادم الشريك.

إذا كانت صفية exceptionPhoneSet تحتوي على قائمة من البادئات، على سبيل المثال 44742 و44740، فلا ينبغي عليك تزويد رقم يبدأ بأي من هذه البادئات. عدد الأرقام ليس محدودًا بحجم البادئة.

Request fields:
الحقل النوع المطلوب الوصف
action String
 
GET_NUMBER
key String
 
مفتاح البروتوكول
country String
 
انظر جدول البيانات
service String
 
انظر جدول البيانات
operator String
 
انظر جدول البيانات
sum Cur
 
المبلغ الذي ستتلقاه مقابل خدمة مسجلة بنجاح

exceptionPhoneSet

Array of String
 

قائمة بالبادئات المحظورة عند طلب رقم هاتف

حقول الاستجابة

الحقل النوع المطلوب     الوصف
status String
 
(انظر جدول الحالة)
number Ulong
 
رقم الهاتف مع رمز البلد
activationId Ulong
 
معرّف التنشيط في نظام الشريك
flashcall Boolean   TRUE إذا كان يدعم PUSH_CALL
voice Boolean  

TRUE إذا كان يدعم PUSH_CALL_RECORD

 
مثال على طلب:
{
  "action": "GET_NUMBER",
  "key": "qwerty123",
  "country": "russia",
  "operator": "any",
  "service": "tg",
  "sum": 20.00,
}
مثال على طلب مع exceptionPhoneSet:
{
  "action": "GET_NUMBER",
  "key": "qwerty123",
  "country": "russia",
  "operator": "any",
  "service": "vk",
  "sum": 10,
  "exceptionPhoneSet": [
    "7918",
    "79281"
  ]
}
مثال على رد:
{
  "status": "SUCCESS",
  "number": 79157891133,
  "activationId": 571346,
  "flashcall": true,
  "voice": false
}
مثال على رد في حال عدم وجود أرقام:
{
  "status": "NO_NUMBERS"
}
3. Delivery of SMS to the Grizzly SMS server using the PUSH_SMS method

يتم إرسال طلب POST هذا من خادم الشريك إلى خادم Grizzly SMS على العنوان التالي:  https://api.grizzlysms.com/agent/api/sms

إذا تلقيت استجابة بحالة "SUCCESS"، فسجل الرسالة النصية القصيرة على أنها تم تسليمها بنجاح في قاعدة البيانات الخاصة بك ولا ترسلها مرة أخرى. إذا تم إرجاع حالة غير "SUCCESS"، كرّر الطلب مع تأخير قدره 10 ثوانٍ حتى تتلقى حالة "SUCCESS".

حقول الطلبات

الحقل النوع المطلوب الوصف
action String
 
PUSH_SMS
key String
 
مفتاح البروتوكول
smsId Ulong
 
معرف الرسالة النصية القصيرة في نظام الشريك
phone Ulong
 
رقم الهاتف (بما في ذلك رمز البلد) الذي أرسل إليه الرسالة النصية القصيرة
phoneFrom String
 
اسم المرسل (قد يكون إما أبجديا رقميًا أو رقميًا) الذي أرسل الرسالة النصية القصيرة
Text String
 

نص الرسالة النصية القصيرة

Состав полей ОТВЕТА
الحقل النوع المطلوب الوصف

status

String
 
(see انظر جدول الحالة)
مثال على طلب:
{
  "action": "PUSH_SMS",
  "key": "qwerty123",
  "smsID": 1
  "phone": 447472190082
  "phoneFrom": "Microsoft",
  "text": "Microsoft access code: 5015"
}
مثال على رد:
{
  "status": "SUCCESS"
}
4. Activation completion request method FINISH_ACTIVATION

يتم إرسال هذا الطلب من خادم Grizzly SMS إلى خادم الشريك لاستكمال التنشيط.

يتم إطلاق طلب POST من خادم Grizzly SMS إلى خادم الشريك.

يتم التحكم الكامل في إدارة التنشيط بواسطة Grizzly SMS. نظرًا لعوامل خارج عن إرادتنا، قد لا نحصل على رد منك بشأن تغيير الحالة بنجاح. لذلك، إذا أرسلت Grizzly SMS طلبًا لإعادة التنشيط، فيجب عليك التحقق من وجود معرّف التنشيط في نظامك. إذا وجد التنشيط، فأرسل حالة النجاح في الرد.

حقول الطلب

الحقل النوع المطلوب الوصف
action String
 
FINISH_ACTIVATION
key String
 
مفتاح البروتوكول
activationId Ulong
 
معرّف التنشيط المُحصل عليه في الطلب الثاني
status Ulong
 
انظر جدول الحالة
حقول الرد
الحقل النوع المطلوب الوصف

status

String
 
انظر جدول الحالة
مثال على طلب:
{
  "action": "FINISH_ACTIVATION",
  "key": "qwerty123",
  "smsId": 100,
  "status": 3
}
مثال على رد:
{
  "status": "SUCCESS"
}
🆕 5. Request method PUSH_CALL_RECORD

يتم إرسال طلب POST هذا من خادم الشريك إلى خادم Grizzly SMS على العنوان التالي:  https://api.grizzlysms.com/agent/api/sms

إذا تلقيت استجابة بحالة "SUCCESS"، فسجل الرسالة النصية القصيرة على أنها تم تسليمها بنجاح في قاعدة البيانات الخاصة بك ولا ترسلها مرة أخرى. إذا تم إرجاع حالة غير "SUCCESS"، كرّر الطلب مع تأخير قدره 10 ثوانٍ حتى تتلقى حالة "SUCCESS".

Content-Type: multipart/form-data

حقول الطلبات

الحقل النوع المطلوب الوصف
action String
 
PUSH_CALL_RECORD
key String
 
مفتاح البروتوكول
callId Ulong
 
معرّف الاتصال في نظام الشريك
phone Ulong
 
رقم الهاتف (بما في ذلك رمز البلد)
phoneFrom String
 
هاتف المتصل
text String مطلوب إذا كان الملف فارغًا     نص السجل
file Binary مطلوب إذا كان النص فارغًا    

ملف صيغة wav, amr, mp3, ogg

الاستجابة
الحقل النوع المطلوب الوصف

status

String
 
(انظر جدول الحالة)
مثال على طلب:
{
  "action": "PUSH_CALL_RECORD",
  "key": "qwerty123",
  "recordID": 1
  "phone": 447472190082
  "phoneFrom": "443355667788",
  "text": "Microsoft access code: 5015"
}
مثال على رد:
{
  "status": "SUCCESS"
}
🆕 6. Request method PUSH_CALL

يتم إرسال طلب POST هذا من خادم الشريك إلى خادم Grizzly SMS على العنوان التالي:  https://api.grizzlysms.com/agent/api/sms

إذا تلقيت استجابة بحالة "SUCCESS"، فسجل الرسالة النصية القصيرة على أنها تم تسليمها بنجاح في قاعدة البيانات الخاصة بك ولا ترسلها مرة أخرى. إذا تم إرجاع حالة غير "SUCCESS"، كرّر الطلب مع تأخير قدره 10 ثوانٍ حتى تتلقى حالة "SUCCESS".


 

 

حقول الطلبات

الحقل     النوع المطلوب الوصف
action String
 
PUSH_CALL
key String
 
مفتاح البروتوكول
callId Ulong
 
معرّف الاتصال في نظام الشريك
phone Ulong
 
رقم الهاتف (بما في ذلك رمز البلد)
phoneFrom String
 

هاتف المتصل

الاستجابة
الحقل النوع المطلوب الوصف

status

String
 
(see انظر جدول الحالة)
مثال على طلب:
{
  "action": "PUSH_CALL",
  "key": "qwerty123",
  "callID": 1
  "phone": 447472190082,
  "phoneFrom": "447472190099"
}
مثال على رد:
{
  "status": "SUCCESS"
}
Status Table

تركيب حقول الطلب

حالة الوصف
SUCCESS تمت إنهاء الطلب بنجاح
ERROR حدث خطأ أثناء تنفيذ الطلب. يجب ملء حقل ERROR بوصف المشكلة
NO_NUMBERS لا توجد أرقام متوفرة. يتم إرجاع هذه الاستجابة فقط لطلب رقم

حالة التنشيط

حالة الوصف

1

إصدار رقم لهذا الخدمة ممنوع
3 تم بيع التنشيط بنجاح. لقد حصلت على مكافأة
4 تم إلغاء التنشيط*
5

تم إرجاع التنشيط. تم رد مبلغ التنشيط إلى العميل. ربما تم تسجيل هذا الرقم مسبقًا وقد يكون تم تمكين المصادقة الثنائية على الرقم

**يتعامل آلية الإلغاء كالآتي: إذا تم إلغاء رقم هاتف خمس مرات، فيجب ألا تصدر نفس الرقم مرة أخرى. فمن الممكن أن الرقم لم يكن مناسبًا للعميل أو أنه تم تسجيله مسبقًا لهذه الخدمة المحددة.

رد ناجح على الطلب:
{
  "status": "SUCCESS",
  //information
}
رد في حالة الخطأ:
{
  "status": "ERROR",
 "error": "Description of the error"
}
Testing the protocol

إصدار الأرقام المتزامن. يجب التعامل مع الطلبات المتزامنة بشكل صحيح وعدم إصدار الأرقام مرارًا وتكرارًا. على سبيل المثال، إذا كان لديك 100 رقم لـ Telegram إندونيسيا وقامت خدمة Grizzly SMS بإجراء 100 طلب متزامن لخدمة Telegram المملكة المتحدة في نفس الوقت، فعلياً يجب أن يوفر خادم الشريك 100 رقم فريد. وإذا تم إصدار الرقم عدة مرات، يفشل الاختبار.

اكتمال التنشيط الصحيح. يتم التحكم الكامل في تغيير حالة التنشيط بواسطة خدمة Grizzly SMS. لا ينبغي لخادم الشريك استكمال عمليات التنشيط بشكل مستقل.

تحقق توصيل الرسائل القصيرة. بمجرد تلقي رسالة قصيرة (SMS)، يتعين عليك إعادة توجيهها فورًا إلى خادم Grizzly SMS. إذا تلقيت حالة نجاح (SUCCESS)، فلا ينبغي إعادة إرسال الرسالة القصيرة مرة أخرى. ومع ذلك، إذا حصلت على حالة مختلفة، فيجب إعادة المحاولة كل 10-20 ثانية. إذا تمت إعادة إصدار رسالة قصيرة بعد الحصول على حالة النجاح، فسيفشل الاختبار.

التحقق من نوع الحقل. تحقق بعناية من أنواع الحقول المحددة في هذا المستند. إذا انتهكت هذه الشرط، فإن الاختبار يفشل.

 

رمز الدولة في رقم الهاتف. يجب أن يكون إصدار أرقام الهواتف بصيغة رقمية ويشمل رمز الدولة.

التحقق من وقت إصدار الرقم. يجب إصدار الأرقام بفارق زمني يقل عن ثلاث ثوانٍ. إذا تجاوز الوقت الثلاث ثوانٍ، فإن الاختبار يفشل.

التحقق من كمية الأرقام. إذا قمت بإصدار 1000 رقم في طلب لكميات الأرقام، ولكن فقط 100 صدرت في نفس الوقت، فإن الاختبار فشل.

التحقق من معالجة الاستثناءات. إذا تعاملت بشكل غير صحيح مع الاستثناءات لإصدار رقم، فإن الاختبار فشل.

Data Table
جدول البيانات:
القوائم الرابط
قائمة الدول يمكن العثور على القائمة الكاملة للدول بأسماء وأرقام التعريف على الرابط  https://grizzlysms.com/docs
قائمة المشغلين في الوقت الحالي، لا تزال عملية تقسيم المشغلين قيد التطوير، لذلك يجب تمرير القيمة "أي مشغل". بمجرد تنفيذ هذه الوظيفة، سنقوم بإخطارك عبر دردشة الدعم الفني.
قائمة الخدمات يمكن العثور على قائمة كاملة بالخدمات بأسماء وأرقام تعريف على الرابط https://grizzlysms.com/docs
API for price change

تم تصميم هذه واجهة برمجة التطبيقات بهدف أتمتة العمل مع شريط التمرير الخاص بك (أسعار الخدمات).

يمكن العثور على واجهة برمجة التطبيقات (API) باستخدام هذا العنوان. https://apiagent.9grizzlysms.com.

لأغراض المصادقة في الطلبات، تحتاج إلى إرسال مفتاح API الخاص بك في رأس HTTP بعنوان apikey.

يتم نقل جميع البيانات بتنسيق JSON. بالنسبة لطلبات GET، من الضروري إرسال رأس HTTP Accept: application/json، أما بالنسبة لطلب POST - Accept: application/json و Content-Type: application/json.

الموجودة في الأعمدة في قائمة البلدان تتوفر قيم معلمات البلد ID و Countries، لذا يمكنك استخدام كلا القيمتين 0 و russia.

الموجودة في العمود قائمة الخدمات تتوفر قيم معلمات الخدمة في ID.

Terms and fines

سحب الأموال. تتم عملية سحب الأموال المكتسبة بناءً على الطلبات. يمكن للشريك إنشاء طلب في قسم السحب. يسمح بسحب ربح قدره 100 USDT كحد أدنى لكل معاملة. تتم معالجة الطلبات يوميًا من الساعة 8:00 إلى الساعة 20:00 بالتوقيت العالمي المنسق UTC خلال مدة تتراوح بين 20 إلى 180 دقيقة. إذا كنت مؤهلاً للحصول على أي مكافأة (وفقًا لشروط الاستخدام المنشورة على الموقع الإلكتروني)، يرجى التأكد من الإشارة إليها في التعليقات الخاصة بالطلب.

التعويضات عن التحقق بخطوتين وكود الخطأ. تقوم منصة Grizzly SMS، بصفتها وسيطًا، بتعويض العملاء بالكامل عن أرقام Telegram التي تحتوي على ميزة التحقق بخطوتين والأكواد الخاطئة. تتلقى Grizzly SMS معلومات حول التحقق بخطوتين تلقائيًا من برنامج Telegram Expert وبرنامج TG-GIANT. مهم: لا يتم فرض رسوم على الأرقام ذات ميزة التحقق بخطوتين أو الكود الخاطئ ("كود خاطئ") وعلى حسابات Telegram. يمكنك رؤية المعلومات المتعلقة بالتحقق بخطوتين أو خطأ_الكود في سجل التنشيط.