stable本次发布有变化全部展示
来自 Shopee 官方资料快照 ·
- 当前资料结构化阅读页
- 固定快照已留存,可追溯
- 官方原文可核对
资料正文
§1 v2.product.publish_item_to_outlet_shop
This API supports publishing an existing item from the mart shop to an outlet shop.
§2 Overview
Overview
| Field | Value |
|---|---|
| Module | Product |
| API type | Shop |
| HTTP method | POST |
| Path | /api/v2/product/publish_item_to_outlet_shop |
| Production URL | https://partner.shopeemobile.com/api/v2/product/publish_item_to_outlet_shop |
| Sandbox URL | https://partner.test-stable.shopeemobile.com/api/v2/product/publish_item_to_outlet_shop |
| Permission | ERP System; Seller In House System; Product Management; Swam ERP |
§3 Request parameters
Request parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| mart_item_id | int64 | Yes | The item ID of the product in the Mart shop to be published to the outlet shop. | |
| outlet_shop_id | int64 | Yes | The shop ID of the outlet shop where the product will be published. | |
| publish_item | object | Yes | Configuration details for publishing the product to the outlet shop, including model mapping, pricing, stock, logistics, and purchase limits. | |
| publish_item.outlet_item_id | int64 | No | ||
| publish_item.model | object | No | A list of models to be published to the outlet shop, mapped from the corresponding Mart shop models. | |
| publish_item.model.relate_mart_model_id | int64 | Yes | The model ID in the Mart shop that this outlet model is associated with.; model_id=0 for items with only the default model(no variations) | |
| publish_item.model.model_status | string | No | The status of model. | |
| publish_item.model.original_price | float | No | The original price of the model. | |
| publish_item.model.seller_stock | object[] | No | Stock information for the model, set in outlet sku level. | |
| publish_item.model.seller_stock.location_id | string | No | The location ID where the stock is stored. | |
| publish_item.model.seller_stock.stock | int32 | Yes | The available stock quantity for the model. | |
| publish_item.model.pre_order | object | No | set in outlet sku level | |
| publish_item.model.pre_order.is_pre_order | boolean | Yes | Indicates whether the model is sold as a pre-order item. | |
| publish_item.model.pre_order.days_to_ship | int32 | No | The number of days required to ship the item after an order is placed. | |
| publish_item.logistic_info | object[] | No | Logistic channel setting; can set for each outlet shop. | |
| publish_item.logistic_info.logistic_id | int64 | Yes | The logistics channel ID used for shipping the item. | |
| publish_item.logistic_info.enabled | boolean | Yes | Indicates whether the logistics channel is enabled for the item. | |
| publish_item.logistic_info.shipping_fee | float | No | The shipping fee charged to the buyer for this logistics channel. | |
| publish_item.logistic_info.size_id | int64 | No | The parcel size ID used to calculate shipping fees. | |
| publish_item.logistic_info.is_free | boolean | No | Indicates whether free shipping is applied for this logistics channel. | |
| publish_item.purchase_limit_info | object | No | Purchase quantity limits applied to the item in the outlet shop. | |
| publish_item.purchase_limit_info.min_purchase_limit | int32 | Yes | The minimum quantity that a buyer is allowed to purchase per order. | |
| publish_item.purchase_limit_info.max_purchase_limit | object | Yes | The maximum purchase quantity configuration for the item. | |
| publish_item.purchase_limit_info.max_purchase_limit.purchase_limit | int32 | Yes | The maximum quantity that a buyer is allowed to purchase per order. |
§4 Response parameters
Response parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| message | string | Indicate error type if hit error. Empty if no error happened. | ||
| warning | string | Warning message. | ||
| request_id | string | The identifier for an API request for error tracking. | ||
| response | object | |||
| response.item_id | int64 | The outlet item ID. |
§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
{
"mart_shop_id": 1013240555,
"mart_item_id": 2803829564,
"outlet_shop_id": 1013255072,
"publish_item": {
"model": [
{
"relate_mart_model_id": 260001906738,
"original_price": 1230000,
"seller_stock": [
{
"location_id": "VNZ",
"stock": 100
}
],
"dts": {
"is_pre_order": false,
"days_to_ship": 2
}
},
{
"relate_mart_model_id": 260001906739,
"original_price": 1230000,
"seller_stock": [
{
"location_id": "VNZ",
"stock": 100
}
],
"dts": {
"is_pre_order": false,
"days_to_ship": 2
}
},
{
"relate_mart_model_id": 260001906736,
"original_price": 1230000,
"seller_stock": [
{
"location_id": "VNZ",
"stock": 100
}
],
"dts": {
"is_pre_order": false,
"days_to_ship": 2
}
},
{
"relate_mart_model_id": 260001906737,
"original_price": 1230000,
"seller_stock": [
{
"location_id": "VNZ",
"stock": 100
}
],
"dts": {
"is_pre_order": false,
"days_to_ship": 2
}
}
],
"logistic_info": [
{
"channel_id": 50039,
"enabled": true,
"shipping_fee": 300000,
"size_id": 0,
"is_free": false
}
],
"purchase_limit_info": {
"min_purchase_limit": 1,
"max_purchase_limit": {
"purchase_limit": 10
}
}
}
}
§8 Response sample
Response sample
§9 JSON
JSON
{
"item_id": 1234567890
}
§10 Error example
Error example
§11 JSON
JSON
{
"error": "product.error_busi",
"message": "external system business error : call marketplace.listing.upload.product error: lock: {itemID: 0, [lockID: 127, msg: Outlet SKU cannot be created because the mart product related to another outlet SKU in this shop.]}",
"warning": "",
"request_id": "e3e3e7f346c123953304eda38384d900"
}
§12 Errors
Errors
| Error | Description | Solution |
|---|---|---|
| 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 |
§13 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. |
§14 Update log
Update log
| Date | Change |
|---|---|
| 2025-12-26 | add "purchase limit info" request field |
| 2025-05-15 | New API |
