باز کردن درب سفارش
بازکردن درب گنجه برای دو منظور میتواند مورد نیاز باشد:
- جایگذاری سفارش
- برداشتن سفارش مرجوعی
برای این منظور، دو وبسرویس متفاوت تعریف شده است که مشترکات زیادی دارند و در ادامه به آنها میپردازیم.
ریکوئست وبسرویسهای بازکردن درب گنجه
هر دو وبسرویس باید با متد POST و همراه با توکن معتبر فراخوانی شوند. همچنین مقدار body ریکوئست باید مشابه نمونه:
{
"location_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjo5LCJzdGF0aW9uIjoiMDVkZGZmYTEtNTRlYy00YTBmLWE5N2EtYWMxODc5MmNmYTAzIiwidGltZXN0YW1wIjoiMjAyNC0xMS0wOSAxMTo1MDoyMiJ9.N77WBVFc3WbYMDzZT01nEBs7eCC1qpvr9z038OKDxJc",
"external_id": "Test1000",
"user_external_id": "111111"
}
در ادامه توضیحات مربوط به هر یک از فیلدهای درخواست را میتوانید مشاهده کنید:
-
location_token
: باید همان توکنی باشد که از وبسرویس بررسی لوکیشن دریافت کردهاید. -
external_id
: باید شماره سفارشی (همان بارکد روی بسته) باشد که از قبل با استفاده از وبسرویس رزرو، رزرو انجام دادهاید. -
user_external_id
: باید ID پیک در سیستم تامینکننده باشد. این فیلد الزامی نیست.
پاسخ وبسرویسهای بازکردن درب گنجه
در صورت موفقیتآمیز بودن درخواست بازکردن درب گنجه، پاسخ زیر را با status code = 200
دریافت خواهید کرد:
{
"detail": "Door Opened"
}
همچنین در صورتی که درخواست موفقیتآمیز نباشد، پاسخی مشابه نمونهی زیر را دریافت خواهید کرد.
{
"detail": "location_token is not valid",
"code": "8001"
}
حالتهای مختلف خطا مطابق جدول زیر است:
code | detail | Description |
---|---|---|
8001 | location_token is not valid | استرینگ داده شده به عنوان location_token، معتبر نیست. |
8002 | user in location_token is not valid | در location_token، کاربری معرفی شده است که برابر با کاربر احراز شده در این ریکوئست نیست. |
8003 | station does not match with shipment | استیشن مرسوله درخواستی، با استیشن موجود در location_token یکی نیست. به عبارت دیگر مرسولۀ درخواستی برای جای دیگری است. |
8004 | shipment external_id does not exist | مرسولۀ رزروشدهای با این بارکد موجود نیست. |
8005 | location_token time limit has been exceeded | از مدت زمان اعتبار location_token گذشته است. |
8006 | station is not given in location_token | در location_token استیشن معرفی نشده است. |
8007 | user is not given in location_token | در location_token کاربر معرفی نشده است. |
8008 | station does not exist | در location_token استیشنی معرفی شده است که وجود ندارد. |
8009 | cannot open door | امکان باز شدن در نیست. به یکی از دلایل زیر: 1- از آخرین تلاش برای باز شدن این در مدت زمان مشخصی گذشته است. 2- استاتوس مرسوله صحیح نیست. |
وبسرویس بازکردن درب گنجه برای جایگذاری سفارش
Request Body
{
"location_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjo5LCJzdGF0aW9uIjoiMDVkZGZmYTEtNTRlYy00YTBmLWE5N2EtYWMxODc5MmNmYTAzIiwidGltZXN0YW1wIjoiMjAyNC0xMS0wOSAxMTo1MDoyMiJ9.N77WBVFc3WbYMDzZT01nEBs7eCC1qpvr9z038OKDxJc",
"external_id": "Test1000",
"user_external_id": "111111"
}
وبسرویس بازکردن درب گنجه برای برداشتن سفارش مرجوعی
Request Body
{
"location_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjo5LCJzdGF0aW9uIjoiMDVkZGZmYTEtNTRlYy00YTBmLWE5N2EtYWMxODc5MmNmYTAzIiwidGltZXN0YW1wIjoiMjAyNC0xMS0wOSAxMTo1MDoyMiJ9.N77WBVFc3WbYMDzZT01nEBs7eCC1qpvr9z038OKDxJc",
"external_id": "Test1000",
"user_external_id": "111111"
}