Produtos na Shopee
Lista os anúncios da loja na Shopee, publica um produto e retira um anúncio.
Publicar cria o anúncio na Shopee a partir de um produto do catálogo e guarda o vínculo entre os dois. Estas rotas exigem a loja conectada (veja Conectar a loja), o módulo shopee ativo e o privilégio manage_shopee ou manage_settings.
Listar anúncios
/api/v1/admin/shopee/productsAdminAnúncios da loja na Shopee
Parâmetros de consulta
pageintegerpadrão: 1Página, a partir de 1.
per_pageintegerpadrão: 20Itens por página, de 1 a 100. Acima de 100 volta para 20.
statusstringactiveinactivebannedreviewingFiltra pelo estado do anúncio. Aceita a palavra ou a letra equivalente (
A, D, B, P).searchstringTexto contido no id do produto da loja, no id do item na Shopee ou no nome do produto.
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/admin/shopee/products?status=active&per_page=20" \
-H "Authorization: Bearer $TOKEN"Resposta
200Anúncios
json
{
"items": [
{
"id": "3",
"shopee_item_id": "900000002",
"platform_product_id": "e69bddd5-1458-4700-a970-6aa7cc410671",
"platform_product_name": "Camiseta Algodão Preta",
"status": "inactive",
"price": 5000,
"stock": 3,
"last_synced": "2026-07-14T02:00:23.871468Z",
"created_at": "2026-07-14T02:00:23.871468Z",
"updated_at": "2026-07-20T09:25:14.952513Z"
}
],
"products": [
{
"id": "3",
"shopee_item_id": "900000002",
"platform_product_id": "e69bddd5-1458-4700-a970-6aa7cc410671",
"platform_product_name": "Camiseta Algodão Preta",
"status": "inactive",
"price": 5000,
"stock": 3,
"last_synced": "2026-07-14T02:00:23.871468Z",
"created_at": "2026-07-14T02:00:23.871468Z",
"updated_at": "2026-07-20T09:25:14.952513Z"
}
],
"total": 3,
"page": 1,
"per_page": 20,
"total_pages": 1
}Campos da resposta
items / productsarrayO mesmo array nas duas chaves (a segunda existe por compatibilidade). Use
items.items[].idstringId do vínculo (número inteiro enviado como texto).
items[].shopee_item_idstringId do item na Shopee (inteiro como texto).
items[].platform_product_iduuidId do produto no catálogo da loja.
items[].platform_product_namestringNome do produto no catálogo. Pode vir vazio.
items[].statusstringactiveinactivebannedreviewingEstado do anúncio.
items[].priceintegerPreço em centavos.
items[].stockintegerEstoque anunciado.
items[].shopee_urlstringEndereço do anúncio na Shopee, quando conhecido.
items[].last_synced / created_at / updated_atstringDatas (RFC 3339, UTC).
total / page / per_page / total_pagesintegerPaginação.
Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_shopee","manage_settings"]} |
| 403 | O módulo shopee não está ativo nesta loja. | {"error":"module_disabled","module":"shopee"} |
| 410 | A loja usa exclusivamente o Hub de Marketplaces (markethub) e este conector antigo está bloqueado. | {"error":"crs_markethub_only","moved_to":"markethub"} |
| 500 | Falha ao listar. | {"error":"Failed to list products"} |
Publicar produto
/api/v1/admin/shopee/products/{id}/publishAdminPublica um produto na Shopee
Parâmetros de caminho
idstringobrigatórioId (UUID) do produto no catálogo da loja. Também aceita o id numérico de um anúncio já existente, para republicar.
Exemplo de requisição
bash
curl -X POST "$BASE_URL/api/v1/admin/shopee/products/e69bddd5-1458-4700-a970-6aa7cc410671/publish" \
-H "Authorization: Bearer $TOKEN"Resposta
200Publicado
json
{
"success": true,
"result": {
"shopee_item_id": 900000002
}
}Campos da resposta
successbooleanSempre
true.result.shopee_item_idintegerId do novo item na Shopee.
Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_shopee","manage_settings"]} |
| 403 | O módulo shopee não está ativo nesta loja. | {"error":"module_disabled","module":"shopee"} |
| 410 | A loja usa exclusivamente o Hub de Marketplaces (markethub) e este conector antigo está bloqueado. | {"error":"crs_markethub_only","moved_to":"markethub"} |
| 400 | A loja ainda não está conectada à Shopee. | {"error":"not_connected","detail":"Conecte-se ao Shopee antes de publicar produtos."} |
| 500 | Produto não existe, a Shopee recusou o cadastro ou a comunicação falhou. A mensagem da Shopee vem no texto. | {"error":"Failed to publish product: shopee: add_item error: ..."} |
Retirar anúncio
/api/v1/admin/shopee/products/{id}AdminRetira um anúncio da Shopee
Parâmetros de caminho
idstringobrigatórioId do produto no catálogo (UUID), ou o id numérico do anúncio.
Exemplo de requisição
bash
curl -X DELETE "$BASE_URL/api/v1/admin/shopee/products/e69bddd5-1458-4700-a970-6aa7cc410671" \
-H "Authorization: Bearer $TOKEN"Resposta
200Retirado
json
{
"success": true
}Campos da resposta
successbooleanSempre
true.Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_shopee","manage_settings"]} |
| 403 | O módulo shopee não está ativo nesta loja. | {"error":"module_disabled","module":"shopee"} |
| 410 | A loja usa exclusivamente o Hub de Marketplaces (markethub) e este conector antigo está bloqueado. | {"error":"crs_markethub_only","moved_to":"markethub"} |
| 400 | A loja não está conectada. | {"error":"not_connected","detail":"Conecte-se ao Shopee antes de despublicar produtos."} |
| 500 | A Shopee recusou ou a comunicação falhou. | {"error":"Failed to unpublish product: ..."} |