Webhooks e eventos · Webhook assíncrono
Webhook de clientes
Quando dispara
A notificação é enviada quando um cliente é criado ou atualizado na CWS Platform. O payload leva o cadastro e os endereços do cliente.
Payload de exemplo
Exemplo da coleção pública. A URL é a do seu sistema: o endereço abaixo é só ilustrativo.
POST https://api.exemplo-cliente.com.br/webhook/clientes
Content-Type: application/json
{
"id": 547322,
"document": "29.701.244/0001-83",
"name": "TEste meu S/A",
"tradingName": "abacate 8",
"contactName": "John Doe",
"documentType": "pj",
"dateCreated": "2023-01-25T19:59:58Z",
"email": "contato@lojaexemplo.com.br",
"phone": "(11) 99999-9990",
"address": [
{
"id": 1060461,
"name": "Endereço de cadastro",
"street": "Rua Eugênio Lorenzetti",
"number": "111",
"complement": "teste",
"quarter": "Jardim Íris",
"city": "São Paulo",
"state": "SP",
"zipcode": "05144-000",
"principal": true
}
]
} Como responder
É uma comunicação assíncrona: a plataforma não aguarda uma resposta para continuar os seus processos.
O document do payload é a chave para consultar e atualizar o mesmo cliente pela API, no sentido contrário.
O que a coleção documenta
Este é um exemplo de payload para o Webhook de Clientes, enviado quando um cliente é criado ou atualizado na plataforma CWS.
Onde se configura
A URL que recebe este webhook é configurada no painel de configuração, em Integrador > WebHook > Clientes. A mesma tela lista o histórico de disparos e permite reenviar as notificações que falharam.
A tela depende de ativação na loja. Se ela não aparece no seu menu, peça a ativação ao time de integração.
Autenticação do seu endpoint
Visão Geral da Autenticação
Para que a CWS possa enviar notificações de Webhook (Pedidos e Clientes) de forma segura, nosso sistema primeiro se autenticará no seu para obter um token de acesso.
Você deve nos fornecer os detalhes do seu endpoint de autenticação para que possamos configurá-lo.
Estrutura do Endpoint de Token (Sua Responsabilidade)
Você precisará construir um endpoint POST (ex: /token) que, ao receber as credenciais corretas, retorne um token de acesso. A resposta deve seguir o padrão OAuth2:
{
"access_token": "SEU_TOKEN_GERADO",
"expires_in": 3600
}
Abaixo estão três exemplos reais de como seu endpoint de token pode ser configurado.
Exemplo 1: Fluxo client_credentials com Basic Auth
Como funciona: Suas credenciais (clientId e clientSecret) são combinadas, codificadas em Base64 e enviadas no Header Authorization.
Requisição que a CWS fará para seu endpoint de token:
curl --location 'https://api.cliente.com.br/oauth/access-token' \
--header 'Authorization: Basic [SUAS_CREDENCIAS_EM_BASE64]' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials'
Exemplo 2: Fluxo com clientId e clientSecret no Body
Como funciona: Suas credenciais são enviadas diretamente no corpo (body) da requisição em formato JSON.
Requisição que a CWS fará para seu endpoint de token:
curl --location 'https://api.cliente.com.br/v1/token' \
--header 'User-Agent: CWS Digital' \
--header 'Content-Type: application/json' \
--data '{
"clientId": "SEU_CLIENT_ID",
"clientSecret": "SEU_CLIENT_SECRET"
}'
Exemplo 3: Fluxo com Credenciais em Headers Customizados
Como funciona: Um modelo não padrão onde o usuário e a senha são enviados em headers específicos, em vez de usar Authorization ou o corpo da requisição.
Requisição que a CWS fará para seu endpoint de token:
curl --location --request POST 'https://api.cliente.com.br/rest/api/oauth2/v1/token?grant_type=password' \
--header 'username: SEU_USUARIO' \
--header 'password: SUA_SENHA'
Endpoints relacionados
Webhooks e eventos
- Webhook de pedidos: Aviso curto de pedido, com id e status.
- Webhook de pedidos, payload completo: O pedido inteiro no corpo da notificação.
- Callback de cálculo de impostos: Chamada síncrona: o seu ERP devolve os tributos por item.
Gerado a partir da coleção pública da API, publicada em 04/09/2026: api-docs.cws.digital.