Referência da API · Contratos · Gestão Matriz
Adicionar Clientes ao Contrato da Filial
- Método
- PUT
- Rota
-
/pricing/contract/:contractId/customers/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 adicione clientes a um contrato de uma de suas filiais, pelo documento de cada um. Os clientes passam a receber os preços do contrato.
O corpo e a resposta são idênticos aos da adiçã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 |
|---|---|---|---|
customers |
array | Sim | Documentos dos clientes, como string. De 1 a 100 por requisição, com ao menos um preenchido. |
Regras de negócio
Contrato de todos os clientes não recebe cliente avulso
Um contrato criado com allCustomers: true já vale para todos os clientes da filial e recusa a inclusão com 400 e priceContract.customers.addNotAllowed. Para montar uma lista de clientes, o contrato precisa estar com allCustomers: false.
Documento que não existe na base volta em notFound
O cliente precisa existir na plataforma, mas não precisa ter comprado da sua loja. O documento que não resolve não interrompe a requisição: ele volta em notFound.customers e os demais são gravados. A resposta é 200 mesmo quando nenhum documento resolveu.
Resposta · 200
| Campo | Descrição |
|---|---|
id |
Id do contrato. |
customers |
Documentos que foram vinculados ao contrato. |
notFound.customers |
Documentos que você enviou e não foram localizados na plataforma. |
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"}. |
| 400 | O contrato vale para todos os clientes e não aceita cliente avulso: {"error":"priceContract.customers.addNotAllowed"}. |
| 422 | customers ausente, vazio, com mais de 100 entradas ou só com strings vazias. 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/customers/store/:partnerId' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'Content-Type: application/json' \
--data '{
"customers": [
"29893264000101",
"70041364856"
]
}' Respostas de exemplo
200Sucesso: um cliente vinculado e um não localizado
{
"id": 4610002,
"customers": [
"29893264000101"
],
"notFound": {
"customers": [
"70041364856"
]
}
} Usado em
- Casos de usoMarketplace B2B: o caminho típico pela API
Endpoints relacionados
- 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.