Pular para o conteúdo
platform
PT EN

Webhooks e eventos · Webhook assíncrono

Webhook de pedidos, payload completo

Quando dispara

O gatilho é o mesmo do webhook simplificado: a notificação sai depois que o pedido é gerado na plataforma, sem depender da resposta do seu sistema.

A diferença está no corpo. A versão completa já traz os detalhes da transação: cliente, vendedor, entregas com frete e produtos, e pagamentos.

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/pedido-completo
Content-Type: application/json

{
    "id": 505676,
    "status": "CANCELED",
    "subTotal": "R$90.07",
    "total": "R$90.07",
    "dateCreated": "2024-04-08 13:33:27.0",
    "lastUpdated": "2024-04-08 13:35:42.0",
    "customer": {
        "id": 1637173,
        "name": "usuario teste CWS",
        "email": "usuarioteste@cws.digital",
        "phone": "(11) 98988-8888",
        "type": "pf",
        "document": "720.953.820-80"
    },
    "seller": {
        "id": 6255,
        "name": "Filial 1 Loja Exemplo Teste",
        "document": "78.861.562/0001-17"
    },
    "deliveries": [
        {
            "freight": {
                "name": "Retirada na Loja",
                "total": "R$0.00",
                "type": "PICKUP_IN_STORE"
            },
            "products": [
                {
                    "id": 10204964,
                    "name": "Produto de exemplo 18mm",
                    "mfrPartCode": "MF-0000000001",
                    "quantity": 1,
                    "price": 97.9,
                    "partnerPartCode": "5090805",
                    "brand": {
                        "id": 40329,
                        "name": "Marca Exemplo"
                    }
                }
            ]
        }
    ],
    "payments": [
        {
            "id": 305665,
            "gateway": "GATEWAY_DE_PAGAMENTO",
            "paymentInstallments": 1,
            "paymentInstallmentsValue": "R$90.07"
        }
    ]
}

Como responder

É uma comunicação assíncrona: a plataforma não aguarda uma resposta para continuar os seus processos.

Com o payload completo o seu sistema pode registrar o pedido sem uma segunda chamada. O andamento volta pela API: status, nota fiscal e acompanhamento dos itens.

A coleção documenta as duas versões do payload. A escolha entre o payload simplificado e o completo é feita com a equipe CWS Platform.

O que a coleção documenta

Este é um exemplo de payload para o Webhook de Pedidos na versão completa, contendo todos os detalhes da transaçã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.