Criação da Proposta FGTS

Este endpoint é utilizado para criar uma proposta de saque aniversário do FGTS. Abaixo estão os detalhes sobre os parâmetros necessários para a criação de uma proposta e os formatos aceitos para o pagamento.

Endpoint

  • URL: https://bff.v8sistema.com/fgts/proposal

  • Método: POST

  • Autenticação: Requer token JWT válido no header da requisição.

Requisição

Headers obrigatórios

Authorization: Bearer <access_token>
Content-Type: application/json

Body da Requisição

{
  "fgtsSimulationId": "string",
  "simulationFeesId": "string",
  "name": "string",
  "individualDocumentNumber": "string",
  "documentIdentificationNumber": "string",
  "motherName": "string",
  "nationality": "Brasileiro(a)",
  "isPEP": false,
  "email": "teste@teste.com",
  "birthDate": "2000-01-01",
  "maritalStatus": "widower",
  "personType": "natural",
  "phone": "string",
  "phoneCountryCode": "string",
  "phoneRegionCode": "string",
  "postalCode": "string",
  "state": "string",
  "neighborhood": "string",
  "addressNumber": "string",
  "city": "string",
  "street": "string",
  "complement": "string",
  "formalizationLink": "string",
  "payment": {
    "type": "transfer",
    "data": {
      "bankId": "f6d47fc1-31b1-4d19-b2c4-ae7c39733de5",
      "accountType": "checking_account",
      "agency": "1234",
      "account": "123456",
      "digit": "1"
    }
  },
  "fgtsProposalsPeriods": [
    {
      "amount": 0,
      "dueDate": "2024-01-01"
    }
  ]
}

Parâmetros da Requisição

  • fgtsSimulationId: string
    Identificador da simulação realizada pelo cliente, obtido através do endpoint /fgts/simulations.

  • simulationFeesId: string
    Identificador da tabela de taxas a ser utilizada, obtido previamente pelo endpoint /fgts/simulations/fees.

  • name: string
    Nome completo do cliente.

  • individualDocumentNumber: string
    Número do CPF do cliente.

  • documentIdentificationNumber: string
    Número do documento de identidade (ex: RG, CNH).

  • motherName: string
    Nome da mãe do cliente.

  • nationality: string
    Nacionalidade do cliente, enviar como "Brasileiro" ou “Outros“. Este campo é obrigatório.

  • isPEP: boolean
    Indica se o cliente é uma pessoa politicamente exposta (PEP).

  • email: string
    Endereço de e-mail do cliente.

  • birthDate: string (formato: YYYY-MM-DD)
    Data de nascimento do cliente.

  • maritalStatus: string
    Estado civil do cliente. Ex: widower, single, married.

  • personType: string
    Tipo de pessoa: natural (para pessoa física).

  • phone: string
    Número de telefone do cliente.

  • phoneCountryCode: string
    Código do país do telefone (ex: +55 para o Brasil).

  • phoneRegionCode: string
    Código de área do telefone.

  • postalCode: string
    Código postal (CEP) do endereço do cliente.

  • state: string
    Estado do cliente.

  • neighborhood: string
    Bairro do cliente.

  • addressNumber: string
    Número do endereço do cliente.

  • city: string
    Cidade do cliente.

  • street: string
    Rua ou avenida do cliente.

  • complement: string
    Complemento do endereço (opcional).

  • formalizationLink: string
    Link para formalização da proposta (gerado após a criação da proposta).

  • payment: object
    Detalhes do pagamento. Pode ser do tipo transfer ou pix.

    • Se o pagamento for via chave PIX, o campo type será "pix" e o campo data conterá a chave PIX.

    • Se o pagamento for via dados bancários, o campo type será "transfer" e os dados bancários (como bankId, accountType, etc.) serão preenchidos no campo data.

  • fgtsProposalsPeriods: array
    Lista de períodos de pagamento do saque. Cada item deve conter:

    • amount: number
      Valor de cada parcela.

    • dueDate: string (formato: YYYY-MM-DD)
      Data de vencimento da parcela.

Regras de Pagamento

Pagamento via Chave PIX

O campo payment pode ter os seguintes tipos:

  • Chave PIX:

    • CPF: Não pode conter pontuação.

    • Telefone: Deve ser informado no formato +55 seguido do código de área e número.

    • Chave Aleatória: Deve ser um UUID válido (ex: 6e396f1d-d907-49b2-80cf-fd9ed7b180b7). Recomenda-se que o cliente gere uma nova chave aleatória sempre que necessário.

    • e-mail: e-mail válido

Exemplo de pagamento via chave PIX:

"payment": {
  "type": "pix",
  "data": {
    "pix": "teste@teste.com"
  }
}

Pagamento via Dados Bancários

  • accountType: Aceita os valores "checking_account" (conta corrente) ou "saving_account" (conta poupança).

Exemplo de pagamento via dados bancários:

"payment": {
  "type": "transfer",
  "data": {
    "bankId": "5fa17fcd-8afd-47bc-9711-f3a4c736bac5",
    "agency": "0001",
    "account": "174582",
    "digit": "2",
    "accountType": "checking_account"
  }
}

Resposta

Em caso de sucesso (código HTTP 200), a resposta será a seguinte:

{
  "formalizationLink": "string",
  "id": "string",
  "contractNumber": "string"
}

Campos da Resposta

  • formalizationLink: string
    Link para a formalização da proposta de FGTS.

  • id: string
    Identificador único da proposta.

  • contractNumber: string
    Número do contrato gerado para a proposta.

Considerações Importantes

  • Os dados de pagamento via chave PIX devem seguir o formato correto de CPF, telefone ou UUID.

  • A proposta só será criada com sucesso se todos os parâmetros obrigatórios forem fornecidos corretamente, incluindo informações de pagamento e parcelas.

  • fgtsSimulationId e simulationFeesId devem ser obtidos previamente através dos endpoints de simulação.

  • State deve ser enviado abreviado exemplos: “SC, SP, PR”

  • formalizationLink: é obrigatorio enviar como string vazia