با سلام
احتراما، سایت فروشگاهی قاصدک را میخواستم به ایران مارکت سنتر وصل کنم . و درخواست پنل و ... را دادم اما به جای رسیدم که، میگن سایت باید وب سرویس داشته باشه که مطالعه کردم یعنی چی - از طریق پنل راهنمایی خود سایت موارد پیوست شده را دیدم که نمیفهم باید چکار کرد . شما اطلاعاتی دارید ممنون میشم راهنمایی بفرمایید؟
راهنمای استفاده از وب سرویس خرید ایران مارکت سنتر
این مستند بعنوان راهنمای استفاده از سرویس وب خرید اینترنتی ایران مارکت سنتر می باشد و مخاطب آن برنامه نویسانی هستند که آشنا به مفاهیم تکنولوژی SOAP بوده و نحوه ایجاد یک SOAP Client را با زبانی که مسلط به آن هستند بدانند. البته مثالهای کاربردی با زبان PHP و Asp.net در ادامه ارائه شده است. ایران مارکت سنتر خود را موظف به ارائه صحیح سرویس وب می داند و هیچ تعهدی برای نصب، پیکربندی و راه اندازی SOAP Client بر روی سرویس دهنده های دیگر ندارد و در صورت نیاز مشتری، طبق قرارداد جداگانه قابل انجام است.
برای مشاهده تغییراتی که با اضافه شدن استان البرز باید در تنظیمات خود اعمال نمایید روی اینجا کلیک کنید
آدرس سرویس وب
آدرس WSDL سرویس وب خرید ایران مارکت سنتر : http://www.imcbasket.com/Webservice/wsdl.php
عملیاتها و پارامترها
متد GetSendPrice
جهت دریافت هزینه پستی از این متد استفاده می شود. در جدول زیر پارامترهای ورودی این متد آورده شده است. مقدار بازگشتی این متد "هزینه ارسال" می باشد.
پارامتر های ورودی
نام پارامتر نوع پارامتر توضیح
ProductSumPrice* String این پارامتر حاوی مجموع قیمت کالا ها می باشد
ProductSumWeight* String این پارامتر حاوی مجموع وزن کالا ها می باشد
OstanId Int این پارامتر حاوی شناسه استان مقصد می باشد(مطابق دستورالعمل)
ShahrId Int این پارامتر حاوی شناسه شهر مقصد می باشد(مطابق دستورالعمل)
SendType* Int عددی که نوع ارسال را مشخص می کند
0 : پیشتاز
1 : سفارشی
2 : پیک موتوری
خروجی
نوع توضیح
String هزینه ارسال
متد RegisterOrder
جهت ثبت سفارش از این متد استفاده می شود. در جدول زیر پارامترهای ورودی این متد آورده شده است. مقدار بازگشتی این متد "کد رهگیری سفارش" می باشد.
پارامتر های ورودی
نام پارامتر نوع پارامتر توضیح
Name* String نام خریدار
LastName * String نام خانوادگی خریدار
Company String نام شرکت خریدار
JobTel * String تلفن محل کار خریدار
HomeTel * String تلفن خانه خریدار
Mobile * String تلفن همراه خریدار
Email String ایمیل خریدار
ZipCode String کد پستی خریدار
Address * String آدرس خریدار
Comment String توضیحات خریدار
OstanId * Int شناسه استان (طبق دستورالعمل)
ShahrId* Int شناسه شهر (طبق دستور العمل)
Orders* String لیست سفارشات (طبق دستور العمل)
SendType* Int عددی که نوع ارسال را مشخص می کند
0 : پیشتاز
1: سفارشی
2 : پیک موتوری
Discount Int تخفیف
0 : تخفیف اعمال نشود
1: تخفیف اعمال شود
(پیش فرض 0)
(تنظیمات تخفیف داخل پنل)
خروجی
نوع توضیح
String کد رهگیری سفارش
متد GetState
جهت دریافت وضعیت سفارش از این متد استفاده می شود. در جدول زیر پارامترهای ورودی این متد آورده شده است. مقدار بازگشتی این متد "عدد وضعیت سفارش" می باشد.
پارامتر های ورودی
نام پارامتر نوع پارامتر توضیح
FactorKey* String شناسه سفارش مورد نظر
خروجی
نوع توضیح
int وضعیت سفارش
0 - معلق
1 - آماده به ارسال
2 - ارسال شده
3 - توزیع شده
4 - وصول شده
5 - برگشتی
6 - انصرافی
متد GetMultiStates
جهت دریافت وضعیت چندین سفارش از این متد استفاده می شود. در جدول زیر پارامترهای ورودی این متد آورده شده است. مقدار بازگشتی این متد رشته ای شامل شناسه سفارشات و وضعیت آنها می باشد. (حداکثر تعداد شناسه در هر تقاضا 100 عدد می باشد)
پارامتر های ورودی
نام پارامتر نوع پارامتر توضیح
FactorKeyStr* String شناسه سفارشات مورد نظر
factor1^factor2^factor3^...
خروجی
نوع توضیح
String رشته ای به صورت زیر
factor1,state1^factor2,state2^...
وضعیت سفارش (state)
0 - معلق
1 - آماده به ارسال
2 - ارسال شده
3 - توزیع شده
4 - وصول شده
5 - برگشتی
6 - انصرافی
متد TotalOrders
با این متد می توانید تعداد سفارشات موجود در یک حالت خاص را دیافت کنید. در جدول زیر پارامترهای ورودی این متد آورده شده است. مقدار بازگشتی این متد تعداد سفارشات می باشد.
پارامتر های ورودی
نام پارامتر نوع پارامتر توضیح
State* Int عدد وضعیت مورد نظر
وضعیت سفارش (state)
0 - معلق
1 - آماده به ارسال
2 - ارسال شده
3 - توزیع شده
4 - وصول شده
5 - برگشتی
6 - انصرافی
خروجی
نوع توضیح
Int تعداد سفارش
شناسه استان و شناسه شهر
شما باید شناسه استان و شناسه شهری را که کالا باید به آنجا تحویل داده شود را برای ما به عنوان پارامتر ارسال نمایید
برای این کار کافیست شما از کد جاوا اسکریپتی که در اختیار شما قرار می گیرد استفاده نمایید .
این کد در آدرس زیر قرار دارد :
(توجه : با توجه به اضافه شدن استان البرز به لیست استانها از این پس از فایل city2.js بجای city.js استفاده کنید و onchange لیست شهر ها را بهonchange='ldMenu(this.value);') تغییر دهید
http://www.imcbasket.com/city2.js
نمونه ای از استفاده از این فایل را در زیر می بینید :
استان : شهر :
لیست سفارشات
لیست سفارشات ، لیست کالاهایی است که توسط مشتری ای که شما مشخصات آن را برای ما ارسال نمودید ، خریداری شده است
• مشخصات هر کالا از دیگری با استفاده از ; (سمی کالن) جدا می گردد
• اطلاعات ارسالی برای هر کالا عبارتند از : شناسه کالا ، نام کالا ، قیمت کالا ، وزن کالا و تعداد کالا که با استفاده از علامت ^ از هم جدا گردیده اند
id^name^price^weight^count;
خطاها
در صورت بروز خطا مثلا عدم دسترسی به بانک اطلاعاتی، و یا بروز خطا در اعتبارسنجی پارامترهای ارسال شده در فراخوانی عملیاتهای سرویس وب، یک آبجکت SoapFault بازگردانده می شود که دو خصیصه (Property) آن به نام faultcode و faultstring آن دارای مقدار است که به ترتیب کد خطا (برای نمایش خطاهای سفارشی شده توسط برنامه نویس) و دیگری توضیح قابل فهم خطا می باشد که در جدول زیر شرح آنها آمده است.
کد خطا توضیح خطا
1 نام کاربری یا رمز عبور صحیح نیست
2 اشتباه در ارسال محصولات(استفاده از ; بعد در توضیحات محصول الزامی است)
3 اشتباه در شناسه شهر و استان
4 وارد کردن نام و نام خانوادگی و آدرس الزامی است
5 حداقل یک شماره تلفن قید شود
6 ایمیل بدرستی وارد نشده است
7 مشخصات کالا صحیح نیست
8 نوع ارسال بدرستی انتخاب نشده است
9 شناسه سفارش معتبر نیست
نمونه کد پی اچ پی
PHP Sample Code :
$option=array('login'=> "PanelUsername",'password'=> "WebServicePassword");
$client = new SoapClient("http://www.imcbasket.com/Webservice/wsdl.php",$option);
try{
$response = $client->GetSendPrice(30000,200,51,8,0);
$response = $client->RegisterOrder( "man" , "human" , "05111234567" , "05117654321" , "1234567" , "123456789" , "human@example.com" ,"56789" , "mashhad" , "hello" ,"41" ,"14" ,"49^Windows Vista Home Edition^25000^100^1" , 0 );
echo $response;
}
catch (SoapFault $sf) {
echo $sf->faultcode."\n";
echo $sf->faultstring."\n";
}
نمونه کد ای اس پی دات نت
Asp.Net Sample Code:
Dim irmc As New info.webimc.www.ShoppingService
irmc.Credentials = New System.Net.NetworkCredential("PanelUsername", "WebServicePassword");
Return irmc.GetSendPrice(30000,200,51,8,0);
Return irmc.RegisterOrder( "man" , "human" , "05111234567" , "05117654321" , "1234567" , "123456789" , "human@example.com" , "56789" , "mashhad" , "hello" ,"41" ,"14" ,"49^Windows Vista Home Edition^25000^100^1" , 0 );