Emissão com Assinatura Posterior
Neste fluxo, a dívida é criada em uma primeira chamada e a assinatura do tomador é enviada em uma chamada separada. O sistema gera o contrato e aguarda a assinatura antes de processar o desembolso.
Passo 1 — Criação da Dívida (POST /debt)
Request
ENDPOINT
/debtMÉTODO
POSTRequest Body
{
"borrower": {
"name": "Dante Ferrarini",
"email": "dante@email.com",
"phone": {
"number": "185633631",
"area_code": "15",
"country_code": "055"
},
"is_pep": false,
"address": {
"city": "São Paulo",
"state": "SP",
"number": "1000",
"street": "Rua Gilberto Sabino",
"complement": "",
"postal_code": "05425020",
"neighborhood": "Pinheiros"
},
"role_type": "issuer",
"birth_date": "1993-09-10",
"person_type": "natural",
"individual_document_number": "31057466093"
},
"financial": {
"interest_type": "pre_price_days",
"disbursement_date": "2026-04-07",
"fine_configuration": {
"monthly_rate": 0.01,
"interest_base": "calendar_days",
"contract_fine_rate": 0.02
},
"disbursed_amount": 1000,
"credit_operation_type": "ccb",
"interest_grace_period": 0,
"number_of_installments": 2,
"principal_grace_period": 0,
"monthly_interest_rate": 0.052
},
"disbursement_bank_account": {
"name": "Dante Ferrarini",
"document_number": "31057466093",
"bank_code": "329",
"branch_number": "0001",
"account_number": "7617846",
"account_digit": "5",
"account_type": "checking_account"
},
"purchaser_document_number": "32402502000135"
}
Body Params
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
| borrower* | object | Objeto do tomador | Objeto Borrower |
| financial* | object | Detalhes financeiros da operação | Objeto Financial |
| disbursement_bank_account* | object | Dados da conta bancária do tomador para recebimento do desembolso | Objeto Disbursement Bank Account |
| purchaser_document_number* | string | CNPJ do cessionário | 14 |
Objeto Borrower
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
| name* | string | Nome completo do tomador | 100 |
| string | Endereço de e-mail do tomador | 254 | |
| phone | object | Dados de telefone do tomador | Objeto Phone |
| is_pep* | boolean | Indicador de Pessoa Politicamente Exposta | 5 |
| address* | object | Endereço residencial do tomador | Objeto Address |
| role_type | string | Papel do tomador na operação (ex: "issuer") | 10 |
| birth_date* | date | Data de nascimento do tomador (Formato: "YYYY-MM-DD") | 10 |
| person_type* | string | Classificação da pessoa (natural ou legal) | 7 |
| individual_document_number* | string | CPF do tomador - somente números | 11 |
Objeto Address
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
| city* | string | Nome da cidade | 100 |
| state* | string | Sigla do estado (duas letras maiúsculas) | 2 |
| number | string | Número do logradouro | 10 |
| street* | string | Nome do logradouro | 100 |
| complement | string | Complemento do endereço (texto livre) | 100 |
| postal_code* | string | CEP - somente números | 8 |
| neighborhood* | string | Nome do bairro | 100 |
Objeto Phone
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
| number* | string | Número do telefone | 9 |
| area_code* | string | Código de área (DDD) | 2 |
| country_code* | string | Código internacional (ex: "055") | 3 |
Objeto Financial
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
| interest_type* | string | Método de amortização | 20 |
| disbursement_date* | string | Data de desembolso | 10 |
| fine_configuration* | object | Configuração de multa e mora | Objeto Fine Configuration |
| disbursed_amount* | float | Valor a ser desembolsado | 15,2 |
| credit_operation_type* | string | Tipo da operação de crédito (ex: "ccb") | 10 |
| interest_grace_period | integer | Período de carência de juros (em meses) | 3 |
| number_of_installments* | integer | Número de parcelas | 3 |
| principal_grace_period | integer | Período de carência do principal (em meses) | 3 |
| monthly_interest_rate* | float | Taxa de juros mensal | 10,6 |
Objeto Fine Configuration
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
| monthly_rate* | float | Taxa de mora mensal | 10,6 |
| interest_base* | string | Base de cálculo da mora (ex: "calendar_days") | 20 |
| contract_fine_rate* | float | Taxa de multa contratual | 10,6 |
Objeto Disbursement Bank Account
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
| name | string | Nome do titular da conta | 50 |
| document_number | string | CPF do titular da conta | 11 |
| bank_code* | string | Código COMPE da instituição financeira | 3 |
| branch_number* | string | Número da agência (sem dígito verificador) | 4 |
| account_number* | string | Número da conta (sem dígito verificador) | 10 |
| account_digit* | string | Dígito verificador da conta (usar zero no lugar de letras) | 1 |
| account_type | enum | Tipo da conta (checking_account, saving_account, payment_account, etc.) | - |
Response
STATUS
200A resposta retorna o plano de pagamento e a DEBT-KEY, com status waiting_signature. O desembolso não é realizado até que a assinatura seja enviada no Passo 2.
Response Body
{
"webhook_type": "debt",
"key": "1baea8a0-0fca-4f7c-8857-a227d4da72f8",
"status": "waiting_signature",
"event_datetime": "2026-04-07 22:46:10",
"data": {
"borrower": {
"name": "Dante Ferrarini",
"document_number": "31057466093",
"related_party_key": "d5cbcada-42e7-4d5b-84fc-3c2dc8038411"
},
"contract": {
"number": "0000192840/DWF",
"urls": [
"https://storage.googleapis.com/sandbox-doc-api/documents/b2d974f9-c710-42e3-8ea4-69cc31561c38/CCB-0000192840-20260407.pdf"
],
"signers": [
{
"signer_name": "Dante Ferrarini",
"signer_document_number": "31057466093",
"signer_role": "issuer",
"signer_email": "dante@email.com",
"signer_external_key": null,
"signature_url": null
}
]
},
"installments": [...],
"total_pre_fixed_amount": 80.16
}
}
Atenção
Salve a DEBT-KEY retornada — ela é necessária para enviar a assinatura no Passo 2.
Passo 2 — Envio da Assinatura (POST /debt/{DEBT-KEY}/signed)
Request
ENDPOINT
/debt/DEBT-KEY/signedMÉTODO
POSTRequest Body
{
"type": "data_signature",
"signatures": [
{
"signed_object": {
"raw_text": "Lorem ipsum dolor sit amet, consectetur a...."
},
"authenticity": {
"timestamp": "1970-01-01 00:00:01",
"ip_address": "179.104.42.245",
"session_id": "ddb1d063-4fdf-4330-af9c-3316e9142ff3"
},
"signer": {
"name": "Dante Ferrarini",
"email": "dante@email.com",
"phone": {
"country_code": "055",
"area_code": "15",
"number": "185633631"
},
"document_number": "31057466093"
},
"authentication_type": "opt-in"
}
]
}
Path Params
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
debt_key* | string | Chave da dívida retornada no Passo 1 | UUID |
Body Params
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
type* | string | Tipo de assinatura. Valor: data_signature | - |
signatures* | array | Lista de objetos de comprovação de assinatura | Objeto signatures |
Objeto signatures
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
signed_object | object | Documento que está sendo assinado | Objeto signed_object |
authenticity | object | Dados de autenticação da assinatura | Objeto authenticity |
signer | object | Dados do assinante | Objeto signer |
authentication_type* | string | Tipo de assinatura. Valor: opt-in | - |
Objeto signed_object
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
raw_text* | string | Texto corrido com os dados do contrato que será assinado | - |
Objeto authenticity
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
timestamp* | string | Data e hora da assinatura | - |
ip_address* | string | Endereço IP onde o aceite foi coletado | - |
session_id* | string | ID de sessão do cliente no momento da assinatura — deve ser armazenado por no mínimo 5 anos | - |
geolocation | object | Geolocalização opcional | - |
Objeto signer
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
name* | string | Nome do assinante | - |
email* | string | E-mail do assinante | - |
phone | object | Telefone do assinante | Objeto Phone |
document_number* | string | CPF do assinante | - |
Response
STATUS
200Response Body
{
"data": {},
"event_datetime": "2026-04-07 15:24:47",
"key": "<DEBT-KEY>",
"status": "signature_received",
"webhook_type": "debt"
}