> ## 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.

# Webhook de proposta

> Notificações com o retrato completo da proposta a cada mudança

Cada webhook ativo do tipo **Proposal** (`tipo` = 3) recebe o retrato atual da proposta sempre que muda o status, uma etapa ou um documento. Este retrato é enviado para propostas criadas por `POST /v2/proposal`.

Cadastre e gerencie seus webhooks pela API em [Cadastrar webhook](https://documentacao.credicarro.com.br/pages/webhook/create.md). Autenticação, assinatura e retentativas funcionam como descrito em [Verificação e segurança](https://documentacao.credicarro.com.br/pages/webhooks/security.md).

## &#x20;Payload

```json theme={null}
{
  "id_proposta": "bea8d060-f93d-48eb-b6c4-45f64483cdd9",
  "enum_status": 2,
  "status": "APROVADA",
  "motivo_evento": "DOCUMENTOS_ALTERADOS",
  "motivo_recusa": null,
  "data_evento": "2026-10-12T17:20:31.512+00:00",
  "comprador": {
    "cpf": "12345678909",
    "enum_biometria": 3,
    "biometria": "APROVADA",
    "status_ativo": {
      "enum_etapa": 7,
      "etapa": "CORRECAO_DOCUMENTOS",
      "enum_situacao": 4,
      "situacao": "PENDENTE_CORRECAO",
      "enum_responsavel_acao": 2,
      "responsavel_acao": "INTEGRADOR"
    },
    "etapas_concluidas": [
      { "enum_etapa": 1, "etapa": "PROPOSTA_CRIADA", "data": "2026-10-12T14:05:08-03:00" },
      { "enum_etapa": 4, "etapa": "ANALISE_BIOMETRIA", "data": "2026-10-12T14:20:00-03:00" }
    ],
    "documentos": [
      { "enum_tipo": 1, "tipo": "CNH", "enum_status": 2, "status": "INVALIDO", "motivo": "Documento ilegível" }
    ]
  },
  "loja": {
    "cnpj": "11222333000181",
    "status_ativo": {
      "enum_etapa": 6,
      "etapa": "ENVIO_DOCUMENTOS",
      "enum_situacao": 1,
      "situacao": "AGUARDANDO_ENVIO",
      "enum_responsavel_acao": 2,
      "responsavel_acao": "INTEGRADOR"
    },
    "etapas_concluidas": [],
    "documentos": []
  },
  "vendedor": null
}
```

| Campo | Descrição |
| - | - |
| `id_proposta` | Identificador da proposta. |
| `enum_status` / `status` | Status atual da proposta. Veja [Etapas e status](https://documentacao.credicarro.com.br/pages/v2/steps.md). |
| `motivo_evento` | O que disparou a notificação: `STATUS_ALTERADO`, `ETAPAS_ALTERADAS` ou `DOCUMENTOS_ALTERADOS`. |
| `motivo_recusa` | Motivo da recusa, ou `null`. |
| `data_evento` | Momento em que este retrato foi montado (UTC). Muda a cada retentativa. |
| `comprador` | Biometria, etapa ativa, etapas concluídas e documentos do comprador. |
| `loja` | Etapa ativa, etapas concluídas e documentos da loja, ou `null`. |
| `vendedor` | Reservado. Hoje sempre `null`. |

O formato de `status_ativo`, `etapas_concluidas` e `documentos` é o mesmo da [consulta da proposta](https://documentacao.credicarro.com.br/pages/v2/proposal/get.md).

## &#x20;Entregas repetidas

> **Trate o webhook como idempotente**
>
> * Cada notificação traz o header `Idempotency-Key`. Uma retentativa da mesma notificação usa a mesma chave.
> * A Credicarro não reenvia um retrato idêntico ao último entregue com sucesso para o mesmo webhook, mesmo que o evento se repita.
> * Cada retentativa monta o retrato de novo, então pode trazer um estado mais recente da proposta.
> * As notificações podem chegar fora de ordem. Para saber o estado mais recente, consulte a proposta.


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