تنزيل وثائق واجهة برمجة التطبيقات

اضغط على صورة PDF للتحميل

1-مقدمة

يوفر هذا المستند مواصفات SMPP بما في ذلك الاتصال بخادم أنظمة المراسلة المتقدمة وخيارات الربط ومواصفات إرسال الرسائل القصيرة عبر SMPP. يوفر هذا المستند أيضًا HTTP API المستخدم لإرسال الرسائل القصيرة وجمع تقارير التسليم بالإضافة إلى مواصفات HTTP API.

2-SMPP

يعد بروتوكول الرسائل القصيرة من نظير إلى نظير (SMPP) بروتوكولًا تستخدمه صناعة الاتصالات لتبادل رسائل SMS بين مراكز خدمة الرسائل القصيرة (SMSC) وكيانات الرسائل القصيرة الخارجية (ESME). البروتوكول هو بروتوكول TCP/IP من المستوى 7، والذي يسمح بالتسليم السريع للرسائل النصية القصيرة.

الاتصال بين التطبيق وخادم AMS SMPP هو الإصدار 3.4 من SMPP

عملية الربط: الغرض من عملية ربط SMPP هو تسجيل مثيل ESME مع نظام SMSC وطلب جلسة SMPP عبر اتصال الشبكة هذا لإرسال الرسائل أو تسليمها. وبالتالي، يمكن عرض عملية الربط كنموذج لطلب تسجيل الدخول إلى SMSC لمصادقة كيان ESME الذي يرغب في إنشاء اتصال.

وضع BIND: يمكن للمستخدم الربط إما كـ Tx (جهاز إرسال) أو Rx (جهاز استقبال) أو TRx (جهاز إرسال واستقبال).

Tx: يُسمح للمستخدم المرتبط كجهاز إرسال بإرسال رسائل قصيرة وتلقي استجابات SMPP المقابلة.

Rx: يُسمح للمستخدم المرتبط كمستلم بتلقي الرسائل القصيرة وإرجاع استجابات رسائل SMPP المقابلة.

TRx: يُسمح للمستخدم المرتبط كجهاز إرسال واستقبال بإرسال واستقبال الرسائل عبر جلسة SMPP واحدة.

*يُسمح للمستخدمين بالارتباط بـ TRx/Rx واحد فقط مع جلسات Tx متعددة.

معلمات الطلب:

SMPP رمز الحالةs:

3-HTTP

بروتوكول نقل النص التشعبي (HTTP) هو بروتوكول على مستوى التطبيق لأنظمة معلومات الوسائط التشعبية الموزعة والتعاونية. هذا هو الأساس لاتصالات البيانات لشبكة الويب العالمية (أي الإنترنت)

HTTP هو بروتوكول عام وعديم الحالة ويمكن استخدامه لأغراض أخرى بالإضافة إلى استخدام امتدادات طرق الطلب ورموز الخطأ والرؤوس. يوفر هذا المستند للمطورين تعليمات لدمج خدمات رسائل SMS في حلول متنوعة باستخدام HTTP API.>

يمكن استخدام HTTP API في إرسال الرسائل القصيرة وجمع تقارير التسليم جنبًا إلى جنب مع مواصفات HTTP API. كما يوفر هذا المستند أيضًا مواصفات SMPP بما في ذلك الاتصال بخادم أنظمة المراسلة المتقدمة وخيارات الربط ومواصفات إرسال الرسائل القصيرة عبر SMPP

يمكن للمستخدمين استخدام الخدمات التالية عبر HTTP API:

  • تقديم الرسائل والجدولة
  • الاستعلام عن الحالة
  • الاستفسار عن الرصيد
  • تحميل التغطية

3.1-تقديم الرسائل والجدولة

تدعم واجهة برمجة تطبيقات HTTP كلاً من طريقتي GET وPOST. يُسمح باستخدام حد أسلوب GET الذي يصل إلى 100 رقم في طلب واحد. بالنسبة لطريقة POST، يُسمح بحد يصل إلى 10000 رقم في طلب واحد.

وصف:

عنوان URL لتقديم الرسالة:

https://tawasolsms.com:8582/websmpp/websms? user=xxxx&pass=xx&sid=xxxxx&mno=966xxxxx&type=x&text=xxx

أو

https://tawasolsms.com:8582/websmpp/websms? accesskey=xxxxxxxxxxxxxxx &sid=xxxxx&mno=966xxxxx&type=x&text=xxx

إذا كانت الاستجابة مطلوبة بتنسيق JSON:

https://tawasolsms.com:8582/websmpp/websms? user=xxxx&pass=xx&sid=xxxxx&mno=966xxxxx&type=x&text=xxx&respformat=json

عنوان URL لجدولة الرسائل:

https://tawasolsms.com:8582/websmpp/websms? user=xxxx&pass=xx&sid=xxxxx&mno=966xxxxx&type=x&text=xxx &gmt=xxxxx&schtime=xxxxxxxxxxxx

باستخدام مجموعة مكونة من دفتر العناوين:

https://tawasolsms.com:8582/websmpp/websms/groupsms? user=xxxx&pass=xx&sid=xxxxx&group=GR1&limit=100&type=x&text=xxx

المعلمات المطلوبة (إلزامية):

المعلمات الاختيارية (الجدولة):

المعلمات الاختيارية (أخرى):

نوع الرسالة وطولها:

 

أمثلة:

 

  • الرسالة الانجليزية:

https://tawasolsms.com:8582/websmpp/websms? user=testUser&pass=12345&sid=Test&mno=966xxxxx&type=1 &text=testing English message

  • رسالة يونيكود:

https://tawasolsms.com:8582/websmpp/websms? user=testUser&pass=12345&sid=Test&mno=966xxxxx&type=2 &text= 00740065007300740069006E006700200075006E006 90063006F006400650020006D006500730073006100670065

  • رسالة شخصية خاصة:

https://tawasolsms.com:8582/websmpp/websms? user=testUser&pass=12345&sid=Test&mno=966xxxxx&type=3 &text=testing $@ Character

  • عربي:

https://tawasolsms.com:8582/websmpp/websms? user=testUser&pass=12345&sid=Test&mno=966xxxxx&type=4 &text= اختبار رسالة عرب

  • الجدولة:

https://tawasolsms.com:8582/websmpp/websms? user=testUser&pass=12345&sid=Test&mno=966xxxxx&type=1 &text=testing Schedule &gmt=+0530&schtime=201605101422&resp=true

ملاحظة: الأحرف [ ] { } | \ ~ ^ سيتم احتسابها مرتين. الشخصيات& و# مقيدان في محتوى الرسالة.

تنسيق الاستجابة

عند التقديم الناجح (التنسيق الافتراضي):

Response: 1507211343399277335

عند الإرسال الناجح (تنسيق JSON):

{"Response":["1912181513205684021"]}

على الجدولة الناجحة (resp=false):

الرد: إجمالي الرسائل المجدولة -> 2

على الجدولة الناجحة (resp=true):

Response: ScheduleId: 2106221027444687393

عند الفشل (الأخطاء المحتملة):

ERROR - HTTP01 --> تنسيق عنوان URL لـ HTTP غير صالح

ERROR - HTTP02 --> سلسلة استعلام غير صالحة

ERROR - HTTP03 --> فشل تقديم الرسالة

ERROR - HTTP04 --> رمز مرور خاطئ

ERROR - HTTP05 --> معرف النظام غير صالح

ERROR - HTTP06 --> معرف المرسل غير صالح

ERROR - HTTP07 --> نوع غير صالح

ERROR - HTTP08 --> معرف الرسالة غير صالح

ERROR - HTTP09 --> عنوان الوجهة غير صالح

ERROR - HTTP10 --> عدد غير صالح من الرسائل

ERROR - HTTP11 --> الخدمة المطلوبة غير متوفرة

ERROR - HTTP12 --> فشل الإرسال

ERROR - HTTP13 --> فشل طلب الاستعلام

ERROR - HTTP14 --> فشل الربط

ERROR - HTTP15 --> غير مصرح له بالطلب.

ERROR - HTTP16 --> طلب غير صالح

ERROR - HTTP17 --> طول الرسالة غير صالح

ERROR - HTTP18 --> عدم كفاية الاعتمادات/الرصيد

ERROR - HTTP19 --> نظام ترميز البيانات غير صالح

ERROR - HTTP20 --> غير صالح ESM

ERROR - HTTP21 --> غير صالح HEADER

ERROR - HTTP22 --> وقت الجدول الزمني غير صالح

ERROR - HTTP23 --> خطأ في التوجيه

ERROR - HTTP24 --> تم تجاوز عدد الوجهات

ERROR - HTTP25 --> لا يوجد سجلات

ERROR - HTTP26 --> صلاحية الحساب

3.2-الاستعلام عن الحالة

بعد الإرسال الناجح، يمكن للمستخدم الحصول على حالة الرسالة عبر عنوان URL التالي:

https://tawasolsms.com:8582/websmpp/websmsstatus?respid=2541524

ستكون الحالة الناتجة واحدة منها من الجدول التالي:

3.3-الاستفسار عن الرصيد

بعد الإرسال الناجح، يمكن للمستخدم الحصول على حالة الرسالة عبر عنوان URL التالي:

https://tawasolsms.com:8582/websmpp/balanceReport?userid=systemid&password=pwd

or

https://tawasolsms.com:8582/websmpp/balanceReport?accesskey=xxxxxxxxxxxxxxx

  • المعلمات معرف المستخدم وكلمة المرور إلزامية. الفشل في أي شيء سيؤدي إلى استجابة سلبية.

3.4-تحميل التغطية

يمكن للمستخدم الحصول على التغطية عبر عنوان URL التالي:

https://tawasolsms.com:8582/websmpp/downloadcoverage? userid=systemid&password=pwd&format=x

or

https://tawasolsms.com:8582/websmpp/downloadcoverage? accesskey=xxxxxxxxxxxxxxx&format=x

التنسيق هو معلمة اختيارية. إذا لم يتم تحديد التنسيق الافتراضي سيكون 1.

التنسيقات المطلوبة:

3.5-إشعار بالإستلام

يمكن للمستخدم الحصول على DLR عبر رابط الويب المقدم. سيبدو عنوان URL لكل عميل على النحو التالي "http://www.test.com/dlr/dlr.aspx". الطريقة المستخدمة لنشر تقرير التسليم على عنوان URL الخاص بالعميل هي POST. بعد استلام DLR، يجب أن يعود الرابط موافقًا كإقرار.

ستكون المعلمات الملحقة بعنوان URL كما يلي:

3.6-إشعار بالإستلام (XLSX)

يمكن تنزيل تقرير DLR بتنسيق XLSX عبر رابط الويب أدناه:

https://tawasolsms.com:8582/websmpp/api/dlrreport?username=xxxx&pass=xxxx&from_date=20210821124545&to_date=20210821164545&is_content=1&sender=XYZ

أو

https://tawasolsms.com:8582/websmpp/api/dlrreport?accesskey=xxxxxxxxxxxxxxx &from_date=20210821124545&to_date=20210821164545&is_content=1&sender=XYZ

المعلمات المطلوبة (إلزامية):

المعلمات المطلوبة (اختياري):

3.7-إزالة الجدول الزمني

يمكن للمستخدم إزالة الدفعة المجدولة عبر عنوان URL التالي:

https://tawasolsms.com:8582/websmpp/removeschedule?userid=testUser&password=xxx&scheduleid=2106221027211155451

4-JSON

يمكن للمستخدمين استخدام الخدمات التالية عبر JSON API:

  • تقديم الرسالة
  • الاستعلام عن الحالة
4.1 إرسال الرسالة: عنوان URL المستخدم لنشر البيانات بتنسيق XML هو:

https://tawasolsms.com:8582/websmpp/json/sms

مثال على تنسيق الطلب[1]:


                                                                    {
                                                                        "campaign": {
                                                                            "username": "testUser",
                                                                            "password": "xx",
                                                                            "format": "1",
                                                                            "sender": "JSON-1",
                                                                            "gsm": [
                                                                                "919826321321",
                                                                                "919589321322"
                                                                            ],
                                                                            "text": "testing normal json api",
                                                                            "type": "1"
                                                                        }
                                                                    }
                                                                

أو


                                                                    {
                                                                        "campaign": {
                                                                            "accesskey": "xxxxxxxxxxxxxxx",
                                                                            "format": "1",
                                                                            "sender": "JSON-1",
                                                                            "gsm": [
                                                                                "919826321321",
                                                                                "919589321322"
                                                                            ],
                                                                            "text": "testing normal json api",
                                                                            "type": "1"
                                                                        }
                                                                    }
                                                                

أو (باستخدام مجموعة دفتر العناوين المكونة)


                                                                {
                                                                    "campaign": {
                                                                        "username": "testUser",
                                                                        "password": "xx",
                                                                        "format": "1",
                                                                        "sender": "JSON-1",
                                                                        "group": [
                                                                            "GR1",
                                                                            "GR2"
                                                                        ],
                                                                        "limit": "100",
                                                                        "text": "testing normal json api",
                                                                        "type": "1"
                                                                    }
                                                                }
                                                            

Request Format Example[2]:


                                                                    {
                                                                        "campaign": {
                                                                            "username": "testUser",
                                                                            "password": "xx",
                                                                            "format": "2",
                                                                            "type": "1",
                                                                            "sender": "JSON-2",
                                                                            "custom": [
                                                                                {
                                                                                    "gsm": "919826321321",
                                                                                    "text": "testing message 1"
                                                                                },
                                                                                {
                                                                                    "gsm": "919589321322",
                                                                                    "text": "testing message 2"
                                                                                }
                                                                            ]
                                                                        }
                                                                    }
                                                                

إجابة: بعد الإرسال، سيحصل المستخدم على الرد على النحو التالي:


                                                                    {
                                                                        "response": {
                                                                            "batch_id": "0302201404163965268",
                                                                            "status": "000"
                                                                        }
                                                                    }
                                                                

batch_id هو معرف فريد ويستخدم لتحديد جميع الرسائل (على جميع أرقام GSM) المرتبطة بهذا الطلب.

Status سيكون 000 عند التقديم الناجح. للحصول على حالة أخرى، يرجى التحقق من جدول رمز الحالة.

4.2 Status: بعد الإرسال الناجح، يمكن للمستخدم الحصول على حالة الرسالة عبر عنوان URL التالي:

https://tawasolsms.com:8582/websmpp/json/status

للاستعلام عن حالة التقديمات، يلزم وجود تنسيق محدد على النحو التالي:


                                                                    {
                                                                        "enquiry": {
                                                                            "password": "xx",
                                                                            "batch_id": "0302201420337911363",
                                                                            "username": "testUser"
                                                                        }
                                                                    }
                                                                

or


                                                                    {
                                                                        "enquiry": {
                                                                            "accesskey": "xxxxxxxxxxxxxxx",
                                                                            "batch_id": "0302201420337911363"
                                                                        }
                                                                    }
                                                                    

التنسيق الناتج: سيكون تنسيق JSON الناتج على النحو التالي:


                                                                    {
                                                                        "result": {
                                                                            "batch_id": "0302201420337911363",
                                                                            "report": [
                                                                                {
                                                                                    "request_status": "000",
                                                                                    "dlr_status": "UNDELIV",
                                                                                    "messageid": "2002031420338711051",
                                                                                    "msisdn": "919826321321"
                                                                                },
                                                                                {
                                                                                    "request_status": "000",
                                                                                    "dlr_status": "DELIVRD",
                                                                                    "messageid": "2002031420338811061",
                                                                                    "msisdn": "919589321322"
                                                                                }
                                                                            ]
                                                                        }
                                                                    }
                                                                

5-XML

يمكن للمستخدمين استخدام الخدمات التالية عبر XML API:

  • إرسال الرسالة
  • الاستعلام عن الحالة
5.1 إرسال الرسالة: عنوان URL المستخدم لنشر البيانات بتنسيق XML هو:

https://tawasolsms.com:8582/websmpp/xmlsms

مثال على تنسيق الطلب[1]:


                                                                    <?xml version="1.0" encoding="UTF-8"?>
                                                                    <campaign format="1">
                                                                        <SMS>
                                                                            <username>testUser</username>
                                                                            <password>pass</password>
                                                                            <type>1</type>
                                                                            <sender>TEST-XML1</sender>
                                                                            <text>testing xml request via http</text>
                                                                            <recipients>
                                                                                <gsm>961231213</gsm>
                                                                                <gsm>961321987</gsm>
                                                                            </recipients>
                                                                        </SMS>
                                                                    </campaign>
                                                                

أو


                                                                    <?xml version="1.0" encoding="UTF-8"?>
                                                                    <campaign format="1">
                                                                        <SMS>
                                                                            <accesskey>xxxxxxxxxxxxxxx</accesskey>
                                                                            <type>1</type>
                                                                            <sender>TEST-XML1</sender>
                                                                            <text>testing xml request via http</text>
                                                                            <recipients>
                                                                                <gsm>961231213</gsm>
                                                                                <gsm>961321987</gsm>
                                                                            </recipients>
                                                                        </SMS>
                                                                    </campaign>
                                                                

أو (باستخدام مجموعة دفتر العناوين المكونة)


                                                                    <?xml version="1.0" encoding="UTF-8"?>
                                                                    <campaign format="1">
                                                                        <SMS>
                                                                            <username>testUser</username>
                                                                            <password>pass</password>
                                                                            <type>1</type>
                                                                            <sender>TEST-XML1</sender>
                                                                            <text>testing xml request via http</text>
                                                                            <recipients>
                                                                                <group>GR1</group>
                                                                                <group>GR2</group>
                                                                            </recipients>
                                                                            <limit>100</limit>
                                                                        </SMS>
                                                                    </campaign>
                                                                

مثال على تنسيق الطلب[2]:


                                                                    <?xml version="1.0" encoding="UTF-8"?>
                                                                    <campaign>
                                                                        <SMS format="2">
                                                                            <username>testUser</username>
                                                                            <password>pass</password>
                                                                            <type>1</type>
                                                                            <sender>TEST-XML1</sender>
                                                                            <custom>
                                                                                <gsm>961231211</gsm>
                                                                                <text>testing xml custom request 1 via http</text>
                                                                            </custom>
                                                                            <custom>
                                                                                <gsm>961231212</gsm>
                                                                                <text>testing xml custom request 2 via http</text>
                                                                            </custom>
                                                                            <custom>
                                                                                <gsm>961231213</gsm>
                                                                                <text>testing xml custom request 3 via http</text>
                                                                            </custom>
                                                                        </SMS>
                                                                    </campaign>
                                                                

إجابة:بعد الإرسال، سيحصل المستخدم على الرد على النحو التالي:


                                                                    <?xml version="1.0" encoding="UTF-8"?>
                                                                    <response>
                                                                        <status>000</status>
                                                                        <batch_id>171117172801751</batch_id>
                                                                    </response>
                                                                

batch_id هو معرف فريد ويستخدم لتحديد جميع الرسائل (على جميع أرقام GSM) المرتبطة بهذا طلب.

5.2 الاستعلام عن الحالة: بعد الإرسال الناجح، يمكن للمستخدم الحصول على حالة الرسالة عبر عنوان URL التالي:

https://tawasolsms.com:8582/websmpp/xmlstatus

للاستعلام عن حالة التقديمات، يلزم وجود تنسيق محدد على النحو التالي:


                                                                    <?xml version="1.0" encoding="UTF-8"?>
                                                                    <enquiry>
                                                                        <username>testUser</username>
                                                                        <password>pass</password>
                                                                        <batch_id>171117104025321</batch_id>
                                                                    </enquiry>
                                                                

أو


                                                                    <?xml version="1.0" encoding="UTF-8"?>
                                                                    <enquiry>
                                                                        <accesskey>xxxxxxxxxxxxxxx</accesskey>
                                                                        <batch_id>171117104025321</batch_id>
                                                                    </enquiry>
                                                                    

التنسيق الناتج: سيكون تنسيق XML الناتج كما يلي:


                                                                    <?xml version="1.0" encoding="UTF-8"?>
                                                                    <result>
                                                                        <batch_id>171117172801751</batch_id>
                                                                        <report>
                                                                            <messageid>521452541</messageid>
                                                                            <msisdn>961231211</msisdn>
                                                                            <dlrstatus>DELIVRD</dlrstatus>
                                                                            <status>000</status>
                                                                        </report>
                                                                        <report>
                                                                            <messageid></messageid>
                                                                            <msisdn>961231212</msisdn>
                                                                            <dlrstatus></dlrstatus>
                                                                            <status>006</status>
                                                                        </report>
                                                                    </result>
                                                                

6-رمز الحالة

جدول رمز الحالة

يصف هذا القسم رمز الحالة الذي تم إرجاعه أثناء استخدام واجهة برمجة التطبيقات

Your Cart