Remover SKU de uma promoção
DELETE/seller/v1/promotions/:promotion_id/skus/:sku_id
Remove um SKU específico de uma promoção em que o seller participa ou que ainda não confirmou a participação.
Escopo da Operação
Este endpoint permite que o seller remova um SKU vinculado a uma promoção da qual já participa ou antes de confirmar a participação, informando o promotion_id (UUID público da promoção) e o sku_id (código do SKU do seller).
Regras de Negócio Comerciais
- Remoção como alteração pendente: a remoção não é efetivada de imediato — o SKU passa a ser retornado com
status = pendingno endpoint de consulta de SKUs, aguardando consolidação. Isso permite que o seller realize múltiplas remoções em sequência, na mesma promoção, sem aguardar o processamento assíncrono entre uma chamada e outra. - Promoção em que o seller já participa (
subscribed_atpreenchido): após a remoção, o status da promoção continua ativo, porém a aplicação definitiva da remoção só ocorre após a confirmação viaPOST /promotions/{promotion_id}/apply. Enquanto não confirmada, o SKU permanece comstatus = pending. - Promoção em que o seller ainda não participa (
subscribed_atnulo): quando o seller ainda não aderiu à promoção, a remoção do SKU não exige confirmação adicional — a aplicação definitiva ocorre naturalmente no fluxo de adesão.
Motivo da remoção (opcional)
O body é opcional. Quando informado, registra o motivo pelo qual o seller está removendo o SKU da promoção:
{"reason": {"code": "out_of_stock"}}
reason.code(opcional, até 50 caracteres): código do motivo. Os códigos aceitos são definidos pelo canal; os códigos disponíveis são:
code | Descrição registrada |
|---|---|
out_of_stock | SKU sem estoque |
low_margin | Margem insuficiente para o SKU |
price_conflict | Conflito de preço no SKU |
product_discontinued | Produto descontinuado |
other | Texto enviado em reason.description (obrigatório) |
reason.description(opcional, até 500 caracteres): texto livre do motivo. Só é registrado quando ocodeforotherou não for informado; para os demais códigos, é registrada a descrição da tabela acima.- Motivo inválido: um
codenão aceito pelo canal, ouothersemreason.description, retorna400 Bad Requeste o SKU não é removido.
Request
Responses
- 204
- 400
- 403
- 422
- 500
Sucesso sem conteúdo
Requisição inválida
- O código de motivo 'not_interested' não é válido para este canal.
- O código de motivo 'other' exige uma descrição.
Proibido
- O seller '%{id_tenant}', de contexto '%{id_channel}', não foi encontrado ou está inativo no sistema.
Entidade não processável
- Unprocessable entity
Erro interno do servidor
- Internal server error