Pular para o conteúdo principal

Manual de Aditamento

Este manual descreve o passo a passo envolvido no processo de aditamento. Trata-se do postergamento do prazo da dívida, em que ocorre a mudança na data de vencimento das parcelas e se mantém o número de contrato.

Nesse processo de aditamento, a final_debt_key retornada no webhook de desembolso é a nova chave da operação e, após esse processo, novos boletos das parcelas aditadas serão gerados.

O aditamento só é válido para operações pré-fixadas.

1 - Criação da operação de aditamento

O campo desired_installments é uma lista de objetos com o atributo due_date.

O campo de calculate_delay só está disponível no Response Body se for enviado na requisição de POST.

Nesse momento, como ainda não houve desembolso da operação originada do aditamento, os campos relacionados ao boleto, como bank_slip_key, digitable_line, qr_code_key e qr_code_url, serão nulos.

1.1. Simulação:

        Request

ENDPOINT
/amendment_simulation
MÉTODO
POST
Request Body
{
"amendment_debt_key": "\<Chave unitária da operação/debt a ser aditada\>",
"amendment_date": "\<Nova data de referência para a operação originada a partir aditamento\>",
"financial": {
"calculate_delay": "\<Booleano para cálculo de juros de atraso em cima da operação a ser adiatada\>",
"monthly_rate": "\<Valor em decimal do juros do aditamento ao mês\>",
"desired_installments" : [
{
"due_date": "\<Nova data de vencimento da parcela\>",
}
]
},
"additional_data": "\<JSON de campos adicionais livre\>",
}

        Response

Response Body
{
"amendment_debt_key": "\<Chave unitária da operação/debt a ser aditada enviada no POST\>",
"amendment_date": "\<Nova data de referência para a operação, originada a partir da data enviada no POST\>",
"financial":{
"calculate_delay": "\<Booleano para cálculo de juros de atraso em cima da operação a ser adiatada\>",
"monthly_rate": "\<Valor em decimal do juros do aditamento ao mês\>",
"desired_installments" : [
{
"due_date": "\<Nova data de vencimento da parcela\>",
"total_amount": "\<Valor da parcela\>",
}
]
},
"additional_data": "\<JSON de campos adicionais livre enviada no POST\>",
"final_debt": {
"annual_cet": "\<Custo Efetivo Total anual\>",
"cet": "\<Custo Efetivo Total mensal\>",
"installments":{
"bank_slip_key": "\<Chave unitária do boleto relacionado a parcela\>",
"business_due_date": "\<Data de vencimento da parcela, considerndo dias úteis\>",
"calendar_days": "\<Dias corridos em relação a data de referência anterior\>",
"digitable_line": "\<Linha digitável do boleto\>",
"due_date": "\<Data de vencimento da parcela\>",
"due_interest": "\<Valor de Juros da parcela\>",
"due_principal":"\<Valor Principal da parcela\>",
"installment_key": "\<Chave unitária característica da parcela\>",
"installment_number": "\<Número da parcela dentro do total de parcelas\>",
"post_fixed_amount": "\<Valor de Juros pós-fixado da parcela\>",
"pre_fixed_amount": "\<Valor de Juros pré-fixado da parcela\>",
"principal_amortization_amount": "\<Valor de amortização de principal da parcela\>",
"qr_code_key": "\<Chave unitária do QR Code associado ao boleto\>",
"qr_code_url": "\<URL do QR Code associado ao boleto\>",
"total_amount": "\<Valor Total da parcela\>",
"workdays": "\<Dias úteis em relação a data de referência anterior\>",
},
"prefixed_interest_rate": {
"annual_rate": "\<Taxa anual de juros pré-fixado\>",
"daily_rate": "\<Taxa diária de juros pré-fixado\>",
"interest_base": "\<Base de cálculo de juros\>",
"monthly_rate": "\<Taxa mensal de juros pré-fixado\>",
},
"issue_amount": "\<Valor de emissão da operação de aditamento\>",
"number_of_installments": "\<Número de parcelas\>",
"total_iof": "\<IOF da operação\>"
}
}

1.2. Criação:

        Request

ENDPOINT
/amendment
MÉTODO
POST
Request Body
{
"amendment_debt_key": "\<Chave unitária da operação/debt a ser aditada\>",
"amendment_date": "\<Nova data de referência para a operação originada a partir aditamento\>",
"financial": {
"calculate_delay": "\<Booleano para cálculo de juros de atraso em cima da operação a ser adiatada\>",
"monthly_rate": "\<Valor em decimal do juros do aditamento ao mês\>",
"desired_installments" : [
{
"due_date": "\<Nova data de vencimento da parcela\>",
}
]
},
"additional_data": "\<JSON de campos adicionais livre\>",
}

        Response

Response Body
{
"amendment_key": "\<Chave unitária característica do aditamento\>",
"amendment_debt_key": "\<Chave unitária da operação/debt a ser aditada enviada no POST\>",
"amendment_date": "\<Nova data de referência para a operação, originada a partir da data enviada no POST\>",
"financial":{
"calculate_delay": "\<Booleano para cálculo de juros de atraso em cima da operação a ser adiatada\>",
"monthly_rate": "\<Valor em decimal do juros do aditamento ao mês\>",
"desired_installments" : [
{
"due_date": "\<Nova data de vencimento da parcela\>",
"total_amount": "\<Valor da parcela\>",
}
]
},
"additional_data": "\<JSON de campos adicionais livre enviada no POST\>",
"amendment_status": "waiting_signature",
"document_key": "\<Chave unitária do documento/contrato da operação de aditamento\>",
"document_url": "\<URL do documento/contrato da operação de aditamento\>",
"final_debt": {
"annual_cet": "\<Custo Efetivo Total anual\>",
"cet": "\<Custo Efetivo Total mensal\>",
"installments":{
"bank_slip_key": "\<Chave unitária do boleto relacionado a parcela\>",
"business_due_date": "\<Data de vencimento da parcela, considerndo dias úteis\>",
"calendar_days": "\<Dias corridos em relação a data de referência anterior\>",
"digitable_line": "\<Linha digitável do boleto\>",
"due_date": "\<Data de vencimento da parcela\>",
"due_interest": "\<Valor de Juros da parcela\>",
"due_principal":"\<Valor Principal da parcela\>",
"installment_key": "\<Chave unitária característica da parcela\>",
"installment_number": "\<Número da parcela dentro do total de parcelas\>",
"post_fixed_amount": "\<Valor de Juros pós-fixado da parcela\>",
"pre_fixed_amount": "\<Valor de Juros pré-fixado da parcela\>",
"principal_amortization_amount": "\<Valor de amortização de principal da parcela\>",
"qr_code_key": "\<Chave unitária do QR Code associado ao boleto\>",
"qr_code_url": "\<URL do QR Code associado ao boleto\>",
"total_amount": "\<Valor Total da parcela\>",
"workdays": "\<Dias úteis em relação a data de referÊncia anterior\>",
},
"prefixed_interest_rate": {
"annual_rate": "\<Taxa anual de juros pré-fixado\>",
"daily_rate": "\<Taxa diária de juros pré-fixado\>",
"interest_base": "\<Base de cálculo de juros\>",
"monthly_rate": "\<Taxa mensal de juros pré-fixado\>",
},
"issue_amount": "\<Valor de emissão da operação de aditamento\>",
"number_of_installments": "\<Número de parcelas\>",
"total_iof": "\<IOF da operação\>"
}
}

Em relação a simulação, o Response Body da criação se diferencia pela presença da amendment_key, da amendment_status, da document_key e da document_url.

Na criação do operação de aditamento, sempre se retorna o amendment_status como "waiting_signature".

2 - GET da operação de aditamento

        Request

ENDPOINT
/amendment/[AMENDMENT_KEY]
MÉTODO
GET

O amendment_key que deve ser enviado para realização do GET é o valor do campo, de mesmo nome, retornado na criação da operação de aditamento e que representa a chave unitária característica do aditamento.

        Response

Response Body
{
"amendment_key": "\<Chave unitária característica do aditamento\>",
"amendment_debt_key": "\<Chave unitária da operação/debt a ser aditada enviada no POST\>",
"amendment_date": "\<Nova data de referência para a operação, originada a partir da data enviada no POST\>",
"financial":{
"calculate_delay": "\<Booleano para cálculo de juros de atraso em cima da operação a ser adiatada\>",
"monthly_rate": "\<Valor em decimal do juros do aditamento ao mês\>",
"desired_installments" : [
{
"due_date": "\<Nova data de vencimento da parcela\>",
"total_amount": "\<Valor da parcela\>",
}
]
},
"additional_data": "\<JSON de campos adicionais livre enviada no POST\>",
"amendment_status": "\<Status do aditamento\>",
"document_key": "\<Chave unitária do documento/contrato da operação de aditamento\>",
"document_url": "\<URL do documento/contrato da operação de aditamento\>",
"final_debt": {
"annual_cet": "\<Custo Efetivo Total anual\>",
"cet": "\<Custo Efetivo Total mensal\>",
"installments":{
"bank_slip_key": "\<Chave unitária do boleto relacionado a parcela\>",
"business_due_date": "\<Data de vencimento da parcela, considerndo dias úteis\>",
"calendar_days": "\<Dias corridos em relação a data de referência anterior\>",
"digitable_line": "\<Linha digitável do boleto\>",
"due_date": "\<Data de vencimento da parcela\>",
"due_interest": "\<Valor de Juros da parcela\>",
"due_principal":"\<Valor Principal da parcela\>",
"installment_key": "\<Chave unitária característica da parcela\>",
"installment_number": "\<Número da parcela dentro do total de parcelas\>",
"post_fixed_amount": "\<Valor de Juros pós-fixado da parcela\>",
"pre_fixed_amount": "\<Valor de Juros pré-fixado da parcela\>",
"principal_amortization_amount": "\<Valor de amortização de principal da parcela\>",
"qr_code_key": "\<Chave unitária do QR Code associado ao boleto\>",
"qr_code_url": "\<URL do QR Code associado ao boleto\>",
"total_amount": "\<Valor Total da parcela\>",
"workdays": "\<Dias úteis em relação a data de referência anterior\>",
},
"prefixed_interest_rate": {
"annual_rate": "\<Taxa anual de juros pré-fixado\>",
"daily_rate": "\<Taxa diária de juros pré-fixado\>",
"interest_base": "\<Base de cálculo de juros\>",
"monthly_rate": "\<Taxa mensal de juros pré-fixado\>",
},
"issue_amount": "\<Valor de emissão da operação de aditamento\>",
"number_of_installments": "\<Número de parcelas\>",
"total_iof": "\<IOF da operação\>"
}
}

        Response Canceled

Response Body
{
"amendment_key": "\<Chave unitária característica do aditamento\>",
"amendment_debt_key": "\<Chave unitária da operação/debt a ser aditada enviada no POST\>",
"amendment_date": "\<Nova data de referência para a operação, originada a partir da data enviada no POST\>",
"financial":{
"calculate_delay": "\<Booleano para cálculo de juros de atraso em cima da operação a ser adiatada\>",
"monthly_rate": "\<Valor em decimal do juros do aditamento ao mês\>",
"desired_installments" : [
{
"due_date": "\<Nova data de vencimento da parcela\>",
"total_amount": "\<Valor da parcela\>",
}
]
},
"additional_data": "\<JSON de campos adicionais livre enviada no POST\>",
"amendment_status": "canceled",
"cancel_reason": {
"enumerator": "non_signed_amendment",
"description": "It wasn't possible to effect the amendment of the operation, because the amended operation hasn't been signed until the sent reference date (2023-09-19).",
"translation": "Não foi possível efetivar o aditamento da operação, pois a operação de aditamento não foi assinada até a data de referência enviada (2023-09-19)."
},
"document_key": "\<Chave unitária do documento/contrato da operação de aditamento\>",
"document_url": "\<URL do documento/contrato da operação de aditamento\>",
"final_debt": {
"annual_cet": "\<Custo Efetivo Total anual\>",
"cet": "\<Custo Efetivo Total mensal\>",
"installments":{
"bank_slip_key": "\<Chave unitária do boleto relacionado a parcela\>",
"business_due_date": "\<Data de vencimento da parcela, considerndo dias úteis\>",
"calendar_days": "\<Dias corridos em relação a data de referência anterior\>",
"digitable_line": "\<Linha digitável do boleto\>",
"due_date": "\<Data de vencimento da parcela\>",
"due_interest": "\<Valor de Juros da parcela\>",
"due_principal":"\<Valor Principal da parcela\>",
"installment_key": "\<Chave unitária característica da parcela\>",
"installment_number": "\<Número da parcela dentro do total de parcelas\>",
"post_fixed_amount": "\<Valor de Juros pós-fixado da parcela\>",
"pre_fixed_amount": "\<Valor de Juros pré-fixado da parcela\>",
"principal_amortization_amount": "\<Valor de amortização de principal da parcela\>",
"qr_code_key": "\<Chave unitária do QR Code associado ao boleto\>",
"qr_code_url": "\<URL do QR Code associado ao boleto\>",
"total_amount": "\<Valor Total da parcela\>",
"workdays": "\<Dias úteis em relação a data de referência anterior\>",
},
"prefixed_interest_rate": {
"annual_rate": "\<Taxa anual de juros pré-fixado\>",
"daily_rate": "\<Taxa diária de juros pré-fixado\>",
"interest_base": "\<Base de cálculo de juros\>",
"monthly_rate": "\<Taxa mensal de juros pré-fixado\>",
},
"issue_amount": "\<Valor de emissão da operação de aditamento\>",
"number_of_installments": "\<Número de parcelas\>",
"total_iof": "\<IOF da operação\>"
}
}

3 - Cancelamento da operação de aditamento

        Request

ENDPOINT
/amendment/[AMENDMENT_KEY]
MÉTODO
DELETE

O amendment_key que deve ser enviado para realização do DELETE é o valor do campo, de mesmo nome, retornado na criação da operação de aditamento e que representa a chave unitária característica do aditamento.

No DELETE do aditamento, não há payload de resposta e o status da operação de aditamento é alterado para "canceled".

4 - Webhooks

Atenção!

Os webhooks da QI Tech não devem ser mapeadas de forma restrita. Campos adicionais podem ser incluídos aos payloads dos webhooks retornados em nossas APIs.

Reenvio de Webhooks

Você pode consultar e reenviar webhooks seguindo as instruções detalhadas na documentação: Reenvio de Webhooks.

Abaixo estão descritos os webhooks que serão enviados nas situações de assinatura, de desembolso e de cancelamento da operação de aditamento.

4.1. Assinatura:

Body
{
"webhook_type": "amendment",
"amendment_key": "\<Chave unitária característica do aditamento\>",
"event_datetime": "\<String de data referente ao momento de assinatura no formato da ISO8601\>",
"data": {
"amendment_status": "signed",
"document_key": "\<Chave unitária do documento/contrato da operação de aditamento\>",
"signed_document_url": "\<URL do documento/contrato da operação de aditamento assinado\>"
}
}

4.2. Desembolso:

Body
{
"webhook_type": "amendment",
"amendment_key": "\<Chave unitária característica do aditamento\>",
"event_datetime": "\<String de data referente ao momento de desembolso no formato da ISO8601\>",
"data": {
"amendment_status": "disbursed",
"final_debt_key": "\<Chave unitária da operação/debt originada do aditamento\>",
"installments": [
{
"bank_slip_key": "\<Chave unitária do boleto relacionado a parcela\>",
"business_due_date": "\<Data de vencimento da parcela, considerndo dias úteis\>",
"calendar_days": "\<Dias corridos em relação a data de referência anterior\>",
"digitable_line": "\<Linha digitável do boleto\>",
"due_date": "\<Data de vencimento da parcela\>",
"due_interest": "\<Valor de Juros da parcela\>",
"due_principal":"\<Valor Principal da parcela\>",
"installment_key": "\<Chave unitária característica da parcela\>",
"installment_number": "\<Número da parcela dentro do total de parcelas\>",
"post_fixed_amount": "\<Valor de Juros pós-fixado da parcela\>",
"pre_fixed_amount": "\<Valor de Juros pré-fixado da parcela\>",
"principal_amortization_amount": "\<Valor de amortização de principal da parcela\>",
"qr_code_key": "\<Chave unitária do QR Code associado ao boleto\>",
"qr_code_url": "\<URL do QR Code associado ao boleto\>",
"total_amount": "\<Valor Total da parcela\>",
"workdays": "\<Dias úteis em relação a data de referência anterior\>"
}
]
}
}

4.3. Cancelamento:

Body
{
"webhook_type": "amendment",
"amendment_key": "\<Chave unitária característica do aditamento\>",
"event_datetime": "\<String de data referente ao momento de desembolso no formato da ISO8601\>",
"data": {
"amendment_status": "canceled",
"cancel_reason": {
"enumerator": "\<Enumerador do motivo de cancelamento\>",
"description": "\<Descrição do motivo de cancelamento em inglês\>",
"translation": "\<Tradução da descrição do motivo de cancelamento\>"
}
}
}

A cancel_reason segue os seguintes enumeradores: Enumerador Cancel Reason.

5 - Informações Gerais

A referência anterior nos campos calendar_days ou workdays é a data de desembolso na primeira parcela e a data de vencimento da parcela anterior nos demais casos.

O campo installments é uma lista preenchida de objetos. Nesse caso, para cada parcela do aditamento, deve haver um objeto com as respectivas informações.

CampoTipoExemploObservações
additional_datajsonNão é obrigatório seu envio
amendment_keystring5fd3ecc8-1ea5-4d23-835c-37338da96181
amendment_datestring"2023-06-05"
amendment_debt_keystring31327efa-a96e-4a17-b703-e9fc39e17902
amendment_statusenumeradorEnumerador Amendment Status
annual_cetfloat0.0012
annual_ratefloat0.0012
bank_slip_keystringaea9ab16-d211-4c17-8f46-8a2669154a37
business_due_datestring"2023-10-05"
calculate_delayboolTrueNão é obrigatório seu envio e é default como Falso
calendar_daysint27
cetfloat0.0012
daily_ratefloat0.0012
digitable_linestring32990001031000699925351000000201192690000055231
document_keystring7f49d9ff-0878-4d48-8cc3-cb0c3c6769d2
document_urlstring"https://storage.googleapis.com/sandbox-doc-api/documents/7f49d9ff-0878-4d48-8cc3-cb0c3c6769d2/image_166618030043.jpg"
due_datestring"2023-06-05"
due_interestfloat0.0
due_principalfloat1000.10
event_datetimestring"2023-05-05T22:20:10Z"
final_debt_keystring8779a554-1ec9-40ec-8ff2-cbd52fc776efEssa é a nova debt key
installment_numberint3
installment_keystring1b65d775-b5ab-49d5-a833-46980387afb1
interest_baseenumeradorEnumerador Interest Base
issue_amountfloat1000.00
monthly_ratefloat0.0012
number_of_installmentsint3
post_fixed_amountint0Sempre zero, já que o aditamento só é válido para operações pré-fixadas
pre_fixed_amountfloat2.00
principal_amortization_amountfloat20.00
qr_code_keystring003590d0-29f8-4d18-93bb-a7c36f0f1785
qr_code_urlstring"00020126970014br.gov.bcb.pix2575qrcode-h.sandbox.qitech.app/bacen/cobv/cf7d2d2e-003a-4296-9daf-350864d282245204000053039865802BR5925QI SOCIEDADE DE CREDITO D6009Sao Paulo61080145200062070503***63047335"
signed_document_urlstring"https://storage.googleapis.com/sandbox-doc-api/documents/7f49d9ff-0878-4d48-8cc3-cb0c3c6769d2/image_166618030043.jpg"
total_amountfloat100.00
total_ioffloat11.03
workdaysint10

Enumerador Interest Base

EnumeradorDescrição
workdaysBase de cálculo de juros em dias úteis considerando um ano de 252 dias
calendar_daysBase de cálculo de juros em dias corridos considerando um ano de 360 dias
calendar_days_365Base de cálculo de juros em dias corridos considerando um ano de 365 dias

Enumerador Amendment Status

EnumeradorDescrição
waiting_signatureAguardando assinatura
signedAssinada
disbursedDesembolsada
canceledCancelada
disbursing_errorErro no momento do desembolso
Atenção!

O status 'disbursing_error' representa um status intermediário, o contrato de aditamento será cancelado ou desembolsado.

Enumerador Cancel Reason

EnumeradorDescrição
delete_amendmentRequisição no endpoint de DELETE
non_signed_amendmentOperação de aditamento não foi assinada até a data de referência enviada (amendment_date)
different_balance_dueSaldo devedor diferente entre a criação da operação de aditamento e o desembolso
different_installments_numberNúmero de parcelas em aberto diferente entre a criação da operação de aditamento e o desembolso