stable本次发布有变化全部展示
来自 Shopee 官方资料快照 ·
- 当前资料结构化阅读页
- 固定快照已留存,可追溯
- 官方原文可核对
资料正文
§1 v2.sbs.get_fulfillment_mapping_inventory_list
This API is designed for sellers using Fulfillment Mapping and their ERP systems. It allows callers to query the corresponding mapping and inventory information using the MTSKU ID of either a Bundle SKU or a Parent SKU, supporting automated inventory reconciliation and planning, improving Parent SKU inventory visibility, and reducing manual operations and cross-channel overselling risks.
§2 Overview
Overview
| Field | Value |
|---|---|
| Module | SBS |
| API type | Shop |
| HTTP method | GET |
| Path | /api/v2/sbs/get_fulfillment_mapping_inventory_list |
| Production URL | https://partner.shopeemobile.com/api/v2/sbs/get_fulfillment_mapping_inventory_list |
| Sandbox URL | https://partner.test-stable.shopeemobile.com/api/v2/sbs/get_fulfillment_mapping_inventory_list |
| Permission | ERP System; Seller In House System; Swam ERP |
§3 Request parameters
Request parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| mtsku_ids | string | No | 58165469687_282851615193,58165469687_282851615192 | The MTSKU ID of either a Bundle SKU or a Parent SKU in a fulfillment mapping relationship.; Up to 100 comma-separated MTSKU IDs can be queried in one request.; All MTSKU IDs must belong to the specified shop_id.; When mtsku_ids is omitted, the API returns all fulfillment mapping records with available Bundle SKU stock under the shop.; When mtsku_ids is provided, the API returns all matching fulfillment mapping records for the specified Bundle or Parent MTSKUs.For example, given the mapping relationship MTSKU A = MTSKU B + MTSKU C, MTSKU A is the Bundle SKU, while MTSKU B and MTSKU C are its Parent SKUs. The API can be queried using the MTSKU ID of A, B, or C. Regardless of which SKU is queried, the API returns the fulfillment mapping inventory information of MTSKU A and its Parent SKUs. |
| page_size | int64 | No | 2 | The number of records returned by each query. You can fill in value from [1-100].If not filled in, the default value is 100. |
| next_cursor | string | No | eyJzb3J0X3ZhbHVlcyI6WyI1ODE2NTQ2OTY4N18yODI4NTE2MTUxOTNfTVlTIl19 | The cursor for the next page query. The next_cursor will be returned from the response. If this field is not provided, the query starts from the first page by default. |
§4 Response parameters
Response parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| error | string | Indicate error type if hit error. Empty if no error happened. | ||
| message | string | Indicate error details if hit error. Empty if no error happened. | ||
| warning | string | Indicate warning details if hit waring. Empty if no waring happened. | ||
| request_id | string | d3756fbb-29f0-4fe7-aa1e-0e019f552e59 | The identifier for an API request for error tracking. | |
| response | object | |||
| response.list | object[] | |||
| response.list.bundle_mtsku_id | string | 58165469687_282851615192 | Bundle SKU. | |
| response.list.mapping_type | int64 | 3 | Fulfillment mapping type. (Enum:1-group; 2-lucky bag; 3-mapping list). | |
| response.list.whs_id | string | MYS | Shopee warehouse id. | |
| response.list.stock_context | object | Stock detail. | ||
| response.list.stock_context.physical_sellable_stock | int64 | 0 | The physical sellable stock for bundle MTSKU without any mapping convert stock. | |
| response.list.stock_context.mapping_sellable_stock | int64 | 0 | The calculated mapping sellable stock that convert from Parent MTSKUs. | |
| response.list.stock_context.parent_mtsku_list | object[] | |||
| response.list.stock_context.parent_mtsku_list.parent_mtsku_id | string | 26050058034_240828857424 | The MTSKU ID of a Parent SKU involved in the fulfillment mapping relationship. | |
| response.list.stock_context.parent_mtsku_list.parent_mtsku_stock | int64 | 0 | Physical sellable stock of the parent MTSKU in the specified warehouse. It is the original quantity, not multiplied by mapping_formula. Example: mapping_formula = 2MTSKU_A + 1MTSKU_B; MTSKU_A stock = 14; returned parent_mtsku_stock = 14. Each Bundle SKU needs two MTSKU_A, so it supports floor(14/2)=7 bundles. The returned stock remains 14, not 28. | |
| response.list.mapping_formula | string | [1 * 26050058034_240828857424, 1 * 58165469687_282851615192] | The fulfillment mapping formula of the Bundle MTSKU. It describes the Parent MTSKU composition or alternative mapping relationships. Formatting rules: - The quantity before an MTSKU ID indicates the required quantity of that Parent MTSKU. - Within one mapping formula, + indicates that all listed Parent MTSKUs are required together. - For a Mapping List, [] encloses alternative mapping formulas, and , separates each alternative formula. Examples: - Group: 2 * MTSKU_A + 1 * MTSKU_B - Mapping List: [2 * MTSKU_A + 1 * MTSKU_B, 1 * MTSKU_C] - Lucky Bag: 2 * MTSKU_A | |
| response.total | int64 | 2 | The amount of data that meets the query conditions. | |
| response.next_cursor | string | If the returned value is a non-empty string, it indicates that there is more data available. Include this returned value in the next query request to continue retrieving data starting from the corresponding position indicated by the cursor. |
§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 Java
Java
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.get("https://partner.shopeemobile.com/api/v2/sbs/get_fulfillment_mapping_inventory_list?access_token=access_token&mtsku_ids=58165469687_282851615193%2C58165469687_282851615192&next_cursor=eyJzb3J0X3ZhbHVlcyI6WyI1ODE2NTQ2OTY4N18yODI4NTE2MTUxOTNfTVlTIl19&page_size=2&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp")
.asString();
§8 PHP
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://partner.shopeemobile.com/api/v2/sbs/get_fulfillment_mapping_inventory_list?access_token=access_token&mtsku_ids=58165469687_282851615193%2C58165469687_282851615192&next_cursor=eyJzb3J0X3ZhbHVlcyI6WyI1ODE2NTQ2OTY4N18yODI4NTE2MTUxOTNfTVlTIl19&page_size=2&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 => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
§9 cURL
cURL
curl --location --request GET 'https://partner.shopeemobile.com/api/v2/sbs/get_fulfillment_mapping_inventory_list?access_token=access_token&mtsku_ids=58165469687_282851615193%2C58165469687_282851615192&next_cursor=eyJzb3J0X3ZhbHVlcyI6WyI1ODE2NTQ2OTY4N18yODI4NTE2MTUxOTNfTVlTIl19&page_size=2&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp'
§10 Python
Python
import requests
url = "https://partner.shopeemobile.com/api/v2/sbs/get_fulfillment_mapping_inventory_list?access_token=access_token&mtsku_ids=58165469687_282851615193%2C58165469687_282851615192&next_cursor=eyJzb3J0X3ZhbHVlcyI6WyI1ODE2NTQ2OTY4N18yODI4NTE2MTUxOTNfTVlTIl19&page_size=2&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp"
payload={}
headers = {
}
response = requests.RPCRequest("GET",url,headers=headers, data=payload, allow_redirects=False)
print(response.text)
§11 Response sample
Response sample
§12 JSON
JSON
{
"request_id": "d3756fbb-29f0-4fe7-aa1e-0e019f552e59",
"error": "",
"message": "",
"warning": "",
"response": {
"list": [
{
"bundle_mtsku_id": "58165469687_282851615192",
"mapping_type": 3,
"mapping_formula": "[1 * 26050058034_240828857424, 1 * 58165469687_282851615192]",
"whs_id": "MYS",
"stock_context": {
"physical_sellable_stock": 0,
"parent_mtsku_list": [
{
"parent_mtsku_id": "26050058034_240828857424",
"parent_mtsku_stock": 0
},
{
"parent_mtsku_id": "58165469687_282851615192",
"parent_mtsku_stock": 0
}
],
"mapping_sellable_stock": 0
}
}
],
"total": 2,
"next_cursor": ""
}
}
§13 Error example
Error example
§14 JSON
JSON
{
"request_id": "c8e21e3d-9ff5-47a6-989d-292bcf22b09a",
"error": "INVALID_PARAM",
"message": "Parameters in the request are invalid, {msg}: shop_id should not be empty",
"warning": ""
}
§15 Errors
Errors
| Error | Description | Solution |
|---|---|---|
| invalid_param | Parameters in the request are invalid, {msg} | |
| invalid_request | Parse the request failed | |
| server_internal_error | The server encountered an internal error, please retry or contact the server administrator |
§16 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. |
§17 Update log
Update log
| Date | Change |
|---|---|
| 2026-08-12 | New API |
