Skip to main content

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

وضعیت‌های مختلف و معانی آن‌ها

وضعیت معنی
reservedرزرو شده. (حالت اولیه)
pendingoccupiedپیک تحویل داده، اپراتور باید دریافت کند.
occupiedدر درست اپراتور.
unoccupiedدر دست مشتری.
expiredمهلت دریافت بسته برای مشتری تمام شده، بسته باید در مراجعه بعدی پیک، به پیک مرجوع شود.
pendingreturnedاپراتور به پیک مرجوع کرده، پیک باید قبول کند.
returnedمرجوع شده به پیک.

عملیات‌های مختلف در هر وضعیت

وضعیت اولیه عملیات وضعیت نهایی هدف کدام کاربر انجام می‌دهد؟
reserveddrop_by_courierpendingoccupiedتحویل پیک به اپراتورپیک
pendingoccupiedreceive_by_stationoccupiedتایید تحویل گرفتن اپراتور از پیکاپراتور
pendingoccupiedback_to_reservedreservedعدم تایید تحویل گرفتن اپراتور از پیکاپراتور
occupiedpick_upunoccupiedتحویل دادن بسته به مشتریاپراتور
occupiedexpireexpiredمنقضی شدن زمان تحویل بستهسیستم
expiredpick_upunoccupiedتحویل دادن بسته به مشتری با وجود منقضی شدن زمان تحویل بستهاپراتور
expiredpending_returnpendingreturnedمرجوع کردن بسته به پیک توسط اپراتوراپراتور
pendingreturnedreturnreturnedتایید مرجوع کردن بسته به پیک توسط اپراتورپیک

وب‌سرویس‌های تغییر دادن وضعیت سفارش به صورت تکی

در این وب‌سرویس‌ها، باید از شناسه‌ی یکتای سفارش جهت انجام تغییر وضعیت استفاده کنید. همچنین با استفاده از فیلد commit می‌توانید مشخص کنید که می‌خواهید تغییر وضعیت انجام شود یا نه.

تحویل دادن بسته به مشتری

POST/v1.1/manual-lastmile/occupancy/transit/{uuid}/pick-up/

Request Body

{
"commit": true,
"password": "12345"
}

Response Body

{
"uuid": "c2a45e63-1386-4ed1-a638-f71c2e10bfaf",
"status": "unoccupied",
"message": "تغییر وضعیت با موفقیت انجام شد",
"code": 0
}

Response Codes

Status Code code detail Description
2000-تغییر وضعیت با موفقیت انجام شد
2001-تغییر وضعیت ممکن نیست
400-password is requiredفیلد password الزامی است.

مرجوع کردن بسته به پیک

POST/v1.1/manual-lastmile/occupancy/transit/{uuid}/pending-return/

Request Body

{
"commit": true
}

Response Body

{
"uuid": "c2a45e63-1386-4ed1-a638-f71c2e10bfaf",
"status": "pendingreturned",
"message": "تغییر وضعیت با موفقیت انجام شد",
"code": 0
}

Response Codes

Status Code code Description
2000تغییر وضعیت با موفقیت انجام شد
2001تغییر وضعیت ممکن نیست

وب‌سرویس‌های تغییر دادن وضعیت سفارش به صورت دسته‌جمعی

در این وب‌سرویس‌ها تغییر وضعیت به صورت دسته‌جمعی برای چندین سفارش انجام می‌شود. اگر می‌خواهید تغییر وضعیت برای تمام سفارش‌های یک گنجدار اتفاق بیفتد، باید شناسه‌ی یکتای گنجدار را در درخواست قراردهید و اگر می‌خواهید یک یا چند سفارش مشخص را تغییر وضعیت دهید، باید شناسه‌ی یکتای سفارش‌ها را در درخواست قراردهید.

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

  • done: تغییر وضعیت با موفقیت انجام شد.
  • not_found: سفارش مورد نظر یافت نشد.
  • not_allowed: مجاز به تغییر وضعیت این سفارش نیست.
  • not_possible: تغییر وضعیت این سفارش ممکن نیست.

تایید تحویل گرفتن اپراتور از پیک

POST/v1.1/manual-lastmile/occupancy/receive-by-station/bulk/organization/

Request Body 1

{
"station": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
}

Request Body 2

{
"occupancies": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"f70f2891-6bec-43d3-872e-46a6bf6056a5",
"811290f4-801f-4480-9613-d5e96100180a",
"3152825d-16f4-44d1-9422-07b0c192612a",
]
}

Response Body

{
"3fa85f64-5717-4562-b3fc-2c963f66afa6": "done",
"f70f2891-6bec-43d3-872e-46a6bf6056a5": "not_found",
"811290f4-801f-4480-9613-d5e96100180a": "not_allowed",
"3152825d-16f4-44d1-9422-07b0c192612a": "not_possible"
}

Response Codes

Status Code detail Description
200OKنتیجه‌ی انجام عملیات برای هر سفارش برمی‌گردد
400Provide either station or occupanciesدرخواست حتما باید شامل یکی از فیلدهای station یا occupancies باشد.
400Station not foundگنجداری با شناسه داده شده یافت نشد.

عدم تایید تحویل گرفتن اپراتور از پیک

POST/v1.1/manual-lastmile/occupancy/back-to-reserved/bulk/organization/

Request Body 1

{
"station": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
}

Request Body 2

{
"occupancies": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"f70f2891-6bec-43d3-872e-46a6bf6056a5",
"811290f4-801f-4480-9613-d5e96100180a",
"3152825d-16f4-44d1-9422-07b0c192612a",
]
}

Response Body

{
"3fa85f64-5717-4562-b3fc-2c963f66afa6": "done",
"f70f2891-6bec-43d3-872e-46a6bf6056a5": "not_found",
"811290f4-801f-4480-9613-d5e96100180a": "not_allowed",
"3152825d-16f4-44d1-9422-07b0c192612a": "not_possible"
}

Response Codes

Status Code detail Description
200OKنتیجه‌ی انجام عملیات برای هر سفارش برمی‌گردد
400Provide either station or occupanciesدرخواست حتما باید شامل یکی از فیلدهای station یا occupancies باشد.
400Station not foundگنجداری با شناسه داده شده یافت نشد.