Skip to main content
credit_grant.expired é emitido depois que um CreditGrant expira. Handlers usam este evento para executar efeitos assíncronos fora do fluxo síncrono.

Detalhes do Evento

PropriedadeValor
Tipocredit_grant.expired
OrigemScheduler de crédito
PublicaçãoApós commit do CreditGrant
Quandostatus = EXPIRED.

Handlers

HandlerResponsabilidadeDados usadosExecução
send-credit-grant-expired-messageAvisa o cliente ou operação.dataAssíncrona.

Payload

CampoTipoDescrição
dataCreditGrantEntidade CreditGrant expirada

Regras dos handlers

  • Handlers não rodam na transação que publicou o CreditGrant.
  • Falha em handler não desfaz o CreditGrant.
  • Cada handler deve ser idempotente.
  • Novos handlers podem ser adicionados sem mudar o fluxo síncrono.

Exemplo

{
  "type": "credit_grant.expired",
  "data": {
    "creditGrantId": "0197f7b0-9a63-720d-b4c7-e17390b3a901",
    "organizationId": "0197a801-1690-7590-b3cf-19599b9be3e4",
    "companyId": "0197a801-6a42-79aa-9e56-d3c85148c0fa",
    "customerId": "0197a7f6-4d36-7c0a-a7cb-54fcb33a3148",
    "grantedByUserId": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "code": "CRD-20260704-0001",
    "reason": "Crédito interno concedido pela Company",
    "amount": 5000,
    "availableAmount": 3500,
    "reservedAmount": 0,
    "usedAmount": 1500,
    "startsAt": "2026-07-04T00:00:00.000Z",
    "expiresAt": "2026-07-04T00:00:00.000Z",
    "status": "EXPIRED",
    "canceledAt": null,
    "consumedAt": null,
    "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "createdAt": "2026-07-04T14:30:00.000Z",
    "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "updatedAt": "2026-07-04T14:45:00.000Z",
    "deletedBy": null,
    "deletedAt": null
  }
}