Pular para o conteúdo
platform
PT EN

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

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