راهنمای پیاده سازی LINK Mobility REST API SMS
LINK Mobility خدماتی را برای تحویل پیام، پرداخت های خرد و خدمات مبتنی بر مکان ارائه می دهد. این پلتفرم به عنوان یک گیرنده محتوای شفاف و دارای برچسب سفید و روتر تراکنش بین ارائه دهندگان خدمات و اپراتورها عمل می کند.
LINK Mobility یک API RESTful ارائه می دهد که می تواند برای دسترسی به خدمات LINK Mobility مانند ارسال پیام کوتاه استفاده شود. این API به گونه ای طراحی شده است که استفاده از آن آسان باشد و با تمامی زبان ها و فریم ورک های مدرن سازگار باشد. با استفاده از زبان انتخابی برنامه شما میتواند از Link Mobility REST API برای پیادهسازی قابلیتهای پیام رسانی و پرداخت قدرتمند استفاده کند.
© LINK Mobility، 10 مارس 2021
اطلاعات حقوقی
اطلاعات ارائه شده در این سند تنها متعلق به Netsize و حق چاپ است. محرمانه است و برای استفاده کاملاً اطلاعاتی در نظر گرفته شده است. الزام آور نیست و ممکن است بدون اطلاع قبلی تغییر کند. هرگونه افشای یا استفاده غیرمجاز غیرقانونی تلقی خواهد شد.
Netsize™ و linkmobility™ توسط قوانین مالکیت معنوی فرانسه، EEC و بین المللی محافظت می شوند.
سایر علائم تجاری ذکر شده تنها متعلق به صاحبان مربوطه است.
هیچ چیز در اینجا نباید به عنوان اعطای مجوز یا حقی تحت اختراع، حق چاپ یا علامت تجاری Netsize تفسیر شود.
NETSIZE
Société anonyme au capital de 5 478 070 euro
Siège social: 62، خیابان Emile Zola92100 Boulogne – فرانسه
418 712 477 RCS Nanterre
http://www.LinkMobility.com
http://www.linkmobility.com
محدوده سند
این سند نحوه استفاده ارائه دهنده خدمات از LINK Mobility REST API را برای پیامک توضیح می دهد. برای معماران فنی و طراحانی در نظر گرفته شده است که خدمات ارائه دهنده خدمات را اجرا می کنند.
1. استفاده اولیه
ارسال پیامک بسیار آسان است. شما یک درخواست HTTP را به LINK Mobility ارسال می کنید که فقط با استفاده از یک می توان آن را انجام داد web مرورگر.
2. عملکرد بیش ازview
سیستم LINK Mobility عملکرد اساسی زیر را برای پیام های SMS ارائه می دهد:
ارسال پیامک های پایان یافته از طریق تلفن همراه (MT) مانند پیام های متنی یا باینری (به عنوان مثال WAP Push) با نرخ استاندارد و حق بیمه.
دریافت گزارش های تحویل برای پیام های MT ارسال شده.
دریافت پیامهای SMS مبدا تلفن همراه (MO)، حق بیمه و نرخ استاندارد.
SMS REST API برای ارسال پیامهای SMS با نرخ استاندارد MT اختصاص داده شده است.
API همه پیامهای SMS را بهصورت ناهمزمان ارسال میکند و ویژگیهایی مانند:
"Fire-and-Forget" - ارائه دهنده خدمات می خواهد زمان پاسخگویی قابل پیش بینی بیشتری داشته باشد و نمی خواهد منتظر نتیجه اپراتور باشد.
عملکرد مجدد را امتحان کنید - اگر اپراتور مشکلات موقتی داشته باشد، LINK Mobility پیام را دوباره ارسال می کند.
2.1 ارسال پیامک
ارائه دهنده خدمات Netsize Consumer
- ارسال پیام MT
- شناسه پیام برگشت
- ارسال پیامک
- ارائه گزارش تحویل
- ارسال گزارش تحویل
جریان اصلی برای ارسال پیامک به شرح زیر است:
ارائه دهنده خدمات درخواستی برای ارسال پیامک به گیرنده از طریق سیستم LINK Mobility می کند.
شناسه پیام به ارائه دهنده خدمات بازگردانده می شود. از این شناسه می توان برای مثال ارتباط پیام با گزارش تحویل صحیح استفاده کرد.
LINK Mobility مسیریابی را مدیریت می کند و پیام اس ام اس را به مصرف کننده مورد نظر تحویل می دهد.
یک گزارش تحویل فعال می شود، به عنوان مثال زمانی که پیام SMS به دستگاه مصرف کننده تحویل داده می شود.
گزارش تحویل به ارائه دهنده خدمات ارسال می شود. گزارش حاوی همان شناسه پیامی است که در مرحله 2 برگردانده شده است.
جریان جایگزین: درخواست نامعتبر است
اگر پارامترهای ارائه شده یا اعتبار کاربر در درخواست نامعتبر باشد، خطایی به ارائه دهنده خدمات برگردانده می شود. خطا دلیل رد را نشان می دهد و جریان به پایان می رسد. هیچ شناسه پیامی برگردانده نمی شود.
3. نقطه پایانی
منبع پیامک با استفاده از مسیر زیر قابل دسترسی است:
/restapi/v1/sms
Example URL
https://europe.ipx.com/restapi/v1/sms
برای امنیت اتصال، API LINK Mobility REST فقط از طریق HTTPS قابل دسترسی است.
گواهی سرور Link Mobility توسط Thawte Server CA امضا شده است.
4. عملیات
سرویس پیامک عملیات زیر را ارائه می دهد:
نام | مسیر |
ارسال کنید | /restapi/v1/sms/send |
4.1 ارسال
عملیات ارسال برای ارسال پیامک به یک گیرنده استفاده می شود.
این عملیات هم برای کاربران پایه و هم برای کاربران پیشرفته در نظر گرفته شده است. در ساده ترین حالت، فقط آدرس مقصد و متن پیام برای ارسال پیامک مورد نیاز است. LINK Mobility طرح کدگذاری داده ها را شناسایی می کند و در صورت لزوم، یک پیام را به صورت خودکار به بخش های مختلف پیام متصل می کند.
برای استفاده پیشرفته، ارائهدهنده خدمات میتواند از پارامترهای اختیاری برای کنترل کامل قالببندی پیام از جمله هدر دادههای کاربر استفاده کند.
ارائهدهنده خدمات میتواند پیامهای پیوسته ارسال کند، اما آمادهسازی دادههای کاربر و هدر دادههای کاربر باید توسط ارائهدهنده خدمات انجام شود و پیام باید از طریق درخواستهای ارسال متعدد به LINK Mobility ارسال شود.
5. احراز هویت
نام کاربری و رمز عبور در هر درخواست با استفاده از طرح احراز هویت پایه HTTP ارسال می شود.
https://www.w3.org/Protocols/HTTP/1.0/spec.html#BasicAA
اعتبارنامه ها در یک عنوان مجوز در درخواست HTTP ارسال می شوند. مشتری فیلد هدر را همانطور که در اینجا توضیح داده شده است می سازد:
https://en.wikipedia.org/wiki/Basic_access_authentication#Client_side
برای مثالample، اگر نام کاربری john و changeme رمز عبور باشد، سرصفحه Authorization حاصل به صورت زیر است:
مجوز: Basic am9objpjaGFuZ2VtZSA=
به عنوان یک بازگشت، نام کاربری و رمز عبور را می توان به عنوان پارامترهای درخواست ارسال کرد. این فقط برای مشتریانی توصیه می شود که از Basic Auth پشتیبانی نمی کنند.
6. ارسال درخواست
6.1 رشته پرس و جو
پارامترهای درخواست به عنوان یک رشته پرس و جو حاوی جفت نام/مقدار ارسال می شوند. رشته پرس و جو با استفاده از رمزگذاری درصد (URL رمزگذاری).
http://www.w3schools.com/tags/ref_urlencode.asp
برای مثالample، سلام جهان! به صورت Hello+World%21 کدگذاری شده است.
6.2 پارامترهای درخواست اجباری
نام | حداکثر طول | توضیحات |
آدرس مقصد | 40 | MSISDN که پیامک باید به آن ارسال شود و با کد کشور شروع شود. مثالampل: 46123456789. برای برخی بازارها (که باید MSISDN مصرف کننده مبهم باشد) این مقدار همچنین می تواند یک نام مستعار الفبایی باشد که با پیشوند "#" پیشوند شده است. |
پیام متن | 1600 | محتوای پیامک. |
6.3 پارامترهای درخواست اختیاری (برای استفاده پیشرفته)
نام | حداکثر طول | توضیحات |
مبدا آدرس | 16 | آدرس مبدا پیام اس ام اس خروجی. نوع آدرس مبدا توسط پارامتر originatorTON تعریف می شود. حداکثر طول عدد کوتاه 16 است. فرستنده عددی آلفا به الفبای پیشفرض GSM با حداکثر طول 11 کاراکتر محدود شده است. حداکثر طول فرستنده MSISDN 15 است (با استفاده از همان قالب عنصر DestinationAddress). هنگامی که مبدا آدرس و originatingTON توسط سیستم انتخاب می شوند، می توان آن را حذف کرد. این تابع به بازار و پیکربندی وابسته است. رفتار ممکن است با ادغام اپراتور متفاوت باشد. |
مبتکرTON | 1 | نوع شماره آدرس مبدا (TON): 0 – عدد کوتاه 1 - عدد آلفا (حداکثر طول 11) 2 - MSISDN هنگامی که originatingAddress می تواند حذف شود و originatingTON توسط سیستم انتخاب می شود. این تابع به بازار و پیکربندی وابسته است. رفتار ممکن است با ادغام اپراتور متفاوت باشد. |
userDataHeader | 280 | سربرگ دادههای کاربر همراه با دادههای کاربر میتواند تا 140، یعنی 280 در صورت کدگذاری هگزا، هشتتایی داشته باشد. این پارامتر همیشه به صورت هگز کدگذاری می شود. |
DCS | 3 | طرح کدگذاری داده ها رفتار ممکن است با ادغام اپراتور متفاوت باشد. |
PID | 3 | شناسه پروتکل رفتار ممکن است با ادغام اپراتور متفاوت باشد. |
relativeValidityTime | 6 | زمان اعتبار نسبی بر حسب ثانیه (نسبت به زمان ارسال به LINK Mobility). حداکثر مقدار 604800 (7 روز) و پیش فرض 48 ساعت است. رفتار ممکن است با ادغام اپراتور متفاوت باشد. |
زمان تحویل | 20 | موقتیamp زمانی که پیام SMS باید تحویل داده شود (زمان تحویل با تاخیر). بخش مربوط به قالب زمان تاریخ را ببینید. |
statusReportFlags | 1 | درخواست ارائه گزارش: 0 - بدون گزارش تحویل (پیشفرض) 1 - گزارش تحویل درخواست شده است 9 - گزارش تحویل سرور درخواست شده (LINK Mobility گزارش را به ارائهدهنده خدمات ارسال نمیکند اما آن را در گزارشها و غیره در دسترس قرار میدهد). |
campaignName | 50 | تراکنش های LINK Mobility هستند tagGed با این نام برای گروه بندی تراکنش ها در گزارش های Link Mobility استفاده می شود. |
maxConcatenatedMessages | 1 | مقداری بین 1 تا 10 که تعیین می کند چند پیام پیوسته مجاز است. پیش فرض 3 است. |
همبستگی شناسه | 100 | شناسه ارائهشده توسط ارائهدهنده خدمات که در گزارش تحویل منعکس میشود. |
نام کاربری | 100 | به عنوان جایگزینی برای احراز هویت پایه HTTP ارائه شده است. |
رمز عبور | 100 | به عنوان جایگزینی برای احراز هویت پایه HTTP ارائه شده است. |
6.4 روش های درخواست HTTP
برای حداکثر قابلیت همکاری، API از هر دو روش درخواست HTTP GET و POST پشتیبانی می کند. هیچ روش HTTP دیگری مجاز نیست.
6.4.1 GET
رشته پرس و جو کدگذاری شده به ضمیمه شده است URL.
دریافت کنید
https://europe.ipx.com/restapi/v1/sms/send?destinationAddress=461234
56789&messageText=Hello+World%21
مجوز: Basic am9objpjaGFuZ2VtZSA=
6.4.2 POST
رشته پرس و جو کدگذاری شده در متن پیام درخواست HTTP ارسال می شود. نوع محتوا برنامه کاربردی است/x-www-form-urlکد گذاری شده است.
ارسال کنید https://europe.ipx.com/restapi/v1/sms/send
میزبان: europe.ipx.com
نوع محتوا: برنامه / x-www-form-urlکدگذاری شده است
مجوز: Basic am9objpjaGFuZ2VtZSA=
طول محتوا: 57
DestinationAddress=46123456789&messageText=Hello+World%21
6.5 تاریخ و زمان
پارامترهای موجود در REST API که تاریخ و زمان را نشان میدهند همیشه در منطقه زمانی UTC (زمان جهانی هماهنگ) هستند. تایمستamps به صورت رشته ای با این فرمت دقیق نمایش داده می شود:
2017-04-25T23:20:50Z
این نشان دهنده 20 دقیقه و 50 ثانیه پس از ساعت 23 25 آوریل 2017 در UTC است.
7. پیام پاسخ
پس از دریافت و تفسیر یک پیام درخواست، API با یک پیام پاسخ HTTP پاسخ می دهد.
7.1 کد وضعیت HTTP
REST API همیشه کد وضعیت HTTP 200 OK را برای درخواست های پردازش شده برمی گرداند. بدنه پیام حاوی یک پارامتر answerCode است که برای تعیین نتیجه دقیق استفاده می شود.
7.2 متن پیام
بدنه پیام شامل JSON است که نتیجه درخواست را توصیف می کند.
http://json.org/
Link Mobility JSON مطابق با Google JSON Style Guide است.
https://google.github.io/styleguide/jsoncstyleguide.xml
7.3 پارامترهای پاسخ
نام | حداکثر طول | توضیحات |
پاسخ کد | 3 | 0 نشان دهنده تراکنش موفق است. |
پاسخ پیام | 255 | توضیحات متنی پاسخ، به عنوان مثال متن خطا. |
زمانamp | 20 | تاریخ و زمانی که LINK Mobility درخواست را پردازش کرد. (به بخش قالب تاریخ/زمان مراجعه کنید). |
traceId | 36 | شناسه داخلی Link Mobility. برای پشتیبانی و عیب یابی استفاده می شود. |
شناسه پیام ها | 10×36 | آرایهای از شناسههای پیام منحصربهفرد LINK Mobility برای هر پیام موفق (در صورت الحاق پیام، شناسههای پیام چندگانه برگردانده میشوند). در صورت شکست حذف می شود. |
7.4 سابقampپاسخ ها
موفقیت
HTTP/1.1 200 OK
نوع محتوا: application/json
طول محتوا: 144
تاریخ: پنجشنبه، 15 سپتامبر 2016، ساعت 13:20:31 به وقت گرینویچ
{“responseCode”:0,”responseMessage”:”موفقیت”،”timeestamp”:”2016-09-15T13:20:31Z”, “traceId”:”f678d30879fd4adc25f2″,”messageIds”:[“1-4850879008”]}
در اینجا همان JSON فرمت شده برای خوانایی است:
{
“پاسخ کد":0،
“پاسخ پیام":"موفقیت"
“زمانamp“:”2016-0915T13:20:31Z”,
“traceId“:”f678d30879fd4adc25f2”,
“شناسه پیام ها“:[“1-4850879008”] }
شکست
HTTP/1.1 200 OK
نوع محتوا: application/json
طول محتوا: 148
تاریخ: پنجشنبه، 15 سپتامبر 2016، ساعت 13:20:31 به وقت گرینویچ
{“responseCode”:1,”responseMessage”:” ورود نامعتبر یا استفاده غیرمجاز API”,”timestamp”:”2016-09-15T13:20:31Z”,”traceId”:”f678d30879fd4adc25f2″}
موفقیت
HTTP/1.1 200 OK
نوع محتوا: application/json
طول محتوا: 144
تاریخ: پنجشنبه، 15 سپتامبر 2016، ساعت 13:20:31 به وقت گرینویچ
{“responseCode”:0,”responseMessage”:”موفقیت”،”timeestamp”:”2016-09-15T13:20:31Z”, “traceId”:”f678d30879fd4adc25f2″,”messageIds”:[“1-4850879008”]}
در اینجا همان JSON فرمت شده برای خوانایی است:
{
“پاسخ کد":0،
“پاسخ پیام":"موفقیت"
“زمانamp“:”2016-0915T13:20:31Z”,
“traceId“:”f678d30879fd4adc25f2”,
“شناسه پیام ها“:[“1-4850879008”] }
شکست
HTTP/1.1 200 OK
نوع محتوا: application/json
طول محتوا: 148
تاریخ: پنجشنبه، 15 سپتامبر 2016، ساعت 13:20:31 به وقت گرینویچ
{“responseCode”:1,”responseMessage”:” ورود نامعتبر یا استفاده غیرمجاز API”,”timestamp”:”2016-09-15T13:20:31Z”,”traceId”:”f678d30879fd4adc25f2″}
7.5 کدهای پاسخ
کدهای پاسخ زیر را می توان در پاسخ ارسال بازگرداند:
کد | متن | توضیحات |
0 | موفقیت | با موفقیت اجرا شد. |
1 | ورود نامعتبر یا استفاده غیرمجاز از API | نام کاربری یا رمز عبور یا ارائه دهنده خدمات نادرست توسط LINK Mobility مسدود شده است. |
2 | مصرف کننده توسط Link Mobility مسدود شده است | مصرف کننده توسط LINK Mobility مسدود شده است. |
3 | عملیات توسط LINK Mobility ارائه نشده است | این عملیات برای ارائه دهنده خدمات مسدود شده است. |
4 | مصرف کننده برای LINK Mobility ناشناخته است | مصرف کننده برای LINK Mobility ناشناخته است. یا اگر در درخواست از نام مستعار استفاده شده باشد. نام مستعار یافت نشد |
5 | مصرف کننده این سرویس را در LINK Mobility مسدود کرده است | مصرف کننده این سرویس را در LINK Mobility مسدود کرده است. |
6 | آدرس اصلی پشتیبانی نمی شود | آدرس اصلی پشتیبانی نمی شود. |
7 | آدرس مبدا آلفا توسط حساب پشتیبانی نمی شود | آدرس مبدا آلفا توسط حساب پشتیبانی نمی شود. |
8 | آدرس مبدا MSISDN پشتیبانی نمی شود | آدرس مبدا MSISDN پشتیبانی نمی شود. |
9 | GSM توسعه یافته پشتیبانی نمی شود | GSM توسعه یافته پشتیبانی نمی شود. |
10 | یونیکد پشتیبانی نمی شود | یونیکد پشتیبانی نمی شود. |
11 | گزارش وضعیت پشتیبانی نمی شود | گزارش وضعیت پشتیبانی نمی شود. |
12 | قابلیت مورد نیاز پشتیبانی نمی شود | قابلیت مورد نیاز (غیر از موارد فوق) برای ارسال پیام پشتیبانی نمی شود. |
13 | از حداکثر نرخ گاز ارائه دهنده محتوا فراتر رفته است | ارائهدهنده خدمات پیامهای SMS را خیلی سریع به LINK Mobility ارسال میکند. |
14 | شناسه پروتکل توسط حساب پشتیبانی نمی شود | شناسه پروتکل پشتیبانی نمی شود. |
15 | از حد الحاق پیام فراتر رفته است | تعداد پیامهای پیوسته از حداکثر تعداد درخواستی بیشتر است. |
16 | مسیریابی پیام ممکن نیست. | LINK Mobility قادر به مسیریابی پیام نبود. |
17 | دوره زمانی ممنوع | در بازه زمانی مجاز به ارسال پیام نیست |
18 | موجودی بسیار کم در حساب ارائه دهنده خدمات | ارائه دهنده خدمات به دلیل موجودی بسیار کم مسدود شده است |
50 | موفقیت جزئی | موفقیت جزئی هنگام ارسال پیامک به چندین گیرنده. |
99 | خطای سرور داخلی | سایر خطاهای Link Mobility، برای اطلاعات بیشتر با پشتیبانی LINK Mobility تماس بگیرید. |
100 | آدرس مقصد نامعتبر است | آدرس مقصد (MSISDN یا نام مستعار) نامعتبر است. |
102 | شناسه ارجاع شده (پیوند شده) نامعتبر است | شناسه مرجع نامعتبر است، شاید شناسه مرجع قبلاً استفاده شده باشد، خیلی قدیمی یا ناشناخته است. |
103 | نام حساب نامعتبر است | نام حساب نامعتبر است. |
105 | داده های متا سرویس نامعتبر است | متای داده سرویس نامعتبر است. |
106 | آدرس مبدأ نامعتبر است | آدرس اصلی نامعتبر است. |
107 | آدرس مبدا الفبایی عددی نامعتبر است | آدرس مبدأ الفبایی نامعتبر است. |
108 | زمان اعتبار نامعتبر است | زمان اعتبار نامعتبر است. |
109 | زمان تحویل نامعتبر است | زمان تحویل نامعتبر است. |
110 | محتوای پیام/اطلاعات کاربر نامعتبر است | اطلاعات کاربر یعنی پیامک نامعتبر است. |
111 | طول پیام نامعتبر است | طول پیامک نامعتبر است. |
112 | عنوان اطلاعات کاربر نامعتبر است | هدر داده های کاربر نامعتبر است. |
113 | طرح کدگذاری داده نامعتبر است | DCS نامعتبر است. |
114 | شناسه پروتکل نامعتبر است | PID نامعتبر است. |
115 | پرچم های گزارش وضعیت نامعتبر است | پرچم های گزارش وضعیت نامعتبر است. |
116 | TON نامعتبر است | TON مبتکر نامعتبر است. |
117 | ج نامعتبر استampنام aign | جampنام aign نامعتبر است. |
120 | محدودیت برای حداکثر تعداد پیامهای پیوسته نامعتبر است | حداکثر تعداد پیامهای پیوسته نامعتبر است. |
121 | آدرس مبدا msisdn نامعتبر است | آدرس مبدا MSISDN نامعتبر است. |
122 | شناسه همبستگی نامعتبر است | شناسه همبستگی نامعتبر است. |
8. ویژگی های اختیاری
8.1 تصحیح MSISDN
تصحیح MSISDN یک ویژگی اختیاری است که در صورت درخواست میتواند توسط پشتیبانی LINK Mobility فعال شود.
این ویژگی آدرس های مقصد را تصحیح کرده و آنها را با فرمت E.164 مورد نیاز تراز می کند. علاوه بر تصحیح قالب، سیستم همچنین ممکن است عملکردهای خاص بازار مانند ترجمه اعداد فرانسوی بینالمللی را برای تصحیح اعداد DOM-TOM (دپارتمانها و مناطق خارج از کشور) در صورت لزوم انجام دهد.
در زیر تعدادی از سابق آمده استampموارد اصلاح:
آدرس مقصد ارسال شده | آدرس مقصد تصحیح شد |
+46(0)702233445 | 46702233445 |
(0046) 72233445 | 46702233445 |
+460702233445 | 46702233445 |
46(0)702233445 | 46702233445 |
46070-2233445 | 46702233445 |
0046702233445 | 46702233445 |
+46(0)702233445aaa | 46702233445 |
336005199999 | 2626005199999 (شماره فرانسوی به شماره DOM-TOM ترجمه شده است) |
علاوه بر این، این امکان وجود دارد که شماره تلفن های ملی را برای یک بازار انتخابی مجاز کنید. وقتی این ویژگی فعال است، هر شماره بینالمللی برای سایر بازارها باید با علامت اولیه «+» ارسال شود تا آنها را از بازار انتخابی متمایز کند.
در زیر چندین نمونه قبلی آورده شده استampاصلاحات انجام شده هنگام استفاده از سوئد (کد کشور 46) به عنوان بازار پیش فرض برای شماره های ملی.
آدرس مقصد ارسال شده | آدرس مقصد تصحیح شد |
0702233445 | 46702233445 |
070-2233 445 | 46702233445 |
070.2233.4455 | 46702233445 |
460702233445 | 46702233445 |
+460702233445 | 46702233445 |
+458022334455 | 458022334455 |
45802233445 | نامعتبر است زیرا علامت "+" وجود ندارد |
توجه داشته باشید که MSISDN اصلاح شده توسط LINK Mobility استفاده می شود و در گزارش های تحویل بازگردانده می شود.
لطفاً برای اطلاعات بیشتر با پشتیبانی LINK Mobility تماس بگیرید.
8.2 جایگزینی کاراکتر
جایگزینی کاراکتر یک ویژگی اختیاری است که در صورت درخواست میتواند توسط پشتیبانی LINK Mobility فعال شود.
هنگامی که DCS روی "GSM" تنظیم شده باشد، این ویژگی نویسه های الفبای غیر GSM در داده های کاربر (متن SMS) را به نویسه های الفبای GSM معادل ترجمه می کند (17). برای مثالample “Seqüência de teste em Português” به “Seqüencia de teste em Portugues” ترجمه خواهد شد.
9. گزارش های تحویل
ارائهدهنده خدمات میتواند، در صورت ارائه، گزارشهای تحویل پیام کوتاه یا اعلانهای تحویل را برای پیامهای MT ارسال شده درخواست کند. این گزارشها زمانی در اپراتور SMSC فعال میشوند که پیام MT یا به مصرفکننده هدف تحویل داده شود یا حذف شود، به عنوان مثال، منقضی شده یا به دلایلی قابل مسیریابی نیست.
فقط وضعیت نهایی پیامک به ارائه دهنده خدمات گزارش می شود، یعنی تحویل یا حذف شده است. فقط یک گزارش در هر پیام MT تولید می شود. با وضعیت حذف شده، ممکن است یک کد دلیل اعمال شود. این کد دلیل دلیل عدم تحویل پیامک را مشخص می کند.
گزارش ها از طریق LINK Mobility هدایت می شوند و با استفاده از پروتکل HTTP به ارائه دهنده خدمات ارسال می شوند.
برای دریافت گزارشها، ارائهدهنده خدمات نیاز به پیادهسازی برای مثال داردampیک Java Servlet یا یک صفحه ASP.NET. هر دو درخواست HTTP GET یا POST را دریافت می کنند.
پارامترها
درخواست شامل پارامترهای زیر است:
پارامتر | تایپ کنید | M/O/I* | مقدار پیش فرض | حداکثر طول | توضیحات |
شناسه پیام | رشته | M | – | 22 | شناسه پیام پیام MT که این گزارش با آن مطابقت دارد. |
آدرس مقصد | رشته | M | – | 40 | MSISDN مصرف کننده، یعنی آدرس مقصد پیام اصلی MT. |
کد وضعیت | عدد صحیح | M | 1 | کد وضعیت وضعیت پیام MT را نشان می دهد. کدهای وضعیت قابل اجرا عبارتند از: 0 - تحویل داده شد 2 - حذف شد (کد دلیل اعمال می شود) |
|
TimeStamp | رشته | M | – | 20 | زمان دریافت گزارش تحویل توسط LINK Mobility را نشان می دهد. منطقه زمانی زمانamp CET یا CEST است (با زمان تابستان همانطور که برای اتحادیه اروپا تعریف شده است). قالب: yyyyMMdd HH:mm:ss. |
اپراتور | رشته | M | – | 100 | نام اپراتور مورد استفاده در هنگام ارسال پیام کوتاه یا نام حساب مورد استفاده در هنگام ارسال پیام کوتاه. لیستی از اپراتورهای موجود توسط پشتیبانی LINK Mobility ارائه شده است. |
ReasonCode | عدد صحیح | O | – | 3 | کد دلیل نشان می دهد که چرا پیام به وضعیت حذف شده ختم شده است. کدهای دلیل قابل اجرا عبارتند از: 100 - منقضی شده است 101 - مردود 102 - خطای فرمت 103- خطای دیگر 110 - مشترک نامشخص است 111 - مشترک ممنوع است 112 - مشترک ارائه نشده است 113 - مشترک در دسترس نیست 120 – خرابی SMSC 121 - ازدحام SMSC 122 – رومینگ SMSC 130 – خطای گوشی 131 - حافظه گوشی بیش از حد است رفتار ممکن است با ادغام اپراتور متفاوت باشد. |
OperatorTimeStamp | رشته | O | – | 20 | زمان نشاندهنده زمان راهاندازی گزارش در SMSC اپراتور (در صورت ارائه توسط اپراتور). منطقه زمانی زمانamp CET یا CEST است (با زمان تابستان همانطور که برای اتحادیه اروپا تعریف شده است). قالب: yyyyMMdd HH:mm:ss. |
StatusText | رشته | O | – | 255 | مکان نگهدار برای اطلاعات اضافی از اپراتور، به عنوان مثال توضیحات متنی واضح وضعیت/دلیل. رفتار ممکن است با ادغام اپراتور متفاوت باشد. |
CorrelationId | رشته | O | – | 100 | شناسه همبستگی ارائه شده در SendRequest یا SendTextRequest. |
OperatorNetwork Code | عدد صحیح | O | – | 6 | کد شبکه تلفن همراه (MCC + MNC) اپراتور. |
* M = اجباری، O = اختیاری، I = نادیده گرفته شده است.
ارائه دهنده خدمات باید LINK Mobility را با هدف ارائه دهد URL برای گزارش های تحویل (به صورت اختیاری شامل اعتبار برای احراز هویت اولیه HTTP). ارائهدهنده خدمات میتواند روش ترجیحی HTTP را برای استفاده انتخاب کند:
HTTP POST (توصیه می شود)
HTTP GET.
Exampبا استفاده از HTTP GET (با موفقیت تحویل شد):
https://user:password@www.serviceprovider.com/receivereport?%20MessageId=122&DestinationAddress=46762050312&Operator=Vodafone&TimeStamp=20100401%2007%3A47%3A44&StatusCode=0
Exampبا استفاده از HTTP GET (تحویل نشد، اپراتور زمان را ارائه کرده استamp برای رویداد):
پارامترها هستند URL کدگذاری
رمزگذاری کاراکتر:
ارائهدهنده خدمات میتواند رمزگذاری نویسه ترجیحی را انتخاب کند:
UTF-8 (توصیه می شود)
ISO-8859-1.
9.1 تأیید ارائه دهنده خدمات
ارائه دهنده خدمات باید هر گزارش تحویل را تایید کند. تصدیق می تواند مثبت باشد، یعنی گزارش تحویل با موفقیت دریافت شده است، یا منفی، یعنی شکست.
لطفاً توجه داشته باشید: LINK Mobility دارای مهلت زمانی خواندن برای تأیید 30 ثانیه برای گزارش های تحویل است. مهلت زمانی باعث تلاش مجدد تحویل (اگر تلاش مجدد فعال باشد) یا لغو تحویل (در صورت غیرفعال شدن تلاش مجدد) می شود. این بدان معنی است که برنامه ارائه دهنده خدمات باید زمان پاسخگویی سریع را به خصوص در زمان بارگذاری بالا تضمین کند.
اکیداً توصیه میشود که گزارش تحویل به LINK Mobility را قبل از پردازش آن تأیید کنید.
قاعده تصدیق مثبت و منفی به شرح زیر است:
تایید مثبت، ACK، گزارش تحویل تحویل شده:
کد پاسخ محدوده HTTP 200 در ترکیب با محتوای قالب بندی شده XML زیر:
تایید منفی، NAK، گزارش تحویل تحویل داده نشد:
هر پاسخی غیر از تأیید مثبت، برای مثالampیک تأیید منفی توسط هر کد خطای HTTP یا محتوای XML زیر ایجاد می شود:
محتوای XML را می توان برای کنترل مکانیسم LINK Mobility تکرار مجدد استفاده کرد. اگر فعال باشد، یک NAK باعث تلاش مجدد می شود. برای ارائهدهندگان خدماتی که برای مکانیسم تلاش مجدد پیکربندی نشدهاند، محتوای XML اختیاری است.
در زیر یک درخواست و پاسخ HTTP POST استampگزارش تحویل تحویل شده به یک ارائه دهنده خدمات:
درخواست HTTP:
POST /context/app HTTP/1.1
نوع محتوا: برنامه / x-www-form-urlencoded;charset=utf-8
میزبان: سرور: پورت
طول محتوا: xx
MessageId=213123213&DestinationAddress=46762050312&Operator=Telia& OperatorTimeStamp=20130607%2010%3A45%3A00&TimeStamp=20130607%2010%3A 45%3A02&StatusCode=0
پاسخ HTTP:
HTTP/1.1 200 OK
نوع محتوا: متن/ساده
9.2 دوباره امتحان کنید
سیستم LINK Mobility میتواند برای تحویلهای گزارش تحویل ناموفق، یعنی تایید نشده، تلاشهای مجدد انجام دهد. ارائهدهنده خدمات میتواند رفتار سعی مجدد ترجیحی را انتخاب کند:
بدون تلاش مجدد (پیشفرض) - اگر تلاش برای اتصال ناموفق باشد، زمان خواندن یا هر کد خطای HTTP، پیام نادیده گرفته میشود.
دوباره امتحان کنید - پیام برای هر نوع مشکل اتصال، مهلت زمانی خواندن، یا تایید منفی دوباره ارسال می شود.
وقتی تلاش مجدد برای NAK فعال است، مهم است که بفهمیم کدام سناریوها باعث ایجاد تلاش مجدد از LINK Mobility میشوند و امتحان مجدد چگونه کار میکند. هر ارائهدهنده خدمات صف امتحان مجدد خود را دارد که در آن پیامها بر اساس زمان ارسال پیام مرتب میشوندamp. تحرک پیوند همیشه سعی میکند ابتدا پیامهای قدیمیتر را تحویل دهد، حتی اگر ترتیب جداگانه پیامهای تحویلشده به ارائهدهنده خدمات تضمین نشده باشد. دلیل اصلی حذف پیام ها از صف امتحان مجدد یکی از دو دلیل است: یا پیام TTL منقضی می شود یا (از لحاظ نظری) صف سعی مجدد پر می شود. TTL وابسته به اپراتور و حساب است، یعنی بسته به اپراتور و یا نوع پیام، به عنوان مثال، پیام کوتاه برتر یا پیام کوتاه نرخ استاندارد، می تواند متفاوت باشد.
ارائهدهندگان خدمات با فعال بودن تلاش مجدد باید شناسه منحصربهفرد پیام MT را بررسی کنند تا مطمئن شوند که پیام قبلاً دریافت نشده است.
برای ارائهدهنده خدمات مهم است که از این قوانین ساده پیروی کند، زمانی که خطایی در طول پردازش گزارش تحویل رخ میدهد، اگر دلیل خطا این باشد: موقت، به عنوان مثال پایگاه داده در دسترس نیست، NAK باید برگردانده شود. LINK Mobility پیام را دوباره ارسال خواهد کرد.
تلاش دائمی و تلاش مجدد احتمالاً همین نوع مشکل را ایجاد می کند، ACK باید برگردانده شود. برای مثالample، زمانی که پیام به درستی تجزیه نمی شود یا باعث خطای زمان اجرا غیرمنتظره می شود.
اقدام بر این اساس تضمین می کند که به دلیل ارسال مکرر گزارش تحویل، هیچ انسداد یا کاهش توان عملیاتی ایجاد نمی شود.
10. نکات اجرایی
1. امکان استفاده از شما وجود دارد web مرورگر برای ارسال درخواست به API. این امر کاوش و ارزیابی خدمات را بدون هیچ ابزار توسعه ای بسیار آسان می کند.
2. کروم یا فایرفاکس همراه با افزونه ای مانند JSON توصیه می شودView برای نمایش JSON با فرمت زیبا.
3. ما از SoapUI برای آزمایش POST، احراز هویت اولیه و برای بازرسی درخواست HTTP خام و پیامهای پاسخ استفاده کردهایم.
4. جURL ابزار برای ارسال درخواست های POST با احراز هویت اولیه مفید است. پیشین را ببینیدampدر زیر
curl پست \
-H “Content-Type: application/x-www-form-urlرمزگذاری شده” \
-H "Authorization: Basic am9objpjaGFuZ2VtZSA=" \
https://europe.ipx.com/restapi/v1/sms/send \
–data “destinationAddress=46123456789&messageText=Hello+World%21”
_________________
دگرگونی ارتباطات شخصی
اسناد / منابع
![]() |
راهنمای پیاده سازی LINK Mobility REST API SMS [pdfراهنمای کاربر راهنمای پیاده سازی Mobility REST API SMS, Mobility, راهنمای پیاده سازی REST API SMS, REST API SMS, API SMS, SMS |