Criar Conta - Apenas Core Banking
Essa funcionalidade permite que os clientes Core Banking da Celcoin consigam realizar a abertura de uma conta pagamento pré-paga para seus clientes.
Fluxo somente disponível para clientes Core Banking.
1. Conta PF
Passos para Integrar
- Realizar autenticação na API - [API Reference]
 - Criar Conta PF na API - [API Reference]
 - Salvar onBoardingId.
 - Receber o Webhook com as informações da Conta criada.
 
Caso seja necessário você pode consultar o status da conta manualmente.
- Consultar Status da Conta com Base no onBoardingId - [API Reference]
 
Fluxo de integração
Criar Conta PF
JSON de exemplo
{
  "clientCode": "123456",
  "accountOnboardingType": "BANKACCOUNT",
  "documentNumber": "33333333333",
  "phoneNumber": "+5512981175554",
  "email": "[email protected]",
  "motherName": "Nome Sobrenome",
  "fullName": "Nome Sobrenome",
  "socialName": "Nome",
  "birthDate": "31-12-1984",
  "address": {
    "postalCode": "12211400",
    "street": "Av Paulista",
    "number": "313",
    "addressComplement": "Em frente ao parque.", 
    "neighborhood": "Bairro",
    "city": "São Paulo",
    "state": "SP",
    "longitude": "-46.6488",
    "latitude": "-23.6288"
  },
  "isPoliticallyExposedPerson": false
}
cURL da chamada
curl --location --request POST 'https://sandbox.openfinance.celcoin.dev/baas-onboarding/v1/account/natural-person/create' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{token}}
--data-raw '{
  "clientCode": "8237987978",
  "accountOnboardingType": "BANKACCOUNT",
  "documentNumber": "70578847027",
  "phoneNumber": "+5512981175554",
  "email": "[email protected]",
  "motherName": "Nome Sobrenome",
  "fullName": "Nome Sobrenome",
  "socialName": "Nome",
  "birthDate": "31-12-1984",
  "address": {
    "postalCode": "12211400",
    "street": "Av Paulista",
    "number": "313",
    "addressComplement": "Em frente ao parque.", 
    "neighborhood": "Bairro",
    "city": "São Paulo",
    "state": "SP",
    "longitude": "-46.6488",
    "latitude": "-23.6288"
  },
  "isPoliticallyExposedPerson": false
}'
Exemplo de retorno
Sucesso 200
{
  "version": "1.0.0",
  "status": "PROCESSING",
  "body": {
    "onBoardingId": "39c8e322-9192-498d-947e-2daa4dfc749e"
  }
}
ClientCode é um identificador único por transação criado por você e o onBoardingId é campo que você utilizará para realizar a consulta de status da conta manualmente, Recomendamos você guardar esses campos.
Error 400
{
  "version": "1.0.0",
  "status": "ERROR",
  "error": {
    "errorCode": "CBE001",
    "message": "ClientCode é obrigatório"
  }
}
Tabela de errorCode
| Code | Message | 
|---|---|
| CBE001 | ClientCode é obrigatório. | 
| CBE002 | accountOnboardingType deve ser do tipo BANKACCOUNT OU GRAPHICACCOUNT. | 
| CBE003 | documentNumber é obrigatório e deve ser um CPF válido. | 
| CBE004 | phoneNumber ou contactNumber é obrigatório e deve ser um telefone válido. | 
| CBE005 | email é obrigatório e deve ser um email válido. | 
| CBE006 | motherName é obrigatório e deve ser completo. | 
| CBE007 | fullName é obrigatório e deve ser completo. | 
| CBE008 | birthDate é obrigatório e deve ser no formato (DD-MM-YYYY) | 
| CBE009 | address é obrigatório. | 
| CBE010 | postalCode é obrigatório e deve ser um CEP existente. | 
| CBE011 | street é obrigatório e deve respeitar os limites de caracteres. | 
| CBE012 | number inválido. | 
| CBE013 | neighborhood é obrigatório. | 
| CBE014 | city é obrigatório e deve ser uma cidade valida. | 
| CBE015 | state é obrigatório e deve ser uma estado valido. | 
| CBE016 | latitude inválido. | 
| CBE017 | longitude inválido. | 
| CBE022 | Já existe uma conta vinculada a este CPF. | 
Webhook de Retorno
{
  "entity": "onboarding-create",
  "createTimestamp": "2022-11-04T10:35:16.0511474",
  "status": "CONFIRMED",
  "body": {
    "account": {
      "branch": "0001",
      "account": "30053912934",
      "name": "Ms. Rodolfo Marvin",
      "documentNumber": "86913161280"
    },
    "onboardingId": "5e39442d-270f-4f9a-b752-9c08456c6e14",
    "clientCode": "4f8ff32f-2d1f-4c28-b316-8020b3d13d43",
    "createDate": "2022-11-04T10:35:16.0511474"
  }
}
Verificar Status da Conta
cURL da Chamada:
curl --location --request GET 'https://sandbox.openfinance.celcoin.dev/baas-onboarding/v1/account/check?onboardingId=6174ec78-3de2-4add-85db-e56aace8b5ef' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{token}}'
Modelo de Retorno
{
  "version": "1.0.0",
  "status": "CONFIRMED",
  "body": {
    "onboardingId": "39c8e322-9192-498d-947e-2daa4dfc749e",
    "clientCode": "123456",
    "createDate": "2022-12-31T00:00:00.0000000+00:00",
    "entity": "account-create",
    "account": {
      "branch": "1234",
      "account": "123456",
      "name": "Fernanda Aparecida da Silva",
      "documentNumber": "47855748778"
    }
  }
}
Status da abertura de conta
| Retorno | Descrição | 
|---|---|
| PROCESSING | Abertura de conta ainda em processamento. | 
| CONFIRMED | Abertura de conta finalizada com sucesso. | 
| ERROR | Abertura de conta finalizada com erro, favor verificar o objeto 'error' do payload. | 
2.Conta PJ
Passos para Integrar
- Realizar autenticação na API - [API Reference]
 - Criar Conta PJ na API - [API Reference]
 - Salvar onBoardingId.
 - Receber o Webhook com as informações da Conta criada.
 
Caso seja necessário você pode consultar o status da conta manualmente.
- Consultar Status da Conta com Base no onBoardingId - [API Reference]
 
Fluxo de integração
Criar Conta PJ
JSON de exemplo
{
  "clientCode": "123456",
  "accountOnboardingType": "BANKACCOUNT",
  "documentNumber": "56461227000199",
  "contactNumber": "+551239215555",
  "businessEmail": "[email protected]",
  "businessName": "IP Pagamentos",
  "tradingName": "IPay",
  "owner": [
    {
      "documentNumber": "56461227123",
      "fullName": "Carlos Henrique da Silva",
      "phoneNumber": "+5512981175554",
      "email": "[email protected]",
      "motherName": "Celia Regina",
      "socialName": "Carlos",
      "birthDate": "31-12-1984",
      "address": {
        "postalCode": "12211400",
        "street": "Rua das Andorinhas",
        "number": "313",
        "addressComplement": "Em frente ao parque.",
        "neighborhood": "Rua das Maravilhas",
        "city": "São Paulo",
        "state": "SP",
        "longitude": "-46.6488",
        "latitude": "-23.6288"
      },
      "isPoliticallyExposedPerson": false
    }
  ],
  "businessAddress": {
    "postalCode": "12211400",
    "street": "Rua das Andorinhas",
    "number": "313",
    "addressComplement": "Em frente ao parque.",
    "neighborhood": "Rua das Maravilhas",
    "city": "São Paulo",
    "state": "SP",
    "longitude": "-46.6488",
    "latitude": "-23.6288"
  },
  "cadastraChavePix": false
}
Tabela descritiva com os campos do body
| Campo | Tipo | Validação | 
|---|---|---|
| clientCode | string (200) | |
| accountOnboardingType | string (100) | Se campo válido("BANKACCOUNT") | 
| documentNumber | string (14) | Validação null ou empty e regex - "^[0-9]{14}$" | 
| contactNumber | string (14) | Validação null ou empty e regex - "^+[1-9][0-9]\d{1,14}$" padrão internacional E.164 para números do Brasil  | 
| string (100) | Validação null ou empty e regex - "^+[1-9][0-9]\d{1,14}$^[a-z0-9.!#$&'*+/=?^_`{ | |
| businessName | string (350) | Validação null ou empty e regex - "^[A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÊÍÏÓÔÕÖÚÇÑ0-9,.:+_<>?@#$()!%&*'/\-°ª -]+$" | 
| tradingName | string (120) | Validação null ou empty e regex - "^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&+_<>()!?/$%\d' -]+)$" | 
| owner [{ | Array de Objetos | |
| documentNumber | string (14) | Validação null ou empty e regex - "^[0-9]{14}$" | 
| fullName | string (200) | Validação null ou empty e regex - "^[A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÊÍÏÓÔÕÖÚÇÑ,.:+_<>?@#$()!%&*'’/\-°ª -]+$" | 
| phoneNumber | string (14) | Validação null ou empty e regex - "^+[1-9][0-9]\d{1,14}$" padrão internacional E.164 para números do Brasil  | 
| string (100) | Validação null ou empty e regex - "^[a-z0-9.!#$&'*+/=?^_`{ | |
| motherName | string (100) | Validação null ou empty e regex - "^[A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÊÍÏÓÔÕÖÚÇÑ,.:+_<>?@#$()!%&*'’/\-°ª -]+$" | 
| socialName | string (200) | Validação null ou empty e regex - "^[A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÊÍÏÓÔÕÖÚÇÑ,.:+_<>?@#$()!%&*'’/\-°ª -]+$" | 
| birthDate | string (10) | Validação null ou empty e regex - "^(0[1-9]|[12][0-9]|3[01])-(0[1-9]|1[012])-(19|20)\d{2}$" | 
| isPoliticallyExposedPerson | boolean | |
| address{ | objeto | |
| postalCode | string (8) | Validação null ou empty e regex - "([\d]{8})" | 
| street | string (200) | Validação null ou empty e regex - "^[A-Za-zÀ-úüÜ&0-9,.:+_<>?@#$()!%&* '/\-°ºª-]+$" | 
| number | string (20) | Validação null ou empty e regex "^[A-Za-zÀ-úüÜ&0-9,.:+_<>?@#$()!%&* '/\-°ºª-]+$" | 
| addressComplement | string (256) | Validação null ou empty e regex - "^[A-Za-zÀ-úüÜ&0-9,.:+_<>?@#$()!%&* '/\-°ºª-]+$" | 
| neighborhood | string (200) | Validação null ou empty e regex - ""^[A-Za-zÀ-úüÜ&0-9,.:+_<>?@#$()!%&* '/\-°ºª-]+$"" | 
| city | string (100) | Validação null ou empty e regex - ""^[A-Za-zÀ-úüÜ&0-9,.:+_<>?@#$()!%&* '/\-°ºª-]+$"" | 
| state | string (2) | Validação null ou empty e validação lista de estados brasileiros | 
| longitude | string (100) | Validação null ou empty e regex - "^[0-9,+. -]+$" | 
| latitude | string (100) | Validação null ou empty e regex - "^[0-9,+. -]+$" | 
| } | ||
| }] | ||
| businessAddress{ | Objeto | |
| postalCode | string (8) | Validação null ou empty e regex - "([\d]{8})" | 
| street | string (200) | Validação null ou empty e regex - "^[A-Za-zÀ-úüÜ&0-9,.:+_<>?@#$()!%&* '/\-°ºª-]+$" | 
| number | string (20) | Validação null ou empty e regex "^[A-Za-zÀ-úüÜ&0-9,.:+_<>?@#$()!%&* '/\-°ºª-]+$" | 
| addressComplement | string (2566) | Validação null ou empty e regex - "^[A-Za-zÀ-úüÜ&0-9,.:+_<>?@#$()!%&* '/\-°ºª-]+$" | 
| neighborhood | string (200) | Validação null ou empty e regex - ""^[A-Za-zÀ-úüÜ&0-9,.:+_<>?@#$()!%&* '/\-°ºª-]+$"" | 
| city | string (100) | Validação null ou empty e regex - ""^[A-Za-zÀ-úüÜ&0-9,.:+_<>?@#$()!%&* '/\-°ºª-]+$"" | 
| state | string (2) | Validação null ou empty e validação lista de estados brasileiros | 
| longitude | string (100) | Validação null ou empty e regex - "^[0-9,+. -]+$" | 
| latitude | string (100) | Validação null ou empty e regex - "^[0-9,+. -]+$" | 
| } | 
cURL da chamada
curl --request POST \
     --url https://sandbox.openfinance.celcoin.dev/baas-onboarding/v1/account/business/create \
     --header 'accept: application/json' \
     --header 'authorization: Bearer {{token}}' \
     --header 'content-type: application/json' \
     --data '
{
  "clientCode": "123456",
  "accountOnboardingType": "BANKACCOUNT",
  "documentNumber": "56461227000199",
  "contactNumber": "+551239215555",
  "businessEmail": "[email protected]",
  "businessName": "IP Pagamentos",
  "tradingName": "IPay",
  "owner": [
    {
      "documentNumber": "56461227123",
      "fullName": "Carlos Henrique da Silva",
      "phoneNumber": "+5512981175554",
      "email": "[email protected]",
      "motherName": "Celia Regina",
      "socialName": "Carlos",
      "birthDate": "31-12-1984",
      "address": {
        "postalCode": "12211400",
        "street": "Rua das Andorinhas",
        "number": "313",
        "addressComplement": "Em frente ao parque.",
        "neighborhood": "Rua das Maravilhas",
        "city": "São Paulo",
        "state": "SP",
        "longitude": "-46.6488",
        "latitude": "-23.6288"
      },
      "isPoliticallyExposedPerson": false
    }
  ],
  "businessAddress": {
    "postalCode": "12211400",
    "street": "Rua das Andorinhas",
    "number": "313",
    "addressComplement": "Em frente ao parque.",
    "neighborhood": "Rua das Maravilhas",
    "city": "São Paulo",
    "state": "SP",
    "longitude": "-46.6488",
    "latitude": "-23.6288"
  },
  "cadastraChavePix": false
}'
Exemplo de retorno
Sucesso 200
{
  "version": "1.0.0",
  "status": "PROCESSING",
  "body": {
    "onBoardingId": "39c8e322-9192-498d-947e-2daa4dfc749e"
  }
}
O onBoardingId é campo que você utilizará para realizar a consulta de status da conta manualmente, Recomendamos você guardar esse campo.
Error 400
{
  "version": "1.0.0",
  "status": "ERROR",
  "error": {
    "errorCode": "CBE001",
    "message": "ClientCode é obrigatório"
  }
}
Tabela de errorCode
| Code | Message | 
|---|---|
| CBE001 | ClientCode é obrigatório. | 
| CBE002 | accountOnboardingType deve ser do tipo BANKACCOUNT OU GRAPHICACCOUNT. | 
| CBE004 | phoneNumber ou contactNumber é obrigatório e deve ser um telefone válido. | 
| CBE008 | birthDate é obrigatório e deve ser no formato (DD-MM-YYYY) | 
| CBE010 | postalCode é obrigatório e deve ser um CEP existente. | 
| CBE011 | street é obrigatório e deve respeitar os limites de caracteres. | 
| CBE013 | neighborhood é obrigatório. | 
| CBE014 | city é obrigatório e deve ser uma cidade valida. | 
| CBE015 | state é obrigatório e deve ser uma estado valido. | 
| CBE018 | documentNumber é obrigatório e deve ser um CNPJ válido. | 
| CBE019 | businessName é obrigatório e deve ser completo. | 
| CBE020 | tradingName é obrigatório e deve ser completo. | 
| CBE023 | Já existe uma conta vinculada a este e-mail. | 
| CBE024 | Já existe uma conta vinculada a este telefone. | 
| CBE025 | Já existe uma conta vinculada a este CNPJ. | 
| CBE033 | owner.documentNumber é obrigatório e deve ser um CPF ou CNPJ válido. | 
| CBE034 | owner.name é obrigatório e deve ser completo. | 
| CBE036 | owner.email é obrigatório e deve ser um email válido. | 
| CBE037 | owner.address é obrigatório. | 
| CBE168 | businessEmail é obrigatório e deve ser um email válido. | 
| CBE169 | businessAddress é obrigatório. | 
Webhook de Retorno
{
  "entity": "onboarding-create",
  "createTimestamp": "2022-11-04T10:35:16.0511474",
  "status": "CONFIRMED",
  "body": {
    "account": {
      "branch": "0001",
      "account": "30053912934",
      "name": "Ms. Rodolfo Marvin",
      "documentNumber": "86913161280"
    },
    "onboardingId": "5e39442d-270f-4f9a-b752-9c08456c6e14",
    "clientCode": "4f8ff32f-2d1f-4c28-b316-8020b3d13d43",
    "createDate": "2022-11-04T10:35:16.0511474"
  }
}
Verificar Status da Conta
cURL da Chamada:
curl --location --request GET 'https://sandbox.openfinance.celcoin.dev/baas-onboarding/v1/account/check?onboardingId=6174ec78-3de2-4add-85db-e56aace8b5ef' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{token}}'
Modelo de Retorno
{
  "version": "1.0.0",
  "status": "CONFIRMED",
  "body": {
    "onboardingId": "39c8e322-9192-498d-947e-2daa4dfc749e",
    "clientCode": "123456",
    "createDate": "2022-12-31T00:00:00.0000000+00:00",
    "entity": "account-create",
    "account": {
      "branch": "1234",
      "account": "123456",
      "name": "Fernanda Aparecida da Silva",
      "documentNumber": "47855748778"
    }
  }
}
Status da abertura de conta
| Retorno | Descrição | 
|---|---|
| PROCESSING | Abertura de conta ainda em processamento. | 
| CONFIRMED | Abertura de conta finalizada com sucesso. | 
| ERROR | Abertura de conta finalizada com erro, favor verificar o objeto 'error' do payload. | 
Updated about 2 hours ago