stable本次发布有变化全部展示
来自 Shopee 官方资料快照 ·
- 当前资料结构化阅读页
- 固定快照已留存,可追溯
- 官方原文可核对
资料正文
§1 v2.logistics.update_operating_hours
This API is designed to allow sellers to update their operating hours. It is essential that the values provided in this API align with the restrictions retrieved from the v2.logistics.get_operating_hour_restrictions API to ensure compliance with platform requirements. This API uses overwriting updates, when updating pickup operating hours, still need to include all parts even those not needing changes.
§2 Overview
Overview
| Field | Value |
|---|---|
| Module | Logistics |
| API type | Shop |
| HTTP method | POST |
| Path | /api/v2/logistics/update_operating_hours |
| Production URL | https://partner.shopeemobile.com/api/v2/logistics/update_operating_hours |
| Sandbox URL | https://partner.test-stable.shopeemobile.com/api/v2/logistics/update_operating_hours |
| Permission | ERP System; Seller In House System; Order Management; Swam ERP |
§3 Request parameters
Request parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| regular_operating_hour | object | No | Details of Pickup Operating Hours / Preferred Pickup Hours: You can skip this parameter if you are not updating the Pickup Operating Hours / Preferred Pickup Hours | |
| regular_operating_hour.monday | object | No | Operating hours for Monday: You can skip this information if you want to mark the day as closed. | |
| regular_operating_hour.monday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| regular_operating_hour.monday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| regular_operating_hour.tuesday | object | No | Operating hours for Tuesday: You can skip this information if you want to mark the day as closed. | |
| regular_operating_hour.tuesday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| regular_operating_hour.tuesday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| regular_operating_hour.wednesday | object | No | Operating hours for Wednesday: You can skip this information if you want to mark the day as closed. | |
| regular_operating_hour.wednesday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| regular_operating_hour.wednesday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| regular_operating_hour.thursday | object | No | Operating hours for Thursday: You can skip this information if you want to mark the day as closed. | |
| regular_operating_hour.thursday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| regular_operating_hour.thursday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| regular_operating_hour.friday | object | No | Operating hours for Friday: You can skip this information if you want to mark the day as closed. | |
| regular_operating_hour.friday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| regular_operating_hour.friday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| regular_operating_hour.saturday | object | No | Operating hours for Saturday: You can skip this information if you want to mark the day as closed. | |
| regular_operating_hour.saturday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| regular_operating_hour.saturday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| regular_operating_hour.sunday | object | No | Operating hours for Sunday: You can skip this information if you want to mark the day as closed. | |
| regular_operating_hour.sunday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| regular_operating_hour.sunday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| regular_operating_hour.public_holiday | object | No | Operating hours for public holiday: You can skip this information if you want to mark the day as closed. | |
| regular_operating_hour.public_holiday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| regular_operating_hour.public_holiday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| special_operating_hour | object | No | Details of Special Operating Hours : You can skip this parameter if you are not creating Special Operating Hours or if you do not have access to create Special Operating Hours | |
| special_operating_hour.name | string | Yes | 3.3 Campaign | The name of Special Operating Hours |
| special_operating_hour.start_date | string | Yes | 2025-03-03 | The start date of the Special Operating Hours. The value should be within [today + 1] and [today + 365 days]. |
| special_operating_hour.end_date | string | Yes | 2025-03-05 | The end date of the Special Operating Hours. The value should be within [start_date + 30 days] |
| special_operating_hour.operating_hours | object[] | Yes | To specify the operating hours for each date | |
| special_operating_hour.operating_hours.date | string | Yes | 2025-03-03 | Date: it should be include all date from start_date until end_date |
| special_operating_hour.operating_hours.start_time | string | Yes | 00:00 | Start time for operating hours on that date: The time should be in the format XX:YY, where YY is either 00 or 30. |
| special_operating_hour.operating_hours.end_time | string | Yes | 23:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| special_operating_hour.operating_hours.enable | boolean | Yes | true | To specify this value as False if you're not operate on that date (close) |
| instant_operating_hour | object | No | Details of Instant Operating Hours : You can skip this parameter if you are not creating/updating Instant Operating Hours or if you do not have access to create/update Instant Operating Hours | |
| instant_operating_hour.monday | object | No | Operating hours for Monday: You can skip this information if you want to mark the day as closed. | |
| instant_operating_hour.monday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| instant_operating_hour.monday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| instant_operating_hour.tuesday | object | No | Operating hours for Tuesday: You can skip this information if you want to mark the day as closed. | |
| instant_operating_hour.tuesday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| instant_operating_hour.tuesday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| instant_operating_hour.wednesday | object | No | Operating hours for Wednesday: You can skip this information if you want to mark the day as closed. | |
| instant_operating_hour.wednesday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| instant_operating_hour.wednesday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| instant_operating_hour.thrusday | object | No | Operating hours for Thursday: You can skip this information if you want to mark the day as closed. | |
| instant_operating_hour.thrusday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| instant_operating_hour.thrusday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| instant_operating_hour.friday | object | No | Operating hours for Friday: You can skip this information if you want to mark the day as closed. | |
| instant_operating_hour.friday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| instant_operating_hour.friday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| instant_operating_hour.saturday | object | No | Operating hours for Saturday: You can skip this information if you want to mark the day as closed. | |
| instant_operating_hour.saturday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| instant_operating_hour.saturday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| instant_operating_hour.sunday | object | No | Operating hours for Sunday: You can skip this information if you want to mark the day as closed. | |
| instant_operating_hour.sunday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| instant_operating_hour.sunday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| instant_operating_hour.public_holiday | object | No | Operating hours for public holiday: You can skip this information if you want to mark the day as closed. | |
| instant_operating_hour.public_holiday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| instant_operating_hour.public_holiday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| shop_collection_operating_hour | object | No | Details of Shop Collection Operating Hours : You can skip this parameter if you are not creating/updating Shop Collection Operating Hours or if you do not have access to create/update Shop Collection Operating Hours | |
| shop_collection_operating_hour.monday | object | No | Operating hours for Monday: You can skip this information if you want to mark the day as closed. | |
| shop_collection_operating_hour.monday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| shop_collection_operating_hour.monday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| shop_collection_operating_hour.tuesday | object | No | Operating hours for Tuesday: You can skip this information if you want to mark the day as closed. | |
| shop_collection_operating_hour.tuesday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| shop_collection_operating_hour.tuesday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| shop_collection_operating_hour.wednesday | object | No | Operating hours for Wednesday: You can skip this information if you want to mark the day as closed. | |
| shop_collection_operating_hour.wednesday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| shop_collection_operating_hour.wednesday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| shop_collection_operating_hour.thursday | object | No | Operating hours for Thursday: You can skip this information if you want to mark the day as closed. | |
| shop_collection_operating_hour.thursday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| shop_collection_operating_hour.thursday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| shop_collection_operating_hour.friday | object | No | Operating hours for Friday: You can skip this information if you want to mark the day as closed. | |
| shop_collection_operating_hour.friday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| shop_collection_operating_hour.friday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| shop_collection_operating_hour.saturday | object | No | Operating hours for Saturday: You can skip this information if you want to mark the day as closed. | |
| shop_collection_operating_hour.saturday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| shop_collection_operating_hour.saturday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| shop_collection_operating_hour.sunday | object | No | Operating hours for Sunday: You can skip this information if you want to mark the day as closed. | |
| shop_collection_operating_hour.sunday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| shop_collection_operating_hour.sunday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
| shop_collection_operating_hour.public_holiday | object | No | Operating hours for Public Holiday: You can skip this information if you want to mark the day as closed. | |
| shop_collection_operating_hour.public_holiday.start_time | string | Yes | 09:00 | Start time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30. |
| shop_collection_operating_hour.public_holiday.end_time | string | Yes | 18:30 | End time for operating hours on that day: The time should be in the format XX:YY, where YY is either 00 or 30.; Except for a 24-hour, you can input a start_time of 00:00 and an end_time of 23:59 |
§4 Response parameters
Response parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| error | string | error_auth | Indicate error type if hit error. Empty if no error happened. | |
| message | string | Invalid access_token. | Indicate error details if hit error. Empty if no error happened. | |
| request_id | string | 3dad66f43b8447d282ae6da36626c6b7 | The identifier for an API request for error tracking. | |
| response | object | |||
| response.result_list | object | |||
| response.result_list.regular_operating_hour | object | The result of create/update regular_operating_hour. | ||
| response.result_list.regular_operating_hour.status | string | Success | The system will return "Failed" if there are any validation errors. Otherwise, it will return a blank response. | |
| response.result_list.regular_operating_hour.fail_message | string | Fail reason | ||
| response.result_list.special_operating_hour | object | The result of create/update speicial_operating_hour. | ||
| response.result_list.special_operating_hour.status | string | Success | The system will return "Failed" if there are any validation errors. Otherwise, it will return a blank response. | |
| response.result_list.special_operating_hour.fail_message | string | Fail reason | ||
| response.result_list.instant_operating_hour | object | The result of create/update instant_operating_hour. | ||
| response.result_list.instant_operating_hour.status | string | Success | The system will return "Failed" if there are any validation errors. Otherwise, it will return a blank response. | |
| response.result_list.instant_operating_hour.fail_message | string | Fail reason | ||
| response.result_list.shop_collection_operating_hour | object | The result of create/update shop_collection_operating_hour. | ||
| response.result_list.shop_collection_operating_hour.status | string | Success | The system will return "Failed" if there are any validation errors. Otherwise, it will return a blank response. | |
| response.result_list.shop_collection_operating_hour.fail_message | string | Fail reason |
§5 Common parameters
Common parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| partner_id | int | 1 | Partner ID is assigned upon registration is successful. Required for all requests. | |
| timestamp | timestamp | 1610000000 | This is to indicate the timestamp of the request. Required for all requests. Expires in 5 minutes. | |
| access_token | string | c09222e3fc40ffb25fc947f738b1abf1 | The token for API access, using to identify your permission to the api. Valid for multiple use and expires in 4 hours. | |
| shop_id | int | 600000 | Shopee's unique identifier for a shop. Required param for most APIs. | |
| sign | string | e318d3e932719916a9f9ebb57e2011961bd47abfa54a36e040d050d8931596e2 | Signature generated by partner_id, api path, timestamp, access_token, shop_id and partner_key via HMAC-SHA256 hashing algorithm. More details: https://open.shopee.com/documents?module=87&type=2&id=58&version=2 |
§6 Request samples
Request samples
§7 Payload
Payload
{
"regular_operating_hour": {
"monday": {
"start_time": "09:00",
"end_time": "18:30"
},
"tuesday": {
"start_time": "09:00",
"end_time": "18:30"
},
"wednesday": {
"start_time": "09:00",
"end_time": "18:30"
},
"thursday": {
"start_time": "09:00",
"end_time": "18:30"
},
"friday": {
"start_time": "09:00",
"end_time": "18:30"
},
"saturday": {
"start_time": "09:00",
"end_time": "18:30"
},
"sunday": {
"start_time": "09:00",
"end_time": "18:30"
},
"public_holiday": {
"start_time": "09:00",
"end_time": "18:30"
}
},
"special_operating_hour": {
"name": "3.3 Campaign",
"start_date": "2025-03-03",
"end_date": "2025-03-05",
"operating_hours": [
{
"date": "2025-03-03",
"start_time": "00:00",
"end_time": "23:30",
"enable": true
}
]
},
"instant_operating_hour": {
"monday": {
"start_time": "09:00",
"end_time": "18:30"
},
"tuesday": {
"start_time": "09:00",
"end_time": "18:30"
},
"wednesday": {
"start_time": "09:00",
"end_time": "18:30"
},
"thrusday": {
"start_time": "09:00",
"end_time": "18:30"
},
"friday": {
"start_time": "09:00",
"end_time": "18:30"
},
"saturday": {
"start_time": "09:00",
"end_time": "18:30"
},
"sunday": {
"start_time": "09:00",
"end_time": "18:30"
},
"public_holiday": {
"start_time": "09:00",
"end_time": "18:30"
}
},
"shop_collection_operating_hour": {
"monday": {
"start_time": "09:00",
"end_time": "18:30"
},
"tuesday": {
"start_time": "09:00",
"end_time": "18:30"
},
"wednesday": {
"start_time": "09:00",
"end_time": "18:30"
},
"thursday": {
"start_time": "09:00",
"end_time": "18:30"
},
"friday": {
"start_time": "09:00",
"end_time": "18:30"
},
"saturday": {
"start_time": "09:00",
"end_time": "18:30"
},
"sunday": {
"start_time": "09:00",
"end_time": "18:30"
},
"public_holiday": {
"start_time": "09:00",
"end_time": "18:30"
}
}
}
§8 Java
Java
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://partner.shopeemobile.com/api/v2/logistics/update_operating_hours?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp")
.header("Content-Type","application/json")
.body("{
\"instant_operating_hour\": {
\"friday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"monday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"public_holiday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"saturday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"sunday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"thrusday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"tuesday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"wednesday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
}
},
\"regular_operating_hour\": {
\"friday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"monday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"public_holiday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"saturday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"sunday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"thursday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"tuesday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"wednesday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
}
},
\"shop_collection_operating_hour\": {
\"friday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"monday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"public_holiday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"saturday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"sunday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"thursday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"tuesday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
},
\"wednesday\": {
\"end_time\": \"18:30\",
\"start_time\": \"09:00\"
}
},
\"special_operating_hour\": {
\"end_date\": \"2025-03-05\",
\"name\": \"3.3 Campaign\",
\"operating_hours\": [
{
\"date\": \"2025-03-03\",
\"enable\": true,
\"end_time\": \"23:30\",
\"start_time\": \"00:00\"
}
],
\"start_date\": \"2025-03-03\"
}
}")
.asString();
§9 PHP
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://partner.shopeemobile.com/api/v2/logistics/update_operating_hours?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{
"instant_operating_hour": {
"friday": {
"end_time": "18:30",
"start_time": "09:00"
},
"monday": {
"end_time": "18:30",
"start_time": "09:00"
},
"public_holiday": {
"end_time": "18:30",
"start_time": "09:00"
},
"saturday": {
"end_time": "18:30",
"start_time": "09:00"
},
"sunday": {
"end_time": "18:30",
"start_time": "09:00"
},
"thrusday": {
"end_time": "18:30",
"start_time": "09:00"
},
"tuesday": {
"end_time": "18:30",
"start_time": "09:00"
},
"wednesday": {
"end_time": "18:30",
"start_time": "09:00"
}
},
"regular_operating_hour": {
"friday": {
"end_time": "18:30",
"start_time": "09:00"
},
"monday": {
"end_time": "18:30",
"start_time": "09:00"
},
"public_holiday": {
"end_time": "18:30",
"start_time": "09:00"
},
"saturday": {
"end_time": "18:30",
"start_time": "09:00"
},
"sunday": {
"end_time": "18:30",
"start_time": "09:00"
},
"thursday": {
"end_time": "18:30",
"start_time": "09:00"
},
"tuesday": {
"end_time": "18:30",
"start_time": "09:00"
},
"wednesday": {
"end_time": "18:30",
"start_time": "09:00"
}
},
"shop_collection_operating_hour": {
"friday": {
"end_time": "18:30",
"start_time": "09:00"
},
"monday": {
"end_time": "18:30",
"start_time": "09:00"
},
"public_holiday": {
"end_time": "18:30",
"start_time": "09:00"
},
"saturday": {
"end_time": "18:30",
"start_time": "09:00"
},
"sunday": {
"end_time": "18:30",
"start_time": "09:00"
},
"thursday": {
"end_time": "18:30",
"start_time": "09:00"
},
"tuesday": {
"end_time": "18:30",
"start_time": "09:00"
},
"wednesday": {
"end_time": "18:30",
"start_time": "09:00"
}
},
"special_operating_hour": {
"end_date": "2025-03-05",
"name": "3.3 Campaign",
"operating_hours": [
{
"date": "2025-03-03",
"enable": true,
"end_time": "23:30",
"start_time": "00:00"
}
],
"start_date": "2025-03-03"
}
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
§10 cURL
cURL
curl --location --request POST 'https://partner.shopeemobile.com/api/v2/logistics/update_operating_hours?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp' \
--header 'Content-Type: application/json' \
--data-raw '{
"instant_operating_hour": {
"friday": {
"end_time": "18:30",
"start_time": "09:00"
},
"monday": {
"end_time": "18:30",
"start_time": "09:00"
},
"public_holiday": {
"end_time": "18:30",
"start_time": "09:00"
},
"saturday": {
"end_time": "18:30",
"start_time": "09:00"
},
"sunday": {
"end_time": "18:30",
"start_time": "09:00"
},
"thrusday": {
"end_time": "18:30",
"start_time": "09:00"
},
"tuesday": {
"end_time": "18:30",
"start_time": "09:00"
},
"wednesday": {
"end_time": "18:30",
"start_time": "09:00"
}
},
"regular_operating_hour": {
"friday": {
"end_time": "18:30",
"start_time": "09:00"
},
"monday": {
"end_time": "18:30",
"start_time": "09:00"
},
"public_holiday": {
"end_time": "18:30",
"start_time": "09:00"
},
"saturday": {
"end_time": "18:30",
"start_time": "09:00"
},
"sunday": {
"end_time": "18:30",
"start_time": "09:00"
},
"thursday": {
"end_time": "18:30",
"start_time": "09:00"
},
"tuesday": {
"end_time": "18:30",
"start_time": "09:00"
},
"wednesday": {
"end_time": "18:30",
"start_time": "09:00"
}
},
"shop_collection_operating_hour": {
"friday": {
"end_time": "18:30",
"start_time": "09:00"
},
"monday": {
"end_time": "18:30",
"start_time": "09:00"
},
"public_holiday": {
"end_time": "18:30",
"start_time": "09:00"
},
"saturday": {
"end_time": "18:30",
"start_time": "09:00"
},
"sunday": {
"end_time": "18:30",
"start_time": "09:00"
},
"thursday": {
"end_time": "18:30",
"start_time": "09:00"
},
"tuesday": {
"end_time": "18:30",
"start_time": "09:00"
},
"wednesday": {
"end_time": "18:30",
"start_time": "09:00"
}
},
"special_operating_hour": {
"end_date": "2025-03-05",
"name": "3.3 Campaign",
"operating_hours": [
{
"date": "2025-03-03",
"enable": true,
"end_time": "23:30",
"start_time": "00:00"
}
],
"start_date": "2025-03-03"
}
}'
§11 Python
Python
import requests
import json
url = "https://partner.shopeemobile.com/api/v2/logistics/update_operating_hours?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp"
payload=json.dumps({
"instant_operating_hour": {
"friday": {
"end_time": "18:30",
"start_time": "09:00"
},
"monday": {
"end_time": "18:30",
"start_time": "09:00"
},
"public_holiday": {
"end_time": "18:30",
"start_time": "09:00"
},
"saturday": {
"end_time": "18:30",
"start_time": "09:00"
},
"sunday": {
"end_time": "18:30",
"start_time": "09:00"
},
"thrusday": {
"end_time": "18:30",
"start_time": "09:00"
},
"tuesday": {
"end_time": "18:30",
"start_time": "09:00"
},
"wednesday": {
"end_time": "18:30",
"start_time": "09:00"
}
},
"regular_operating_hour": {
"friday": {
"end_time": "18:30",
"start_time": "09:00"
},
"monday": {
"end_time": "18:30",
"start_time": "09:00"
},
"public_holiday": {
"end_time": "18:30",
"start_time": "09:00"
},
"saturday": {
"end_time": "18:30",
"start_time": "09:00"
},
"sunday": {
"end_time": "18:30",
"start_time": "09:00"
},
"thursday": {
"end_time": "18:30",
"start_time": "09:00"
},
"tuesday": {
"end_time": "18:30",
"start_time": "09:00"
},
"wednesday": {
"end_time": "18:30",
"start_time": "09:00"
}
},
"shop_collection_operating_hour": {
"friday": {
"end_time": "18:30",
"start_time": "09:00"
},
"monday": {
"end_time": "18:30",
"start_time": "09:00"
},
"public_holiday": {
"end_time": "18:30",
"start_time": "09:00"
},
"saturday": {
"end_time": "18:30",
"start_time": "09:00"
},
"sunday": {
"end_time": "18:30",
"start_time": "09:00"
},
"thursday": {
"end_time": "18:30",
"start_time": "09:00"
},
"tuesday": {
"end_time": "18:30",
"start_time": "09:00"
},
"wednesday": {
"end_time": "18:30",
"start_time": "09:00"
}
},
"special_operating_hour": {
"end_date": "2025-03-05",
"name": "3.3 Campaign",
"operating_hours": [
{
"date": "2025-03-03",
"enable": True,
"end_time": "23:30",
"start_time": "00:00"
}
],
"start_date": "2025-03-03"
}
})
headers = {
'Content-Type': 'application/json'
}
response = requests.RPCRequest("POST",url,headers=headers, data=payload, allow_redirects=False)
print(response.text)
§12 Response sample
Response sample
§13 JSON
JSON
{
"error": "error_auth",
"message": "Invalid access_token.",
"request_id": "3dad66f43b8447d282ae6da36626c6b7",
"response": {
"result_list": {
"regular_operating_hour": {
"status": "Success",
"fail_message": "-"
},
"special_operating_hour": {
"status": "Success",
"fail_message": "-"
},
"instant_operating_hour": {
"status": "Success",
"fail_message": "-"
},
"shop_collection_operating_hour": {
"status": "Success",
"fail_message": "-"
}
}
}
}
§14 Errors
Errors
| Error | Description | Solution |
|---|---|---|
| error_permission | Sorry you don't have the permission, detail: This shop isn't eligible to set up Instant Operating Hours. | |
| error_permission | Sorry you don't have the permission, detail: This shop isn't eligible to set up Regular Operating Hours. | |
| error_permission | Sorry you don't have the permission, detail: This shop isn't eligible to set up Special Operating Hours. | |
| error_param | All modifications to the operating hours were unsuccessful. Please check the result_list and try again. | |
| logistics.invalid_address_version | Some addresses are no longer supported per new regulation, please update to avoid wrong fulfilment | |
| error_data | parse data failed | |
| error_data | data not exist | |
| error_param | parameter invalid | |
| error_param | The information you queried is not found. | |
| error_param | Wrong parameters, detail: {msg}. | |
| error_server | Something wrong. Please try later. | |
| error_shop | shopid is invalid | |
| error_param | request not from gateway |
§15 Common errors
Common errors
| Error | Description | Solution |
|---|---|---|
| error_auth | partner_id is invalid | |
| error_auth | The App is deleted, and you'll be unable to make any API call. | |
| error_auth | App developer’s permissions for authorizations have been restricted. If you’re a seller, contact the developer for more information. If you’re the developer, refer to the Open Platform Console for details. | |
| error_param | There is no partner_id in query. | |
| error_param | Invalid partner_id. | |
| error_param | no timestamp | |
| error_param | Invalid timestamp | |
| error_param | There is no sign in query. | |
| error_sign | Wrong sign. | |
| invalid_partner_id | Invalid partner_id, please have a check. | |
| error_auth | No permission to current api. | |
| error_api_call_restricted | The App permission for api call have been restricted. If you’re a seller, contact the developer for more information. If you’re the developer, refer to the Open Platform Console for details. | |
| api_suspended | The API is offline. Please call v2 API instead. | |
| error_limit | The total API call number made by your APP has reached the daily API call limit, please try again after 00: 00 (UTC+08:00) | |
| error_rate_limit | Too many requests. You have reached the rate limit. Please try again later. | |
| source_ip_undeclared | Request Source IP ({ip}) is undeclared. Please declare all your IP addresses in the Shopee Open Platform Console > App list > IP Address Whitelist | |
| error_param | Permission denied. This API is currently offline or the request path is incorrect. | |
| error_param | Partner_id is invalid, should be an integer between 0 and 4294967295. | |
| error_param | no timestamp. | |
| error_param | Timestamp is invalid, should be an integer between 0 and 4294967295. | |
| error_param | Timestamp is expired. | |
| error_partner_key_expired | Your API partner key has expired, please reset the Live API Partner Key in Console to get a new valid partner key to call open api. | |
| error_api_permission | This app type has no permission to this API. | |
| error_param | There is no access_token in query. | |
| error_auth | Invalid access_token. | |
| error_auth | Invalid partner_id or shopid. | |
| shop_no_linked | Partner and shop has no linked. | |
| shop_banned | The shop account has been banned. Permissions for shop authorization and API calls have been suspended until the shop account is restored. | |
| invalid_acceess_token | Invalid access_token, please have a check. | |
| partner_shop_no_link | Invalid partner_id or shop_id, please have a check. | |
| error_ashop_api_permission | The shop is Affiliate shop has no permission to call this API. | |
| error_kyc_auth | No permission. Please inform the seller to complete the Seller Registration on Shopee Seller Center first, then this shop can call for this API. | |
| error_auth | System error, please try again later. | |
| error_param | There is no shop_id in query. | |
| error_param | shop_id is invalid, should be an integer between 0 and 4294967295. |
§16 Update log
Update log
| Date | Change |
|---|---|
| 2025-12-09 | Update description of end_time to support 24-hour case |
| 2025-09-18 | Add shop_collection_operating_hour request and response fields |
| 2025-03-06 | New API |
