VI | EN
Message us on Messenger
Developer resources

This API supports publishing an existing item from the mart shop to an outlet shop. — Shopee API

v2.product.publish_item_to_outlet_shop · call it through Quantri360 with one API key for your own accounts / assets that you connected and authorized — 360 handles request signing and refreshing the authorization you granted.

v2.product.publish_item_to_outlet_shop

POST/api/v2/product/publish_item_to_outlet_shopVia 360: POST https://partner.quantri360.com/v1/shopee/api/v2/product/publish_item_to_outlet_shop
Write endpoint — changes data on Shopee. The key must be created with "Allow write API calls" ticked, otherwise you get 403 write_not_allowed. Every call is logged.
Description

Đăng sản phẩm từ shop Mart sang shop Outlet trên sàn, kèm ánh xạ phân loại, giá, tồn và vận chuyển. Chỉ áp dụng mạng shop Mart/Outlet có quyền liên kết.

  • Gọi qua /v1/shopee/api/v2/product/publish_item_to_outlet_shop với Authorization: Bearer <key>; dùng platform_shop_id khi có nhiều shop. 360 tự gắn partner_id, shop_id, sign và access_token.
  • API GHI: thay đổi dữ liệu/tính năng trên sàn như mô tả; cần key có quyền ghi (can_write) và gói mở module Sản phẩm. Kiểm tra shop, mã sản phẩm và nội dung trước khi gửi.

Request

Endpoint

POST https://partner.quantri360.com/v1/shopee/api/v2/product/publish_item_to_outlet_shop

Authentication & shop

NameInTypeSampleDescription
AuthorizationheaderheaderBearer q360_live_ab12cd34_…Khóa API của brand (tạo ở mục API key). Bắt buộc với mọi request. Brand suy từ key — không truyền mã brand.
platform_shop_idquerystring100001Gian hàng (lấy ở GET /v1/platforms → shops[].platform_shop_id). BẮT BUỘC khi brand có > 1 gian hàng trên nền tảng; 360 bỏ tham số này trước khi chuyển tiếp.

Request parameters

NameInTypeRequiredSampleDescription
mart_item_idbodyint64Yes100001Mã sản phẩm nguồn tại shop Mart.
outlet_shop_idbodyint64Yes100001Mã shop Outlet được liên kết với shop Mart.
publish_itembodyobjectYesCấu hình sản phẩm sẽ đăng sang shop Outlet.

Request examples

curl -s -X POST "https://partner.quantri360.com/v1/shopee/api/v2/product/publish_item_to_outlet_shop" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"mart_item_id":100001,"outlet_shop_id":100001,"publish_item":{}}'
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.post(
    "https://partner.quantri360.com/v1/shopee/api/v2/product/publish_item_to_outlet_shop",
    params={},
    json={
        "mart_item_id": 100001,
        "outlet_shop_id": 100001,
        "publish_item": {}
    },
    headers={"Authorization": f"Bearer {KEY}"},
    timeout=60,
)
print(r.status_code)
print(r.json())
Node.js
const KEY = 'q360_live_...'; // khóa API của brand
const url = new URL('https://partner.quantri360.com/v1/shopee/api/v2/product/publish_item_to_outlet_shop');
for (const [k, v] of Object.entries({})) url.searchParams.set(k, typeof v === 'object' ? JSON.stringify(v) : String(v));
const r = await fetch(url, {
  method: 'POST',
  headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({"mart_item_id":100001,"outlet_shop_id":100001,"publish_item":{}}),
});
console.log(r.status, await r.json());
PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/shopee/api/v2/product/publish_item_to_outlet_shop' . '?' . http_build_query([]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key, 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"mart_item_id":100001,"outlet_shop_id":100001,"publish_item":{}}');
$res = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $status, "\n", $res;

Response

Response fields (as returned by Shopee)

Phản hồi giữ nguyên cấu trúc của API. Xem error/message trước khi dùng response; ví dụ tham số là dữ liệu minh họa.

NameTypeSampleDescription
request_idstringd52ca43b277a4f9292fb8be658bfd33dMã request của Shopee để tra lỗi.
errorstringMã lỗi Shopee; rỗng = thành công.
messagestringMô tả lỗi.
responseobjectKết quả nghiệp vụ.
item_idint64Mã sản phẩm vừa tạo/đăng thành công.

Response sample

{
    "item_id": 1234567890
}

Shopee error codes (9)

Show
CodeMeaning
error_dataDữ liệu không tồn tại hoặc không hợp lệ cho thao tác (vd mã không có, loại yêu cầu không cho phép).
error_paramTham số sai / thiếu / sai kiểu — xem `message` để biết tham số nào.
error_serverLỗi hệ thống Shopee — thử lại sau ít phút.
error_shopGian hàng không hợp lệ — kiểm tra platform_shop_id.
error_authỦy quyền gian hàng cho 360 đã hết hạn hoặc bị thu hồi (360 đã tự làm mới token một lần) — chủ gian hàng kết nối lại Shopee trong Partner.
error_limitChạm hạn mức gọi Shopee trong ngày của kết nối — 360 trả kèm thời điểm thử lại; giảm tần suất gọi.
error_rate_limitGọi quá nhanh — chờ vài giây rồi gọi lại (360 cũng giới hạn theo key: 429 + Retry-After).
shop_bannedGian hàng đang bị Shopee khóa — mọi API tạm ngưng tới khi gỡ khóa.
error_kyc_authGian hàng chưa hoàn tất đăng ký người bán trên Kênh Người Bán.

Get started

  1. Sign up for Partner
  2. Enable a data type of the Sản phẩm group on the platform page
  3. Create an API key (tick the Shopee channel)
  4. Call it as in the examples above