Criar uma renegociação
{
"debt_key": "1baea8a0-0fca-4f7c-8857-a227d4da72f8", // chave da operação de crédito
"amortization_type": "installment_payment", // define quais parcelas e como o valor é calculado
"reference_date": "2022-07-20", // base para cálculo do valor presente (D+1)
"proposal_due_date": "2022-07-20", // vencimento do boleto / Pix gerado
"payment_type": "bank_slip", // instrumento de cobrança
"discount_percentage": 0.2, // 20% de desconto sobre o present_amount
"installments": [
{ "installment_key": "ca5741c7-99a2-42e7-92a1-9328a36e4e88" }, // parcela a quitar
{ "installment_key": "0ff87136-b084-44fb-8fc2-d2e3beed483b" }
]
}
O amortization_type define quais parcelas são quitadas e se o cálculo usa valor presente ou valor de face. O payment_type controla o instrumento gerado. Veja as seções abaixo para as variações de cada campo.
payment_type
bank_slipLinha digitável + Pix QR code
pixApenas Pix QR code
manualSem instrumento — registro manual
internalPagamento interno QI Tech
amortization_type
- installment_payment
- overdue_installment_payment
- first_installments
- last_installments
- equal_amount
- full_settle
Quita parcelas específicas (por key) sobre o present_amount (valor descontado para hoje). Compatível com desconto.
- Exatamente um modo de desconto obrigatório:
discount_percentage,discount_amountoupaid_amountpor parcela - Para cobrar o valor de face (
total_amount) sem simular: usefirst_installmentscomnumber_of_installments
{
"debt_key": "1baea8a0-0fca-4f7c-8857-a227d4da72f8",
"payment_type": "bank_slip",
"amortization_type": "installment_payment",
"reference_date": "2022-07-20",
"proposal_due_date": "2022-07-20",
"discount_percentage": 0.2,
"request_control_key": "3571e292-3a83-4011-904d-20ee963022ef",
"installments": [
{ "installment_key": "ca5741c7-99a2-42e7-92a1-9328a36e4e88" },
{ "installment_key": "0ff87136-b084-44fb-8fc2-d2e3beed483b" }
]
}
Idêntico ao installment_payment, mas restrito a parcelas em atraso. Compatível com desconto.
- Aceita apenas parcelas com status
overdueoupaid_partial_overdue— qualquer outro status retorna erro - Exatamente um modo de desconto obrigatório:
discount_percentage,discount_amountoupaid_amountpor parcela
{
"debt_key": "1baea8a0-0fca-4f7c-8857-a227d4da72f8",
"payment_type": "bank_slip",
"amortization_type": "overdue_installment_payment",
"reference_date": "2022-07-20",
"proposal_due_date": "2022-07-20",
"discount_percentage": 0.1,
"request_control_key": "3571e292-3a83-4011-904d-20ee963022ef",
"installments": [
{ "installment_key": "ca5741c7-99a2-42e7-92a1-9328a36e4e88" }
]
}
Quita as primeiras parcelas em aberto ao valor de face (total_amount). A co-api calcula os valores internamente — não é necessário simular antes. Não compatível com desconto.
number_of_installments— quita exatamente N parcelas completaspayment_amount— distribui o valor pelas primeiras parcelas; a última pode ser quitada parcialmente
{
"debt_key": "1baea8a0-0fca-4f7c-8857-a227d4da72f8",
"payment_type": "bank_slip",
"amortization_type": "first_installments",
"reference_date": "2022-07-20",
"proposal_due_date": "2022-07-20",
"request_control_key": "3571e292-3a83-4011-904d-20ee963022ef",
"number_of_installments": 4
}
Quita as últimas parcelas em aberto ao valor de face, distribuindo o payment_amount da última para a primeira. Não compatível com desconto.
include_matured_installment: trueinclui no cálculo a parcela vencida exatamente nareference_date(padrão:false)
{
"debt_key": "1baea8a0-0fca-4f7c-8857-a227d4da72f8",
"payment_type": "bank_slip",
"amortization_type": "last_installments",
"reference_date": "2022-07-20",
"proposal_due_date": "2022-07-20",
"request_control_key": "3571e292-3a83-4011-904d-20ee963022ef",
"payment_amount": 900
}
Distribui o payment_amount em partes iguais entre todas as parcelas em aberto, independente do saldo devedor individual de cada uma. Não compatível com desconto.
O abatimento uniforme ignora o peso de cada parcela — parcelas com juros acumulados diferentes recebem o mesmo valor, o que pode deixar saldo residual inesperado. Use apenas quando esse comportamento for intencional.
{
"debt_key": "1baea8a0-0fca-4f7c-8857-a227d4da72f8",
"payment_type": "bank_slip",
"amortization_type": "equal_amount",
"reference_date": "2022-07-20",
"proposal_due_date": "2022-07-20",
"request_control_key": "3571e292-3a83-4011-904d-20ee963022ef",
"payment_amount": 900
}
Quitação total da operação. O payment_amount deve corresponder ao saldo devedor total — use a simulação para obter o valor exato. Não compatível com desconto.
{
"debt_key": "1baea8a0-0fca-4f7c-8857-a227d4da72f8",
"payment_type": "bank_slip",
"amortization_type": "full_settle",
"reference_date": "2022-07-20",
"proposal_due_date": "2022-07-20",
"request_control_key": "3571e292-3a83-4011-904d-20ee963022ef",
"payment_amount": 900
}
Desconto
Aplicável apenas a installment_payment e overdue_installment_payment. Exatamente um dos três campos abaixo deve estar presente — são mutuamente exclusivos:
| Campo | Comportamento |
|---|---|
discount_percentage | Percentual sobre o present_amount. Ex.: 0.2 = 20% de desconto. |
discount_amount | Valor fixo distribuído proporcionalmente entre as parcelas pelo present_amount. |
paid_amount (por parcela) | Valor exato por parcela, sobrepõe o present_amount. Use o total_amount da simulação para cobrar o valor de face. |
installment_payment cobra por padrão o present_amount — o valor da parcela descontado para hoje. Para cobrar o total_amount (valor de face, sem antecipação): simule primeiro e passe o total_amount retornado como paid_amount por parcela. Para cobrar ao valor de face sem simular, prefira first_installments com number_of_installments.
Parâmetros
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
debt_key | UUID | sempre | Chave da operação de crédito. |
amortization_type | string | sempre | Tipo de amortização. |
reference_date | string | sempre | Data base para cálculo do valor presente (D+1). |
proposal_due_date | string | sempre | Data de vencimento do boleto / Pix gerado. |
payment_type | string | sempre | Instrumento de cobrança. |
installments | array | installment_payment, overdue_installment_payment | Parcelas a quitar, identificadas por installment_key. |
number_of_installments | int | first_installments¹ | Número exato de parcelas a quitar a partir da primeira em aberto. |
payment_amount | float | last_installments, equal_amount, full_settle; opcional em first_installments¹ | Valor total a pagar. |
discount_percentage | float | um dos três modos² | Percentual de desconto sobre o present_amount. |
discount_amount | float | um dos três modos² | Valor fixo de desconto distribuído proporcionalmente. |
request_control_key | UUID | não | Chave de idempotência — reenviar o mesmo valor retorna a proposta original sem criar duplicata. |
include_matured_installment | bool | não | last_installments apenas: inclui parcela vencida na reference_date. Padrão: false. |
¹ first_installments exige exatamente um entre number_of_installments e payment_amount.
² discount_percentage, discount_amount e paid_amount por parcela são mutuamente exclusivos — exatamente um é obrigatório para installment_payment e overdue_installment_payment.
Installments object
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
installment_key | UUID | sempre | Chave da parcela a quitar. |
paid_amount | float | um dos três modos² | Valor exato a cobrar por esta parcela — substitui o present_amount. |
Response
201 — proposta criada
{
"contract_number": "0001232093/ABC",
"proposal_key": "bcc16a6d-ce21-4cd4-8d8c-d26f89ccc685",
"request_control_key": "3571e292-3a83-4011-904d-20ee963022ef",
"proposal_status": "pending_payment",
"amortization_type": "installment_payment",
"discount_percentage": 0.2,
"payment_amount": 300,
"reference_date": "2022-07-20",
"proposal_due_date": "2022-07-20",
"payment_type": "bank_slip",
"payment": {
"digitable_line": "32990001031000700298993000000203110340000004618",
"qr_code_url": "mockurl.com.br",
"qr_code_key": "f02c201d-314e-42be-968c-a48776d98fbf",
"bank_slip_key": "931a989d-66e9-4631-abaa-b413610afb85",
"paid_method_type": null
},
"affected_installments": [
{
"installment_key": "ca5741c7-99a2-42e7-92a1-9328a36e4e88",
"due_date": "2023-01-01",
"principal_amount": 100,
"interest_amount": 20,
"fine_amount": 5,
"total_amount": 125,
"present_amount": 100,
"paid_amount": 80
}
],
"remaining_installments": [
{
"installment_key": "03b4d86a-9dba-40fc-a4db-33e8772b7be8",
"due_date": "2022-08-01",
"principal_amount": 100,
"interest_amount": 20,
"fine_amount": 5,
"total_amount": 125
}
]
}
payment
| Campo | Descrição |
|---|---|
digitable_line | Linha digitável do boleto. Vazio se payment_type não for bank_slip. |
qr_code_url | URL do QR code Pix. Presente para bank_slip e pix. |
qr_code_key | Chave do QR code Pix. |
bank_slip_key | Chave do boleto gerado. |
paid_method_type | Método pelo qual o pagamento foi confirmado. null enquanto proposal_status for pending_payment. |
affected_installments — parcelas incluídas nesta proposta
| Campo | Descrição |
|---|---|
total_amount | Valor de face da parcela (principal + juros + multa). |
present_amount | Valor descontado para a reference_date (base de cálculo do installment_payment). |
paid_amount | Valor efetivamente cobrado nesta proposta após desconto aplicado. |
remaining_installments — parcelas não incluídas, para referência do saldo devedor restante.
400 — requisição inválida
{
"data": "{\"title\": \"Bad Request\", \"description\": \"Invalid request body.\", \"translation\": \"Corpo da requisição inválido.\", \"code\": \"LEG000069\"}"
}