Initial Guide
- About Credit as a Service
- Credit Operations
Developer's Guide
- API Integration Guide
APIs Reference
- Simulations
- Onboarding
- Hiring
- Guarantees
- Document Printing
- Signatures
- Disbursement
Use Cases
- Personal Loan
Hiring Journey
Personal loans are an accessible and flexible financial solution designed to meet various needs of individuals without requiring justification for the use of credit. To minimize the risk of default, different types of guarantees can be offered, providing security for both the borrower and the financial institution. Among the available options are guarantees such as investments, card receivables, service contracts, company shares/stocks, vehicles, and real estate. This case study explores the various forms of personal loans, illustrating how each type can be used to meet different financial profiles and needs.
Below is the step-by-step guide to using this case:
1 - Simulations
Learn about our types of simulations below:
Through this endpoint, it is possible to perform the simulation via integration with our API for Detailed Simulation
curl --location 'https://api.bmpdigital.moneyp.dev.br/Proposta/CalcularGridParcelasSimplificadoPrice' \
--header 'accept: text/plain' \
--header 'IdempotencyKey: UNIQUE GUID FOR EACH CALL' \
--header 'Content-Type: application/json' \
--data '{
"dto": {
"vlrSolicitado": 0, // Amount requested by your client | REQUIRED
"nroDiasAcrescimo": 0, // This field indicates how many grace days the proposal will have (considering the month with 30 or 31 days)
"percJurosNegociado": 0, // Percentage of interest negotiated with your client | REQUIRED
"tipoPessoa": 0, // For individual, enter 1; for company, enter 2 | REQUIRED
"vlrTAC": 0, // If there is a TAC, provide this field. If not, you can exclude it | OPTIONAL
"prazo": 0, // Provide the number of installments
"fluxoIrregular": false // Enter false for an interval of 30 days or true for other intervals
}
}'
At this stage, it will be necessary to perform the simulation through integration with our API for Multi-Installment Simulation
curl --location 'https://api.bmpdigital.moneyp.dev.br/Proposta/CalcularGridParcelasSimplificado' \
--header 'accept: text/plain' \
--header 'IdempotencyKey: UNIQUE GUID FOR EACH CALL' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 2ec83da4-ddba-4b01-9c6a-5b5e718f5793' \
--data ' {
"dto": {
"vlrSolicitado": 0, // Amount requested by your client | REQUIRED
"nroDiasAcrescimo": 0, // This field indicates how many grace days the proposal will have (considering the month with 30 or 31 days)
"percJurosNegociado": 0, // Percentage of interest negotiated with your client | REQUIRED
"tipoPessoa": 0, // For individual, enter 1; for company, enter 2 | REQUIRED
"vlrTAC": 0 // If there is a TAC, provide this field. If not, you can exclude it | OPTIONAL
}
2 - Onboarding
Customer Registration
At this stage, it will be necessary to register the customer through integration with our API for Customer Registration
curl --location 'https://api.bmpdigital.moneyp.dev.br/Pessoa/Salvar' \
--header 'IdempotencyKey: UNIQUE GUID FOR EACH CALL' \
--header 'Authorization: Bearer qXdZot13a6EbJkAbjpZ5ep_eTKH2F5ZHOwZrYZVN1lw' \
--header 'Content-Type: application/json' \
--data-raw '{
"dto": {
"Codigo": "1", // Code to identify the customer in your system | OPTIONAL
"Nome": "CLIENTE TESTE", // Your customer's name | REQUIRED
"DocumentoFederal": "75000000000", // Federal document (CPF: 11 digits | CNPJ: 14 digits | we have a validator, so it needs to be a valid document) | REQUIRED
"PF": { // If your customer is an individual, fill out this object; if not, delete this object
"rg": "string", // Your customer's RG | REQUIRED
"rgOrgao": "string", // RG issuing authority of your customer | OPTIONAL
"rguf": "string", // RG state of your customer | OPTIONAL
"rgData": "2023-07-10T20:01:07.689Z", // RG issuance date | OPTIONAL
"dtNasc": "2023-07-10T20:01:07.689Z", // Your customer's date of birth | REQUIRED
"sexo": "string", // Your customer's gender | OPTIONAL
"nacionalidade": "string", // Your customer's nationality | OPTIONAL
"naturalDeCidade": "string", // Your customer's birthplace city | OPTIONAL
"naturalDeUF": "string", // Your customer's birthplace state | OPTIONAL
"estadoCivil": 0, // Enum type, consult the document sent via email | OPTIONAL
"escolaridade": 0 // Enum type, consult the document sent via email | OPTIONAL
},
"PJ": { // If your customer is a legal entity, fill out this object; if not, delete this object
"nomeFantasia": "string", // Company's trade name | REQUIRED
"documentoEstadual": "string", // Provide the company's state document || OPTIONAL
"documentoMunicipal": "string", // Provide the company's municipal document || OPTIONAL
"dtAberturaEmpresa": "2024-06-06T19:49:59.553Z", // Provide the opening date of the CNPJ in timestamp || OPTIONAL
"nomeResponsavelEmpresa": "string", // Provide the name of the company's responsible person || OPTIONAL
"cpfResponsavelEmpresa": "string", // Provide the CPF of the company's responsible person || OPTIONAL
"rgResponsavelEmpresa": "string" // Provide the RG of the company's responsible person || OPTIONAL
},
"PessoaDadosContato": {
"Email": "teste@email.com.br", // Your customer's email | REQUIRED
"TelefoneCelular1": "11923456781" // Your customer's mobile number | REQUIRED
}
}
}'
Address Registration
At this stage, it will be necessary to register or update the address through integration with our API for Address Registration
curl --location 'https://api.bmpdigital.moneyp.dev.br/Pessoa/SalvarEndereco' \
--header 'Authorization: Bearer qXdZot13a6EbJkAbjpZ5ep_eTKH2F5ZHOwZrYZVN1lw' \
--header 'IdempotencyKey: UNIQUE GUID FOR EACH CALL' \
--header 'Content-Type: application/json' \
--data '{
"dto": {
"codigo": "string", // Code to identify the address in your system | OPTIONAL
"cep": "string", // Address ZIP code | REQUIRED
"logradouro": "string", // Address street | OPTIONAL
"nroLogradouro": "string", // Address number | OPTIONAL
"bairro": "string", // Address neighborhood | OPTIONAL
"complemento": "string", // Address complement | OPTIONAL
"cidade": "string", // Address city | OPTIONAL
"uf": "string", // Address state | OPTIONAL
"tipoEndereco": 0, // Address type | OPTIONAL
"tipoResidencia": 0, // Address type of residence | OPTIONAL
"enderecoDesde": "2024-04-04T12:19:46.116Z", // Date since the address belongs to the client | OPTIONAL
"enderecoPrincipal": true, // Is it the client's primary address? | OPTIONAL
"enderecoCorrespondencia": true // Is it the correspondence address? | OPTIONAL
},
"param": {
"documentoCliente": "string" // Federal document (CPF: 11 digits | CNPJ: 14 digits | we have a validator, so it needs to be a valid document) | REQUIRED
}
}
'
3 - Hiring
Proposal Submission
At this stage, it will be necessary to submit the proposal through integration with our API for Submit Proposal
curl --location 'https://api.bmpdigital.moneyp.dev.br/Proposta/IncluirManualSimplificado' \
--header 'Authorization: Bearer qXdZot13a6EbJkAbjpZ5ep_eTKH2F5ZHOwZrYZVN1lw' \
--header 'IdempotencyKey: UNIQUE GUID FOR EACH CALL' \
--header 'Content-Type: application/json' \
--data '{
"dto": {
"documentoCliente": "string", // Customer's document
"documentoParceiroCorrespondente": "string", // Corresponding Partner's document
"codigoOperacao": "string", // Required - Used by the integrator. It is the operation code in the partner's system. This information is unique and can be used to update the proposal without needing to store the proposal code in BMP. However, storing the BMP proposal code is important for printing bills/CCB/promissory notes or protocol.
"codigoVersaoCCB": 0, // Credit Note version code (CCB)
"vlrSolicitado": 0, // Required - Amount requested in the proposal
"prazo": 0, // Required - Term requested. It will be validated as per the integration parameters.
"percJurosNegociado": 0, // Required - Proposal's negotiated interest rate
"vlrIOF": 0, // Required - Total amount of the Financial Transactions Tax (IOF)
"percIOF": 0, // Required - Percentage of the Financial Transactions Tax (IOF)
"vlrParcela": 0, // Required - Installment value
"vlrTAC": 0, // Required - Registration Fee Value. It can be R$ 0.00 when not applicable.
"dtPrimeiroVencto": "2024-02-21T17:48:40.110Z", // Required - Estimated first due date
"tipoContrato": "string", // string(5) - Acronym indicating the type of proposal contract. Example: CSG -> Working Capital; CCG -> Working Capital with Guarantee
"propostaContaPagamentoDTO": {
"tipoConta": 0, // Required - Account type
"agencia": "string", // string(10) Required - Bank branch
"agenciaDig": "string", // string(1) Required - Branch digit
"conta": "string", // string(20) Required - Bank account
"contaDig": "string", // string(1) Required - Account digit
"numeroBanco": "string" // string(5) Required - Bank number
},
},
}'
To use a contract with TED split, add the following object to the previous request inside the dto
array:
"propostaLancamentos": [
{
"campoID": "string", // Name of the field responsible for the split | REQUIRED
"vlrTransacao": 0, // Transaction amount (must be less than or equal to the requested amount) | REQUIRED
"tipoConta": 0, // 1 = Individual, 2 = Company | REQUIRED
"agencia": "string", // Bank branch of the account | REQUIRED
"agenciaDig": "string", // Branch digit of the issuer's bank account | REQUIRED
"conta": "string", // Issuer's bank account | REQUIRED
"contaDig": "string", // Digit of the issuer's bank account | REQUIRED
"numeroBanco": "string" // Bank code according to BACEN's table | REQUIRED
}
]
To use a contract with BOLETO split, add the following object to the previous request inside the dto array:
"propostaLancamentos": [
{
"campoID": "string", // Name of the field responsible for the split | REQUIRED
"vlrTransacao": 0, // Transaction amount (must be less than or equal to the requested amount) | REQUIRED
"dtPagamento": "2024-02-21T17:48:40.110Z", // Estimated payment date of the proposal.
"linhaDigitavel": "string", // string(60) String containing boleto details, such as bank information, recipient, etc.
"documentoFederalCedente": "string", // string(20) Federal document of the payee
"nomeCedente": "string" // string(60) Name of the payee
}
]
4 - Signature Collection
With the signature type defined during the project scope planning with the commercial executive, select the option below that you will use to proceed with the use case:
Electronic Signature
At this stage, it will be necessary to perform the electronic signature through integration with our API for Electronic Signature.
curl --location 'https://api.bmpdigital.moneyp.dev.br/Proposta/IncluirAssinaturaCCB' \
--header 'accept: text/plain' \
--header 'Authorization: Bearer qXdZot13a6EbJkAbjpZ5ep_eTKH2F5ZHOwZrYZVN1lw' \
--header 'IdempotencyKey: UNIQUE GUID FOR EACH CALL' \
--header 'Content-Type: application/json' \
--data '{
"dto": { // Only one of the fields below should be provided
"codigoProposta": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Provide the GUID of the proposal generated in the response of the proposal submission
"codigoOperacao": "string" // Provide the operation code used during the proposal submission
},
"assinantes": [
{
"nome": "string", // Provide the subscriber's name | REQUIRED
"email": "string", // Provide the subscriber's email | REQUIRED
"documento": "string", // Provide the subscriber's federal document | REQUIRED
"descricao": "string", // Provide the subscriber's role in the operation | REQUIRED
"telefoneCelular": "string", // Provide the subscriber's mobile phone number | REQUIRED
"notificarPorEmail": true, // Indicates whether the client will receive the CCB via email for signature | REQUIRED
"notificarPorWhatsApp": true, // If the client will receive the signature token via WhatsApp, set this field to true. Otherwise, set to false | OPTIONAL
"notificarPorSMS": true, // If the client will receive the signature token via SMS, set this field to true. Otherwise, set to false | OPTIONAL
"codigoIdentificador": "string", // Identifier code of the subscriber within the proposal (if you want to make any changes to this subscriber, provide this code in the next API call) | OPTIONAL
"dtLimiteAssinatura": "2024-02-21T19:47:38.567Z" // Deadline for the subscriber to complete the signature | REQUIRED
}
]
}'
Signature Model Collection
At this stage, it will be necessary to query the CCB through integration with our URL for CCB Printing to validate the model before signing.
curl --location 'https://reports.moneyp.dev.br/imprimir?impressao=S&tipo=ccb&code=GUIDPROPOSTA&integracao=CODPARAMETRO&copias=1&versao=' \
Relogon Signature
At this stage, it will be necessary to perform the Relogon signature through integration with our API for Relogon Signature.
curl --location 'https://api.bmpdigital.moneyp.dev.br/Proposta/IncluirAssinaturaCCBFinalizada' \
--header 'IdempotencyKey: UNIQUE GUID FOR EACH CALL' \
--header 'Content-Type: application/json' \
--data '{
"dto": {
"codigoProposta": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Sequential number of the proposal
"codigoOperacao": "string" // string(50) Partner's Operation Code
},
"assinantes": [
{
"nome": "string", // string(60) Required - Name of the signer
"email": "string", // string(60) Required - Email of the signer
"documento": "string", // string(20) Required - Federal Registration Number (CPF) or National Registry of Legal Entities (CNPJ) of the signer
"descricao": "string", // string(100) Description of the signer
"notificarPorEmail": true, // Required - Signers marked to receive notifications will have control over all signatures, including the ability to prompt for pending signatures. The email will be sent by BMP.
"dtAssinatura": "2024-01-15T14:21:57.250Z", // Required - Date and time the signature was performed on the integrator's backend
"ipAssinatura": "string" // string(255) Required - IP address where the signature was collected
}
]
}'
Proposal Finalization
After submitting the Relogon signature request, it will be necessary to finalize the proposal through integration with the endpoint for Proposal Finalization.
curl --location 'https://api.bmpdigital.moneyp.dev.br/Proposta/Finalizar' \
--header 'IdempotencyKey: UNIQUE GUID FOR EACH CALL' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer g3Lmb6cowHidKJwwu8J-5xAVAViSysAZAajzeeeTXq4' \
--data '{
"dto": {
"codigoProposta": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Sequential number of the proposal
"codigoOperacao": "string" // string(50) Operation Code
},
"parametros": [
{
"Nome": "FINALIZACAO_VALIDARPARCELAS",
"Valor": "FALSE"
},
{
"Nome": "IP_ADDRESS",
"Valor": "00.000.000.00"
}
]
}'
Signed CCB Printing
At this stage, it will be necessary to query the CCB through integration with our URL for CCB Printing to validate the model before signing.
curl --location 'https://reports.moneyp.dev.br/imprimir?impressao=S&tipo=ccb&code=GUIDPROPOSTA&integracao=CODPARAMETRO&copias=1&versao=' \
Signature Model Collection
At this stage, it will be necessary to query the CCB through integration with our URL for CCB Printing to validate the model before signing.
curl --location 'https://reports.moneyp.dev.br/imprimir?impressao=S&tipo=ccb&code=GUIDPROPOSTA&integracao=CODPARAMETRO&copias=1&versao=' \
Submission to Certifying Authority
At this stage, it will be necessary to send the CCB model to the certifying authority for signing.
Certifying Authority Signature
After collecting the signatures, it will be necessary to upload the signed CCB through integration with our API for Certifying Authority Signature.
curl --location 'https://api.bmpdigital.moneyp.dev.br/Proposta/IncluirDocumento' \
--header 'IdempotencyKey: UNIQUE GUID FOR EACH CALL' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token generated in the 1st step' \
--data '{
"dto": {
"codigoProposta": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Sequential number of the proposal
"codigoOperacao": "string" // string(50) Partner's Operation Code
},
"documento": {
"codigo": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Filled with the file code in the BMP database
"tipoDocumento": 30, // Required - Consult the document type table
"nomeArquivo": "string", // string(500) Required - File name
"extensao": "string", // string(20) Required - File extension
"dtValidade": "2023-05-23T20:57:08.922Z", // File expiration date
"arquivo": "string" // Required - Byte array containing the file
}
}'
Proposal Finalization
After submitting the Relogon signature request, it will be necessary to finalize the proposal through integration with the endpoint for Proposal Finalization.
curl --location 'https://api.bmpdigital.moneyp.dev.br/Proposta/Finalizar' \
--header 'IdempotencyKey: UNIQUE GUID FOR EACH CALL' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer g3Lmb6cowHidKJwwu8J-5xAVAViSysAZAajzeeeTXq4' \
--data '{
"dto": {
"codigoProposta": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Sequential number of the proposal
"codigoOperacao": "string" // string(50) Partner's Operation Code
},
"parametros": [
{
"Nome": "FINALIZACAO_VALIDARPARCELAS",
"Valor": "FALSE"
},
{
"Nome": "IP_ADDRESS",
"Valor": "00.000.000.00"
}
]
}'
5 - Proposal Release
Proposal Release
At this stage, it will be necessary to release the proposal through integration with our URL for Proposal Release for Payment to validate the model after signing.
curl --location 'https://api.bmpdigital.moneyp.dev.br/Proposta/Liberar' \
--header 'IdempotencyKey: UNIQUE GUID FOR EACH CALL' \
--header 'Content-Type: application/json' \
--data '{
"dto": { // Only one of the fields below should be provided
"codigoProposta": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Sequential number of the proposal
"codigoOperacao": "string" // string(50) Partner's Operation Code
},
"parametros": [
{}
]
}'
6 - Auxiliary APIs
Bank Account Update will be used in this journey to update the payment account.
Technical Callback Procedure will be used in this journey for signature confirmation and payment confirmation.
Contract Inquiry will be used in this journey to query the proposal data.
Payment Receipt Inquiry will be used in this journey to query the payment receipt of the proposal.
Contract Cancellation will be used in this journey for contract cancellation.
Was this page helpful?