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

 

آدرس WSDL سرویس وب خرید ایران مارکت سنتر : http://panel.iranmc.com/webservice/ShoppingService.php?wsdl

 

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

 


 متد GetSendPrice

جهت دریافت هزینه پستی از این متد استفاده می شود. در جدول زیر پارامترهای ورودی این متد آورده شده است. مقدار بازگشتی این متد "هزینه ارسال" می باشد.

 

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

 

نام پارامتر نوع پارامتر توضیح
ProductSumPrice* Int این پارامتر حاوی مجموع قیمت کالا ها می باشد
ProductSumWeight* Int این پارامتر حاوی مجموع وزن کالا ها می باشد
ProvinceID* Int این پارامتر حاوی شناسه استان مقصد می باشد(مطابق دستورالعمل)
CityID* Int این پارامتر حاوی شناسه شهر مقصد می باشد(مطابق دستورالعمل)
SendType* Int عددی که نوع ارسال را مشخص می کند

0 : پیشتاز

1 : سفارشی

2 : پیک موتوری

PayType Int عددی که روش پرداخت را مشخص می کند

(پیش فرض 1)

1 : پرداخت در محل

2 : پرداخت آنلاین

3 : پرداخت اعتباری

 

خروجی

 

نوع توضیح
Int هزینه ارسال

متد RegisterOrder

جهت ثبت سفارش از این متد استفاده می شود. در جدول زیر پارامترهای ورودی این متد آورده شده است. مقدار بازگشتی این متد "کد رهگیری سفارش" می باشد.

 

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

 

نام پارامتر نوع پارامتر توضیح
FirstName* String نام خریدار
LastName* String نام خانوادگی خریدار
Phone* String تلفن ثابت خریدار
Mobile* String تلفن همراه خریدار
Email String ایمیل خریدار
ZipCode String کد پستی خریدار
ProvinceID* Int شناسه استان (طبق دستورالعمل)
CityID* Int شناسه شهر (طبق دستور العمل)
Address* String آدرس خریدار
Comment String توضیحات خریدار
IP String آی پی خریدار

(پیش فرض آی پی سروری که فروشگاه روی آن فعال است ، ثبت می شود)

Orders* String لیست سفارشات (طبق دستور العمل)
SendType Int عددی که نوع ارسال را مشخص می کند

0 : پیشتاز

1: سفارشی

2: پیک موتوری

(پیش فرض 0)

PayType Int عددی که روش پرداخت را مشخص می کند

1 : پرداخت در محل

2 : پرداخت آنلاین

3 : پرداخت اعتباری

(پیش فرض 1)

Discount Int تخفیف

0 : تخفیف اعمال نشود

1: تخفیف اعمال شود

(پیش فرض 0)

(تنظیمات تخفیف داخل پنل)

 

خروجی

 

نوع توضیح
String کد رهگیری سفارش

پرداخت آنلاین

در صورتی که روش پرداخت به صورت آنلاین بود ، پارمتر های FactorKey و CallbackURL از طریق متد POST و یا GET به آدرس زیر ارسال گردد.

http://panel.iranmc.com/webservice/payment.php

توضیح :

FactorKey کد رهگیری سفارش

CallbackURL آدرس بازگشت به فروشگاه بعد از پرداخت آنلاین


بعد از انجام عملیات بانکی پارامترهای زیر از طریق متد POST به آدرس CallbackURL فروشگاه ارسال می گردد.
نام پارامتر توضیح
Success در صورتی پرداخت موفق باشد 1 و در غیر اینصورت 0 می باشد.
Message پیام پرداخت موفق و یا ناموفق به صورت فارسی
ReferenceID کد پیگیری بانک
FactorKey کد رهگیری سفارش

در صورت ناموفق بودن پرداخت ، این مرحله را میتوان مجدد تکرار کرد.



پرداخت اعتباری

در پرداخت اعتباری هزینه ارسال از حساب فروشگاه کسر میگردد و مسئولیت دریافت مبلغ سفارش و هزینه ارسال به عهده فروشگاه می باشد.




متد GetStatus

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

 

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

 

نام پارامتر نوع پارامتر توضیح
FactorKey* String شناسه سفارش مورد نظر

 

خروجی

 

نوع توضیح
int وضعیت سفارش
0 - معلق
1 - آماده به ارسال
2 - ارسال شده
3 - توزیع شده
4 - وصول شده
5 - برگشتی
6 - انصرافی

متد GetMultiStatus

جهت دریافت وضعیت چندین سفارش از این متد استفاده می شود. در جدول زیر پارامترهای ورودی این متد آورده شده است. مقدار بازگشتی این متد رشته ای شامل شناسه سفارشات و وضعیت آنها می باشد. (حداکثر تعداد شناسه در هر تقاضا 100 عدد می باشد)

 

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

 

نام پارامتر نوع پارامتر توضیح
FactorKeyList* String شناسه سفارشات مورد نظر

factor1^factor2^factor3^...

 

خروجی

 

نوع توضیح
String رشته ای به صورت زیر

factor1,state1^factor2,state2^...

وضعیت سفارش (state)
0 - معلق
1 - آماده به ارسال
2 - ارسال شده
3 - توزیع شده
4 - وصول شده
5 - برگشتی
6 - انصرافی


متد TotalOrders

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

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

 

نام پارامتر نوع پارامتر توضیح
Status* Int عدد وضعیت مورد نظر

وضعیت سفارش (Status)
0 - معلق
1 - آماده به ارسال
2 - ارسال شده
3 - توزیع شده
4 - وصول شده
5 - برگشتی
6 - انصرافی

 

خروجی

 

نوع توضیح
Int تعداد سفارش

متد ChangeStatusOrder

 

نام پارامتر نوع پارامتر توضیح
FactorKey* String شناسه سفارش مورد نظر
Status* Int وضعیت سفارش
0 - معلق
1 - آماده به ارسال
6 - انصرافی
Disproof String دلیل انصراف (در صورتی که در حالت 6 - انصرافی باشد)

 

خروجی

 

نوع توضیح
String وضعیت سفارش
در صورتی که سفارش در حالت آماده به ارسال باشد رشته خروجی به شکل زیر خواهد بود
Status^PostTracking^SendPrice^TaxSendPrice^TotalPrice

Status -> وضعیت سفارش
PostTracking -> کد پیگیری شرکت پست
SendPrice -> هزینه ارسال
TaxSendPrice -> مالیات هزینه ارسال
TotalPrice -> قیمت کل فاکتور

در غیر اینصورت فقط وضعیت سفارش را نشان خواهد داد.
Status

شناسه استان و شناسه شهر

 

شما باید شناسه استان و شناسه شهری را که کالا باید به آنجا تحویل داده شود را برای ما به عنوان پارامتر ارسال نمایید

برای این کار کافیست شما از کد جاوا اسکریپتی که در اختیار شما قرار می گیرد استفاده نمایید .

این کد در آدرس زیر قرار دارد :

http://panel.iranmc.com/CitiesList.js

نمونه ای از استفاده از این فایل را در زیر می بینید :


استان :      شهر : 

 

[ دانلود نمونه کد ]

 

 

لیست سفارشات

 

لیست سفارشات ، لیست کالاهایی است که توسط مشتری ای که شما مشخصات آن را برای ما ارسال نمودید ، خریداری شده است

  • مشخصات هر کالا از دیگری با استفاده از ; (سمی کالن) جدا می گردد
  • اطلاعات ارسالی برای هر کالا عبارتند از : شناسه کالا ، نام کالا ، قیمت کالا ، وزن کالا و تعداد کالا که با استفاده از علامت ^ از هم جدا گردیده اند

id^name^price^weight^count;

 


خطاها

 

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

 

کد خطا توضیح خطا
1 نام کاربری یا رمز عبور صحیح نیست
2 اشتباه در ارسال محصولات(استفاده از ; بعد در توضیحات محصول الزامی است)
3 اشتباه در شناسه شهر و استان
4 وارد کردن نام و نام خانوادگی و آدرس الزامی است
5 حداقل یک شماره تلفن قید شود
6 مشخصات کالا صحیح نیست
7 نوع ارسال بدرستی انتخاب نشده است
8 شناسه سفارش معتبر نیست
9 روش پرداخت بدرستی انتخاب نشده است
10 پرداخت آنلاین برای فروشگاه فعال نمی باشد.

نمونه کد (php)

PHP Sample Code :


  $option=array('login'=> "PanelUsername",'password'=> "WebServicePassword");
  $client = new SoapClient("http://panel.iranmc.com/webservice/ShoppingService.php?wsdl",$option);
  try{
        $response = $client->GetSendPrice(30000,200,21,1,0,1);
        $response = $client->RegisterOrder( "man" , "human" , "02111111111" , "09121111111" , "imc@example.com" , "1111111111" , 21 , 1 , "tehran" , "hello" , '255.255.255.255' , "49^Windows Vista Home Edition^25000^100^1" , 0 , 1 , 0 );
        echo $response;
  }
  catch (SoapFault $sf){
        echo $sf->faultcode."\n";
        echo $sf->faultstring."\n";
  }


  نمونه کد ارسال پارامتر برای سفارشات پرداخت آنلاین

  $FactorKey = '14/1111-1111-111111-111111';
  $CallbackURL = urlencode('http://www.mysite.com/callback.php');
  header("Location: http://panel.iranmc.com/webservice/payment.php?FactorKey=$FactorKey&CallbackURL=$CallbackURL");


  ایجاد لینک چاپ فاکتور

  $Username = "PanelUsername";
  $WebServicePassword = "WebServicePassword";
  $FactorKey = '14/1111-1111-111111-111111';
  $Token = md5($FactorKey.$Username.$WebServicePassword);
  echo "http://panel.iranmc.com/webservice/post_factor.php?FactorKey=$FactorKey&Token=$Token";