Referência da API · Módulo Vendedor
Adicionar Vendedor
- Método
- POST
- Rota
-
/sellerModule/addSeller - URL base
https://ws.autorei.net- Token
- Exige token Bearer
Abre esta requisição na documentação pública da API, a fonte oficial da referência.
Descrição
Cadastra um vendedor da sua loja a partir de uma conta que já existe: você identifica a conta e define as permissões que ela passa a ter no atendimento.
Corpo da Requisição (JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Identificação da conta | - | Sim | Não é um campo, é um grupo. Envie username ou document; ver a regra abaixo. |
username |
string | Condicional | E-mail de acesso da conta. Obrigatório se document não for enviado. |
document |
string | Condicional | CPF ou CNPJ do titular da conta. Obrigatório se username não for enviado. |
restrictedCustomers |
boolean | Sim | true limita o vendedor à carteira de clientes dele. |
enabledFreight |
boolean | Não | Permite alterar o frete. |
enabledInsertFreight |
boolean | Não | Permite inserir frete. |
enabledCustomerRegistration |
boolean | Não | Permite cadastrar cliente. |
enableRestrictedGroupsAttendant |
boolean | Não | Limita o vendedor aos grupos de cliente restritos. |
enableDiscountItemValue |
boolean | Não | Permite dar desconto no valor do item. Padrão false. |
enableAddItemValue |
boolean | Não | Permite acrescentar valor ao item. Padrão false. |
enableDiscountBranch |
boolean | Não | Permite usar o desconto da filial. Ver a regra de dependência. |
enableDiscountSeller |
boolean | Não | Permite usar o desconto próprio. Ver a regra de dependência. |
enableCoupon |
boolean | Não | Permite aplicar cupom. Padrão true, omitir não desliga. |
enableChatSupport |
boolean | Não | Marca o vendedor como atendente de chat. Padrão false. |
enableChatSupportRule |
boolean | Não | true já inclui o vendedor na fila de carteira do chat, como manager quando restrictedCustomers é true e como attendant caso contrário. |
enableRestrictedCustomers |
boolean | Não | Atributo de carteira restrita gravado no vendedor. Padrão false. |
attendantCode |
string | Não | Código do vendedor no seu sistema. |
allowedSellersIdList |
array | Não | Ids de vendedores que este vendedor pode consultar. |
accessStartTime |
string | Não | Início da janela de acesso, no formato HH:mm. Ver a regra da janela. |
accessEndTime |
string | Não | Fim da janela de acesso, no formato HH:mm. Ver a regra da janela. |
blockSaturdayAccess |
boolean | Não | Bloqueia o acesso no sábado. |
blockSundayAccess |
boolean | Não | Bloqueia o acesso no domingo. |
profileCode |
string | Não | Código do perfil de acesso. Ver a regra de perfil. |
profileName |
string | Não | Nome do perfil de acesso. Ver a regra de perfil. |
partners |
array | Não | Parceiros que o vendedor atende. Ver a regra de parceiros. |
partners[].partnerId |
integer | Condicional | Id do parceiro. Um item precisa de partnerId ou externalId, nunca os dois. |
partners[].externalId |
integer | Condicional | Id do parceiro no seu sistema. Alternativa ao partnerId. |
partners[].defaultPartner |
boolean | Condicional | Marca o parceiro principal. Exatamente um item precisa vir com true. |
Regras de negócio
A conta precisa existir e estar ativa
O vendedor não é criado do zero: a rota procura uma conta ativa da sua loja pelo username ou pelo document e a promove a vendedor. Conta inexistente, desativada ou de outra loja é recusada.
Desconto de filial e de vendedor dependem do desconto de item
enableDiscountBranch e enableDiscountSeller só são considerados quando enableDiscountItemValue ou enableAddItemValue é true. Sem isso, os dois são gravados como false, mesmo que você os envie como true.
Perfil: um dos dois, ou nenhum
Envie profileCode ou profileName, nunca os dois. Não enviar nenhum significa ficar sem perfil, e lojas configuradas para exigir perfil no cadastro recusam esse caso.
Janela de acesso: ambos ou nenhum
accessStartTime e accessEndTime são um par. Enviar só um é recusado; enviar os dois exige o formato HH:mm e valores diferentes entre si. Não enviar nenhum deixa o vendedor sem restrição de horário.
Parceiros precisam de parceria autorizada
Cada partnerId informado precisa ter parceria autorizada com a sua loja; o mesmo vale para o parceiro resolvido a partir de um externalId. Na criação, exatamente um dos parceiros tem de vir com defaultPartner: true.
Resposta · 200
O vendedor criado, com as permissões efetivas. O campo de identificação volta como você enviou: username quando você usou o e-mail, document quando usou o documento.
| Campo | Tipo | Descrição |
|---|---|---|
id |
uuid | Id do vendedor. É um UUID, não um inteiro, é o valor que as demais rotas do módulo pedem no path. |
username |
string | E-mail de acesso do vendedor. |
document |
string | CPF ou CNPJ do vendedor. |
restrictedCustomers |
boolean | Se o vendedor atende só a carteira dele. |
enabledFreight |
boolean | Se pode alterar o frete. |
enabledInsertFreight |
boolean | Se pode inserir frete. |
enabledCustomerRegistration |
boolean | Se pode cadastrar cliente. |
enableDiscountItemValue |
boolean | Se pode dar desconto no valor do item. |
enableAddItemValue |
boolean | Se pode acrescentar valor ao item. |
enableDiscountBranch |
boolean | Se pode usar o desconto da filial. |
enableDiscountFranchise |
boolean | Se pode usar o desconto da franquia. Só volta true quando enableDiscountBranch também é true. |
enableDiscountSeller |
boolean | Se pode usar o desconto próprio. |
enableCoupon |
boolean | Se pode aplicar cupom. |
enableChatSupport |
boolean | Se atende pelo chat. |
enableRestrictedCustomers |
boolean | Atributo de carteira restrita, gravado no vendedor. |
enableRestrictedGroupsAttendant |
boolean | Se atende só grupos de cliente restritos. |
attendantCode |
string | Código do vendedor no seu sistema. Vem "" quando não informado. |
allowedSellersId |
array | Ids dos vendedores que este vendedor pode consultar. Vem [] quando não há. |
profile |
objeto | Perfil do vendedor (id, code, name). Vem null quando não há perfil. |
createdAt · updatedAt |
string | Criação e última alteração, em UTC. |
Erros
| Código | Quando |
|---|---|
| 400 | Corpo ausente ou vazio (Body não informado), ou falha de validação. As mensagens de validação vêm juntadas por | num único campo message, espere mais de um motivo por resposta. |
| 422 | A conta já é um vendedor. |
| 404 | Recusa vinda do serviço de atendimento. O motivo vem na mensagem. |
| 401 | Token ausente, malformado ou expirado. |
Exemplo de requisição
curl --request POST 'https://ws.autorei.net/sellerModule/addSeller' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'Content-Type: application/json' \
--data '{
"username": "vendedor@lojaexemplo.com.br",
"restrictedCustomers": true,
"enabledFreight": false,
"enabledCustomerRegistration": false,
"enableDiscountItemValue": true,
"enableDiscountBranch": true,
"attendantCode": "VEND-001",
"accessStartTime": "08:00",
"accessEndTime": "18:00",
"blockSaturdayAccess": true,
"blockSundayAccess": true,
"profileCode": "PERFIL-VENDEDOR"
}' Respostas de exemplo
200Sucesso: vendedor identificado pelo e-mail
{
"id": "7c3f1a8e-4b62-4d05-9e17-5a2c8d3f6b04",
"username": "vendedor@lojaexemplo.com.br",
"document": "528.871.928-41",
"restrictedCustomers": true,
"enabledFreight": false,
"enabledInsertFreight": false,
"enabledCustomerRegistration": false,
"enableDiscountItemValue": true,
"enableAddItemValue": false,
"enableDiscountBranch": true,
"enableDiscountFranchise": false,
"enableDiscountSeller": false,
"enableCoupon": true,
"enableChatSupport": false,
"createdAt": "2026-09-01T13:42:07.512034Z",
"updatedAt": "2026-09-01T13:42:07.512034Z",
"attendantCode": "VEND-001",
"enableRestrictedCustomers": true,
"enableRestrictedGroupsAttendant": false,
"allowedSellersId": [],
"profile": {
"id": 4470301,
"code": "PERFIL-VENDEDOR",
"name": "Vendedor Padrão"
}
} Usado em
- Casos de usoPortal B2B próprio: o caminho típico pela API
- Casos de usoVarejo complexo e B2B2C: o caminho típico pela API
- Casos de usoVenda assistida e balcão: o caminho típico pela API
Endpoints relacionados
Gerado a partir da coleção pública da API, publicada em 04/09/2026: api-docs.cws.digital.