
برای اتصال به وب سرویس اداره پست باید یوزر و پسورد رو از اداره پست دریافت کرده باشید و پنلتون فعال باشه .
برای اتصال از قطعه کد زیر می تونید استفاده کنید :
$username = 'your_username'; $password = 'your_password'; //Create a web service proxy using SoapClient $client = new SoapClient('http://svc.ebazaar-post.ir/EshopService.svc?WSDL'); $client->soap_defencoding = 'UTF-8'; $client->decode_utf8 = false;
کد استان های مورد استفاده در وب سرویس اداره پست به صورت آرایه :
$state_code=array( //البرز 'ABZ' => '31', //اردبیل 'ADL' => '15', //آذربایجان شرقی 'EAZ' => '3', //آذربایجان غربی 'WAZ' => '16', //بوشهر 'BHR' => '21', //چهارمحال و بختیاری 'CHB' => '21', //فارس 'FRS' => '5', //گیلان 'GIL' => '2', //گلستان 'GLS' => '14', //همدان 'HDN' => '17', //هرمزگان 'HRZ' => '23', //ایلام 'ILM' => '27', // اصفهان 'ESF' => '6', // کرمان 'KRN' => '22', //کرمانشاه 'KRH' => '19', //خراسان شمالی 'NKH' => '29', //خراسان رضوی 'RKH' => '7', //خراسان جنوبی 'SKH' => '30', //خوزستان 'KHZ' => '4', //کهگیلویه و بویراحمد 'KBD' => '28', //کردستان 'KRD' => '18', //لرستان 'LRS' => '20', //مرکزی 'MKZ' => '11', //مازندران 'MZN' => '13', //قزوین 'GZN' => '8', //قم 'QHM' => '10', //سمنان 'SMN' => '9', //سیستان و بلوچستان 'SBN' => '26', //تهران 'THR' => '1', //یزد 'YZD' => '25', //زنجان 'ZJN' => '12', );
در ووکامرس به صورت پیش فرض برای استان و شهرهای ایران کدی درج و ذخیره نمیشه . اما میشه بر اساس نام اختصاصی کوتاه هر استان یک آرایه نوشت و کد اون استان رو به دست اورد .
// کد استان رو پیدا می کنیم $statecode=$state_code[$order_shipping_state]; // شهرهای اون استان رو به همراه کد شهرها از وب سرویس اداره پست دریافت می کنیم $cities=$client->GetCities(['username' => $username,'password'=>$password,'stateId'=>$statecode]); // کد شهر سفارش رو با کد شهر دریافتی از وب سرویس مطابقت میدیم تا کد شهر مورد نظر خودمون رو به دست بیاریم $citiy_name=$order_shipping_city; $city_code = null; foreach($cities as $data=>$struct) { foreach($struct as $data=>$value) { foreach($value as $data2) { //print_r($data2); if ( $citiy_name == $data2->Name) { $city_code= $data2->Code; // echo $city_code; break; } } } }
در مرحله بعد با استفاده از کد استان، تمام شهرهای اون استان از وب سرویس اداره پست فراخوانی میشه و با نام شهر انتخاب شده به صورت یک حلقه مقایسه میشه و در صورت برقرار این شرط، کد شهر در یک متغیر ذخیره میشه تا مجدد برای ثبت مرسوله برای وب سرویس اداره پست استفاده بشه.
چنانچه قصد راه اندازی سرویس اداره پست را دارید و یا اینکه در راه اندازی این وب سرویس به مشکلی بر خوردید می تونید از طریق واتساپ و یا تلگرام و یا صفحه تماس با ما پیام ارسال کنید تا در اسرع وقت با شما تماس بگیرم و مواردی که نیاز هست انجام بشه رو براتون انجام بدم