> ## Documentation Index
> Fetch the complete documentation index at: https://documentacao.credicarro.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Cadastro de webhooks

> O cadastro de webhooks: tipos, autenticação, status e o que é retornado

Um **webhook** é uma URL do seu sistema que recebe notificações da Credicarro. Os webhooks são vinculados ao parceiro do token e ao ambiente (staging ou produção) em que foram cadastrados.

## Endpoints

| Endpoint | Para quê |
| - | - |
| [`POST /v1/webhook`](https://documentacao.credicarro.com.br/pages/webhook/create) | Cadastrar. Retorna o `segredo_assinatura` — só nesta resposta. |
| [`GET /v1/webhook`](https://documentacao.credicarro.com.br/pages/webhook/list) | Listar, paginado. Não retorna a credencial nem o segredo. |
| [`PUT /v1/webhook/{webhookId}`](https://documentacao.credicarro.com.br/pages/webhook/update) | Alterar tipo, URL e status. |
| [`DELETE /v1/webhook/{webhookId}`](https://documentacao.credicarro.com.br/pages/webhook/delete) | Excluir. O webhook deixa de receber notificações. |

## Tipo (`tipo`)

| Código | Tipo | Notificações |
| - | - | - |
| 1 | Customer | ⚪ Sem envio no momento |
| 2 | Simulation | ⚪ Sem envio no momento |
| 3 | Proposal | 🟢 A cada atualização da proposta |

## Autenticação (`tipo_autenticacao`)

| Código | Tipo | Header enviado |
| - | - | - |
| 1 | None | Nenhum (não recomendado) |
| 2 | Basic | `Authorization: Basic {credencial}` — `credencial` em Base64 de `usuario:senha` |
| 3 | Jwt | `Authorization: Bearer {credencial}` |

> [!WARNING]
>
> O tipo de autenticação e a credencial **não podem ser alterados**. Para trocá-los, exclua o webhook e cadastre outro.

## Status (`status`)

| Código | Status | Efeito |
| - | - | - |
| 1 | Active | Recebe notificações. |
| 2 | Inactive | Não recebe notificações. |

Para pausar um webhook sem perder o cadastro, use `PUT /v1/webhook/{webhookId}` reenviando o `tipo` e a `url` atuais com `status` = 2.

## Objeto webhook

```json GET /v1/webhook theme={null}
{
  "itens": [
    {
      "id_webhook": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "tipo": "Proposal",
      "url": "https://parceiro.com.br/webhooks/credicarro",
      "tipo_autenticacao": "Basic",
      "status": "Active"
    }
  ],
  "pagina": { "numero": 1, "tamanho": 10, "total": 1, "tem_proximo": false, "tem_anterior": false }
}
```

> [!NOTE]
>
> Na listagem, `tipo`, `tipo_autenticacao` e `status` vêm como texto. No cadastro e na edição, são enviados como código numérico.

## Boas práticas

> **Um webhook por ambiente**
>
> Cadastre um webhook no staging e outro na produção, cada um com o seu segredo.

> **Mais de um por tipo**
>
> É permitido. Cada notificação é enviada para todos os webhooks ativos do tipo.

> **[Valide a assinatura](https://documentacao.credicarro.com.br/pages/webhooks/security.md)**
>
> Toda notificação traz `X-CrediCarro-Signature` (HMAC-SHA256).

> **[Payload da proposta](https://documentacao.credicarro.com.br/pages/v2/webhooks.md)**
>
> Veja o retrato enviado a cada atualização da proposta.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.