Celcoin NaturalPerson API

The NaturalPerson API from Celcoin — 2 operation(s) for naturalperson.

OpenAPI Specification

celcoin-naturalperson-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: billissuance-settlement-webservice AnnotationCompetenceCalendar NaturalPerson API
  version: v1.0.0
servers:
- url: https://sandbox.openfinance.celcoin.dev/billissuance/v1
tags:
- name: NaturalPerson
paths:
  /onboarding-proposal/natural-person:
    post:
      tags:
      - NaturalPerson
      summary: Cria uma nova proposta de criação de conta Pessoa Física.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NaturalPersonRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/NaturalPersonRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/NaturalPersonRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NaturalPersonResponseProcessingResponse'
        '400':
          description: Error handled by the application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Access Denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable Entity
  /onboarding-proposal/account/{account}/natural-person:
    put:
      tags:
      - NaturalPerson
      summary: Criação de proposta para atualização de dados cadastrais de uma Pessoa Física.
      parameters:
      - name: account
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NaturalPersonUpdateRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/NaturalPersonUpdateRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/NaturalPersonUpdateRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NaturalPersonUpdateResponseProcessingResponse'
        '400':
          description: Error handled by the application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Access Denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    AddressRequest:
      required:
      - city
      - neighborhood
      - number
      - postalCode
      - state
      - street
      type: object
      properties:
        postalCode:
          maxLength: 8
          minLength: 1
          type: string
          description: Número do CEP.
          example: '12211400'
        street:
          maxLength: 200
          minLength: 1
          type: string
          description: Nome da rua.
          example: Rua da Liberdade
        number:
          minLength: 1
          type: string
          description: Número do endereço.
          example: '313'
        addressComplement:
          type: string
          description: Complemento do endereço.
          nullable: true
          example: Em frente ao parque.
        neighborhood:
          maxLength: 200
          minLength: 1
          type: string
          description: Nome do bairro.
          example: Casa Verde
        city:
          maxLength: 100
          minLength: 1
          type: string
          description: Nome da Cidade.
          example: São Paulo
        state:
          minLength: 1
          type: string
          description: Sigla do Estado referente ao endereço informado.
          example: SP
      additionalProperties: false
      description: Endereço.
    FileRequest:
      required:
      - data
      - type
      type: object
      properties:
        type:
          minLength: 1
          type: string
          description: "Tipo de file:\r\n- OUTROS,\r\n- CNH_FRONT,\r\n- CNH_BACK,\r\n- RG_FRONT,\r\n- RG_BACK,\r\n- RNE_FRONT,\r\n- RNE_BACK,\r\n- CONTRATO_SOCIAL,\r\n- DOCUMENTO_FINANCEIRO,\r\n- PROCURACAO_PODERES,\r\n- SELFIE,\r\n- RNM_FRONT,\r\n- RNM_BACK,\r\n- CRLV_FRONT,\r\n- CRLV_BACK,\r\n- CTPS_FRONT,\r\n- CTPS_BACK,\r\n- PASSPORT_FRONT,\r\n- PASSPORT_BACK,\r\n- OUTROS_FRONT,\r\n- OUTROS_BACK,\r\n- DRE,\r\n- COMPROVANTE_RESIDENCIA,\r\n- COMPROVANTE_RENDA,\r\n- DOCUMENTO_LEGAL,\r\n- DECLARACAO_ANUAL,\r\n- DECLARACAO_CONFIRMACAO"
          example: RG_FRONT
        data:
          minLength: 1
          type: string
          description: URL do arquivo.
          example: https://t.ctcdn.com.br/lvns56iaSMyHvyTur4JeYS_NYeY=/i606944.png
      additionalProperties: false
      description: Representante/Sócio
    NaturalPersonUpdateRequest:
      required:
      - address
      - clientCode
      - email
      - fullName
      - motherName
      - phoneNumber
      type: object
      properties:
        clientCode:
          minLength: 1
          type: string
          description: Identificador único fornecido pelo cliente.
          example: '123456'
        phoneNumber:
          maxLength: 14
          minLength: 1
          type: string
          description: Número telefone contato do titular da conta.
          example: '+5512981175554'
        email:
          maxLength: 100
          minLength: 1
          type: string
          description: E-mail do titular da conta.
          example: email@email.com
        motherName:
          minLength: 1
          type: string
          description: Nome da mãe do titular da conta.
          example: Nome Sobrenome
        fullName:
          maxLength: 120
          minLength: 1
          type: string
          description: Nome completo do titular da conta.
          example: Nome Sobrenome
        socialName:
          type: string
          description: Nome social do titular da conta.
          nullable: true
          example: Nome
        address:
          $ref: '#/components/schemas/AddressRequest'
      additionalProperties: false
    NaturalPersonUpdateResponse:
      type: object
      properties:
        updateProposalId:
          type: string
          description: Identificador único da atualização criada.
          nullable: true
          example: 12334dfb-4c4e-43fb-ad93-fa28e3123473
        clientCode:
          type: string
          description: Identificador único fornecido pelo cliente.
          nullable: true
          example: '123456'
        documentNumber:
          type: string
          description: Número do documento do titular da conta.
          nullable: true
          example: '33333333333'
        account:
          type: string
          description: Número da conta.
          nullable: true
          example: '300539137126128'
      additionalProperties: false
    NaturalPersonUpdateResponseProcessingResponse:
      type: object
      properties:
        version:
          type: string
          description: Versão da api.
          nullable: true
          example: 1.0.0
        status:
          type: string
          description: Status da solicitação.
          nullable: true
          example: SUCCESS
        body:
          $ref: '#/components/schemas/NaturalPersonUpdateResponse'
      additionalProperties: false
    NaturalPersonResponseProcessingResponse:
      type: object
      properties:
        version:
          type: string
          description: Versão da api.
          nullable: true
          example: 1.0.0
        status:
          type: string
          description: Status da solicitação.
          nullable: true
          example: SUCCESS
        body:
          $ref: '#/components/schemas/NaturalPersonResponse'
      additionalProperties: false
    FinancialDetails:
      type: object
      properties:
        declaredIncome:
          type: string
          nullable: true
        declaredIncomeDescription:
          type: string
          nullable: true
        presumedIncome:
          type: string
          nullable: true
        presumedIncomeDescription:
          type: string
          nullable: true
        occupation:
          type: string
          nullable: true
        occupationDescription:
          type: string
          nullable: true
        netWorth:
          type: string
          nullable: true
        netWorthDescription:
          type: string
          nullable: true
        createdAt:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    NaturalPersonRequest:
      required:
      - address
      - birthDate
      - clientCode
      - documentNumber
      - email
      - fullName
      - motherName
      - onboardingType
      - phoneNumber
      type: object
      properties:
        clientCode:
          minLength: 1
          type: string
          description: Identificador único fornecido pelo cliente. Esse valor não pode ser repetido.
          example: '123456'
        documentNumber:
          maxLength: 11
          minLength: 11
          type: string
          description: Número do CPF da conta.
          example: '33333333333'
        phoneNumber:
          maxLength: 14
          minLength: 1
          type: string
          description: Número telefone contato do titular da conta.
          example: '+5512981175554'
        email:
          maxLength: 100
          minLength: 1
          type: string
          description: E-mail do titular da conta.
          example: email@email.com
        motherName:
          minLength: 1
          type: string
          description: Nome mãe do titular da conta.
          example: Nome Sobrenome
        fullName:
          maxLength: 120
          minLength: 1
          type: string
          description: Nome completo do titular da conta.
          example: Nome Sobrenome
        socialName:
          type: string
          description: Nome social do titular da conta.
          nullable: true
          example: Carlos
        birthDate:
          minLength: 1
          type: string
          description: Data de nascimento do titular da conta.
          example: 31-12-1984
        address:
          $ref: '#/components/schemas/AddressRequest'
        isPoliticallyExposedPerson:
          type: boolean
          description: Campo que identifica se o titular da conta é pessoa politicamente exposta.
          default: false
          example: false
        onboardingType:
          minLength: 1
          type: string
          description: "Tipo de Onboarding:\r\n- Se BAAS: Sera criada uma proposta de pessoa física para criar conta no BAAS"
          default: BAAS
          example: BAAS
        files:
          type: array
          items:
            $ref: '#/components/schemas/FileRequest'
          description: Documentos Enviados
          nullable: true
        financialDetails:
          $ref: '#/components/schemas/FinancialDetails'
      additionalProperties: false
    ErrorResponse:
      type: object
      properties:
        version:
          type: string
          description: Versão da api.
          nullable: true
          example: 1.0.0
        status:
          type: string
          description: Status da solicitação.
          nullable: true
          example: SUCCESS
        error:
          $ref: '#/components/schemas/ResponseError'
      additionalProperties: false
    ResponseError:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          minLength: 1
          type: string
          description: Código de erro gerado pela Celcoin.
          example: OIE999
        message:
          minLength: 1
          type: string
          description: Mensagem de erro.
          example: Ocorreu um erro interno durante a chamada da api..
      additionalProperties: false
    NaturalPersonResponse:
      type: object
      properties:
        proposalId:
          type: string
          description: Identificador da proposta criada.
          nullable: true
          example: 12334dfb-4c4e-43fb-ad93-fa28e3123473
        clientCode:
          type: string
          description: Identificador único fornecido pelo cliente.
          nullable: true
          example: 1234ab7c-2855-436b-9d19-8abcdc198e984
        documentNumber:
          type: string
          description: CPF da proposta criada.
          nullable: true
          example: '12345678900'
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: http
      description: Autenticação utilizando JTW Bearer Token
      scheme: Bearer
      bearerFormat: JWT