Criar uma pessoa do tipo "física"

Esse endpoint deve ser utilizado para cadastrar uma Pessoa do tipo física, usando um nº de CPF como identificador.

Parâmetros do Body

  • name (string, obrigatório): O nome completo da pessoa.
  • personType (string, obrigatório): O tipo da pessoa, informar o valor como "NATURAL" para o cadastro de uma pessoa física. Possíveis valores: NATURAL, LEGAL.
  • taxpayerId (string, obrigatório): O número do documento CPF para identificação da Pessoa.
  • documents (object, obrigatório): Objeto contendo as 'keys' das URLs 'pre-signed' dos documentos de identificação (documentIdentification) e comprovante de endereço (proofOfAddress).
  • idDocument (object, obrigatório): Objeto para detalhar o documento de identificação que esta sendo enviado.
    • issueDate (string, obrigatório): Data de emissão do documento.
    • issuer (string, obrigatório): Orgão responsável pela emissão do documento.
    • number (string, obrigatório): Número do documento.
    • type (string, obrigatório): Tipo do documento. Valores aceitos: CNH, PASSPORT, RG, RNE.
  • birthDate (string, obrigatório): Data de nascimento da Pessoa a ser cadastrada no formato "AAAA-MM-DD".
  • motherName (string, obrigatóri): Nome da mãe.
  • pep (boolean, obrigatório): Campo para indica se a pessoa é politicamente exposta.
  • emailAddress (string, obrigatório): Endereço de e-mail para contato com a pessoa cadastrada.
  • phone (object, obrigatório): Objeto contendo os dados do telefone de contato.
    • countryCode (string): Código do país.
    • areaCode (string): Código de área.
    • number (string): Número do telefone.
  • address (object, obrigatório): Objeto contendo detalhes do endereço de cadastro.
    • streetNumber (string): Número do endereço informado.
    • streetName (string): Nome da rua.
    • postalCode (string): Código de CEP para o endereço.
    • district (string): Campo para informar o bairro.
    • city (string): Nome da cidade.
    • stateCode (string): Código da UF para o estado do endereço.
    • countryCode (string): Código do país.
    • extraInfo (string): Complemento do endereço.
  • fundManagerId (string/uuid v4): ID do gestor do Fundo, se aplicável.
  • fundSecuritizerId (string/uuid v4): ID da securitizadora do Fundo, se aplicável.
  • fundAdministratorId (string/uuid v4): ID do Admnistrador do Fundo, se aplicável.

Resposta

A resposta da requisição será um JSON representando o retorno obtido para os campos enviados.

Em caso de sucesso será retornado um status_code "200-OK". Em caso de falha será retornado um código 40x com a mensagem indicativa do erro.

  • id (string/uuid v4): ID gerado para o cadastro realizado da Pessoa física.
Exemplo de JSON:
{
    "id": ""
}

Fluxo de Criação de Person no Escrow

Visão Geral

Para criar uma person no Escrow, é necessário subir um documento previamente. O processo é dividido em três etapas principais:

  1. Upload do documento (gera uma key e URL de upload);
  2. Envio do arquivo para o servidor S3 (upload efetivo);
  3. Criação da person utilizando a key do documento no payload.

1️⃣ Upload do Documento

Rota:

POST https://sandbox.platform.credit.celcoin.com.br/escrow/api/v1/documents/upload

Headers:

Content-Type: application/json
Accept: application/json
Authorization: Bearer <token>

Body:

{
    "file_name": "image.png"
}

⚠️

Importante incluir a extensão correta do arquivo (ex: .png, .jpeg).

Exemplo de response:

{
  "key": "8ec77c4a-93be-4efe-913e-f592f799f31a",
  "upload_url": "https://s3.sa-east-1.amazonaws.com/...",
  "download_url": "https://s3.sa-east-1.amazonaws.com/..."
}

A key será usada na criação da person.


2️⃣ Upload do Arquivo (PUT na URL do S3)

Após obter a upload_url do passo anterior, execute o upload do arquivo:

curl --location --request PUT '<upload_url>' \
--header 'Content-Type: image/png' \
--data-binary '@/Users/celcoin/Downloads/image.png'

Se o upload ocorrer corretamente, o arquivo ficará disponível no servidor temporário S3 vinculado à key.


3️⃣ Criação da Person

Rota:

POST https://sandbox.platform.credit.celcoin.com.br/escrow/api/persons

Headers:

Content-Type: application/json
Accept: application/json
Authorization: Bearer <token>

Body:

{
    "taxpayer_id": "92881977022",
    "birth_date": "1999-10-21",
    "name": "Celcoin teste",
    "mother_name": "teste",
    "email_address": "[email protected]",
    "pep": false,
    "phone": {
        "country_code": "+55",
        "area_code": "11",
        "number": "970291614"
    },
    "address": {
        "city": "São Paulo",
        "country_code": "BRZ",
        "district": "teste",
        "state_code": "SP",
        "street_name": "teste teste",
        "postal_code": "1234567",
        "street_number": "89"
    },
    "documents": {
        "proof_of_address": "8ec77c4a-93be-4efe-913e-f592f799f31a",
        "document_identification": "8ec77c4a-93be-4efe-913e-f592f799f31a"
    },
    "representatives": [],
    "person_type": "NATURAL",
    "business_type": "OTHERS"
}

O campo documents utiliza a key do documento retornada no primeiro passo.

Language
Credentials
Bearer
URL
Click Try It! to start a request and see the response here!