跳到主要内容

Inserção de contrato no lote

Insere um contrato num lote de contratos estruturados. Cada chamada leva um contrato com todas as parcelas. O contrato é precificado na hora pela carteira do fundo: se o preço não fecha com as parcelas, a chamada é recusada e nada é gravado.

Disponível em
PerfilHostPermissão exigida
Gestoramanager-apiEscrita
Consultoriaconsultant-apiOperar contratos
Cedenteassignor-apiEscrita

URL base de cada host: Ambientes (Hosts).

Onde estou no fluxo?

Este é o 2º passo. Antes, crie o lote. Depois de inserir todos os contratos, encerre a inserção.

Request​

ENDPOINT
/trade_contract/fund_class/{fund_class_key}/assignment/{assignment_key}/contract
MÉTODO
POST

O tipo do contrato vem do lote: o body é o mesmo para os três tipos, e cada tipo tem regras próprias, descritas depois dos atributos.

Request Body — contrato de financiamento
{
"external_id": "FIN-2026-000147-01",
"contract_number": "CF-000147",
"total_value": 100000.00,
"purchase_order_value": 95000.00,
"has_assignor_coobligation": true,
"borrower_document_number": "11.444.777/0001-61",
"borrower_name": "Comercial Exemplo Ltda",
"issue_date": "2026-11-09",
"originator_document_number": "11.222.333/0001-81",
"interest_rate_type": "pre_fixed",
"pre_fixed": {
"monthly_rate": 0.015,
"calendar_base": "workdays"
},
"installments": [
{ "external_id": "FIN-2026-000147-01-1", "installment_number": 1, "face_value": 26000.00, "maturity_date": "2026-12-10" },
{ "external_id": "FIN-2026-000147-01-2", "installment_number": 2, "face_value": 26000.00, "maturity_date": "2027-01-11" },
{ "external_id": "FIN-2026-000147-01-3", "installment_number": 3, "face_value": 26000.00, "maturity_date": "2027-02-10" },
{ "external_id": "FIN-2026-000147-01-4", "installment_number": 4, "face_value": 26000.00, "maturity_date": "2027-03-10" }
],
"contract_data": {
"purchase_order_number": "PC-88213"
}
}

Atributos do body​

CampoTipoObrigatoriedadeDescrição
external_idstringobrigatórioIdentificador do contrato no seu sistema, 1 a 50 caracteres. Único entre os contratos do cedente (TRC000047).
contract_numberstringopcionalNúmero do contrato, até 50 caracteres. Aparece nos documentos e na carteira.
total_valuenumberobrigatórioValor do contrato, maior que zero. É também o preço pago pelo fundo, quando purchase_order_value não é enviado.
purchase_order_valuenumberopcionalPreço que o fundo paga pelo contrato, quando diferente de total_value. No contrato de financiamento, o valor do pedido de compra financiado.
expense_valuenumberopcionalDespesa da operação, maior ou igual a zero. Usada na confissão de dívida.
has_assignor_coobligationbooleanopcionalSe o cedente responde solidariamente pelo pagamento. Padrão false.
borrower_document_numberstringobrigatórioCPF ou CNPJ do devedor, 11 a 18 caracteres.
borrower_namestringopcionalNome do devedor, até 255 caracteres. Aparece nos documentos.
issue_datestringopcionalData de emissão do contrato, em YYYY-MM-DD.
originator_document_numberstringobrigatórioCPF ou CNPJ do originador, cadastrado (TRC000058).
interest_rate_typestringobrigatóriopre_fixed ou post_fixed. Envie o objeto de mesmo nome.
pre_fixedobjectcondicionalTaxa prefixada. Veja Atributos de pre_fixed.
post_fixedobjectcondicionalTaxa pós-fixada. Veja Atributos de post_fixed.
installmentsarrayobrigatórioParcelas do contrato, ao menos uma. Veja Atributos de installments.
substituted_assetsarraycondicionalAtivos que a confissão de dívida substitui. Obrigatório na confissão. Veja Confissão de dívida.
contract_dataobjectopcionalDados livres do contrato, guardados com ele na carteira e disponíveis para os modelos de documento da configuração.

Campos fora desta lista são recusados com QIT000001.

Atributos de pre_fixed​

CampoTipoObrigatoriedadeDescrição
monthly_ratenumberobrigatórioTaxa mensal em decimal, de 0 a 1: 0.015 é 1,5% ao mês.
calendar_basestringobrigatórioBase de dias: workdays (dias úteis), calendar_360 ou calendar_365.
accrual_calendar_basestringopcionalBase de dias do acúmulo, quando diferente da calendar_base. Mesmos valores.

Atributos de post_fixed​

CampoTipoObrigatoriedadeDescrição
indexerstringobrigatórioIndexador: di, selic ou ipca.
ratenumberobrigatórioTaxa sobre o indexador, maior ou igual a zero.
calendar_basestringobrigatórioworkdays, calendar_360 ou calendar_365.
lagobjectobrigatórioDefasagem do indexador: reference (monthly ou daily) e amount (número de períodos, maior ou igual a zero).

Atributos de installments​

CampoTipoObrigatoriedadeDescrição
installment_numberintegerobrigatórioNúmero da parcela, a partir de 1.
face_valuenumberobrigatórioValor da parcela, maior que zero.
maturity_datestringobrigatórioVencimento da parcela, em YYYY-MM-DD.
external_idstringopcionalIdentificador da parcela no seu sistema. Não pode repetir dentro do contrato (TRC000047).
principal_valuenumberopcionalParte de principal da parcela, maior ou igual a zero.

Regras por tipo​

Contrato de financiamento​

  • O lote foi criado com disbursement: é esse valor que o cedente recebe depois da assinatura.
  • purchase_order_value não pode ser maior que total_value. A regra é conferida quando os documentos são gerados ou enviados (TRC000018), não na inserção.
  • O lastro costuma ser o contrato de financiamento e o pedido de compra; os documentos exigidos vêm da configuração.

Confissão de dívida​

A confissão substitui ativos do mesmo devedor que o fundo já tem. Cada ativo substituído é liquidado quando a confissão entra na carteira, e a confissão passa a ser o ativo do fundo.

Request Body — confissão de dívida
{
"external_id": "CONF-2026-000032-01",
"contract_number": "CD-000032",
"total_value": 30000.00,
"expense_value": 500.00,
"borrower_document_number": "11.444.777/0001-61",
"borrower_name": "Comercial Exemplo Ltda",
"issue_date": "2026-11-09",
"originator_document_number": "11.222.333/0001-81",
"interest_rate_type": "pre_fixed",
"pre_fixed": {
"monthly_rate": 0.02,
"calendar_base": "workdays"
},
"installments": [
{ "installment_number": 1, "face_value": 10600.00, "maturity_date": "2026-12-10" },
{ "installment_number": 2, "face_value": 10600.00, "maturity_date": "2027-01-11" },
{ "installment_number": 3, "face_value": 10600.00, "maturity_date": "2027-02-10" }
],
"substituted_assets": [
{
"asset_external_id": "CCB-2025-000881",
"asset_key": "5e2d7c1a-3b4f-4a6e-9c8d-7f1e2a3b4c5d",
"asset_type": "ccb",
"settlement_value": 18000.00
},
{
"asset_external_id": "DUP-2026-004410",
"asset_key": "c1b2a3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"asset_type": "duplicata_mercantil",
"settlement_value": 12500.00
}
]
}
  • Ao menos um ativo substituído por contrato (TRC000010).
  • A conta fecha: a soma dos settlement_value é igual a total_value mais expense_value (TRC000035). No exemplo, 18.000 + 12.500 = 30.000 + 500.
  • Mesmo devedor: cada ativo substituído é do mesmo borrower_document_number da confissão (TRC000068).
  • Ativo vivo e do cedente: cada ativo precisa estar ativo na carteira do fundo, cedido pelo cedente do lote (TRC000053). Busque asset_key e asset_external_id em Ativos que a confissão pode substituir.
  • Uma vez por lote: o mesmo ativo não pode estar em dois contratos do lote (TRC000051).
  • Sem dinheiro novo: o lote não tem desembolso. Na entrada da confissão na carteira, cada ativo substituído é liquidado pelo settlement_value, descontada a parte proporcional da despesa, e a confissão recebe a provisão para perdas definida na configuração.

Atributos de substituted_assets​

CampoTipoObrigatoriedadeDescrição
asset_external_idstringobrigatórioexternal_id do ativo substituído na carteira, até 50 caracteres.
asset_keystringobrigatórioChave do ativo substituído (UUID).
asset_typestringobrigatórioTipo do ativo substituído: duplicata_mercantil, duplicata_servicos, ccb, contract, financing_contract ou debt_acknowledgment.
settlement_valuenumberobrigatórioValor pelo qual o ativo é liquidado, maior ou igual a zero.
substituted_asset_dataobjectopcionalDados livres do ativo substituído, para os documentos.

Contrato​

Sem regras além das comuns. Se o lote foi criado com disbursement, o cedente recebe esse valor depois da assinatura, como no contrato de financiamento.

Response​

STATUS
201
Response Body
{
"contract_key": "e7d6c5b4-a3f2-4e1d-9c0b-8a7f6e5d4c3b",
"external_id": "FIN-2026-000147-01",
"status": "pending_wallet_inclusion"
}
CampoTipoDescrição
contract_keystringChave do contrato (UUID).
external_idstringO external_id enviado.
statusstringpending_wallet_inclusion: o contrato foi aceito e entra na carteira quando o lote chegar ao fim do fluxo.

O preço por parcela, a taxa de aquisição e o prazo calculados aparecem na consulta do lote.

Erros​

StatusCódigoQuando acontece
400QIT000001O body não segue o formato: campo obrigatório ausente, tipo ou tamanho inválido, ou campo não aceito.
404TRC000011Não existe lote com essa assignment_key neste fundo.
409TRC000070O lote não aceita mais contratos: a inserção já foi encerrada.
409TRC000047Já existe um contrato com esse external_id para o cedente, ou duas parcelas com o mesmo external_id.
400TRC000022CPF ou CNPJ inválido no devedor ou no originador.
404TRC000058O originador não está cadastrado.
422TRC000045A carteira recusou o contrato na precificação. A description traz o motivo.
409TRC000044O preço calculado pela carteira para as parcelas não fecha com purchase_order_value (ou total_value).
400TRC000010Confissão de dívida sem substituted_assets.
400TRC000035Confissão: a soma dos settlement_value é diferente de total_value mais expense_value.
400TRC000051Confissão: o mesmo ativo substituído aparece em dois contratos do lote.
409TRC000053Confissão: o ativo substituído não está ativo na carteira para este cedente.
400TRC000068Confissão: o ativo substituído é de outro devedor.
403QIT000004 / QIT000005 / QIT000008A integração não tem acesso a este lote.

Em caso de erro de rede, reenvie com o mesmo external_id: um TRC000047 indica que o contrato já entrou, e ele aparece na consulta do lote.