To implement this service, you must configure the CaaS service authentication. For more information, access the Authentication Instructions document.
1 - Simulations
The first step in applying for a Personal Loan is a simulation. The simulation can be performed in two ways:Show Detailed Simulation
Show Detailed Simulation
In the Detailed Simulation, the partner provides all the necessary data for the simulation and receives the available credit conditions.
To request a Detailed Simulation, it is necessary to provide:
To request a Detailed Simulation, it is necessary to provide:
- Credit amount requested by the customer;
- Number of days to add to the first installment due date;
- Interest percentage;
- Type of person (individual or legal entity);
- Payment term in months (number of installments);
- Term interval (irregular or regular flow).
Copy
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 adjusts the due date of the 1st installment, adding or subtracting days from the default date (always on the same day of the simulation, in the following month)
"percJurosNegociado": 0, // Interest rate negotiated with your client | REQUIRED
"tipoPessoa": 0, // Enter 1 for individual and 2 for company | REQUIRED
"vlrTAC": 0, // If there's a TAC fee, fill this field. If not, it can be removed | OPTIONAL
"prazo": 0, // Enter the number of installments
"fluxoIrregular": false // Set to false for intervals of 30 days or true for other intervals
}
}'
Show Multi-Installment Simulation
Show Multi-Installment Simulation
In the Multi-Installment Simulation, the partner only enters the requested amount and receives the available credit terms for different terms.
When requesting a Multi-Installment Simulation, the following information is required:
When requesting a Multi-Installment Simulation, the following information is required:
- Credit amount requested by the customer;
- Number of days to add to the first installment due date;
- Interest percentage;
- Type of person (individual or legal entity).
Copy
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 adjusts the due date of the 1st installment by adding or subtracting days from the default date (always the same day of the simulation, in the next month)
"percJurosNegociado": 0, // Interest rate negotiated with your client | REQUIRED
"tipoPessoa": 0, // Enter 1 for individual and 2 for company | REQUIRED
"vlrTAC": 0 // If there is a TAC fee, include this field. If not, it can be omitted | OPTIONAL
}
}'
The
nroDiasAcrescimo field defines how many days will be added or subtracted from the default due date of the first installment. By default, the due date occurs on the same day as the simulation, but in the following month. Example: if the simulation is on 05/27, the default due date will be 06/27. If you enter “20”, the due date will be 20 days after this default date (e.g., 07/17). If the simulation is run on the 30th or 31st and the following month does not have these dates, the due date will be adjusted to the last day of the month (for example, a simulation on 01/31 will be due on 02/28).2 - Onboarding
To apply for a Personal Loan, you must register the details and address of the customer who will receive the payment. This registration step is performed using two different endpoints:Person/Save for registering customer details and /Person/SaveAddress for registering the customer’s address.
Show Customer details registration
Show Customer details registration
Using this endpoint, the partner registers and updates the individual or legal entity to whom the payment will be made.
This procedure must be performed before any other endpoint related to the Person API endpoints.
For more information about this endpoint, access the reference document 10 - Customer Registration.
This procedure must be performed before any other endpoint related to the Person API endpoints.
For more information about this endpoint, access the reference document 10 - Customer Registration.
Copy
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 must be a valid document) | REQUIRED
"PF": { // If your customer is an Individual, fill in this object; if not, remove this object
"rg": "string",// Customer's RG | REQUIRED
"rgOrgao": "string", // RG issuing agency | OPTIONAL
"rguf": "string", // RG state (UF) | OPTIONAL
"rgData": "2023-07-10T20:01:07.689Z", // RG issue date | OPTIONAL
"dtNasc": "2023-07-10T20:01:07.689Z", // Customer's date of birth | REQUIRED
"sexo": "string", // Customer's gender | OPTIONAL
"nacionalidade": "string", // Customer's nationality | OPTIONAL
"naturalDeCidade": "string", // Customer's city of birth | OPTIONAL
"naturalDeUF": "string", // Customer's state of birth (UF) | OPTIONAL
"estadoCivil": 0, // Enum type, see document sent by email | OPTIONAL
"escolaridade": 0 // Enum type, see document sent by email | OPTIONAL
},
"PJ": { // If your customer is a Legal Entity, fill in this object; if not, remove this object
"nomeFantasia": "string", // Company trade name | REQUIRED
"documentoEstadual": "string", // State document of the company | OPTIONAL
"documentoMunicipal": "string", // Municipal document of the company | OPTIONAL
"dtAberturaEmpresa": "2024-06-06T19:49:59.553Z", // Company opening date in timestamp | OPTIONAL
"nomeResponsavelEmpresa": "string", // Name of the company responsible | OPTIONAL
"cpfResponsavelEmpresa": "string", // CPF of the company responsible | OPTIONAL
"rgResponsavelEmpresa": "string" // RG of the company responsible | OPTIONAL
},
"PessoaDadosContato": {
"Email": "teste@email.com.br", // Customer's email | REQUIRED
"TelefoneCelular1": "11923456781" // Customer's mobile phone | REQUIRED
}
}
}'
When using this endpoint, enter the CPF or CNPJ in the
Federal Document field. When entering the CPF, only the individual object will be considered. When entering the CNPJ, only the corporate object will be considered.Show Customer address registration
Show Customer address registration
Through this endpoint, the partner can create or update address records for a specific customer, using an already registered CPF or CNPJ.
For an update to occur, the ‘code’ field must be filled in with the registration number in the BMP database.
If the ‘code’ field is not filled in, the search will be performed using the ‘cep’ field.
To fill in the ‘tipoEndereco’ and ‘tipoResidencia’ fields, access the API Reference for the Inclusion with External Calculation endpoint document.
For an update to occur, the ‘code’ field must be filled in with the registration number in the BMP database.
If the ‘code’ field is not filled in, the search will be performed using the ‘cep’ field.
To fill in the ‘tipoEndereco’ and ‘tipoResidencia’ fields, access the API Reference for the Inclusion with External Calculation endpoint document.
Copy
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", // ZIP code of the address | 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 (UF) | OPTIONAL
"tipoEndereco": 0, // Address type | OPTIONAL
"tipoResidencia": 0, // Residence type | OPTIONAL
"enderecoDesde": "2024-04-04T12:19:46.116Z", // Since when the address belongs to the customer | OPTIONAL
"enderecoPrincipal": true, // Is this the customer's main address? | OPTIONAL
"enderecoCorrespondencia": true // Is this the correspondence address? | OPTIONAL
},
"param": {
"documentoCliente": "string" // Federal document (CPF: 11 digits | CNPJ: 14 digits | we have a validator, so it must be a valid document) | REQUIRED
}
}'
3 - Hiring
After the simulation and onboarding, it is necessary to apply for credit.Show Request for Proposal Inclusion
Show Request for Proposal Inclusion
To include the proposal, it is necessary to inform:
- Operation code;
- Amount requested in the proposal;
- Requested term (in months);
- Negotiated interest percentage;
- Total amount of the Tax on Financial Transactions (IOF);
- Percentage of the Tax on Financial Transactions (IOF);
- Installment amount;
- Registration Fee (TAC);
- Estimated date of the first due date;
- Account type (checking, savings, etc.);
- Bank branch;
- Branch digit;
- Bank account number;
- Account digit;
- Bank number.
Copy
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", // Correspondent Partner's document
"codigoOperacao": "string", // Required - Integrator usage. This is the operation code in the partner's system. This information is exclusive and can be used to update the proposal without needing to store the proposal code in BMP. However, the BMP proposal code is important to store for printing payment slips/CCB/Promissory Note or Protocol.
"codigoVersaoCCB": 0, // Bank Credit Certificate (CCB) version code
"vlrSolicitado": 0, // Required - Amount requested in the proposal
"prazo": 0, // Required - Requested term. Will be validated according to integration parameters.
"percJurosNegociado": 0, // Required - Negotiated interest percentage of the proposal
"vlrIOF": 0, // Required - Total amount of the Tax on Financial Transactions (IOF)
"percIOF": 0, // Required - Percentage of the Tax on Financial Transactions (IOF)
"vlrParcela": 0, // Required - Installment amount
"vlrTAC": 0, // Required - Registration Fee amount. Can be R$ 0.00 when not applicable.
"dtPrimeiroVencto": "2024-02-21T17:48:40.110Z", // Required - Estimated date of the first due date.
"tipoContrato": "string", // string(5) - Acronym indicating the contract type of the proposal. 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 number
"contaDig": "string", // string(1) Required - Account digit
"numeroBanco": "string" // string(5) Required - Bank number
},
},
}'
dto array:
Show TED Split
Show TED Split
Copy
"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 = Legal Entity | REQUIRED
"agencia": "string", // Bank branch of the account | REQUIRED
"agenciaDig": "string", // Account branch digit of the payer | REQUIRED
"conta": "string", // Bank account of the payer | REQUIRED
"contaDig": "string", // Bank account digit of the payer | REQUIRED
"numeroBanco": "string", // Bank code according to BACEN table | REQUIRED
"documentoFederal": "string", // Federal Document Number | REQUIRED
"nomePagamento": "string" // Name for payment | REQUIRED
}
]
dto array:
Show Payment Slip Split
Show Payment Slip Split
Copy
"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", // Expected payment date of the proposal.
"linhaDigitavel": "string", // string(60) string containing payment slip information, such as bank data, recipient, etc.
"documentoFederalCedente": "string", // string(20) Federal document of the assignor
"nomeCedente": "string", // string(60) Name of the assignor
"documentoFederal": "string", // Federal Document Number | REQUIRED
"nomePagamento": "string" // Name for payment | REQUIRED
}
]
4 - Signature Collection
The signature can be performed in three ways:- Electronic Signature, where the client signs electronically via a link sent by email or WhatsApp;
- Relogon Signature, where the client signs via a link sent by email or WhatsApp, but the signature is performed in the backend;
- Certifying Signature, where the client signs via a digital certificate.
Show Electronic Signature
Show Electronic Signature
1
Electronic Signature
To use the electronic signature, it is necessary to inform:
- Subscriber’s name, email address, document number, description, cell phone number, and subscription deadline;
- Indicate whether the subscriber will receive the CCB via email, WhatsApp, or SMS;
- Subscription deadline.
Copy
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 must be provided
"codigoProposta": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Enter the proposal GUID generated in the response of the proposal inclusion
"codigoOperacao": "string" // Enter the operation code used in the proposal inclusion
},
"assinantes": [
{
"nome": "string", // Enter the subscriber's name | REQUIRED
"email": "string", // Enter the subscriber's email | REQUIRED
"documento": "string", // Enter the subscriber's federal document | REQUIRED
"descricao": "string", // Enter the subscriber's role in the operation | REQUIRED
"telefoneCelular": "string", // Enter the subscriber's mobile phone | REQUIRED
"notificarPorEmail": true, // This field controls whether the customer will receive the CCB by email for signature | REQUIRED
"notificarPorWhatsApp": true, // If the customer will receive the signature token via WhatsApp, set this field to true. If not, set to false | OPTIONAL
"notificarPorSMS": true, // If the customer will receive the signature token via SMS, set this field to true. If not, set to false | OPTIONAL
"codigoIdentificador": "string", // Subscriber identifier code within the proposal (if you want to make any changes to this subscriber, provide this code in another API call) | OPTIONAL
"dtLimiteAssinatura": "2024-02-21T19:47:38.567Z" // Deadline for the subscriber to sign | REQUIRED
}
]
}'
Show Relogon Signature
Show Relogon Signature
To use the Relogon signature, it is necessary to follow the steps below:
1
Signature Model Collection
To collect the signature model, make a request to the CCB Printing endpoint, using the proposal code and integration code parameters.
Copy
curl --location 'https://reports.moneyp.dev.br/imprimir?impressao=S&tipo=ccb&code=GUIDPROPOSTA&integracao=CODPARAMETRO&copias=1&versao=' \
2
Relogon Signature
Through this endpoint, the partner can sign the proposal, allowing the inclusion of subscribers who have already signed in the integrator’s backend; the proposal is only finalized after all registered subscribers have signed. This method does not send notification emails and requires authentication parameters, proposal location, and a list of subscribers who have already signed with date, time, and source IP address, through integration with our Relogon Signature API.
Copy
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 proposal number
"codigoOperacao": "string" // string(50) Partner Operation Code
},
"assinantes": [
{
"nome": "string", // string(60) Required - Subscriber's name
"email": "string", // string(60) Required - Subscriber's email
"documento": "string", // string(20) Required – Subscriber's CPF (Individual Taxpayer Registry) or CNPJ (National Registry of Legal Entities) number
"descricao": "string", // string(100) Subscriber characterization
"notificarPorEmail": true, // Required - The subscriber marked to receive the notification will have control over all signatures and can request pending signatures. The email will be sent by BMP.
"dtAssinatura": "2024-01-15T14:21:57.250Z", // Required - Date and time the signature was performed in the integrator's backend
"ipAssinatura": "string" // string(255) Required - IP number where the signature was collected
}
]
}'
3
Proposal finalization
Through this endpoint, the partner can finalize the proposal after the signing procedure is completed. After sending the Relogon signature request, it will be necessary to finalize the proposal through integration with the Proposal Finalization endpoint.
Copy
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 proposal number
"codigoOperacao": "string" // string(50) Partner Operation Code
},
"parametros": [
{
"Nome": "FINALIZACAO_VALIDARPARCELAS",
"Valor": "FALSE"
},
{
"Nome": "IP_ADDRESS",
"Valor": "00.000.000.00"
}
]
}'
4
Signed CCB Printing
This endpoint is used to request the printing of a Bank Credit Certificate (CCB), through the proposal code and integration code parameters. At this stage, it is necessary to query the CCB through integration with our CCB Printing URL for model validation before signing.
Copy
curl --location 'https://reports.moneyp.dev.br/imprimir?impressao=S&tipo=ccb&code=GUIDPROPOSTA&integracao=CODPARAMETRO&copias=1&versao=' \
Show Certification Signature
Show Certification Signature
1
Signature Model Collection
This endpoint is used to request the printing of a Bank Credit Certificate (CCB), through the proposal code and integration code parameters. At this stage, it is necessary to query the CCB through integration with our CCB Printing URL for model validation before signing.
Copy
curl --location 'https://reports.moneyp.dev.br/imprimir?impressao=S&tipo=ccb&code=GUIDPROPOSTA&integracao=CODPARAMETRO&copias=1&versao=' \
2
Sending to Certification Authority
At this stage, it will be necessary to send the CCB model to the certification authority for signing.
3
Certification Signature
Through this endpoint, the partner signs the proposal via a Certifier, such as Docusign, QCertifica, Clicksign, Finanblue, among others. The process begins with downloading the CCB (Contracting Agreement) without the MODELO watermark available on our portal, followed by signature by a certifying agency and subsequent attachment of the signed CCB to the proposal. After collecting the signatures, the signed CCB must be uploaded through integration with our Certifying Signature API.
Copy
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 gerado no 1º passo' \
--data '{
"dto": {
"codigoProposta": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Sequential proposal number
"codigoOperacao": "string" // string(50) Partner Operation Code
},
"documento": {
"codigo": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Filled with the file code in the BMP database
"tipoDocumento": 30, // Required - See 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
}
}'
4
Proposal Finalization
Through this endpoint, the partner can finalize the proposal after the signing procedure is completed. After sending the Relogon signature request, it will be necessary to finalize the proposal through integration with the Proposal Finalization endpoint.
Copy
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 proposal number
"codigoOperacao": "string" // string(50) Partner Operation Code
},
"parametros": [
{
"Nome": "FINALIZACAO_VALIDARPARCELAS",
"Valor": "FALSE"
},
{
"Nome": "IP_ADDRESS",
"Valor": "00.000.000.00"
}
]
}'
5 - Proposal release
This is the final step in the credit hiring process for Working Capital. The partner can release the proposal to the payment queue after receiving the “finalized” proposal status, with the disbursement process being the responsibility of BMP. In this step, it is necessary to release the proposal through integration with our Proposal Release URL for payment to validate the model after signing. To release the proposal, it is necessary to inform:- Proposal code;
- Operation code;
- Proposal parameters (if necessary).
Show Request to Release Proposal
Show Request to Release Proposal
Copy
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 must be filled in
"codigoProposta": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Sequential proposal number
"codigoOperacao": "string" // string(50) Partner Operation Code
},
"parametros": [
{}
]
}'
Endpoints and auxiliary documents
For this journey, it is very important that the partner knows the Technical Procedure for CaaS Callback. The following endpoints may also be useful:- 28 - Consultar: used to consult proposal data;
- 33 - Cancelamento de Contrato: used to cancel active contracts;
- 38 - Comprovante de Pagamento: used to consult the payment receipt of the proposal;
- 44 - Atualização de Conta Bancária: used to update the registered payment account.

