O processo de KYC é obrigatório para todas as operações de crédito da plataforma e tem como objetivo validar a identidade e a elegibilidade da empresa antes do desembolso.
A plataforma oferece dois modelos de KYC:
| Modelo | Descrição |
|---|---|
| Embarcado | O KYC é executado automaticamente pela Celcoin no momento da criação da CCB. Nenhuma ação adicional é necessária. |
| Externo | O parceiro executa o KYC no próprio ambiente e encaminha uma hash de evidência para a plataforma antes da criação da CCB. |
Modelo 1 — KYC Embarcado
O KYC embarcado está integrado à esteira de crédito da Celcoin. Ao criar uma operação de crédito (CCB), o processo de verificação é iniciado automaticamente para a empresa vinculada.
O status do KYC é refletido na esteira via webhook pelo evento APPLICATION_STATUS_UPDATED:
KYC_PROCESSING— verificação em andamentoCANCELEDcomstatus_description: "KYC_REJECTED"— empresa reprovada
Nenhuma chamada adicional é necessária para este modelo.
Antecipação da consulta
É possível antecipar o KYC de uma empresa antes da criação da CCB. Isso permite identificar eventuais reprovações mais cedo no fluxo, evitando que a operação seja criada para uma empresa inelegível.
POST /banking/originator/business/background-check
Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
taxpayer_id | string | Sim | CNPJ da empresa |
name | string | Sim | Razão social da empresa |
Exemplo
curl --request POST \
'https://platform.flowfinance.com.br/banking/originator/business/background-check' \
--header 'Authorization: Bearer <seu_token>' \
--header 'Content-Type: application/json' \
--data '{
"taxpayer_id": "00000000000100",
"name": "Empresa Teste LTDA"
}'Modelo 2 — KYC Externo
Neste modelo, o parceiro é responsável por executar o KYC no próprio ambiente utilizando o provedor de sua preferência. Após a execução, ele deve encaminhar para a plataforma uma hash de evidência que comprove a realização do processo.
A hash de evidência deve ser enviada antes da criação da CCB. Caso contrário, a operação ficará travada na esteira aguardando a validação do KYC.
A hash é gerada livremente pelo parceiro — não há um formato específico exigido pela plataforma. O importante é que ela identifique unicamente a evidência de KYC executada.
POST /banking/originator/business/background-check/external
Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
taxpayer_id | string | Sim | CNPJ da empresa |
name | string | Sim | Razão social da empresa |
kyc_validation_hash | string | Sim | Hash gerada pelo parceiro como evidência da execução do KYC |
Exemplo
curl --request POST \
'https://platform.flowfinance.com.br/banking/originator/business/background-check/external' \
--header 'Authorization: Bearer <seu_token>' \
--header 'Content-Type: application/json' \
--data '{
"taxpayer_id": "00000000000100",
"name": "Empresa Teste LTDA",
"kyc_validation_hash": "hash-gerada-pelo-parceiro"
}'Comparativo entre os modelos
| KYC Embarcado | KYC Externo | |
|---|---|---|
| Quem executa | Celcoin | Parceiro |
| Quando ocorre | Automaticamente na criação da CCB | Antes da criação da CCB |
| Ação necessária | Nenhuma (ou antecipação opcional) | Envio da hash de evidência obrigatório |
| Impacto se não executado | Não se aplica | Operação trava na esteira |
Observações
O modelo de KYC utilizado (embarcado ou externo) é definido na configuração do produto junto à Celcoin. Em caso de dúvidas sobre qual modelo está habilitado para o seu produto, consulte seu Gerente de Conta.
Motivos e Tratamento das Reprovações
Quando uma CCB é cancelada em decorrência da análise de KYC, o motivo é disponibilizado no webhook da CCB, seguindo uma nomenclatura padronizada pela Celcoin.
O retorno segue o formato: KYC_DENIED-{REASON}
Quando houver mais de um motivo, os enums serão separados por hífen (-).
Exemplos:
KYC_DENIED-CPF_IRREGULAR
KYC_DENIED-CPF_IRREGULAR-CPF_HOLDER_DECEASEDA alteração é exclusiva para cancelamentos decorrentes da análise de KYC. Os demais motivos de cancelamento da CCB permanecem inalterados.
Motivos e tratamentos
| Enum | Significado | Quando é retornado | Como tratar |
|---|---|---|---|
INTERNAL_POLICY_RESTRICTION | Restrição relacionada a sanções ou listas restritivas | A análise identifica uma condição relacionada a sanções ou listas restritivas que impede a aprovação do KYC. | Validar os dados do titular. Caso exista divergência, deve ser regularizado antes de uma nova análise. |
CPF_HOLDER_DECEASED | CPF com registro de óbito | É identificado registro ou indicativo de óbito associado ao titular do CPF. | Validar os dados do titular. Caso exista divergência, deve ser regularizado antes de uma nova análise. |
CPF_IRREGULAR | CPF irregular na Receita Federal | O CPF apresenta situação cadastral diferente de regular na Receita Federal. | O titular deve regularizar a situação cadastral do CPF antes de uma nova análise. |
CPF_VALIDATION_FAILED | Falha na consulta do CPF | Não foi possível concluir a consulta necessária para validação do CPF. | Validar os dados do titular. Caso exista divergência, deve ser regularizada antes de uma nova análise. |
INSUFFICIENT_DATA | Dados insuficientes para análise | Não existem dados suficientes para concluir a análise de KYC. | Validar os dados informados e realizar uma nova análise após a correção. |
UNMAPPED_RESTRICTION | Motivo da restrição não identificado | A análise identifica uma restrição que ainda não possui um motivo específico entre os retornos padronizados. | Iremos tratar internamente. Em caso de dúvidas entre em contato com a Celcoin para coletar mais detalhes. |
PROVIDER_UNAVAILABLE_RETRY_EXHAUSTED | Tentativas de processamento esgotadas | Não foi possível concluir a análise mesmo após as tentativas automáticas realizadas pela Celcoin. | Validar os dados informados e tentar realizar uma nova análise. |
PROVIDER_CONFIGURATION_ERROR | Erro na configuração da análise | Uma inconsistência na configuração utilizada no processo impede a conclusão da análise. | Iremos tratar internamente. Uma nova tentativa deve ocorrer somente após a correção da configuração. |
Os motivos apresentados consolidam os cenários atualmente mapeados pela Celcoin.
Importante: a integração deve estar preparada para receber mais de um motivo no mesmo retorno. Quando isso ocorrer, os motivos serão concatenados após
KYC_DENIEDe separados por hífen (-). Motivos ainda não mapeados serão identificados comoUNMAPPED_RESTRICTION.