Pular para o conteúdo
platform
PT EN

Referência da API · Contratos · Gestão Matriz

Atualizar Contrato da Filial

Método
PUT
Rota
/pricing/contract/:contractId/store/:partnerId
URL base
https://ws.autorei.net
Parâmetros de rota
:contractId :partnerId
Token
Exige token Bearer
Testar no Postman

Abre esta requisição na documentação pública da API, a fonte oficial da referência.

Descrição

Permite que uma conta matriz atualize parte do cabeçalho de um contrato de uma de suas filiais: status, vigência, abrangência e filtros de aplicação. É uma atualização parcial, envie só os campos que quer mudar, e ao menos um deles.

O corpo e a resposta são idênticos aos da atualizaçã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)

Todos os campos são opcionais, mas o corpo precisa trazer ao menos um deles preenchido.

Campo Tipo Obrigatório Descrição
active boolean Não Ativa ou inativa o contrato.
dateStart datetime Não Novo início da vigência. Mesmos formatos da criação.
dateEnd datetime Não Novo fim da vigência.
allCustomers boolean Não Passa o contrato a valer para todos os clientes da filial, ou volta a restringi-lo aos clientes da lista.
allPartners boolean Não Passa o contrato a valer para todas as filiais da matriz, ou volta a restringi-lo às filiais da lista.
stateList array Não UFs em que o contrato vale. Veja Acrescentar ou substituir filtros.
partners array Não Ids das filiais em que o contrato vale. Veja Acrescentar ou substituir filtros.
customerGroupList array Não Grupos de clientes do contrato, cada um por externalId. Veja Acrescentar ou substituir filtros.
deleteAllItems boolean Não true remove todos os produtos do contrato.
deleteAllCustomers boolean Não true remove todos os clientes do contrato.
replaceFilters boolean Não Define como os filtros enviados se combinam com os que já existem. Default false. Veja Acrescentar ou substituir filtros.

O nome, o tipo e os produtos e clientes do contrato não fazem parte deste corpo: a vigência se atualiza por dateStart e dateEnd, e clientes e produtos pelos endpoints próprios de cada um.

Regras de negócio

Acrescentar ou substituir filtros

Com replaceFilters: false (o default), as UFs, filiais e grupos enviados são acrescentados aos que o contrato já tem. Com replaceFilters: true, os filtros do contrato passam a ser exatamente os que você enviou.

Resposta · 200

Campo Descrição
id Id do contrato.
active Status do contrato depois da atualização.
allCustomers · allPartners Abrangência depois da atualização.
replaceFilters Eco do modo de combinação usado nos filtros.
priceContractPartners Filiais do contrato depois da atualização, cada uma com id, name e document.
priceContractStates UFs do contrato depois da atualização.
priceContractCustomerGroups Ids dos grupos de clientes depois da atualização.

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 Corpo vazio ou sem nenhum dos campos acima preenchido. 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 PUT 'https://ws.autorei.net/pricing/contract/:contractId/store/:partnerId' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Content-Type: application/json' \
  --data '{
  "active": true,
  "dateEnd": "2027-06-30",
  "partners": [
    5057
  ],
  "stateList": [
    "RJ"
  ],
  "replaceFilters": true
}'

Respostas de exemplo

200Sucesso: vigência e filtros atualizados

{
  "id": 4610002,
  "active": true,
  "allCustomers": false,
  "allPartners": false,
  "replaceFilters": true,
  "priceContractPartners": [
    {
      "id": 5057,
      "name": "Loja Exemplo - Filial Campinas",
      "document": "30.424.972/0002-55"
    }
  ],
  "priceContractStates": [
    "RJ"
  ],
  "priceContractCustomerGroups": [
    4610101
  ]
}

Usado em

Endpoints relacionados

Gerado a partir da coleção pública da API, publicada em 04/09/2026: api-docs.cws.digital.