Máquina de Estados da Operação de Crédito
Os 14 estados de uma operação de crédito (CreditOperationStatus), suas transições e regras de bloqueio.
Toda operação de crédito (CreditOperation) tem um campo status que representa sua posição no ciclo de vida. O valor está sempre disponível em GET /credit-operations/{externalContractId} e é a base de decisão para todas as ações seguintes.
Estados (CreditOperationStatus)
CreditOperationStatus)| Status | Significado |
|---|---|
RECEIVED | Operação criada, aguardando aprovação. |
APPROVED | Operação aprovada, pronta para gerar a CCB. |
REJECTED | Operação recusada — estado terminal. |
CCB_REQUESTED | Geração da CCB solicitada, em processamento. |
CCB_GENERATED | CCB gerada com sucesso, pronta para assinatura. |
CCB_GENERATION_FAILED | Falha ao gerar a CCB. |
CCB_SIGNING_PENDING | Assinatura eletrônica solicitada, aguardando o tomador assinar. |
CCB_SIGNED | CCB assinada, pronta para solicitar o desembolso. |
DISBURSEMENT_REQUESTED | Desembolso solicitado à plataforma de crédito. |
DISBURSED | Valor desembolsado ao tomador — estado terminal de sucesso. |
DISBURSEMENT_FAILED | Falha ao desembolsar o valor. |
CANCELLED | Operação cancelada pelo parceiro — estado terminal. |
Transições e pré-requisitos
RECEIVED
→ APPROVED (POST /credit-operations/{id}/approve)
→ REJECTED
APPROVED
→ CCB_REQUESTED → CCB_GENERATED (POST /credit-operations/{id}/ccb)
→ CCB_GENERATION_FAILED
CCB_GENERATED
→ CCB_SIGNING_PENDING → CCB_SIGNED (POST /credit-operations/{id}/ccb/sign)
CCB_SIGNED
→ DISBURSEMENT_REQUESTED → ROUTED → DISBURSED (POST /credit-operations/{id}/disbursement)
→ FAILED_TO_ROUTE
→ DISBURSEMENT_FAILED
(qualquer estado não-terminal)
→ CANCELLED (POST /credit-operations/{id}/cancel)
Regras de bloqueio (HTTP 409)
Cada endpoint de transição valida o estado atual antes de agir. Chamadas fora de ordem retornam 409 Conflict:
- Gerar CCB (
POST .../ccb) exige statusAPPROVED. - Assinar CCB (
POST .../ccb/sign) exige statusCCB_GENERATED. - Solicitar desembolso (
POST .../disbursement) exige statusCCB_SIGNED. - Cancelar (
POST .../cancel) é bloqueado se a operação já estiverDISBURSED. - Solicitar KYC (
POST .../kyc) é executado uma única vez por operação e é bloqueado em estados terminais (DISBURSED,REJECTED,CANCELLED).
Acompanhando mudanças de estado
Toda transição de status dispara o evento de webhook CREDIT_OPERATION_STATUS_CHANGED — veja Notificação de Mudança de Status, o que evita a necessidade de polling em GET /credit-operations/{externalContractId}.
Updated 19 days ago
Did this page help you?
