Criar e gerenciar selos
Lista, cria, consulta, altera e apaga selos de produto, com textos, aparência, onde aparecem e status.
Estas cinco rotas cuidam do cadastro do selo em si. Escolher em quais produtos ele aparece é assunto de Produtos do selo e de Regras automáticas. O módulo product-stickers precisa estar ligado na loja.
/api/v1/admin/stickersAdminLista os selos
Devolve todos os selos, sem paginação, ordenados por position e, empatando, do mais novo para o mais antigo. Cada item traz product_count, o número de produtos ligados.
Parâmetros de consulta
statusstringADfailed to list stickers.vendor_iduuidmarketplace_onlybooleantrue, só os selos da própria loja (sem seller). Ignorado se vendor_id vier junto./api/v1/admin/stickersAdminCria um selo
Responde 201 com o selo. Só name_admin é obrigatório.
Corpo da requisição (JSON)
name_adminstringobrigatórioname_desktopstringname_admin.name_mobilestringstylestringpadrão: TTIPT texto, I imagem, P pictograma (a vitrine o desenha como texto). Minúsculas são aceitas.appearanceobjectpadrão: {}bg_color, text_color, radius, opacity, padding, font_size, position, image_url.display_onobjectproduct_card, pdp e quickview (booleanos). Omitido, os três ficam ligados.statusstringpadrão: AADA ativo, D desativado.positionintegerpadrão: 0/api/v1/admin/stickers/{id}AdminConsulta um selo
Devolve o selo, incluindo o modo (assignment_mode), a regra e a data da última avaliação.
Parâmetros de caminho
iduuidobrigatório/api/v1/admin/stickers/{id}AdminAltera um selo
Altera só os campos enviados. Um corpo vazio não muda nada e devolve o selo atual. A resposta traz os campos de cadastro, mas não os da regra; para ver a regra, consulte o selo.
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição (JSON)
name_adminstringname_desktopstringname_mobilestringstylestringTIPappearanceobjectdisplay_onobjectdisplay_on (substitui o anterior inteiro).statusstringADpositioninteger/api/v1/admin/stickers/{id}AdminApaga um selo
Apaga o selo de forma definitiva, junto com todas as ligações a produtos.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/stickers" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{
"name_admin": "Lançamento",
"name_desktop": "Novo",
"style": "T",
"appearance": {"bg_color": "#16a34a", "text_color": "#ffffff", "position": "tl"},
"display_on": {"product_card": true, "pdp": true, "quickview": false}
}'Resposta
{
"id": "e902d002-71a3-4f85-9383-4e2416d72a64",
"name_admin": "Lançamento",
"name_desktop": "Novo",
"name_mobile": "",
"style": "T",
"appearance": { "bg_color": "#16a34a", "position": "tl", "text_color": "#ffffff" },
"display_on": { "pdp": true, "quickview": false, "product_card": true },
"status": "A",
"position": 0,
"created_at": "2026-10-11T21:09:15.141574Z",
"updated_at": "2026-10-11T21:09:15.141574Z"
}{
"id": "e902d002-71a3-4f85-9383-4e2416d72a64",
"name_admin": "Lançamento",
"name_desktop": "Novo",
"name_mobile": "",
"style": "T",
"appearance": { "bg_color": "#16a34a", "position": "tl", "text_color": "#ffffff" },
"display_on": { "pdp": true, "quickview": true, "product_card": true },
"status": "A",
"position": 0,
"created_at": "2026-10-11T21:09:15.141574Z",
"updated_at": "2026-10-11T21:09:15.18554Z",
"assignment_mode": "rule",
"rule_type": "new_arrival",
"rule_params": { "days": 7 },
"last_evaluated_at": "2026-10-11T21:09:15.229012Z"
}{ "message": "sticker deleted" }Campos do selo
iduuidname_adminstringname_desktopstringname_mobilestringstylestringTIPappearanceobjectdisplay_onobjectproduct_card, pdp, quickview).statusstringADpositionintegervendor_iduuidproduct_countintegerassignment_modestringmanualrulerule_typestringrule.rule_paramsobjectstarts_atstringends_atstringlast_evaluated_atstringcreated_atstringupdated_atstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo que não é JSON | {"error":"invalid request body","detail":"..."} |
| 400 | name_admin ausente ou em branco | {"error":"failed to create sticker","detail":"name_admin is required"} |
| 400 | style ou status fora da lista | {"error":"failed to create sticker","detail":"invalid style \"X\" (expected T, I, or P)"} |
| 400 | Apagar um selo que não existe | {"error":"failed to delete sticker","detail":"sticker <id> not found"} |
| 401 | Token ausente ou expirado | {"error":"invalid or expired token"} |
| 403 | Módulo desligado | {"error":"module_disabled","module":"product-stickers"} |
| 404 | GET ou PUT de um selo que não existe | {"error":"sticker not found"} |
| 500 | Id que não é UUID, ou status inválido na lista | {"error":"failed to get sticker","detail":"..."} |