Referência da API · Contratos · Gestão loja
Remover Produtos do Contrato
- Método
- DELETE
- Rota
-
/pricing/contract/:contractId/items - URL base
https://ws.autorei.net- Parâmetros de rota
:contractId- Token
- Exige token Bearer
Abre esta requisição na documentação pública da API, a fonte oficial da referência.
Descrição
Remove produtos do contrato. Os produtos voltam a ser vendidos pelo preço de tabela da loja.
Envie de 1 a 100 produtos por requisição, identificados da mesma forma que na adição. O preço não é enviado na remoção.
Parâmetros de Rota
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
contractId |
integer | Sim | Id do contrato, devolvido em id na criação. |
Corpo da Requisição (JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
items |
array | Sim | De 1 a 100 produtos. |
| Identificação do produto, não é um campo, é um grupo | - | Sim | Uma das duas formas da seção Como identificar o produto: items[].partnerPartCode · items[].skuAttributeValue com skuAttributeName. |
skuAttributeName |
string | Condicional | Nome do atributo usado para resolver items[].skuAttributeValue. Obrigatório quando você identifica os produtos por atributo. Vale para o envio inteiro, não por item. |
Como identificar o produto
Cada produto precisa trazer uma das duas formas, nesta ordem de precedência:
| Forma | Campos | Quando usar |
|---|---|---|
| Por código do parceiro | partnerPartCode |
Você identifica o produto pelo seu próprio código. |
| Por atributo | skuAttributeValue com skuAttributeName no envelope |
Você contratou o serviço de catálogo de produtos com atributo próprio. |
Regras de negócio
Produto fora do contrato volta em notFound
O produto que não está no contrato não interrompe a requisição: ele volta em notFound.items e os demais são removidos. A resposta é 200 mesmo quando nenhum produto foi removido.
Para esvaziar a lista inteira de uma vez, use deleteAllItems em Atualizar Contrato.
Resposta · 200
| Campo | Descrição |
|---|---|
id |
Id do contrato. |
items[].skuId |
Id do SKU removido. |
items[].price |
Preço que o produto tinha no contrato, antes da remoção. |
items[].targetMargin · items[].totalCost |
Margem alvo e custo que o produto tinha no contrato. |
items[].partnerPartCode · items[].skuAttributeValue |
Eco da identificação que você enviou. |
notFound.items |
Produtos que você enviou e não estavam no contrato, ou que não foram resolvidos no catálogo da loja. |
Erros
| Código | Quando |
|---|---|
| 400 | contractId da rota não é um número maior que zero: {"error":"invalid contract id: \"...\""}. |
| 400 | O corpo não é um JSON válido. O detalhe vem em error. |
| 400 | O contrato não existe ou não é da loja do token: {"error":"priceContract.notFound"}. |
| 422 | items ausente, vazio ou com mais de 100 entradas. O detalhe vem em error. |
| 401 | Token ausente, malformado ou expirado. |
Exemplo de requisição
curl --request DELETE 'https://ws.autorei.net/pricing/contract/:contractId/items' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'Content-Type: application/json' \
--data '{
"items": [
{
"partnerPartCode": "SKU-A-001"
},
{
"partnerPartCode": "SKU-Z-999"
}
]
}' Respostas de exemplo
200Sucesso: produto removido
{
"id": 4610001,
"items": [
{
"skuId": 500101,
"partnerPartCode": "SKU-A-001",
"price": 139.9,
"targetMargin": null,
"totalCost": null
}
],
"notFound": {
"items": [
{
"partnerPartCode": "SKU-Z-999",
"price": null,
"targetMargin": null,
"totalCost": null
}
]
}
} Usado em
Endpoints relacionados
Gerado a partir da coleção pública da API, publicada em 04/09/2026: api-docs.cws.digital.