Summary
Let your AI work with your SHEIN seller shop: orders, buyer address and tracking upload, parcel tracking, products with prices and stock, stock and price updates, categories and attributes, after-sales cases and returns.
Guided setup
Connect SHEIN Seller to Claude, ChatGPT or Copilot in 2 minutes
Start a free trial on AnythingMCP Cloud, connect SHEIN Seller in the guided setup, then add your MCP URL to your AI assistant. No code and no server to run.
No credit card · 7-day trial · Self-host alternative available
Try asking
Example prompts for SHEIN Seller
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → SHEIN Seller, paste the App ID and App Secret, click Authorize with Provider and approve with the shop's main account on SHEIN, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
SHEIN Seller
Let your AI work with your SHEIN seller shop: orders, buyer address and tracking upload, parcel tracking, products with prices and stock, stock and price updates, categories and attributes, after-sales cases and returns.
Setup
What you need: a SHEIN Open Platform developer account of the type Seller Self-Developed (verified with the shop's merchant information), an approved app of the shop's cooperation mode, and the shop's main account to approve it. About 20 minutes of work, plus SHEIN's reviews of the account and the app.
- Register at https://open.sheincorp.com, choose the developer type Seller Self-Developed and submit the merchant information it asks for (all of it is in the seller backend). The type cannot be changed once approved.
- In the console open Application Management and create an application. Pick the application type of the shop's cooperation mode: Self-Operated or Semi-Managed for a marketplace shop (a shop in several modes needs one app per mode). Name, icon and description are shown to sellers and cannot be edited after submitting. SHEIN reviews the app; until it is approved there is no valid App ID or App Secret.
- On the app's details page check the API Permission Package: the order, product, inventory, after-sales and return APIs must be subscribed (usually granted with the approval; otherwise click Apply for Permission Package). Add this server's outbound IP address to the app's IP whitelist: SHEIN refuses production calls from any other address (
openapi00002). On AnythingMCP Cloud the setup page shows the address. - Copy the App ID into
SHEIN_APP_IDand the App Secret intoSHEIN_APP_SECRET, and pick the API address forSHEIN_API_HOST:https://openapi.sheincorp.comfor self-operated and semi-managed apps,https://openapi.sheincorp.cnfor fully managed, SHEIN-operated and other apps. - Install the connector and click Authorize with Provider (the last step of the setup guide does it). SHEIN's page opens: sign in to the seller backend with the shop's main account and click the authorize button. SHEIN sends the browser back to
<SERVER_URL>/api/shein-auth/callback(on AnythingMCP Cloud:https://cloud.anythingmcp.com/api/shein-auth/callback) and the connector fetches the shop's key within the 10 minutes SHEIN allows.
The shop key: SHEIN hands over the shop's openKeyId and secretKey (the secretKey encrypted with the App Secret, which AnythingMCP decrypts once); both are stored encrypted on the connector. SHEIN documents no lifetime and no renewal for them. An authorization ends when the seller unbinds the app or resets the key, the shop is closed, SHEIN resets or unbinds it, or it expires: calls then fail with openapi00004 ("The user has expired"), the connector shows that it needs a new authorization, and someone clicks Authorize with Provider again.
How it signs: every call carries x-lt-openKeyId, x-lt-timestamp (Unix milliseconds) and x-lt-signature: five random characters followed by the Base64 of the lower-case hex HMAC-SHA256 of openKeyId×tamp&path, keyed with the secretKey plus those five characters. The query is not signed. A timestamp is valid for 5 minutes, so the server clock must be right.
Where to start: shein_get_store_info checks the authorization and names the shop; shein_list_sites gives the site codes and currencies.
- Orders:
shein_list_orders(a window of at most 48 hours is mandatory), thenshein_get_ordersfor up to 30 at once. Only orders with stockMode 3 are shipped by the seller; printOrderStatus 1 means the order can be handled now. - Shipping it yourself:
shein_get_order_address(handle_type 2 also moves the order to be shipped),shein_list_warehouse_addresses,shein_list_shipping_channels, thenshein_upload_tracking_numbersper piece (goodsId).shein_get_logistics_trackfollows the parcel. SHEIN marks the order shipped when the carrier scans it.shein_confirm_out_of_stockis switched off at install. - Products:
shein_search_products(codes, shelf status, prices, stock and campaign locks),shein_list_products(all codes),shein_get_product(one SPU in full). For new listings:shein_get_category_tree,shein_get_attribute_templates,shein_list_brands.shein_set_skc_shelf_statusis switched off at install. - Stock and prices:
shein_list_warehouses,shein_get_stock,shein_update_stock(with an idempotency key per line),shein_update_prices(raises may wait for SHEIN's price review).shein_get_sku_salesgives units sold for managed shops. - After sales:
shein_list_after_sales_ordersandshein_get_after_sales_orders,shein_list_return_ordersandshein_get_return_ordersonly read;shein_sign_return_orderis switched off at install.
Codes, times and amounts: SPU, SKC and SKU codes (spuName, skcName, skuCode) are SHEIN's; supplierCode and supplierSku are the seller's own. A SKU sold several times has one goodsId per piece, and tracking numbers, cancellations and return receipts work per goodsId. goodsId values are 64-bit numbers: the connector reads every id too long for a JavaScript number as text with its exact digits, and the tools take ids as text and send them to SHEIN as numbers, so copy them exactly as an order or return shows them. Order, after-sales and return windows are Beijing time (UTC+8) as yyyy-MM-dd HH:mm:ss; order details answer with yyyy-MM-dd'T'HH:mm:ss.SSSZ, tracking events with Unix milliseconds. Amounts are decimals in the currency named next to them (orderCurrency, currency, currencyCode).
Limits: every API has its own calls-per-second limit per app (20 for product search, 30 to 300 for the others), answered with openapi00006 or 832213 when exceeded. Order and return lists page by 30, product search by 10; an order window returns at most 10,000 orders, the product list at most 50,000 codes. The same SKC and site can change shelf status once per 20 minutes.
Answers and errors: SHEIN answers with code "0" and the result in info; any other code is an error with msg and a traceId to quote to SHEIN support within three days. The connector asks for English messages (language: en). openapi00001: the signature was refused; with a correct server clock this means the shop key changed (re-authorized or reset elsewhere), so authorize again. openapi00002: this server's IP address is not on the app's whitelist. openapi00003: the app has no permission for this API, the API is not for the shop's mode, or the developer account is disabled. openapi00004: the authorization has ended; authorize again. Write calls that take a list answer code 0 and name the refused lines (failedList, failure_results or info).
Prerequisites: SHEIN_API_HOST, SHEIN_APP_ID, SHEIN_APP_SECRET
Install the connector locally
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Open http://localhost:3000/connectors/store, pick SHEIN Seller and paste in the env vars listed under Prerequisites.
Available tools
| Tool | What it does |
|---|---|
shein_get_store_info | The authorized SHEIN shop: storeInfo (supplierId, storeName and storeStatus 1 enabled or 0 disabled, the last two for self-operated and… |
shein_list_sites | The sites the shop sells on: main_site and main_site_name, then sub_site_list with site_abbr (the site code the price and shelf tools take… |
shein_list_orders | List customer orders of a self-operated or semi-managed shop in a time window of at most 48 hours. Returns count and orderList, each with… |
shein_get_orders | Read up to 30 orders in full: orderStatus, orderType (1 normal, 2 exchange), printOrderStatus (1 when the address can be exported and a… |
shein_get_order_address | Export the buyer's shipping address of one order: receiveMsgList with firstName, middleName, lastName, country, province, city, district… |
shein_list_warehouse_addresses | The seller's shipping warehouse addresses for SHEIN partner logistics: openApiAddressInfos with warehouseAddressCode (what… |
shein_list_shipping_channels | The carriers this shop may use: expressChannels for its own shipping (site, expressIdCode such as UPS or DHL ecommerce, expressChannelCode)… |
shein_upload_tracking_numbers | Upload, replace or delete the tracking numbers of an order the seller ships itself, per piece (goodsId from shein_get_orders; several… |
shein_get_logistics_track | Tracking events of an order's parcel or of a return: trackInfo, one entry per waybill with carrier, waybillNo, waybillType (1 first leg, 2… |
shein_confirm_out_of_stock | Cancel one piece of an order because it is out of stock: its storageTag becomes 3 and SHEIN later refunds the buyer (newGoodsStatus 6).… |
shein_search_products | Search the shop's products by SHEIN codes, the seller's own codes, shelf status, category and time. Returns meta.count and data, one entry… |
shein_list_products | List every published product as codes only: data with spuName, skcName and skuCodeList (up to 40 SKUs per SKC). For names, prices and stock… |
shein_get_product | One approved SPU in full: categoryId, productTypeId, brandCode, supplierCode, productMultiNameList and productMultiDescList per language… |
shein_get_category_tree | The product categories this shop may use, as a tree: category_id, category_name, parent_category_id, last_category (true for a leaf)… |
shein_get_attribute_templates | The attributes this shop may or must fill for up to 10 product types: per product_type_id, attribute_infos with attribute_id… |
shein_list_brands | The brands this shop may publish under: data with brand_code and brand_name. No parameters |
shein_list_warehouses | The seller's warehouses of a self-operated or semi-managed shop: list with warehouseCode (what shein_update_stock needs when the shop has… |
shein_get_stock | Stock of SKUs, SKCs or SPUs: goodsInventory per SKC with skuList, each with skuCode, totalInventoryQuantity, totalUsableInventory (what can… |
shein_update_stock | Change the sellable stock of up to 100 SKUs of a self-operated or semi-managed shop. Each item: idempotencyKey (a unique text; a repeat… |
shein_update_prices | Set the selling price of up to 100 SKUs per site (self-operated shops). Each item: productCode (the skuCode), site (a sub-site such as… |
shein_get_sku_sales | Units sold per SKU: dataList with skuCode, realTimeSaleCnt (today), cydSaleCnt (yesterday), c7dSaleCnt and c30dSaleCnt (last 7 and 30 days)… |
shein_set_skc_shelf_status | Put SKCs on shelf or take them off shelf on chosen sites, up to 100 entries. Each entry: skc_name, site_list (sub-sites such as shein-fr)… |
shein_list_after_sales_orders | List after-sales cases of a self-operated or semi-managed shop in a window of at most 48 hours: count and list with aftersalesOrderNo… |
shein_get_after_sales_orders | Read up to 10 after-sales cases: site, orderNo, returnOrderNo, aftersalesOrderSubStatus, aftersalesResolutionPlan (1 return and refund, 2… |
shein_list_return_orders | List return orders of a self-operated or semi-managed shop in a window (48 hours by default): count and returnOrderList with returnOrderNo… |
shein_get_return_orders | Read up to 30 return orders: returnOrderStatus, orderNo, site, noReturnGoodsSign (1 refund without return), returnOrderTagCode, tracking… |
shein_sign_return_order | Confirm that the seller received returned pieces of a return order (goodsId values from shein_get_return_orders). This settles the return… |
Example prompts
- "Which SHEIN orders from the last 24 hours can I handle now?"
- "Upload the UPS tracking number 1Z999AA10123456784 for both pieces of order GSH12345678901."
- "Which of my SKUs have fewer than 10 units in stock?"
- "Set the stock of SKU code I8xk2m4p0q in my main warehouse to 60."
- "Which return orders and after-sales cases came in this week, and what do the buyers say?"
Next steps
Was this guide helpful?