Selos
Lista, cria, consulta, altera e exclui os selos do seller (etiquetas sobre os produtos).
Um selo é uma etiqueta que aparece sobre a foto do produto ("Novo", "-20%", "Frete grátis"). Aqui você cria o selo e define a aparência; para ele aparecer, ainda é preciso colocá-lo nos produtos.
Listar
/api/v1/vendor/stickersSellerListar os selos
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Exemplo de requisição (listar)
bash
curl "$BASE_URL/api/v1/vendor/stickers" \
-H "Authorization: Bearer $TOKEN"Resposta (listar)
200Selos
json
{
"stickers": [
{
"id": "e4c03c56-f826-4fc0-a29b-896793caef22",
"name_admin": "Promoção de outubro",
"name_desktop": "PROMOÇÃO",
"name_mobile": "PROMO",
"style": "T",
"appearance": {
"bg_color": "#ef4444",
"text_color": "#ffffff",
"font_size": 12,
"padding": 6,
"radius": 4,
"position": "tl",
"opacity": 1,
"image_url": ""
},
"display_on": {
"product_card": true,
"pdp": true,
"quickview": true
},
"status": "A",
"position": 0,
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"created_at": "2026-10-11T20:00:00Z",
"updated_at": "2026-10-11T20:00:00Z",
"assignment_mode": "manual"
}
],
"total": 1
}Campos da resposta
stickersarraySeus selos, por posição.
idstring (uuid)Id do selo.
name_adminstringNome interno, só para você.
name_desktopstringTexto no computador.
name_mobilestringTexto no celular (pode ficar vazio).
stylestringTIPT texto, I imagem, P pictograma (hoje exibido como texto).appearanceobjectAparência:
bg_color, text_color, font_size, padding, radius, position (tl, tr, bl, br), opacity, image_url.display_onobjectOnde aparece:
product_card, pdp, quickview (booleanos).statusstringADA ativo, D desativado.positionintegerOrdem entre os selos.
vendor_idstring (uuid)Seu seller.
assignment_modestringSempre
manual para selos do seller.created_atstringCriação (RFC 3339).
updated_atstringÚltima alteração (RFC 3339).
totalintegerQuantidade.
Erros (listar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings"]} |
Criar
/api/v1/vendor/stickersSellerCriar um selo
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Corpo da requisição
name_adminstringobrigatórioNome interno. Obrigatório.
name_desktopstringTexto exibido. Vazio = igual a
name_admin.name_mobilestringTexto no celular.
stylestringpadrão: TTIPEstilo.
appearanceobjectAparência (veja os campos da resposta). Vazio =
{}.display_onobjectOnde aparece. Padrão: card, página do produto e visão rápida.
statusstringpadrão: AADStatus inicial.
positionintegerpadrão: 0Ordem.
Exemplo de requisição (criar)
bash
curl -X POST "$BASE_URL/api/v1/vendor/stickers" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name_admin": "Promoção de outubro",
"name_desktop": "PROMOÇÃO",
"style": "T",
"appearance": {
"bg_color": "#ef4444",
"text_color": "#ffffff",
"position": "tl"
},
"status": "A"
}'Resposta (criar)
201Selo criado
json
{
"id": "e4c03c56-f826-4fc0-a29b-896793caef22",
"name_admin": "Promoção de outubro",
"name_desktop": "PROMOÇÃO",
"name_mobile": "PROMO",
"style": "T",
"appearance": {
"bg_color": "#ef4444",
"text_color": "#ffffff",
"font_size": 12,
"padding": 6,
"radius": 4,
"position": "tl",
"opacity": 1,
"image_url": ""
},
"display_on": {
"product_card": true,
"pdp": true,
"quickview": true
},
"status": "A",
"position": 0,
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"created_at": "2026-10-11T20:00:00Z",
"updated_at": "2026-10-11T20:00:00Z",
"assignment_mode": "manual"
}Campos da resposta
idstring (uuid)Id do selo.
name_adminstringNome interno, só para você.
name_desktopstringTexto no computador.
name_mobilestringTexto no celular (pode ficar vazio).
stylestringTIPT texto, I imagem, P pictograma (hoje exibido como texto).appearanceobjectAparência:
bg_color, text_color, font_size, padding, radius, position (tl, tr, bl, br), opacity, image_url.display_onobjectOnde aparece:
product_card, pdp, quickview (booleanos).statusstringADA ativo, D desativado.positionintegerOrdem entre os selos.
vendor_idstring (uuid)Seu seller.
assignment_modestringSempre
manual para selos do seller.created_atstringCriação (RFC 3339).
updated_atstringÚltima alteração (RFC 3339).
Erros (criar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings"]} |
| 400 | Nome vazio, estilo ou status fora da lista. | {"error":"invalid style \"X\" (expected T, I, or P)"} |
Consultar
/api/v1/vendor/stickers/{id}SellerConsultar um selo
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de caminho
idstring (uuid)obrigatórioId do selo.
Exemplo de requisição (consultar)
bash
curl "$BASE_URL/api/v1/vendor/stickers/$STICKER_ID" \
-H "Authorization: Bearer $TOKEN"Resposta (consultar)
200Selo
json
{
"id": "e4c03c56-f826-4fc0-a29b-896793caef22",
"name_admin": "Promoção de outubro",
"name_desktop": "PROMOÇÃO",
"name_mobile": "PROMO",
"style": "T",
"appearance": {
"bg_color": "#ef4444",
"text_color": "#ffffff",
"font_size": 12,
"padding": 6,
"radius": 4,
"position": "tl",
"opacity": 1,
"image_url": ""
},
"display_on": {
"product_card": true,
"pdp": true,
"quickview": true
},
"status": "A",
"position": 0,
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"created_at": "2026-10-11T20:00:00Z",
"updated_at": "2026-10-11T20:00:00Z",
"assignment_mode": "manual"
}Campos da resposta
idstring (uuid)Id do selo.
name_adminstringNome interno, só para você.
name_desktopstringTexto no computador.
name_mobilestringTexto no celular (pode ficar vazio).
stylestringTIPT texto, I imagem, P pictograma (hoje exibido como texto).appearanceobjectAparência:
bg_color, text_color, font_size, padding, radius, position (tl, tr, bl, br), opacity, image_url.display_onobjectOnde aparece:
product_card, pdp, quickview (booleanos).statusstringADA ativo, D desativado.positionintegerOrdem entre os selos.
vendor_idstring (uuid)Seu seller.
assignment_modestringSempre
manual para selos do seller.created_atstringCriação (RFC 3339).
updated_atstringÚltima alteração (RFC 3339).
Erros (consultar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings"]} |
| 404 | O selo não existe ou não é seu. | {"error":"sticker not found"} |
Alterar
/api/v1/vendor/stickers/{id}SellerAlterar um selo
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de caminho
idstring (uuid)obrigatórioId do selo.
Corpo da requisição
name_desktopstringTexto exibido. Vazio = igual a
name_admin.name_mobilestringTexto no celular.
stylestringTIPEstilo.
appearanceobjectAparência (veja os campos da resposta). Vazio =
{}.display_onobjectOnde aparece. Padrão: card, página do produto e visão rápida.
statusstringADStatus inicial.
positionintegerOrdem.
name_adminstringNovo nome interno; não pode ficar em branco.
Exemplo de requisição (alterar)
bash
curl -X PUT "$BASE_URL/api/v1/vendor/stickers/$STICKER_ID" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name_desktop": "OFERTA",
"status": "A"
}'Resposta (alterar)
200Selo alterado
json
{
"id": "e4c03c56-f826-4fc0-a29b-896793caef22",
"name_admin": "Promoção de outubro",
"name_desktop": "OFERTA",
"name_mobile": "PROMO",
"style": "T",
"appearance": {
"bg_color": "#ef4444",
"text_color": "#ffffff",
"font_size": 12,
"padding": 6,
"radius": 4,
"position": "tl",
"opacity": 1,
"image_url": ""
},
"display_on": {
"product_card": true,
"pdp": true,
"quickview": true
},
"status": "A",
"position": 0,
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"created_at": "2026-10-11T20:00:00Z",
"updated_at": "2026-10-11T20:00:00Z",
"assignment_mode": "manual"
}Campos da resposta
idstring (uuid)Id do selo.
name_adminstringNome interno, só para você.
name_desktopstringTexto no computador.
name_mobilestringTexto no celular (pode ficar vazio).
stylestringTIPT texto, I imagem, P pictograma (hoje exibido como texto).appearanceobjectAparência:
bg_color, text_color, font_size, padding, radius, position (tl, tr, bl, br), opacity, image_url.display_onobjectOnde aparece:
product_card, pdp, quickview (booleanos).statusstringADA ativo, D desativado.positionintegerOrdem entre os selos.
vendor_idstring (uuid)Seu seller.
assignment_modestringSempre
manual para selos do seller.created_atstringCriação (RFC 3339).
updated_atstringÚltima alteração (RFC 3339).
Erros (alterar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings"]} |
| 404 | O selo não existe ou não é seu. | {"error":"sticker not found"} |
| 400 | Campo inválido (nome em branco, estilo, status). | {"error":"invalid status \"X\" (expected A or D)"} |
Excluir
/api/v1/vendor/stickers/{id}SellerExcluir um selo
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de caminho
idstring (uuid)obrigatórioId do selo.
Exemplo de requisição (excluir)
bash
curl -X DELETE "$BASE_URL/api/v1/vendor/stickers/$STICKER_ID" \
-H "Authorization: Bearer $TOKEN"Resposta (excluir)
200Selo excluído
json
{
"message": "sticker deleted"
}Campos da resposta
messagestringConfirmação fixa.
Erros (excluir)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings"]} |
| 404 | O selo não existe ou não é seu. | {"error":"sticker not found"} |