### Request and Response Examples Source: https://developers.weixin.qq.com/doc/store/shop/API/channels-shop-aftersale/api_searchguaranteeorder Provides example request and response payloads for API interactions. ```APIDOC ## Request and Response Examples ### Description Provides example request and response payloads for API interactions. ### Request Example ```json { "guarantee_order_id_list": [ 2000001077270153 ], "order_id_list": [ 3726524657461498624 ], "type": 0 } ``` ### Response Example ```json { "errcode": 0, "errmsg": "ok" } ``` ``` -------------------------------- ### Request Example for Shop API Source: https://developers.weixin.qq.com/doc/store/shop/API/channels-shop-delivery/ewaybill/api_ewaybill_getacct This snippet shows an example of a request payload for the Shop API. It includes parameters like 'need_balance' and 'limit' to specify the query criteria. ```json { "need_balance":true, "limit":10 } ``` -------------------------------- ### Product Publishing Response Example Source: https://developers.weixin.qq.com/doc/store/shop/API/category-rule/api_getcategoryproductrule An example JSON response from the product publishing API. It details product attributes, sale attributes, quality inspection requirements, and other product-related information necessary for publishing. ```json { "errcode": 0, "errmsg": "ok", "info": { "cat_id": "546776", "name": "鹅蛋" }, "product_attr_list": [ { "name": "国产/进口", "type": "select_one", "value": "国产;进口", "hint": "", "append_allowed": false, "type_v2": "select_one", "required_rule": { "rule_type": 1, "or_combinators": [] } }, { "name": "产地", "type": "select_one", "value": "美国;韩国;日本", "hint": "", "append_allowed": false, "type_v2": "select_one", "required_rule": { "rule_type": 1, "or_combinators": [] } } ], "sale_attr_list": [], "product_qua_list": [ { "id": 1111518, "tips": "生鲜肉类产品需提供", "name": "动物防疫条件合格证", "required_rule": { "rule_type": 3, "or_combinators": [ { "and_combinators": [ { "combine_type": 1, "text_conditions": [ { "check_field": 1, "oper_type": 1, "keywords": [ "国产/进口" ] }, { "check_field": 2, "oper_type": 1, "keywords": [ "国产" ] } ] } ] } ] } }, { "id": 1111491, "tips": "若为进口商品,需提供近一年内的中华人民共和国海关进口货物报关单,展现对应品牌名称及商品名称", "name": "报关单", "required_rule": { "rule_type": 3, "or_combinators": [ { "and_combinators": [ { "combine_type": 1, "text_conditions": [ { "check_field": 1, "oper_type": 1, "keywords": [ "国产/进口" ] }, { "check_field": 2, "oper_type": 1, "keywords": [ "进口" ] } ] } ] } ] } } ], "size_chart": { "is_support": false, "item_list": [] }, "product_requirement": { "product_title_requirement": "", "product_img_requirement": "", "product_desc_requirement": "" } } ``` -------------------------------- ### Product Attribute Compatibility and Examples Source: https://developers.weixin.qq.com/doc/store/shop/API/channels-shop-category/api_getcategorydetail This section details the compatibility between the old 'type' parameter and the new 'type_v2' parameter for product attributes. It also provides request and response examples for the API. ```APIDOC ## POST /websites/developers_weixin_qq_doc_store_shop_api ### Description This endpoint allows for the retrieval of product information, including category details and attribute specifications. It handles compatibility between older and newer attribute type parameters and provides comprehensive examples of requests and responses. ### Method POST ### Endpoint /websites/developers_weixin_qq_doc_store_shop_api ### Parameters #### Query Parameters None #### Request Body - **cat_id** (string) - Required - The category ID for which to retrieve product information. ### Request Example ```json { "cat_id": "6194" } ``` ### Response #### Success Response (200) - **errcode** (integer) - Error code, 0 for success. - **errmsg** (string) - Error message, 'ok' for success. - **info** (object) - General information about the category. - **cat_id** (string) - The category ID. - **name** (string) - The name of the category. - **attr** (object) - Detailed attribute information for products in this category. - **shop_no_shipment** (boolean) - Indicates if shipping is not available. - **access_permit_required** (boolean) - Indicates if an access permit is required. - **pre_sale** (boolean) - Indicates if the product is pre-sale. - **seven_day_return** (boolean) - Indicates if a 7-day return policy applies. - **brand_list** (array) - List of available brands. - **brand_id** (string) - The ID of the brand. - **deposit** (string) - Deposit amount. - **product_attr_list** (array) - List of product attributes. - **name** (string) - The name of the attribute. - **type** (string) - The old type of the attribute. - **type_v2** (string) - The new type of the attribute (e.g., 'string', 'select_one', 'select_many', 'integer', 'decimal4', 'integer_unit', 'decimal4_unit'). - **value** (string) - Possible values for the attribute (e.g., for select types). - **is_required** (boolean) - Whether the attribute is required. - **hint** (string) - Hint text for the attribute. - **append_allowed** (boolean) - Whether appending values is allowed. - **transactionfee_info** (object) - Transaction fee details. - **basis_point** (integer) - Basis points for the transaction fee. - **original_basis_point** (integer) - Original basis points. - **incentive_type** (integer) - Incentive type. - **is_limit_brand** (boolean) - Whether brand is limited. - **product_qua_list** (array) - List of product qualifications. - **qua_id** (string) - The ID of the qualification. - **need_to_apply** (boolean) - Whether an application is needed. - **tips** (string) - Tips related to the qualification. - **mandatory** (boolean) - Whether the qualification is mandatory. - **name** (string) - The name of the qualification. #### Response Example ```json { "errcode": 0, "errmsg": "ok", "info": { "cat_id": "6194", "name": "安全座椅" }, "attr": { "shop_no_shipment": false, "access_permit_required": false, "pre_sale": false, "seven_day_return": false, "brand_list": [ { "brand_id": "10000031" }, { "brand_id": "10003026" } ], "deposit": "500000", "product_attr_list": [ { "name": "产地", "type": "string", "type_v2": "string", "value": "", "is_required": false, "hint": "生产地", "append_allowed": false }, { "name": "材质", "type": "select_one", "type_v2": "select_one", "value": "不锈钢;碳钢;金属;塑料;玻璃;硅胶;其他", "is_required": true }, { "name": "适用人群", "type": "select_one", "type_v2": "select_many", "value": "婴儿;儿童;青年;中年;老年", "is_required": false, "hint": "请选择适用的人群", "append_allowed": false }, { "name": "数量", "type": "string", "type_v2": "integer", "value": "", "is_required": true, "hint": "请设置数量", "append_allowed": false }, { "name": "精度", "type": "string", "type_v2": "decimal4", "value": "", "is_required": true, "hint": "请设置精度,支持小数点后 4 位", "append_allowed": false }, { "name": "重量", "type": "string", "type_v2": "integer_unit", "value": "mg;g;kg", "is_required": false, "hint": "请设置产品重量", "append_allowed": false }, { "name": "毛重", "type": "string", "type_v2": "decimal4_unit", "value": "mg;g;kg", "is_required": false, "hint": "请设置产品毛重", "append_allowed": false } ], "transactionfee_info": { "basis_point": 250, "original_basis_point": 250, "incentive_type": 0 }, "is_limit_brand": false }, "product_qua_list": [ { "qua_id": "1111487", "need_to_apply": true, "tips": "若涉及名人或大师作品,可提供作品授权证明/大师资质证明", "mandatory": false, "name": "作品授权证明/大师资质证明" }, { "qua_id": "1111488", "need_to_apply": true, "tips": "若涉及名人或大师作品,可提供鉴定证书", "mandatory": false, "name": "鉴定证书" }, { "qua_id": "1111489", "need_to_apply": true, "tips": "若涉及名人或大师作品,可提供收藏证书", "mandatory": false, "name": "收藏证书" } ] } ``` ``` -------------------------------- ### Product Publishing Request Example Source: https://developers.weixin.qq.com/doc/store/shop/API/category-rule/api_getcategoryproductrule An example JSON payload for requesting product publishing rules. It includes the category ID and release mode, which are used by the API to determine the relevant publishing guidelines. ```json { "cat_id": 546776, "release_mode":0 } ``` -------------------------------- ### GET /channels/ec/compass/shop/product/list/get Source: https://developers.weixin.qq.com/doc/store/shop/API/compass Retrieves a list of all products available in the shop. ```APIDOC ## GET /channels/ec/compass/shop/product/list/get ### Description Retrieves a list of all products available in the shop. ### Method GET ### Endpoint /channels/ec/compass/shop/product/list/get ### Parameters #### Query Parameters (No query parameters specified) #### Request Body (No request body specified) ### Request Example (No request example provided) ### Response #### Success Response (200) - **data** (object) - Contains the list of products in the shop. #### Response Example ```json { "data": [ { "product_id": "prod_xyz", "product_name": "Example Product", "price": 99.99 } ] } ``` ``` -------------------------------- ### Request and Response Examples for Store API Source: https://developers.weixin.qq.com/doc/store/shop/API/channels-shop-order/api_getorder This snippet shows an example of a request payload to the store API, which includes an order ID. It also provides a detailed example of a successful API response, outlining the structure of order details, payment information, delivery details, and more. This is useful for understanding the expected data formats. ```json { "order_id": "37423523451235145" } ``` ```json { "errcode": 0, "errmsg": "ok", "order": { "order_id": "37423523451235145", "status": 20, "create_time": 1658505600, "update_time": 1658505600, "order_detail": { "product_infos": [ { "product_id": 234245, "sku_id": 23424, "sku_cnt": 10, "on_aftersale_sku_cnt": 10, "finish_aftersale_sku_cnt": 0, "title": "健身环", "thumb_img": "https://mmecimage.cn/p/wx37f38d59298839c3/HJE9eJaEc5bJk-eaArVdILSB7MMaHgdK2-JIn51nMQ", "sale_price": 2000, "market_price": 2000, "sku_attrs": [ { "attr_key": "产地", "attr_value": "四川成都" }, { "attr_key": "材质", "attr_value": "玻璃" }, { "attr_key": "适用人群", "attr_value": "青年;中年" }, { "attr_key": "数量", "attr_value": "33" }, { "attr_key": "精度", "attr_value": "3.001" }, { "attr_key": "重量", "attr_value": "38 mg" }, { "attr_key": "毛重", "attr_value": "380 kg" } ] } ], "pay_info": { "prepay_id": "42526234625", "transaction_id": "131456479687", "prepay_time": 1658509200, "pay_time": 1658509200, "payment_method":1 }, "price_info": { "product_price": 20000, "order_price": 10500, "freight": 500, "discounted_price": 10000, "is_discounted": true }, "delivery_info": { "address_info": { "user_name": "陈先生", "postal_code": "2435245", "province_name": "广东", "city_name": "广州", "county_name": "海珠区", "detail_info": "大塘", "tel_number": "24534252" }, "delivery_product_info": [ { "waybill_id": "134654612313", "delivery_id": "STO", "delivery_time": 1620738080, "deliver_type": 1, "product_infos": [ { "product_id": "234245", "sku_id": "23424", "product_cnt": 1 } ] } ], "ship_done_time": 1620738080, "deliver_method":0 }, "coupon_info":{ "user_coupon_id":"301234567890" }, "ext_info": { "customer_notes": "发顺丰", "merchant_notes": "库存不足,取消", "finder_id": "sph3FZbOEY46mAB", "live_id": "export/UzFfAgtgekIEAQAAAAAAt40WWe5njQAAAAstQy6ubaLX4KHWvLEZgBPE5KNoYRJdUeaEzNPgMJq4tEJ8QSCaA2N_Iua2abcd", "order_scene": 2 }, "sharer_info":{ "sharer_openid": "SHAREROPENID", "sharer_unionid": "SHARERUNIONID", "sharer_type": 1, "share_scene": 1, "handling_progress": 1 }, "settle_info":{ "commission_fee" : 10, "predict_commission_fee": 10 }, "sku_sharer_infos":[ { "sharer_openid": "SHAREROPENID", "sharer_unionid": "SHARERUNIONID", "sharer_type": 1, "share_scene": 1, "sku_id": "23424" } ] }, "aftersale_detail": { "aftersale_order_list": [ { "aftersale_order_id": "1234", "status": 13 } ], "on_aftersale_order_cnt": 1 }, "openid": "OPENID" } } ``` -------------------------------- ### GET /channels/ec/basics/info/get Source: https://developers.weixin.qq.com/doc/store/shop/API/storemanage/api_mmecapi_basicinfo 通过此接口可以获取微信小店的基本信息,包括店铺名称、头像、类型、状态等。该接口支持服务器端调用。 ```APIDOC ## GET /channels/ec/basics/info/get ### Description 获取微信小店的基本信息,例如店铺名称、头像、类型、状态等。 ### Method GET ### Endpoint https://api.weixin.qq.com/channels/ec/basics/info/get ### Parameters #### Query Parameters - **access_token** (string) - Required - 接口调用凭证,可使用 access_token(微信小店商家)、authorizer_access_token(服务商代调用) #### Request Body None ### Request Example ``` GET https://api.weixin.qq.com/channels/ec/basics/info/get?access_token=ACCESS_TOKEN ``` ### Response #### Success Response (200) - **errcode** (number) - 错误码 - **errmsg** (string) - 错误信息 - **info** (object) - 店铺信息 - **nickname** (string) - 店铺名称 - **headimg_url** (string) - 店铺头像URL - **subject_type** (string) - 店铺类型,目前为"企业"或"个体工商户" - **status** (string) - 店铺状态,目前为"opening"或"open_finished"或"closing"或"close_finished" - **username** (string) - 店铺原始ID - **is_local_life** (number) - 是否本地生活小店 - **open_timestamp** (timestamp) - 店铺状态为"open_finished"时,返回开店时间戳 #### Response Example ```json { "errcode": 0, "errmsg": "ok", "info": { "nickname": "NICKNAME", "headimg_url": "HEADIMG_URL", "subject_type": "企业", "status": "opening", "username": "USERNAME" } } ``` ### Error Handling - **43001**: 需要使用 HTTP GET ``` -------------------------------- ### GET /channels/ec/product/stock/batchget Source: https://developers.weixin.qq.com/doc/store/shop/API/channels-shop-product This endpoint retrieves the inventory information for all SKUs of a product. ```APIDOC ## GET /channels/ec/product/stock/batchget ### Description Retrieves the inventory information for all SKUs of a product. ### Method GET ### Endpoint /channels/ec/product/stock/batchget ### Parameters #### Path Parameters - **product_id** (string) - Required - The ID of the product. ### Request Example { "product_id": "12345" } ### Response #### Success Response (200) - **stock_info_list** (array) - The stock information for all SKUs of the product. #### Response Example { "stock_info_list": [ { "sku_id": "123", "quantity": 100 }, { "sku_id": "456", "quantity": 50 } ] } ``` -------------------------------- ### GET /channels/ec/compass/shop/live/list/get Source: https://developers.weixin.qq.com/doc/store/shop/API/compass Retrieves a list of live streams initiated by the shop. ```APIDOC ## GET /channels/ec/compass/shop/live/list/get ### Description Retrieves a list of live streams initiated by the shop. ### Method GET ### Endpoint /channels/ec/compass/shop/live/list/get ### Parameters #### Query Parameters (No query parameters specified) #### Request Body (No request body specified) ### Request Example (No request example provided) ### Response #### Success Response (200) - **data** (object) - Contains the list of live streams. #### Response Example ```json { "data": [ { "live_id": "live_123", "title": "Shop Live Stream", "start_time": "2023-10-27T10:00:00Z" } ] } ``` ``` -------------------------------- ### Get Homepage Banners Response Example Source: https://developers.weixin.qq.com/doc/store/shop/API/homepage/banner/api_getbanner Example JSON response for the get homepage banners API call. It includes details about product banners, finder banners, and official account banners, along with application status. ```json { "errcode": 0, "errmsg": "ok", "banner": { "scale": 2, "banner": [ { "type": 1, "product": { "product_id": 123 }, "banner": { "img_url": "https://store.mp.video.tencent-cloud.com/abc", "title": "测试商品展示位标题", "description": "测试商品展示位描述" } }, { "type": 3, "finder": { "finder_user_name": "sphabc", "feed_id": "export/abc" }, "banner": { "img_url": "https://store.mp.video.tencent-cloud.com/bcd", "title": "测试视频号视频展示位标题", "description": "测试视频号视频展示位描述" } }, { "type": 4, "official_account": { "url": "http://mp.weixin.qq.com/abc" }, "banner": { "img_url": "https://store.mp.video.tencent-cloud.com/cde", "title": "测试公众号文章展示位标题", "description": "测试公众号文章展示位描述" } } ] }, "apply": { "apply_id": 123, "state": 2, "scale": 2, "banner": [ { "audit_state" : 1, "audit_desc" : "图片不合规", "banner": { "type": 1, "product": { "product_id": 456 }, "banner": { "img_url": "https://store.mp.video.tencent-cloud.com/xyz", "title": "测试商品展示位标题", "description": "测试商品展示位描述" } } }, { "audit_state" : 1, "audit_desc" : "图片不合规", "banner": { "type": 4, "official_account": { "url": "http://mp.weixin.qq.com/xyz" }, "banner": { "img_url": "https://store.mp.video.tencent-cloud.com/wxy", "title": "测试公众号文章展示位标题", "description": "测试公众号文章展示位描述" } } }, { "audit_state" : 1, "audit_desc" : "图片不合规", "banner": { "type": 3, "finder": { "finder_user_name": "sphxyz", "feed_id": "export/xyz" }, "banner": { "img_url": "https://store.mp.video.tencent-cloud.com/vwx", "title": "测试视频号视频标题", "description": "测试视频号视频描述" } } } ] } } ``` -------------------------------- ### Order Query Request Example Source: https://developers.weixin.qq.com/doc/store/shop/API/funds/funds/api_listorderflow This JSON object demonstrates a sample request payload for querying orders. It includes parameters for order settlement state, order state, payment method, time range, and pagination. ```json { "order_settle_state": 1, "order_state": 30, "order_pay_method": 0, "order_create_time_range": { "begin": 1761926400, "end": 1762876799 }, "pagination_info": { "limit": 20, "offset": 0 } } ``` -------------------------------- ### Get Addresses Example Source: https://developers.weixin.qq.com/doc/store/shop/API/warehouse/api_getaddresscode This endpoint retrieves address information, potentially for use in shipping or location-based services within the WeChat Shop. ```APIDOC ## POST /websites/developers_weixin_qq_doc_store_shop_api/get_addresses ### Description This endpoint retrieves address information, potentially for use in shipping or location-based services within the WeChat Shop. It requires an `addr_code` in the request body to specify the desired address level or type. ### Method POST ### Endpoint /websites/developers_weixin_qq_doc_store_shop_api/get_addresses ### Parameters #### Request Body - **addr_code** (integer) - Required - The code representing the address to retrieve. ### Request Example ```json { "addr_code": 0 } ``` ### Response #### Success Response (200) - **errcode** (integer) - Error code, 0 for success. - **errmsg** (string) - Error message, "ok" for success. - **addrs_msg** (object) - Contains details of the requested address. - **name** (string) - The name of the address (e.g., country, province). - **code** (integer) - The code for the address. - **level** (integer) - The level of the address (e.g., country, province, city). - **next_level_addrs** (array) - A list of addresses at the next level. - Each item in the array is an object with: - **name** (string) - The name of the next level address. - **code** (integer) - The code for the next level address. - **level** (integer) - The level of the next level address. #### Response Example ```json { "errcode": 0, "errmsg": "ok", "addrs_msg": { "name": "中华人民共和国", "code": 0, "level": 0 }, "next_level_addrs": [ { "name": "澳门特别行政区", "code": 820000000, "level": 1 }, { "name": "香港特别行政区", "code": 810000000, "level": 1 }, { "name": "宁夏回族自治区", "code": 640000000, "level": 1 } ] } ``` ### Error Codes - **10021402**: Invalid address code. ``` -------------------------------- ### WeChat Mini Store Favorites Count Response Example Source: https://developers.weixin.qq.com/doc/store/shop/API/favorite/shopfavorite/api_getfavoritescount This is an example of the JSON response received from the GetFavoritesCount API. It includes the count of users who favorited the store homepage, order detail page, product detail page, other scenes, and the total count, along with error codes. ```JSON { "favor_uv_acc_shop_homepage": 0, "favor_uv_acc_order_detail": 0, "favor_uv_acc_product_detail": 0, "favor_uv_acc_other_scene": 0, "favor_uv_acc_all": 0 } ``` -------------------------------- ### POST /channels/ec/product/qrcode/get Source: https://developers.weixin.qq.com/doc/store/shop/API/channels-shop-product/shop/api_getproductqrcode 通过此接口获取微信小店商品的二维码。支持传入企业微信参数,以便追踪订单来源。 ```APIDOC ## POST /channels/ec/product/qrcode/get ### Description 通过此接口获取微信小店商品的二维码。支持传入企业微信参数,以便追踪订单来源。 ### Method POST ### Endpoint https://api.weixin.qq.com/channels/ec/product/qrcode/get?access_token=ACCESS_TOKEN ### Parameters #### Query Parameters - **access_token** (string) - Required - 接口调用凭证,可使用 access_token(微信小店商家)、authorizer_access_token(服务商代调用) #### Request Body - **product_id** (string) - Required - 商品ID - **qrcode_type** (number) - Optional - 二维码类型,缺省值为1. Enum: 1 (二维码), 2 (标准物料), 3 (送礼物物料) - **wecom_corp_id** (string) - Optional - 小店通过关联账号绑定的企业微信id - **wecom_user_id** (string) - Optional - 小店通过关联账号绑定的企业微信下的成员id ### Request Example ```json { "product_id": "324545" } ``` ### Response #### Success Response (200) - **errcode** (number) - 错误码 - **errmsg** (string) - 错误信息 - **product_qrcode** (string) - 商品二维码链接 #### Response Example ```json { "errcode": 0, "errmsg": "ok", "product_qrcode": "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SH/reserved/642a2b730001a542dbe0b846bcc4b00b002000a1000f4f50" } ``` ### Error Handling - **10020050**: 无权限调用该api - **10020051**: 参数有误 - **10020052**: 商品不存在 - **10020065**: 商品未上架 - **10020091**: 不支持该类型的商品 - **10021404**: 企业微信未绑定店铺 - **10021405**: 该成员不是该企业微信成员 ``` -------------------------------- ### Shop API Request and Response Examples Source: https://developers.weixin.qq.com/doc/store/shop/API/channels-shop-delivery/ewaybill/api_ewaybill_getorder Demonstrates the JSON structure for requests and responses for the Shop API. The request example shows the required 'ewaybill_order_id' parameter. The response example details the 'order_info' object, including sender, receiver, order list, and status information. ```json { "ewaybill_order_id":"11111" } ``` ```json { "errcode": 0, "errmsg": "ok", "order_info": { "ewaybill_order_id": "1111", "delivery_id": "xxxx", "site_code": "1111", "ewaybill_acct_id": "1111", "sender": { "name": "test", "mobile": "1111", "province": "静安区", "city": "上海市", "county": "静安区", "street": "xxxxx", "address": "xxxxxx" }, "receiver": { "name": "test", "mobile": "11111", "province": "上海市", "city": "上海市", "county": "青浦区", "street": "xxxx", "address": "xxxxxxx" }, "ec_order_list": [{ "ec_order_id": 1111, "goods_list": [{ "good_name": "电子资料书,", "good_count": 1, "product_id": 111, "sku_id": 11 }] }], "remark": "test", "shop_id": "xxxx", "waybill_id": "xxxx", "status": 2, "path_info": [{ "update_time": 11, "status": 1, "desc": "xxxx" }] } } ``` -------------------------------- ### WeChat Shop API - Notes and Examples Source: https://developers.weixin.qq.com/doc/store/shop/API/category-rule/api_getcategoryproductrule Important notes, code examples, and error codes for using the WeChat Shop API. ```APIDOC ## Notes (Specific notes and considerations for using the API) ## Code Example (Code snippets demonstrating API usage) ## Error Codes (List of possible error codes and their meanings) ``` -------------------------------- ### 获取接口调用凭据 (HTTP GET) Source: https://developers.weixin.qq.com/doc/store/shop/API/apimgnt/api_getaccesstoken 通过 HTTP GET 请求获取全局唯一的后台接口调用凭据(Access Token)。需要提供 grant_type, appid, 和 secret 作为查询参数。凭证有效期为 7200 秒。 ```HTTP GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET ``` -------------------------------- ### Product Information Request Example (JSON) Source: https://developers.weixin.qq.com/doc/store/shop/API/channels-shop-product/shop/api_updateproduct This JSON object represents a sample request payload for retrieving or updating product information. It includes details such as product ID, title, images, descriptions, categories, attributes, and SKU information. This structure is used for creating or modifying product listings. ```json { "product_id": "10000000089215", "title": "任天堂 Nintendo Switch 国行续航增强版 NS家用体感游戏机掌机 便携掌上游戏机 红蓝主机", "short_title": "任天堂 Nintendo Switch 国行续航增强版", "head_imgs": [ "https://mmecimage.cn/p/wx37f38d59298839c3/HJE9eJaEc5bJk-eaArVdILSB7MMaHgdK2-JIn51nMQ" ], "desc_info": { "imgs": [ "https://mmecimage.cn/p/wx37f38d59298839c3/HJE9eJaEc5bJk-eaArVdILSB7MMaHgdK2-JIn51nMQ" ], "desc": "物美价廉" }, "cats": [], "cats_v2": [ { "cat_id": "10000111" }, { "cat_id": "10000113" }, { "cat_id": "6091" } ], "attrs": [ { "attr_key": "产地", "attr_value": "四川成都" }, { "attr_key": "材质", "attr_value": "玻璃" }, { "attr_key": "适用人群", "attr_value": "青年;中年" }, { "attr_key": "数量", "attr_value": "33" }, { "attr_key": "精度", "attr_value": "3.001" }, { "attr_key": "重量", "attr_value": "38 mg" }, { "attr_key": "毛重", "attr_value": "380 kg" } ], "express_info": { "template_id": "47428464001" }, "skus": [ { "sku_id": "462966903", "thumb_img": "https://mmecimage.cn/p/wx37f38d59298839c3/HJE9eJaEc5bJk-eaArVdILSB7MMaHgdK2-JIn51nMQ", "sale_price": 1300, "stock_num": 100, "sku_code": "A24525252", "sku_attrs": [ { "attr_key": "产地", "attr_value": "四川成都" }, { "attr_key": "材质", "attr_value": "玻璃" }, { "attr_key": "适用人群", "attr_value": "青年;中年" }, { "attr_key": "数量", "attr_value": "33" }, { "attr_key": "精度", "attr_value": "3.001" }, { "attr_key": "重量", "attr_value": "38 mg" }, { "attr_key": "毛重", "attr_value": "380 kg" } ], "sku_deliver_info": { "stock_type":0 } }, { "thumb_img": "https://mmecimage.cn/p/wx37f38d59298839c3/HJE9eJaEc5bJk-eaArVdILSB7MMaHgdK2-JIn51nMQ", "sale_price": 1000, "stock_num": 100, "sku_code": "A24525252", "sku_attrs": [ { "attr_key": "产地", "attr_value": "四川成都" }, { "attr_key": "材质", "attr_value": "玻璃" }, { "attr_key": "适用人群", "attr_value": "青年;中年" }, { "attr_key": "数量", "attr_value": "33" }, { "attr_key": "精度", "attr_value": "3.001" }, { "attr_key": "重量", "attr_value": "38 mg" }, { "attr_key": "毛重", "attr_value": "380 kg" } ], "sku_deliver_info": { "stock_type":0 } } ], "product_qua_infos": [ { "qua_id": "1111488", "qua_url": [ "https://mmecimage.cn/p/wx37f38d59298839c3/HJE9eJaEc5bJk-eaArVdILSB7MMaHgdK2-JIn51nMQ", "https://mmecimage.cn/p/wx37f38d59298839c3/HJE9eJaEc5bJk-eaArVdILSB7MMaHgdK2-JIn71nCC" ] }, { "qua_id": "1111489", "qua_url": [ "https://mmecimage.cn/p/wx37f38d59298839c3/HJE9eJaEc5bJk-eaArVdILSB7MMaHgdK2-JIn51nMQ", "https://mmecimage.cn/p/wx37f38d59298839c3/HJE9eJaEc5bJk-eaArVdILSB7MMaHgdK2-JIn71nCC" ] } ] } ```