Criar, alterar e excluir regra
Cadastra, ajusta e remove uma regra de cupom automático do seller.
Crie uma regra por campanha de relacionamento: pós-compra, recompra, recompensa para pedidos grandes. A regra vale para os pedidos concluídos a partir de agora, nunca para os antigos. A regra nasce do seller do token (vendor_id do corpo é ignorado) e avalia só a parte do pedido que é dele. O PUT é parcial: envie só o que muda.
Criar uma regra
/api/v1/vendor/auto-couponsSellerCria uma regra de cupom automático do seller
Corpo da requisição
namestringobrigatóriotrigger_typestringobrigatórioorder_completedfirst_ordernth_ordermin_order_amountmanualdiscount_typestringobrigatóriopercentagefixeddiscount_valueintegerobrigatóriopercentage (1000 = 10%) ou centavos em fixed. Maior que zero.descriptionstringtrigger_valueintegerpadrão: 0nth_order ou mínimo em centavos de min_order_amount.coupon_prefixstringpadrão: AUTOmin_order_amountintegerpadrão: 0max_usesintegerpadrão: 1valid_daysintegerpadrão: 30statusstringpadrão: activeactive ou disabled (ou A/D). Vazio vira A; uma palavra desconhecida também vira A.send_emailbooleanpadrão: trueExemplo de requisição: criar
curl -X POST "$BASE_URL/api/v1/vendor/auto-coupons" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "10% na segunda compra",
"trigger_type": "first_order",
"discount_type": "percentage",
"discount_value": 1000,
"coupon_prefix": "VOLTE",
"min_order_amount": 15000,
"valid_days": 30
}'Resposta: criar
{
"id": 3,
"name": "10% na segunda compra",
"description": "",
"trigger_type": "first_order",
"trigger_value": 0,
"coupon_prefix": "VOLTE",
"discount_type": "percentage",
"discount_value": 1000,
"min_order_amount": 15000,
"max_uses": 1,
"valid_days": 30,
"status": "A",
"send_email": true,
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"created_at": "2026-10-11T14:20:05.113Z",
"updated_at": "2026-10-11T14:20:05.113Z"
}Os campos da resposta são os descritos em Consultar cupons automáticos.
Alterar uma regra
/api/v1/vendor/auto-coupons/{id}SellerAltera uma regra de cupom automático do seller
Envie só os campos que mudam. Um corpo sem nenhum campo conhecido devolve a regra como está. A alteração vale para os cupons gerados daqui em diante; os cupons já emitidos não mudam.
Parâmetros de caminho
idintegerobrigatórioCorpo da requisição
namestringdescriptionstringtrigger_typestringorder_completedfirst_ordernth_ordermin_order_amountmanualtrigger_valueintegercoupon_prefixstringdiscount_typestringpercentagefixeddiscount_valueintegermin_order_amountintegermax_usesintegervalid_daysintegerstatusstringactivedisabledADdisabled para pausar a regra.send_emailbooleanExemplo de requisição: alterar
curl -X PUT "$BASE_URL/api/v1/vendor/auto-coupons/3" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "status": "disabled" }'Resposta: alterar
{
"id": 3,
"name": "10% na segunda compra",
"trigger_type": "first_order",
"discount_type": "percentage",
"discount_value": 1000,
"status": "D",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"updated_at": "2026-10-11T15:02:44.870Z"
}A resposta é a regra inteira (trimada aqui).
Excluir uma regra
/api/v1/vendor/auto-coupons/{id}SellerExclui uma regra de cupom automático do seller
Parâmetros de caminho
idintegerobrigatórioResposta: excluir
{ "message": "rule deleted" }Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente ou inválido. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller, ou o seller não tem privilégio de configurações. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings", "..."]} |
| 400 | Corpo que não é JSON. | {"error":"invalid request body","detail":"..."} |
| 400 | id que não é inteiro. | {"error":"invalid rule ID","detail":"..."} |
| 400 | Na criação: dado inválido (name vazio, trigger_type, discount_type desconhecido, discount_value menor ou igual a zero) ou oferta abaixo do piso de margem da loja. O motivo vem em detail. | {"error":"failed to create rule","detail":"discount_value must be positive"} |
| 400 | Na alteração: a regra não existe (ou é de outro seller), ou o dado é inválido. Aqui não existe 404. | {"error":"failed to update rule","detail":"auto-coupon rule not found: 99"} |
| 404 | Na exclusão: a regra não existe ou é de outro seller. | {"error":"failed to delete rule","detail":"auto-coupon rule not found: 99"} |