VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Selos de produto

Regras automáticas de selo

Define o modo manual ou por regra de um selo, reavalia a regra na hora e lista os produtos ligados com o motivo de cada um.

No modo regra, em vez de você escolher produto a produto, a plataforma decide quais produtos merecem o selo e mantém a lista atualizada: "os 3 mais vendidos de cada categoria", "produtos com poucas unidades", "lançamentos dos últimos 14 dias". A tabela com todas as regras e seus parâmetros está na home da seção. O módulo product-stickers precisa estar ligado.

Ao salvar a regra, a plataforma já avalia uma vez. Depois, reavalia a cada 15 minutos (somente selos ativos em modo regra) e, para low_stock e best_seller, também em poucos segundos após uma mudança de estoque ou um novo pedido.

PUT/api/v1/admin/stickers/{id}/ruleAdmin

Define o modo e a regra do selo

Salva o modo e a regra e avalia na hora. Trocar para manual remove os produtos que haviam sido ligados pela regra e mantém os ligados à mão.

Parâmetros de caminho

iduuidobrigatório
Id do selo.

Corpo da requisição (JSON)

assignment_modestringobrigatório
manualrule
manual ou rule.
rule_typestring
best_sellerlow_stocklowest_price_90dfree_shippingnew_arrivalon_promotion
Obrigatório quando o modo é rule.
rule_paramsobject
Parâmetros da regra (veja a tabela da home). Omitido, valem os padrões.
starts_atstring
Início da validade, RFC 3339. Antes disso, nenhum produto recebe o selo pela regra.
ends_atstring
Fim da validade, RFC 3339. Depois disso, a regra remove os produtos.
POST/api/v1/admin/stickers/{id}/evaluateAdmin

Reavalia a regra agora

Roda a regra imediatamente e atualiza a lista de produtos ligados por regra. Sem corpo. A chamada só termina depois da avaliação. Só vale para selos em modo rule. Funciona mesmo com o selo desativado.

Parâmetros de caminho

iduuidobrigatório
Id do selo.
GET/api/v1/admin/stickers/{id}/assignmentsAdmin

Lista os produtos ligados e o motivo

Mostra os produtos ligados ao selo, quem os ligou (rule ou à mão) e a evidência que fez a regra escolher cada um: unidades vendidas, saldo em estoque, preço mínimo, e assim por diante. Paginado em 50 por página.

Parâmetros de caminho

iduuidobrigatório
Id do selo.

Parâmetros de consulta

pageintegerpadrão: 1
Página, a partir de 1. Cada página tem 50 itens (fixo).

Exemplo de requisição

bash
# "Últimas unidades": produtos com 5 unidades ou menos
curl -X PUT "$BASE_URL/api/v1/admin/stickers/$STICKER/rule" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"assignment_mode":"rule","rule_type":"low_stock","rule_params":{"max_qty":5}}'

# por que cada produto foi escolhido
curl "$BASE_URL/api/v1/admin/stickers/$STICKER/assignments" -H "Authorization: Bearer $TOKEN"

Resposta

200Regra salva
json
{ "message": "rule saved" }
202Avaliação concluída
json
{ "status": "evaluated" }
200Produtos ligados
json
{
  "products": [
    {
      "id": "5e833a7f-1a77-402c-835a-32594350d7a7",
      "name": "Caneca Esmaltada 350 ml",
      "assigned_by": "rule",
      "evidence": { "days": 7 },
      "attached_at": "2026-10-11T21:09:15Z"
    }
  ],
  "total": 5
}

Campos de cada produto ligado

iduuid
Id do produto.
namestring
Nome.
image_urlstring
Imagem principal. Ausente sem imagem.
assigned_bystring
rulemanual
Quem ligou o produto.
evidenceobject
Por que a regra escolheu o produto. Conteúdo por regra: best_seller traz units_sold e window_days; low_stock traz quantity e max_qty; lowest_price_90d traz current_cents, min_price_cents, max_price_cents e window_days; free_shipping e on_promotion trazem um indicador true. Em new_arrival, devolve os parâmetros da regra (days). Ausente nos ligados à mão.
attached_atstring
Quando foi ligado, RFC 3339.
totalinteger
Total de produtos ligados (todas as páginas).

Erros

StatusQuandoCorpo de exemplo
400Corpo que não é JSON{"error":"invalid request body","detail":"..."}
401Token ausente ou expirado{"error":"invalid or expired token"}
403Módulo desligado{"error":"module_disabled","module":"product-stickers"}
404evaluate de um selo que não existe{"error":"sticker not found"}
422assignment_mode fora da lista, ou rule_type ausente ou inválido{"error":"failed to set rule","detail":"invalid rule_type"}
422evaluate em selo que não está em modo rule{"error":"sticker is not in rule mode"}
500Falha ao avaliar, ou id que não é UUID{"error":"evaluation failed","detail":"..."}
O evaluate responde 202, mas já terminou

Apesar do código 202, a avaliação é síncrona: quando a resposta chega, a lista já foi atualizada. Pode consultar assignments em seguida.

Janela de campanha

Combine new_arrival ou on_promotion com starts_at e ends_at para um selo de campanha que liga e desliga sozinho. Fora da janela, a avaliação remove todos os produtos ligados por regra.

Regra não substitui o status do selo

A varredura periódica só avalia selos com status A. Um selo D em modo regra mantém a última lista até você reativá-lo ou chamar evaluate.

Veja também

  • Produtos do selo
  • Criar e gerenciar selos
  • Selos de produto
Anterior
Produtos do selo
Próxima
Kits e Compre junto
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também