Webhooks do Pedido
A cada transição de status do pedido, a QI Tech envia um webhook do tipo insurance.order.status_changed para a URL de callback configurada. O evento identifica o pedido pelo order_key e carrega o novo status.
A entrega dos webhooks é do tipo best-effort. Não dependa exclusivamente deles: um evento perdido é sempre recuperável consultando o pedido em GET /v1/insurance/order.
Para receber webhooks é necessário ter uma URL de callback configurada. Veja Autenticação — Recebimento de webhooks.
Estrutura do webhook
| Campo | Tipo | Descrição |
|---|---|---|
webhook_type | string | Sempre insurance.order.status_changed. |
webhook_datetime | string | Data e hora do evento no formato ISO 8601. |
data | object | Dados do evento. Veja tabela abaixo. |
Atributos de data
| Campo | Tipo | Descrição |
|---|---|---|
order_key | string | Chave do pedido. |
status | string | Novo status do pedido. |
customer_document_number | string | Documento do segurado. |
reason | array / string | Motivo, quando aplicável: a lista de decline_reasons em rejected, o motivo informado em cancelled. null nos demais casos — a chave está sempre presente. |
product_count | integer | Quantidade de produtos do pedido. No evento de emitted, é o número de apólices que serão emitidas. |
{
"webhook_type": "insurance.order.status_changed",
"webhook_datetime": "2026-07-16T14:03:22Z",
"data": {
"order_key": "5e2b3f60-7c4b-4c8e-9f1a-6d2e8b4a7c90",
"status": "status",
"customer_document_number": "96969879003",
"reason": null
}
}
Eventos por status
Pedido criado
Enviado quando a submissão é concluída com sucesso. O pedido aguarda o pagamento da primeira parcela pelo payment_artifact Pix retornado na criação do pedido.
Pedido recusado
Enviado quando o pedido nasce recusado na submissão porque a precificação recusou ao menos uma linha. O campo reason traz a lista de decline_reasons.
Pedido emitido
Enviado quando o pagamento é confirmado e a emissão das apólices é disparada. O campo product_count indica quantas apólices serão criadas — o evento não carrega as chaves das apólices, porque elas são emitidas de forma assíncrona logo em seguida. Descubra-as com GET /v1/insurance/policies?order_key= ou aguarde os webhooks de apólice.
{
"webhook_type": "insurance.order.status_changed",
"webhook_datetime": "2026-07-16T14:03:22Z",
"data": {
"order_key": "5e2b3f60-7c4b-4c8e-9f1a-6d2e8b4a7c90",
"status": "emitted",
"customer_document_number": "96969879003",
"reason": null,
"product_count": 2
}
}
Pedido expirado
Enviado quando o prazo de pagamento (expires_at) vence sem confirmação. A expiração nunca desfaz um pagamento válido: se o pagamento for confirmado antes do processamento da expiração, o pedido é emitido normalmente e este evento não ocorre.
Pedido cancelado
Enviado quando o cancelamento pré-emissão é concluído. O campo reason traz o motivo informado no cancelamento, quando houver. O cancelamento pós-emissão não gera este evento — o pedido permanece emitted e o acompanhamento é pelos webhooks de apólice.
Os webhooks da QI Tech não devem ser mapeados de forma estrita. Campos adicionais podem ser incluídos aos payloads dos webhooks retornados em nossas APIs.