Referência da API · Contratos · Gestão Matriz
Remover Produtos do Contrato da Filial
- Método
- DELETE
- Rota
-
/pricing/contract/:contractId/items/store/:partnerId - URL base
https://ws.autorei.net- Parâmetros de rota
:contractId:partnerId- Token
- Exige token Bearer
Abre esta requisição na documentação pública da API, a fonte oficial da referência.
Descrição
Permite que uma conta matriz remova produtos do contrato de uma de suas filiais. Os produtos voltam a ser vendidos pelo preço de tabela da filial.
O corpo e a resposta são idênticos aos da remoção na própria loja, a diferença é a filial dona do contrato, que vem na rota e é validada contra os vínculos da sua matriz.
Parâmetros de Rota
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
contractId |
integer | Sim | Id do contrato, devolvido em id na criação. |
partnerId |
integer | Sim | Id da filial dona do contrato. Precisa estar vinculada à matriz do token. |
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 filial. |
Erros
| Código | Quando |
|---|---|
| 400 | partnerId da rota não é numérico: {"error":"Invalid target partner ID"}. |
| 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 filial informada: {"error":"priceContract.notFound"}. |
| 422 | items ausente, vazio ou com mais de 100 entradas. O detalhe vem em error. |
| 401 | Token ausente, malformado ou expirado: {"error":"Authentication required for this route"}. |
| 403 | A filial não está vinculada à sua matriz: {"error":"Access denied: Invalid partnership"}. Diferente de 400, aqui o payload está certo, o que falta é o vínculo. |
Exemplo de requisição
curl --request DELETE 'https://ws.autorei.net/pricing/contract/:contractId/items/store/:partnerId' \
--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": 4610002,
"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
Este endpoint ainda não aparece em nenhum caso de uso publicado.
Endpoints relacionados
- PUT Adicionar Clientes ao Contrato da Filial
/pricing/contract/:contractId/customers/store/:partnerId - DELETE Remover Clientes do Contrato da Filial
/pricing/contract/:contractId/customers/store/:partnerId
Gerado a partir da coleção pública da API, publicada em 04/09/2026: api-docs.cws.digital.