Onboarding Sem Webview
Orientações para clientes que utilizam a nossa solução de Onboarding - KYC.
Introdução
Este documento tem como objetivo apoiar o cliente a compreender a integração com o produto Onboarding - KYC. Nesse documento iremos explicar o Fluxo, a autenticação e os Endpoints da integração. Para utilização destes serviços é necessário realizar a contratação do Onboarding Celcoin junto a solução do BaaS.
Essa documentação é destinada a clientes que possuem caso de uso ao qual não necessitam do webview para envio dos documentos.
Pré requisitos para implementação:
-
Possuir uma chave API da Celcoin, essa chave API é enviada após contratar o serviço conosco. link.
-
Ter familiaridade com APIs Rest usando o protocolo OAuth 2.0.
-
Ter o produto/solução contratada, caso queira usar a funcionalidade em ambiente produtivo, por favor entre em contato com a nossa equipe comercial através do e-mail [email protected]. Para dúvidas técnicas, basta entrar em contato com o suporte através do link.
ImportanteSandbox
No ambiente de sandbox, possuímos o seguinte comportamento:
Utilize o campo phoneNumber para PF
Utilize o campo contactNumber para PJ
Final do telefone terminando em:
1 - Aprovado em ambos os webhooks e criará a conta (Independente dos demais dados informados)
2 - Reprovado no primeiro webhook (Independente dos demais dados informados)
3 - Aprova a primeira etapa do processo e reprova a segunda. (Independente dos demais dados informados)
Diferente de telefone final terminado em 1, 2 e 3 seguirá com o cenário próximo da realidade (Necessário informar dados reais em casos desse).
OBS: O comportamento respeitará a configuração utilizada para o seu caso, fluxo 1 ou fluxo 2.Informações importantes para o processo em produção nasConsiderações finais
Fluxo de integração
Essa documentação é destinada a clientes que possuem caso de uso ao qual não necessitam do webview para envio dos documentos.
O primeiro passo é coletar os dados do seu cliente, (detalhados no tópico de Endpoints). Com esses dados coletados, você deverá fazer uma requisição utilizando o método POST em um dos Endpoints disponíveis:
• proposal/natural-person, para contas Pessoa Física (PF)
• proposal/legal-person, para contas Pessoa Jurídica (PJ)
Após essa requisição, será criada uma proposta e iremos rodar uma política de BackgroundCheck em nosso fornecedor e iremos retornar via Webhook o resultado. Caso seja aprovado, além do webhook com o resultado de “Approved” , após a aprovação, serão realizadas novas validações de políticas referente a documentação enviada, como a Documentoscopia e OCR. Iremos retornar o resultado via Webhook e caso seja aprovado, além do webhook iremos também enviar o webhook de criação de conta do BaaS.
Os documentos do cliente deverão ser enviados no request, através de uma URL acessível e atrelada ao download do documento que foi informado no campo "Type".
Recomendações Fluxo
Recomendamos esse fluxo para clientes que possuem já possuem um mecanismo para capturar/recepcionar todos os documentos do cliente.
Criar propostas
A criação das propostas devem ser realizadas através dos endpoints
Pessoa FísicaSe a proposta for para uma pessoa física. (onboarding-proposal/natural-person) endpoint
URL Sandbox: https://sandbox.openfinance.celcoin.dev/onboarding/v1/onboarding-proposal/natural-person
Exemplo Request:
{ "clientCode": "myUniqueCustomCode", "documentNumber": "1234567890", "phoneNumber": "+5511999999999", "email": "[email protected]", "motherName": "My mothers name", "fullName": "My full name", "socialName": "My social name", "birthDate": "01-01-1970", "address": { "postalCode": "99999000", "street": "My address", "number": "999", "addressComplement": "Address references.", "neighborhood": "My neighborhood", "city": "My city", "state": "State" }, "isPoliticallyExposedPerson": false, "onboardingType": "BAAS", "financialDetails": { "declaredIncome": "1DINP02", // Renda declarada "occupation": "ONP07", // Profissão "netWorth": "NWNP02" // Patrimônio }, "files": [ //Devem ser informados todos os documentos no request { "type": "SELFIE", "data": "https://cloud.storage/myselfie_with_1h_expiration_minimum.jpeg" //Essa URL deverá ser acessível e atrelada ao download do documento que foi informado no campo "Type". Recomendamos que essa URL tenha um período de expiração de pelo menos 1 hora. } ] }
Exemplo Response:
{ "body": { "proposalId": "1234cee7-cf18-44d6-ad9c-5a33cd45b9a0", //número da proposta criada "clientCode": "myUniqueCustomCode", //código cliente "documentNumber": "1234567890" //documento }, "version": "1.0.0", //versão "status": "PROCESSING" //status da proposta }
Pessoa JurídicaSe a proposta for para uma pessoa jurídica. (onboarding-proposal/legal-person) endpoint
É importante informar todos os sócios do Quadro Societário da empresa, ou pelo menos os que possuem participação societária maior ou igual a 25%.
URL Sandbox: https://sandbox.openfinance.celcoin.dev/onboarding/v1/onboarding-proposal/legal-person
Exemplo Request:
{ "clientCode": "123456", "contactNumber": "+551239215555", "documentNumber": "56461227000199", "businessEmail": "[email protected]", "businessName": "IP Pagamentos", "tradingName": "IPay", "companyType": "PJ", //tipo da empresa. Informe como PJ casos divergentes de Natureza Juridica Empresário Individual. "owner": [ { "ownerType": "REPRESENTANTE", "documentNumber": "33333333333", "fullName": "Carlos Henrique da Silva", "phoneNumber": "+5512981175554", "email": "[email protected]", "motherName": "Nome Sobrenome", "socialName": "Nome", "birthDate": "31-12-1984", "address": { "postalCode": "12211400", "street": "Rua da Liberdade", "number": "313", "addressComplement": "Em frente ao parque.", "neighborhood": "Casa Verde", "city": "São Paulo", "state": "SP" }, "isPoliticallyExposedPerson": false, "financialOwnerDetails": { "ownerDeclaredIncome": "ODIB02", //Renda declarada em caso de sócio PF "ownerDeclaredRevenue": "ODRB02" //Faturamento anual declarado em caso de sócio PJ } } ], "businessAddress": { "postalCode": "12211400", "street": "Rua da Liberdade", "number": "313", "addressComplement": "Em frente ao parque.", "neighborhood": "Casa Verde", "city": "São Paulo", "state": "SP" }, "onboardingType": "BAAS", "financialCompanyDetails": { "declaredCompanyRevenue": "DCRB03", //Faturamento anual declarado da empresa }, "files": [ //Devem ser informados todos os documentos no request { "type": "RG_FRONT", "data": "https://t.ctcdn.com.br/lvns56iaSMyHvyTur4JeYS_NYeY=/i606944.png" //Essa URL deverá ser acessível e atrelada ao download do documento que foi informado no campo "Type". Recomendamos que essa URL tenha um período de expiração de pelo menos 1 hora. } ] }//Exemplo de empresa com sócio PJ, necessário informar o Sócio Administrador da outra empresa. { "clientCode": "a7e9ea3f-69e4-4599-92b4-6cb8a79c3512", "contactNumber": "+5511985028123", "documentNumber": "42222915000191", "businessEmail": "[email protected]}", "businessName": "Celcoin", "tradingName": "Celcoin Instituição de Pagamento", "companyType": "PJ", "owner": [ { "ownerType": "SOCIO",//PF "documentNumber": "72352781027", "fullName": "Nome Socio Primeira Empresa", "phoneNumber": "+5511912345128", "email": "[email protected]", "motherName": "Mother Name Teste", "socialName": "Nome", "birthDate": "22-06-1972", "address": { "postalCode": "06455030", "street": "Rua do Teste", "number": "123", "addressComplement": "", "neighborhood": "Alphaville Industrial", "city": "Barueri", "state": "SP" }, "isPoliticallyExposedPerson": false, "financialOwnerDetails": { "ownerDeclaredIncome": "ODIB02",// Renda declarada em caso de sócio PF } }, { "ownerType": "SOCIO",//PJ "documentNumber": "02555276000122", "fullName": "Razão Social da empresa", "phoneNumber": "+5511912345128", "email": "[email protected]", "motherName": "nao se aplica", "socialName": "nao se aplica", "birthDate": "22-06-2005",//data de abertura da empresa "address": { "postalCode": "06455030", "street": "Alameda Xingu", "number": "123", "addressComplement": "", "neighborhood": "Alphaville Industrial", "city": "Barueri", "state": "SP" }, "isPoliticallyExposedPerson": false, "financialOwnerDetails": { "ownerDeclaredRevenue": "ODRB02",//Faturamento anual declarado em caso de sócio PJ } } ], "businessAddress": { "postalCode": "06454000", "street": "Alameda Rio Negro", "number": "503", "addressComplement": "sala 2020", "neighborhood": "Alphaville Centro Industrial", "city": "Barueri", "state": "SP" }, "onboardingType": "BAAS", "financialCompanyDetails": { "declaredCompanyRevenue": "DCRB03", //Faturamento anual declarado da empresa }, "files": [ //Devem ser informados todos os documentos no request { "type": "RG_FRONT", "data": "https://t.ctcdn.com.br/lvns56iaSMyHvyTur4JeYS_NYeY=/i606944.png" //Essa URL deverá ser acessível e atrelada ao download do documento que foi informado no campo "Type". Recomendamos que essa URL tenha um período de expiração de pelo menos 1 hora. } ] }No atributo “ownerType” deverá ser informado uma das opções: “SOCIO” OU “REPRESENTANTE”. Para casos onde existe mais de um sócio, utilize a opção "SOCIO" para o primeiro Sócio e a opção “DEMAIS_SOCIOS” para os demais. Caso seja informado REPRESENTANTE será obrigatório a inclusão da Procuração de Poderes.
No atributo CompanyType deverá ser informado o tipo de empresa MEI ou PJ. Em caso de dúvidas, é imprescindível questionar ao cliente, pois impactará na jornada de KYC.Para casos com empresas com sócio PJ, informe o sócio administrador da segunda empresa no request. Exemplo na guia 2 do Request. Para enviar os 2 contratos sociais das empresas, envie o primeiro com file Type CONTRATO_SOCIAL e o outro com o type OUTROS.
Para casos diferentes de MEI o tipo de empresa, informe como tipo PJ.
Exemplo Response:
{ "body": { "proposalId": "c3216c8a-df23-450b-92d5-48b0c89c8791", //número da proposta "clientCode": "a7e9ea3f-69e4-4599-92b4-6cb8a79c3512", //código cliente "documentNumber": "13935893000109" //documento }, "version": "1.0.0", //versão "status": "PROCESSING" //status proposta }
Informações financeirasPara informações sobre o correto preenchimento dos campos do objeto "financialDetails" acesse nossa documentação complementar: Informações Financeiras.
A URL informada no campo files.data deverá ser acessível e atrelada ao download instantâneo do documento que foi informado no campo "Type".
Recomendamos que essa URL tenha um período de expiração de pelo menos 1 hora.
Consultar propostas
É possível consultar as propostas criadas e seus status utilizando o seguinte endpoint
É possível utilizar os seguintes filtros:
• Data início e data fim (Obrigatório caso não inclua o nº da proposta)
• Status proposta
• DocumentNumber
• Nº Proposta
Também é possível consultar os status das Propostas no Painel do Cliente através da opção Consultar Onboarding.
URL Sandbox:
https://sandbox.openfinance.celcoin.dev/onboarding/v1/onboarding-proposal
Exemplo Request:
onboarding-proposal?dateFrom=2024-02-03T06:30:00&dateTo=2024-03-25T06:30:00
Exemplo Response:
{ "body": { "limit": 200, "currentPage": 1, "limitPerPage": 200, "totalPages": 1, "proposal": [ { "proposalId": "8cf4b988-a2f7-4f48-9075-384ca287d993", //número da proposta "clientCode": "8904ec29-cf6b-42ea-b8a5-b12aa58b80d2", //código cliente "documentNumber": "43512350800", //documento atrelado a proposta "status": "RESOURCE_CREATED", //status da proposta "proposalType": "PF", //tipo da proposta "createdAt": "2024-03-13T14:58:50.073Z", //data de criação da proposta "updatedAt": "2024-03-13T14:59:15.512Z", //data de atualização "documentscopys": [ //informações referente a documentoscopia da proposta { "documentNumber": "43512350800", //número do documento "status": "APPROVED", //status da documentoscopia "url": "https://cadastro.io/3214bf523eeeb818894ee575e284d8b6", //link da jornada de captura de documentos e facematch "createdAt": "2024-03-13T14:58:52.957Z", //data de criação da documentoscopia "updateAt": "2024-03-13T14:59:20.01Z" //data de atualização da documentoscopia } ] }, { "proposalId": "253942c5-dbdc-4d1f-b985-28a727d56b81", //número da proposta "clientCode": "60a1f00a-b72f-4e99-b7e6-6a59ccf884f7", //código cliente "documentNumber": "43561230800", //documento atrelado a proposta "status": "PENDING_DOCUMENTSCOPY", //status da proposta "proposalType": "PF", //tipo da proposta "createdAt": "2024-03-13T14:59:34.142Z", //data de criação da proposta "updatedAt": "2024-03-13T15:00:08.856Z", //data de atualização "documentscopys": [ //informações referente a documentoscopia da proposta { "documentNumber": "43561230800", //número do documento "status": "PENDING", //status da documentoscopia "url": "https://cadastro.io/444c216bd0a90e1bda19e7a06c923e78", //link da jornada de captura de documentos e facematch "createdAt": "2024-03-13T14:59:34.716Z", //data de criação da documentoscopia "updateAt": "2024-03-13T15:00:09.897Z" //data de atualização da documentoscopia } ] }, { "proposalId": "7b4bbe6d-d156-4297-b7cc-3db2ba2b5cdc", //número da proposta "clientCode": "4cd7589f-a3d1-45c3-8418-9dd86439432c", //código cliente "documentNumber": "32113434101", //documento atrelado a proposta "status": "RESOURCE_ERROR", //status da proposta "proposalType": "PF", //tipo da proposta "createdAt": "2024-03-13T16:58:13.215Z", //data de criação da proposta "updatedAt": "2024-03-13T16:59:15.771Z", //data de atualização "rejectedReason":{ //motivo da reprovação ao criar a conta "errorCode": "CBE123", //código de erro BaaS "message": "error message." //mensagem de erro }, "documentscopys": [ { "documentNumber": "91513434101", //número do documento "status": "APPROVED", //status da documentoscopia "url": "https://cadastro.io/444c216bd0a90e1bda19e7a06c913e98", //link da jornada de captura de documentos e facematch "createdAt": "2024-03-13T16:58:14.547Z", //data de criação da documentoscopia "updateAt": "2024-03-13T18:58:14.547Z" //data de atualização da documentoscopia } ] } ] }, "version": "1.0.0", "status": "SUCCESS" }
Eventos da jornada do KYC
Evento: onboarding-backgroundcheck
Evento que informa o status do processo de Backgroundcheck.
Status inicial = Pending
//Exemplo Pending
{
"body": {
"proposalId": "4915eca3-ad55-467e-973b-05a773290e38",
"clientCode": "4a3aba31-4c40-411b-a3d9-345e2d43d8ea",
"documentNumber": "48087438000185",
"proposalType": "PJ",
"onboardingType": "BAAS"
},
"createTimestamp": "2024-03-05T16:43:33Z",
"entity": "onboarding-backgroundcheck",
"status": "PENDING",
"webhookId": "9f0587ee-a057-4323-a61c-b89d45acacae"
}
Em caso de aprovação ou reprovação do Backgroundcheck. Status Approved ou Reproved.
//Exemplo Aprovado
{
"body": {
"proposalId": "aa3a0bd5-22d3-4454-8bd7-9b9ef1b6da2d",
"clientCode": "d12304dd-8b16-48a8-a2e9-73f1053252jj",
"documentNumber": "48087438000185",
"proposalType": "PJ",
"onboardingType": "BAAS"
},
"createTimestamp": "2024-03-05T18:02:10Z",
"entity": "onboarding-backgroundcheck",
"status": "APPROVED",
"webhookId": "dce44989-dd518-4abe-85ec-9c863cf39295"
}
//Exemplo Reprovado
{
"body": {
"proposalId": "4915eca3-ad55-467e-973b-05a773290e38",
"clientCode": "4a3aba31-4c40-411b-a3d9-345e2d43d8ea",
"documentNumber": "48087438000185",
"proposalType": "PJ",
"onboardingType": "BAAS",
"RejectedReason":[
"O CPF não está regular na Receita Federal.",
"CNPJ inativo ou baixado.",
]
},
"createTimestamp": "2024-03-05T16:43:33Z",
"entity": "onboarding-backgroundcheck",
"status": "REPROVED",
"webhookId": "9f0587ee-a057-4323-a61c-b89d45acacae"
}Evento: onboarding-documentscopy
Evento que informa o status do processo de Documentoscopia.
Status inicial = Pending
//Exemplo Pending
{
"body": {
"proposalId": "aa3a0bd5-22d3-4454-8bd7-9b9ef1b6da2d",
"clientCode": "d12304dd-8b16-48a8-a2e9-73f1053252ee",
"documentNumber": "48087438000185",
"proposalType": "PJ",
"onboardingType": "BAAS",
"urlDocumentscopy": ""
},
"createTimestamp": "2024-03-05T18:02:17Z",
"entity": "onboarding-documentscopy",
"status": "PENDING",
"webhookId": "4de73327-ba5a-4240-85d6-8d36e3bf323d"
}
//Exemplo Processing
{
"body": {
"proposalId": "aa3a0bd5-22d3-4454-8bd7-9b9ef1b6da2d",
"clientCode": "d12304dd-8b16-48a8-a2e9-73f1053252ee",
"documentNumber": "48087438000185",
"proposalType": "PJ",
"onboardingType": "BAAS",
},
"createTimestamp": "2024-03-05T18:02:17Z",
"entity": "onboarding-documentscopy",
"status": "PROCESSING",
"webhookId": "4de73327-ba5a-4240-85d6-8d36e3bf323d"
}
Em caso de aprovação ou reprovação da Documentoscopia. Status Approved ou Reproved.
//Exemplo Aprovado
{
"body": {
"proposalId": "aa1a0bd5-22d3-4454-8bd7-9b9ef1b6da2d",
"clientCode": "d12304dd-8b16-48a8-a2e9-73f1053252ee",
"documentNumber": "48087438000185",
"proposalType": "PJ",
"onboardingType": "BAAS"
},
"createTimestamp": "2024-03-06T13:19:40Z",
"entity": "onboarding-documentscopy",
"status": "APPROVED",
"webhookId": "a5c339e8-4021-4ab5-980f-b0d1a28e7fad"
}
//Exemplo Reprovado
{
"body": {
"proposalId": "aa1a0bd5-22d3-4454-8bd7-9b9ef1b6da2d",
"clientCode": "d12304dd-8b16-48a8-a2e9-73f1053252ee",
"documentNumber": "48087438000185",
"proposalType": "PJ",
"onboardingType": "BAAS",
"RejectedReason":[
"O CPF não está regular na Receita Federal.",
"CNPJ inativo ou baixado.",
]
},
"createTimestamp": "2024-03-06T13:19:40Z",
"entity": "onboarding-documentscopy",
"status": "REPROVED",
"webhookId": "a5c339e8-4021-4ab5-980f-b0d1a28e7fad"
}
Evento: onboarding-proposal
Resultado da proposta, status Approved ou Reproved.
//Exemplo Aprovado
{
"body": {
"proposalId": "aa3a0bd5-22d3-4454-8bd7-9b9ef1b6da2d",
"clientCode": "d12304dd-8b16-48a8-a2e9-73f1053252ee",
"documentNumber": "48087438000185",
"proposalType": "PJ",
"onboardingType": "BAAS"
},
"createTimestamp": "2024-03-06T13:19:40Z",
"entity": "onboarding-proposal",
"status": "APPROVED",
"webhookId": "412efd4d-5c8f-47fb-b837-71211956b1ef"
}
//Exemplo Reprovado
{
"body": {
"proposalId": "bb3a0bd5-22d3-4454-8bd7-9b9ef1b6da2d",
"clientCode": "d12304dd-8b16-48a8-a2e9-73f1053252ee",
"documentNumber": "48087438000185",
"proposalType": "PJ",
"onboardingType": "BAAS",
"RejectedReason":[ //motivo da reprovação
"O CPF não está regular na Receita Federal.",
"CNPJ inativo ou baixado.",
]
},
"createTimestamp": "2024-03-06T13:19:40Z",
"entity": "onboarding-proposal",
"status": "REPROVED",
"webhookId": "412efd4d-5c8f-47fb-b837-71211956b1ef"
}Após a aprovação da proposta, uma conta com os dados respectivos será criada no BaaS e o Webhook do BaaS irá retornar as informações.
Evento: onboarding-create
Criação da conta no BaaS
O Status será sempre CONFIRMED ou ERROR caso ocorra algum erro na criação.
O onboardingId retornado nesse webhook é o mesmo dado do proposalId.
{
"entity": "onboarding-create",
"createTimestamp": "2022-11-04T10:35:16.0511474",
"status": "CONFIRMED",
"body": {
"account": {
"branch": "0001", //agência da conta
"account": "30053912934", //número da conta
"name": "Ms. Rodolfo Marvin",
"documentNumber": "86913161280"
},
"onboardingId": "1e39442d-270f-4f9a-b752-9c08456c6e14", //será o mesmo dado do proposalId
"clientCode": "1f8ff32f-2d1f-4c28-b316-8020b3d13d43",
"createDate": "2022-11-04T10:35:16.0511474"
}
}Tabelas para apoio
Documentos obrigatórios
| Tipo | Documentos Obrigatórios |
|---|---|
| PF | • RG ou CNH ou RNE • Selfie |
| PJ | • RG ou CNH ou RNE • Selfie • Contrato Social OBS: Em caso de Representante é obrigatório a procuração de poderes. |
| MEI | • RG ou CNH ou RNE • Selfie |
| Tipo Empresa | Documentos Pessoa Jurídica |
|---|---|
| EIRELI - Empresa Individual de Responsabilidade Limitada | :Contrato social/Estatuto |
| EI - Empresário Individual | Requerimento de Empresário |
| LTDA - Sociedade Limitada | Contrato social/Estatuto |
| SLU - Sociedade Limitada Unipessoal: | Contrato social/Estatuto |
| S/A - Sociedade Anônima: | Estatuto/Ata de assembleia de constituição |
Parâmetro, possíveis valores e significado
| Parâmetro | Possíveis valores | Significado |
|---|---|---|
| proposalType | PF ou PJ | Tipo de proposta, se é pessoa física ou pessoa jurídica. |
| companyType | PJ ou MEI | Tipo de empresa. (Utilizado para proposalType = PJ) |
| ownerType | SOCIO, REPRESENTANTE ou DEMAIS_SOCIOS | Tipo de pessoa atrelado ao quadro societário. |
| isPoliticallyExposedPerson | True ou False | Se a pessoa informada na proposta é politicamente exposta. |
| onboardingType | BAAS | Tipo de Onboarding. (Por agora única opção disponível BAAS) |
| fileType | CNH_FRONT, CNH_BACK, RG_FRONT, RG_BACK, RNE_FRONT, RNE_BACK, CONTRATO_SOCIAL, DOCUMENTO_FINANCEIRO, PROCURACAO_PODERES, SELFIE, COMPROVANTE_RENDA, COMPROVANTE_RESIDENCIA, OUTROS | Tipo de arquivo enviado pelo cliente. |
Entidades, possíveis status e significado do status
| Entidade | Status | Significado |
|---|---|---|
| Proposal Status | Created | Proposta criada. |
| Proposal Status | Pending | Pendente Backgroundcheck (Nesse Status está sendo feito o backgroundcheck). |
| Proposal Status | Pending_Documentscopy | Pendente Documentoscopia (Nesse Status está pendente a realização do envio dos documentos por parte do seu cliente via jornada). |
| Proposal Status | Processing_Documentscopy | Processando a Documentoscopia (Nesse Status seu cliente já finalizou a jornada e estamos processando as informações enviadas). |
| Proposal Status | Reproved | Proposta reprovada. |
| Proposal Status | Resource_error | Erro ao criar a conta no BaaS. |
| Proposal Status | Resource_Created | Proposta aprovada e conta criada no BaaS. |
| Documentscopys Status | Created | Documentoscopia criada. |
| Documentscopys Status | Pending | Pendente Documentoscopia (Nesse Status está pendente a realização do envio dos documentos por parte do seu cliente via jornada). |
| Documentscopys Status | Processing | Processando a Documentoscopia (Nesse Status seu cliente já finalizou a jornada e estamos processando as informações enviadas). |
| Documentscopys Status | Reproved | Documentoscopia reprovada. |
| Documentscopys Status | Approved | Documentoscopia aprovada. |
Regras Campos
| Campo | Regras | Tamanho máximo |
|---|---|---|
| Name | Regex = ("^([A-Za-zÀ-ÖØ-öø-ÿ' -]+)$")); | 120 caracteres |
| BusinessName | Regex = ("^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\\\$%\\d' -]+)$")); | 350 caracteres |
Tabela de erros
| Código | Mensagem |
|---|---|
| OBE001 | Token de autorização não enviado. |
| OBE002 | Token enviado está no formato incorreto. |
| OBE003 | Token inválido. |
| OBE004 | Token expirado. |
| OBE005 | Usuario não encontrado. |
| OBE006 | Cliente não possui produto Onboarding ativo. |
| OBE007 | O campo clientCode é obrigatório. |
| OBE008 | O campo documentNumber é obrigatório e deve ser um CPF válido. |
| OBE009 | O campo documentNumber é obrigatório e deve ser um CNPJ válido. |
| OBE010 | O campo phoneNumber ou contactNumber é obrigatório e deve ser um telefone válido. |
| OBE011 | O campo email é obrigatório e deve ser um email válido. |
| OBE012 | O campo motherName é obrigatório e deve ser completo. |
| OBE013 | O campo fullName é obrigatório e deve ser completo. |
| OBE014 | O campo fullName possui tamanho máximo de 120 caracteres. |
| OBE015 | socialName inválido. |
| OBE016 | O campo birthDate é obrigatório e deve ser no formato (DD-MM-YYYY). |
| OBE017 | O campo address é obrigatório. |
| OBE018 | O campo onboardingType é obrigatório e deve conter um tipo válido. |
| OBE019 | O campo postalCode é obrigatório e deve ser um CEP existente. |
| OBE020 | O campo street é obrigatório deve respeitar o limite de caracteres e conter um formato de texto válido. |
| OBE021 | Number inválido. |
| OBE022 | AddressComplement inválido. |
| OBE023 | O campo neighborhood é obrigatório e deve conter um formato de texto válido. |
| OBE024 | O campo city é obrigatório e deve conter um formato de texto válido. |
| OBE025 | O campo state é obrigatório e deve ser uma estado valido. |
| OBE026 | O campo businessEmail é obrigatório e deve ser um email válido. |
| OBE027 | O campo businessName é obrigatório e deve conter um formato de texto válido. |
| OBE028 | O campo tradingName é obrigatório deve respeitar o limite de caracteres e conter um formato de texto válido. |
| OBE029 | O campo owner.documentNumber é obrigatório e deve ser um CPF ou CNPJ válido. |
| OBE030 | O campo owner.name é obrigatório e deve ser completo. |
| OBE031 | O campo owner.email é obrigatório e deve ser um email válido. |
| OBE032 | O campo owner.address é obrigatório. |
| OBE033 | Cadastro não permitido para menores de idade. |
| OBE034 | Formato do JSON esta fora do padrão. Verifique a documentação. |
| OBE035 | Não foi possivel realizar essa operação. Tente novamente mais tarde. |
| OBE036 | CompanyType inválido. |
| OBE037 | O campo Owners deve conter um array de no mínimo 1 e máximo 10. |
| OBE038 | Owners não podem ser duplicados. |
| OBE039 | O campo businessAddress é obrigatório. |
| OBE040 | O campo ownerType é obrigatório e deve conter um valor válido. |
| OBE041 | BackgroundCheck não encontrado ou com status diferente de pendente. |
| OBE042 | Erro ao atualizar backgroundCheck. |
| OBE043 | Documentscopy não encontrado ou com status diferente de pendente. |
| OBE044 | Erro ao atualizar documentscopy. |
| OBE045 | Status da proposta inexistente verifique a documentação por favor. |
| OBE046 | Data inválida. |
| OBE047 | Limite inserido inválido. Os campos limit ou limitPerPage devem ter valores entre 1 e 200. |
| OBE048 | O campo documentNumber deve ser um CPF ou CNPJ válido. |
| OBE049 | Não foi encontrada nenhuma proposta referente aos dados informados. |
| OBE050 | A data inicial não pode ser maior que a data final. |
| OBE051 | Ao não enviar o proposalId os campos data inicial e a data final são obrigatórios. |
| OBE052 | O intervalo de dias entre a data inicial e a data final não deve ser maior que 0 dias. |
| OBE053 | O campo ownerType deve conter pelo menos um sócio ou representante |
| OBE054 | ProposalId e clientCode não enviados. Ao menos um desses parametros deve ser enviado. |
| OBE055 | Não foram encontrados arquivos para o proposalId ou clientCode informado(s). |
| OBE056 | Não foram encontradas documentoscopias referentes ao proposalId ou clientCode enviado. |
| OBE057 | Ocorreu um erro ao buscar documentos. |
| OBE058 | ClientType inválido. |
| OBE059 | SourceType inválido. |
| OBE060 | O campo clientId é obrigatório. |
| OBE061 | Source inválido. |
| OBE062 | ClientCode já vinculado a outra proposta, esse campo deve ser único por proposta. |
| OBE063 | Não foram encontrados registros para a sua requisição. |
| OBE064 | Já existe uma proposta em aberto para esse documentNumber. |
| OBE065 | O campo dateFrom é obrigatório. |
| OBE066 | O campo dateTo é obrigatório. |
| OBE067 | O campo partner.partnerName deve conter um valor válido. |
| OBE068 | O campo partner.parameter deve ser preenchido. |
| OBE069 | Ao enviar os campos partner.parameters, o campo partner.partnerName deve ser obrigatório. |
| OBE070 | Não foram encontrados dados, pois o usuário ainda não iniciou a jornada webview. Tente novamente mais tarde. |
| OBE071 | Ocorreu um erro ao consultar parceiro. Favor tentar novamente mais tarde. |
| OIE999 | Ocorreu um erro interno durante a chamada da api |
Tabela de Motivos de Reprovação
| Código | Motivo de Reprovação |
|---|---|
000 | Não foi possível aprovar sua conta neste momento, conforme nossos critérios internos de avaliação. |
001 | Reprovado por falta de envio do Contrato Social. |
002 | Reprovado por falta de envio do Estatuto Social. |
003 | Reprovado por falta de envio do Regulamento do Fundo. |
004 | Reprovado por falta de envio do Ato Constitutivo. |
005 | Reprovado por falta de envio da Ata de Eleição da Diretoria/Presidência vigente. |
006 | Reprovado por falta de envio da Convenção de Condomínio. |
007 | Reprovado por não envio de procuração de poderes. |
008 | A procuração de poderes apresentada não atende aos requisitos de validação. |
009 | A procuração de poderes enviada está com a validade expirada. |
010 | O documento societário apresentado da empresa cadastrada não possui evidência de registro no órgão competente. |
011 | O documento societário apresentado da sócia PJ não possui evidência de registro no órgão competente. |
012 | Solicitamos o envio do documento societário das empresas sócias com participação societária igual ou superior a 25%, conforme indicado na estrutura societária da empresa. |
013 | O documento societário anexado está incompleto. |
014 | Verificamos que o documento societário enviado não contém informações sobre a filial cadastrada. |
015 | A cláusula de administração que nomeia o responsável pela administração da empresa não foi localizada no documento societário enviado. |
016 | Não foi possível visualizar o documento societário enviado, pois o arquivo está protegido por senha ou apresentou erro durante a tentativa de abertura. |
017 | Solicitamos o envio do documento societário com informações atualizadas, de acordo com a Receita Federal. |
018 | O CPF cadastrado não consta como administrador/representante legal na documentação societária apresentada. |
019 | Verificamos que o CNPJ constante no documento societário recebido não é compatível com o CNPJ informado no momento do cadastro. |
020 | Não foi possível validar a autenticidade do documento societário enviado devido à sua ilegibilidade ou obstrução. |
021 | CNPJ recém-constituído. |
022 | Solicitamos o documento de identificação do representante legal responsável pela administração da empresa, conforme consta no documento societário anexado. |
023 | Não foi possível validar a autenticidade do documento de identificação enviado, pois ele está ilegível. |
024 | CNH Digital enviada sem o QR Code para validação. |
025 | RG digital não aceito para validação. |
026 | Documento de identificação incompleto. |
027 | Não foi possível validar as informações do documento de identificação enviado, pois ele apresenta danos ou obstruções que impedem a leitura adequada dos dados. |
028 | Não é aceita fotocópia/xerox do documento de identificação para validação. |
029 | Documento de identificação enviado por captura de tela ou foto de outro dispositivo eletrônico. |
030 | Não foi possível realizar a validação da selfie enviada. |
031 | Os dados informados no cadastro divergem dos registros da Receita Federal. |
032 | Reprovado, pois o CNPJ encontra-se com situação cadastral baixada/inapta. |
033 | Para prosseguir, é necessário encaminhar a Declaração Cadastral Produtor (DECAP). |
034 | A empresa não consta na lista de empresas autorizadas pelo Ministério da Fazenda a ofertar apostas de quota fixa em âmbito nacional. |
Considerações finais
Envio de documentosNão envie o documento pessoal com mais de uma página, caso mande dessa maneira, será reprovado.
Recomendamos que a URL que contém os documentos tenha um período de expiração de pelo menos 1 hora.
Para casos em que a empresa possui sócios que são pessoas jurídicas (empresas sócias), é obrigatório enviar o contrato social dessas empresas sócias.
Você pode:• Anexar o contrato social da empresa sócia separadamente, utilizando o tipo de arquivo “OUTROS”.
• Agrupar todos os documentos em um único PDF no envio do contrato social.Aceitamos os formatos: PDF, PNG, JPEG
Requisição individual por propostaAtualmente não é possível criar diversas contas em uma única requisição, em casos desses é necessário enviar em diferentes requisições.
Quantidade de propostas por documentos
Temos uma validação onde é permitido criar 1 proposta por documento a cada 24 horas. Logo não é possível criar várias propostas para o mesmo documento enquanto a anterior não estiver finalizada e não tenha passado as 24 horas.Não temos um limitante de aberturas de propostas, apenas se atente todas as regras e orientações descritas nessa documentação.
Resultado das propostasEm produção, o resultado das análises, tanto da PF quanto da PJ, pode levar até 48horas úteis para ser concluída.
Envio categorizado corretamenteImportante realizar o envio correto do tipo de empresa PJ, caso seja realizado um envio incorreto. Exemplo: deveria ser enviado MEI porém foi enviado PJ, isso pode fazer com que ocorra uma reprovação e também será cobrado o valor do tipo enviado.
Para casos divergentes de Natureza Jurídica "Empresário Individual" enviar como tipo de empresa PJ.
Validações realizadasBackground Check
• Consulta de CPF/CNPJ na Receita Federal;
• Ações judiciais da Empresa/Pessoa (Processos criminais, trabalhistas, etc);
• Lista de sanções (Nacional: COAF, CEAF, CNEP, MTE, PPE, TSE, CEIS, CEPIM, TCU, Conselho nacional de Justiça. Internacional: EU, FBI, GOV UK, INTERPOL, OFAC, UNSC.);
• Exposição e perfil na mídia;
• Lista PEP;Documentoscopia
• OCR do documento enviado (Validação dos dados enviados x encontrados na receita x dados do documento enviado);
• Pericia Documental/Documentoscopia;
• Facematch (Validação entre Selfie x Foto documento físico);
• Análise do contrato social e procuração de poderes (Validação da autenticidade do documento e QSA);
ImportanteDocumentação
Documentos e formatos aceitos:
PF:
- RG: foto do documento físico (frente e verso);
- CIN: PDF da versão digital oficial;
- CNH: documento físico ou CNH Digital com QR Code;
- RNE/RNM: documento válido para estrangeiros.
PJ:
- Contrato Social (em casos de clientes MEI, o Certificado da Condição do Microempreendedor Individual (CCMEI))
- Documentos PF citados acima do sócio/representante legal.
Importante:
Não é aceito RG Digital.
Não são aceitos prints de tela de celular, capturas de tela ou fotos tiradas de telas de computadores, tablets ou outros dispositivos eletrônicos.
São aceitos apenas documentos de identificação emitidos há, no máximo, 15 anos, contados da data de emissão.
Não são aceitas xerox autenticadas dos documentos de identificação.
Todos os documentos devem estar legíveis, íntegros, sem cortes e em boas condições de visualização, permitindo a validação de sua autenticidade.
Não aceitamos documentos com tamanho maior que 10MBWebhooks
Em caso de não receber o webhook é possível realizar uma chamada para receber o reenvio, para mais informações acesse a documentação de reenvio clicando aqui.
Motivos de Reprovação
O campo RejectedReason nos Webhooks quando a proposta é reprovada, informará o motivo da reprovação.
RejectedReason Descrição Inconsistência nos dados de biometria facial. Faz uma verificação anti-spoofing na selfie enviada. O que aciona essa regra é ser detectado o spoofing. Não identificamos um documento válido nas imagens enviadas. Verifica se nas imagens enviadas existe um documento. As imagens enviadas não estão legíveis. Verifica se as imagens enviadas são legíveis. Documento informado como tipo CNH porém não foi identificado como CNH. Verifica se o documento enviado é uma CNH. Não possui CPF identificado no documento ou informado manualmente. Verifica se foi encontrado CPF no documento ou informado manualmente. Foto de selfie não enviada. Verifica o envio de selfie. Cliente reprovado por Facematch, divergência entre Selfie x Foto documento enviado. Verifica a similaridade entre documento e selfie. Não foi possível consultar o CPF na Receita Federal. Verifica se foi possível consultar o CPF na Receita Federal. CPF irregular. Verifica a regularidade do CPF. O nome na execução (parâmetro/OCR) não condiz com o cadastro da Receita Federal. Verifica se o nome encontrado na execução (parâmetro/OCR) é o mesmo da base de dados oficial. A pessoa está em situação de óbito. Verifica se o portador do CPF se encontra em situação de óbito. Documento reprovado na perícia documental. Verifica se a documentoscopia está disponível. Documento reprovado na perícia documental. Verifica se o documento foi aprovado na perícia documental. Dados informados divergentes dos encontrados no documento. Verifica a divergência entre informações coletadas e informadas manualmente. Restrição identificada em análise de histórico de processos. Verifica se o CPF/CNPJ está vinculado a processos. Restrição identificada em análise de histórico de processos. Verifica se o CPF/CNPJ está vinculado a processos como réu. Restrição identificada em análise de histórico de processos. Verifica se o CPF/CNPJ está vinculado a processos criminais. Perfil não aderente à política de riscos regulatórios Verifica se o portador do CPF possui exposição na mídia. Portador do documento é menor de idade. Verifica se o portador do CPF é maior de idade (18 anos). Não foram encontrados dados do CPF informado. Verifica se a fonte dados básicos está retornando valores. Perfil não aderente à política de riscos regulatórios Verifica se o portador do CPF ou CNPJ possui exposição política. Não foi possível consultar o CPF na Receita Federal. Verifica se foi possível consultar o CPF na Receita Federal. Cliente reprovado por Facematch, idade estimada do portador do documento x Selfie capturada. Verifica se a idade do portador do CPF corresponde com a idade estimada identificada na selfie. Perfil não aderente à política de riscos regulatórios Verifica se não foram encontradas sanções em listas restritivas. Data de emissão do documento inválida. Verifica se a data de emissão do documento é válida. Número de CPF inválido, ilegível ou não informado. Verifica se o número de CPF é válido. CNPJ informado inválido. Verifica se o número de CNPJ é válido. Número de CNPJ inautêntico. Verifica se o número de CNPJ é autêntico. Número de RG inválido ou ilegível. Verifica se o número do RG é válido. CPF do portador informado divergente do QSA da empresa. Verifica se o portador do CPF é representante legal da empresa. Dados divergentes. Verifique se os documentos e os dados enviados são do mesmo CPF. Verifica a divergência entre os dados do documento e informados manualmente. Não recebemos uma documentação válida. Verifica se possui documentação. Os dados informados nos parâmetros diferem dos dados lidos no OCR. Verifica se os dados informados nos parâmetros são iguais aos lidos pelo OCR. Documento reprovado na perícia documental. Verifica se o documento foi dado como autêntico na biometria e/ou documentoscopia. O que invalida a regra é reprovarmos o documento por ser inautêntico. Foram encontradas divergências entre os dados da empresa e dos sócios informados. Verifica se os dados PF condizem com os dados do quadro societário da empresa. CPF do portador informado divergente do QSA da empresa. Verifica se o QSA informado em attributes é igual ao obtido a partir da consulta ao Serasa. O CPF não está regular na Receita Federal. Verifica a regularidade do CPF. A pessoa está em situação de óbito. Verifica se o portador do CPF se encontra em situação de óbito. O documento enviado é um passaporte. Verifica se o documento enviado não é um passaporte. CPF consta como pendente de regularização junto à Receita Federal. Verifica se o CPF está com situação pendente de regularização. CPF consta como nulo junto à Receita Federal. Verifica se o CPF consta como nulo junto à Receita Federal. CPF não encontrado na base de dados da Receita Federal. Verifica se encontra o CPF na Receita Federal. Data de validade da CNH inválida ou ilegível. Verifica se a data de validade da CNH não está expirada. CNPJ inativo ou baixado. Verifica se o CNPJ está ativo na Receita Federal. Número da CNH inválido. Verifica se o número do registro da CNH é válido. Órgão emissor do RG inválido ou ilegível. Verifica se o órgão emissor do RG é válido. UF do órgão emissor inválida ou ilegível. Verifica se a UF do órgão emissor do documento é válida. Dados divergentes ou inexistentes. Verifique se os documentos e os dados enviados são do mesmo CPF. Verifica inexistência ou divergência entre os dados do documento e informados manualmente. Documentação enviada inválida. Verifica se possui documentação válida. Empresa recém constituída Verifica se o tempo de vida da empresa é maior que o mínimo exigido. Inconformidade identificada nos sócios. Verifica se possui PEPs ou sanções nos sócios de uma empresa. Empresa recém constituída Verifica se o tempo de vida de uma empresa de SC é maior que 6 meses. Selfie enviada com baixa qualidade. Verifica se foi retornado algum erro relacionado ao processamento da selfie. Titular falecido. Verifica se o CPF é de titular falecido. CPF consta como cancelado junto à Receita Federal. Verifica se o CPF consta como cancelado junto à Receita Federal. CPF consta como suspenso junto à Receita Federal. Verifica se o CPF consta como suspenso junto à Receita Federal. Portador do documento está fora do intervalo de idade permitido. Verifica se o portador do CPF possui idade dentro dos intervalos configurados. A empresa consultada não possui sócios. Verifica o quadro societário divulgado pela Receita Federal Nome informado no parâmetro divergente dos dados encontrados em fontes oficiais. Verifica a similaridade entre a união do primeiro e último nome enviado nos parâmetros em comparação com a união do primeiro nome e cada sobrenome da fonte. Não identificamos a face da pessoa em bases de informações oficiais. Verifica se foi possível validar a face da pessoa com base em informações oficiais. Documento é uma carteira de trabalho. Verifica se o documento não é uma carteira de trabalho. Não identificamos a face da pessoa em bases de dados oficiais. Verifica se foi possível encontrar a face da pessoa em bases de dados oficiais. Pessoa não alfabetizada. Verifica se a pessoa é alfabetizada. Idade inferior a 16 anos. Verifica se o portador do CPF possui idade superior a 16 anos. O RG enviado não possui cpf. Verifica se o RG possui um cpf. Documento não aceito pela política de compliance. Identifica se o documento não é do tipo outros. O passaporte está fora da validade. Verifica se o passaporte apresentado está dentro da validade. O RG foi emitido a mais de 25 anos. Verifica se o RG foi emitido a menos de 25 anos. Identificamos ao menos um CNAE que não aceitamos. A empresa possui ao menos um CNAE válido. Transação não autorizada. Motivo de rejeição para casos que forem testes mockados. O documento foi emitido a mais de 10 anos. Faz uma verificação se o documento enviado foi emitido há mais de 10 anos. Natureza Legal divergente da informada. Faz uma verificação se de fato a empresa informada é MEI/PJ. Proposta reprovada por decurso de prazo, em razão da não apresentação da documentação necessária no período estipulado. Proposta reprovada por decurso de prazo, em razão da não apresentação da documentação necessária no período estipulado. Documento enviado não corresponde a um passaporte. Verifica se o documento enviado é um passaporte.
Os motivos de reprovação não são fixos e podem surgir novos motivos ou alteração na descrição dos mesmos.ClientCode e ProposalId
ClientCode é um identificador único por transação criado por você.
ProposalId é um identificador único que geramos após a criação da proposta, esse identificador será utilizado para realizar consultas.Recomendamos você guardar esses campos.Consultar Propostas no Painel do Cliente
É possível consultar os status das Propostas no Painel do Cliente através da opção Consultar Onboarding.
Boas Práticas
Evite a criação de "polling" com períodos curtos nos Endpoints de consulta, o fluxo de onboarding é todo via webhook orientando sempre as alterações de status e em qual etapa do processo a proposta se encontra.
Fluxo sujeito a alinhamento interno com time Celcoin
Updated 6 days ago