تمامي كالاها و خدمات اين فروشگاه، حسب مورد داراي مجوزهاي لازم از مراجع مربوطه مي‌باشند و فعاليت‌هاي اين سايت تابع قوانين و مقررات جمهوري اسلامي ايران است.

مقدمه

 

این مستند بعنوان راهنمای استفاده از سرویس وب پیام کوتاه داده نما می باشد و مخاطب آن برنامه نویسانی هستند که آشنا به مفاهیم تکنولوژی SOAP بوده و نحوه ایجاد یک SOAP Client را با زبانی که مسلط به آن هستند بدانند. البته مثالهای کاربردی با زبان PHP در انتهای مستند ارائه شده است. داده نما خود را موظف به ارائه صحیح سرویس وب می داند و هیچ تعهدی برای نصب، پیکربندی و راه اندازی SOAP Client بر روی سرویس دهنده های دیگر ندارد و در صورت نیاز مشتری طبق قرارداد جداگانه قابل انجام است.

نحوه عضویت

جهت استفاده از این سرویس وب ابتدا باید درخواست خود را از طریق صفحه مربوطه در وب سایت داده نما تنظیم و ارسال کنید. بر اساس درخواست شما یک یا چند شماره به حساب شما تخصیص داده می شود که از میان آنها یکی بصورت شماره پیش فرض (Default) انتخاب می شود. با استفاده از شناسه کاربری و رمز عبوری که در فرم ثبت نام وارد می کنید، پس از شارژ اعتبار و فعالسازی حساب شما توسط مدیر سیستم، اجازه استفاده از سرویس وب را خواهید داشت که در ادامه به معرفی متدهای سرویس وب، پارامترهای ورودی و خروجی آنها، کدهای خطا و کدهای وضعیت پیام کوتاه می پردازیم.

تعاریف

کد پیگیری پیام کوتاه

برای هر پیام کوتاه که ارسال می کنید، یک کد پیگیری منحصر به فرد باز گردانده می شود که بوسیله آن می توانید از وضعیت تحویل (Delivery) پیام کوتاه اطلاع کسب کنید. در سرویس وب پیام کوتاه داده نما، این کد عددی بالای 1000 است.

کد پیغام خطا

در صورت بروز خطا مثلا عدم دسترسی به بانک اطلاعاتی، سوئیچ مخابرات و یا بروز خطا در اعتبارسنجی پارامترهای ارسال شده در فراخوانی عملیاتهای سرویس وب، یک آبجکت SoapFault بازگردانده می شود که دو خصیصه (Property) آن به نام faultcode و faultstring آن دارای مقدار است که به ترتیب کد خطا (برای نمایش خطاهای سفارشی شده توسط برنامه نویس) و دیگری توضیح قابل فهم خطا می باشد که در جدول یک شرح آنها آمده است. در حال حاضر کد خطا عددی بین 1 تا 20 است.

کد وضعیت تحویل پیام کوتاه

این کد وضعیت تحویل (Delivery) پیام کوتاه را در لحظه درخواست مشخص می کند که شرح آنها در جدول دو آمده است.

آدرس انتقال ترافیک (Traffic Relay)

وقتی پیام کوتاهی به هر یک از شماره های تخصیص یافته شما ارسال می شود، پس از تایید صحت شماره، اطلاعات پیام کوتاه که شامل شماره فرستنده، متن پیام، شماره شما و کد امنیتی می باشد به آدرس اینترنتی (URL) که مشخص کرده اید بصورت POST ارسال می شود. جهت اطمینان از اینکه درخواست از طرف سرویس دهنده داده نما ارسال شده می توانید از کد امنیتی همراه پیام استفاده کنید. بدین صورت که با فراخوانی عملیات verifyReceive از سرویس وب و ارسال کد امنیتی یک پاسخ از نوع منطقی (Boolean) دریافت می کنید که True به معنای صحت پیام و False به معنای عدم صحت پیام است. البته موارد دیگری نیز جهت اطمینان از صحت پیام وجود دارد که با بررسی بیشتر نوع درخواست ارسالی توسط سرویس دهنده داده نما قابل پیاده سازی توسط برنامه نویس می باشد.

آدرس سرویس وب

با مراجعه به آدرس http://www.dadenama.ir/webservice شرح مختصری در مورد عملیات پشتیبانی شده توسط سرویس وب پیام کوتاه داده نما و نوع پارامترهای ورودی و خروجی آنها مشاهده می کنید.

آدرس WSDL سرویس وب پیام کوتاه داده نما: http://sms.dadenama.ir/webservice/?WSDL

 

جهت ASP .NET :

آدرس WSDL سرویس وب پیام کوتاه داده نما: http://sms.dadenama.ir/webservice/v1/?WSDL

عملیاتها و پارامترها

متد send

جهت ارسال یک پیام کوتاه از این متد استفاده می شود. در جدول زیر پارامترهای ورودی این متد آورده شده است. مقدار بازگشتی این متد "کد پیگیری پیام کوتاه" می باشد که از نوع عدد صحیح و بزرگتر مساوی 1000 است. در صورت بروز هر گونه خطایی یک Fault بازگشت داده می شود که در بخش تعاریف به توضیح آن پرداختیم.

 

ورودی
نام پارامترنوع پارامتراجباری/اختیاریتوضیح
to String اجباری شماره گیرنده پیام کوتاه (مثال 09121111111)
msg String اجباری متن پیام کوتاه (رشته کاراکتری با طول حداکثر 160 کاراکتر برای حروف لاتین و حداکثر 70 کاراکتر برای حروف فارسی)
from String اختیاری شماره فرستنده پیام کوتاه (در صورت خالی گذاشتن این پارامتر پیام کوتاه از شماره پیش فرض حساب ارسال می شود)
time Int اختیاری زمان بر حسب Unix Timestamp به وقت UTC (در صورتی که بخواهید پیام کوتاه در آینده ارسال شود)
خروجی
نوع پارامترتوضیح
Int کد پیگیری وضعیت تحویل پیام کوتاه

 

 

 

متد deliveryStatus

جهت بررسی وضعیت تحویل یک پیام کوتاه از این متد استفاده می شود. تنها ورودی آن "کد پیگیری پیام کوتاه" است. مقدار بازگشتی این متد "کد وضعیت تحویل پیام کوتاه" می باشد که از نوع عدد صحیح بوده و شرح هر یک در جدول 2 آمده است.

 


ورودی
نام پارامترنوع پارامتراجباری/اختیاریتوضیح
messageIdentifier Int اجباری کد پیگیری پیام کوتاه
خروجی
نوع پارامترتوضیح
Int کد وضعیت تحویل پیام کوتاه

 

متد verifyReceive

جهت بررسی صحت پیام کوتاه دریافتی از سرویس دهنده داده نما از این متد استفاده می شود. تنها ورودی آن "کد امنیتی پیام کوتاه" است که همراه با سایر اطلاعات پیام کوتاه به آدرس اینترنتی انتقال ترافیک شما ارسال می شود. مقدار بازگشتی این متد نوع Boolean می باشد که True به معنای صحت پیام دریافتی و False به معنای عدم صحت پیام دریافتی است.

 

ورودی
نام پارامترنوع پارامتراجباری/اختیاریتوضیح
securityCode String اجباری کد امنیتی پیام کوتاه
خروجی
نوع پارامترتوضیح
Boolean مقدار True صحت پیام دریافتی و مقدار False عدم صحت پیام دریافتی است

 

متد accountInfo

برای دریافت اطلاعات حساب در داده نما از این متد استفاده می شود. این متد هیچ ورودی ندارد. خروجی آن یک آبجکت است که شرح خصیصه های (Property) آن در جدول زیر آمده است.

 

خروجی
نام خصیصهنوع خصیصهتوضیح
numbers Array of String آرایه ای از رشته کاراکترها که شماره های اختصاص یافته به حساب است
receiveUrl String آدرس انتقال ترافیک جهت ارسال پیام کوتاه های ارسالی به شماره (های) اختصاص یافته
sent Int تعداد کل پیام کوتاه های ارسالی
received Int تعداد کل پیام کوتاه های دریافتی
total Int تعداد اعتبار پیام کوتاه اختصاص یافته
remaining Int تعداد اعتبار باقیمانده

متد changePassword

برای تغییر رمز عبور حساب از این متد استفاده می شود. ورودی آن رمز عبور جدید است و در صورت انجام صحیح عملیات هیچ خروجی تولید نمی شود. در صورت بروز هر گونه خطایی یک Fault بازگشت داده می شود و عملیات انجام نمی پذیرد.

 

ورودی
نام پارامترنوع پارامتراجباری/اختیاریتوضیح
newPassword String اجباری رمزعبور جدید



 

متد changeTrafficRelay

برای تغییر آدرس اینترنتی انتقال ترافیک از این متد استفاده می شود. ورودی آن URL جدید است که باید بصورت کامل وارد شود نظیر (http://example.com/smsreceiver.php) و در صورت انجام صحیح عملیات هیچ خروجی تولید نمی شود. در صورت بروز هر گونه خطایی یک Fault بازگشت داده می شود و عملیات انجام نمی پذیرد.

 

ورودی
نام پارامترنوع پارامتراجباری/اختیاریتوضیح
newURL String اجباری آدرس انتقال ترافیک جدید

 

 

جدول 1 - شرح کدهای خطا

 

کد خطاتوضیح خطا
1 نام کاربری یا رمز عبور صحیح نیست
2 اعتبار حساب کافی نیست
3 حساب کاربر فعال نیست
4 شماره گیرنده خالی است
5 شماره گیرنده معتبر نیست
6 شماره فرستنده معتبر نیست
7 هیچ شماره ای به حساب شما اختصاص نیافته است
8 متن پیام خالی است
9 متن پیام طولانی است
10 خطا در سرویس دهنده
11 خطا در برقراری ارتباط با سوئیچ مخابرات
12 شناسه پیام نامعتبر است
13 آدرس انتقال ترافیک معتبر نیست
14 رمز عبور خالی است
15 شما حق دسترسی به این ماژول را ندارید
16 این ماژول در حال حاضر قابل استفاده نیست
17 این ماژول برای شما غیرفعال شده است
18 مهلت استفاده از این ماژول خاتمه یافته است
19 مهلت استفاده از این شماره خاتمه یافته است
20 این شماره برای شما غیرفعال شده است

 

جدول 2 - شرح کدهای وضعیت تحویل پیام کوتاه

 

کدتوضیح
0 ارسال شده به مخابرات
1 رسیده به گوشی
2 نرسیده به گوشی
4 در صف ارسال
8 رسیده به مخابرات
16 نرسیده به مخابرات

جهت استفاده با ASP :

ابتدا باید وب سرویس را از بخش References , Add Service References به برنامه خود اضافه کنید. بعد از آن با دستور using کلاس های وب سرویس را وارد برنامه خود کرده و بعد از می توانید از کد های وب سرویس استفاده کنید.

 

private void button1_Click(object sender, EventArgs e) { string user, pass; user = Usertxt.Text; pass = passtxt.Text; form2.user = user; int a = sms.send(user, pass, "09125957537", "test "+'\n'+"test", "10004821625634", 0); } بعد از اضافه کردن وب سرویس به references ها می توانید تمام توابع آن را ببینید . اما ص.رت توابع مانند زیر است: • int send( string , string , string , string , string , int ) Send one SMS. • int[] sendToMany( string , string , string[] , string , string , int ) Send one SMS to many. • int[] sendToAl

 

آدرس وب سرویس ویندوزی: http://sms.dadenama.ir/webservice/v1/?WSDL

 

 

نمونه کدها

در صورتی که از php5 استفاده می کنید به راحتی با فعالسازی افزودنی (Extension) به نام SOAP و استفاده از کلاس SoapClient سرویس وب پیام کوتاه داده نما را مصرف کنید.

نحوه ارسال یک پیام کوتاه، بررسی وضعیت تحویل پیام کوتاه و مشاهده اطلاعات حساب:

 

$options = array(
'login' => 'yourusername',
'password' => 'yourpassword'
);
$client = new SoapClient('http://sms.dadenama.ir/webservice/?WSDL', $options);
try
{
	$messageId = $client->send('09121111111', 'تست پیام کوتاه!');
	sleep(3);
	print ($client->deliveryStatus($messageId));
	var_dump($client->accountInfo());
}
catch (SoapFault $sf)
{
	print $sf->faultcode."\n";
	print $sf->faultstring."\n";
}

خدمات میزبانی

هاست لینوکس

هاست ویندوز

آموزش های هاست لینوکس

آموزش های هاست ویندوز

خدمات دامین

لیست تعرفه دامین

جستجوی دامین

آموزش های مربوط به دامین جهانی

آموزش های مربوط به دامین ایرانی

.: کلیه حقوق وب سایت داده نما محفوظ می باشد :.

All Rights Reserved © 2010-2016