Manual Consignado da Aeronáutica
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.
Você pode consultar e reenviar webhooks seguindo as instruções detalhadas na documentação: Reenvio de Webhooks.
O sistema de consignações da Aeronáutica, via API, funciona 24 horas por dia, todos dias da semana, inclusive feriados.
1. Autorização
Antes do envio de qualquer requisição de Consignado do Exército (Consulta, Emissão da dívida, etc), é necessário fazer o upload do consentimento do militar autorizando a QI a proceder com a consulta, averbação e manutenção em folha de pagamento. Para upload da autorização, seguir o passo a passo encontrado na sessão de Upload de Documentos
O upload retornará uma chave única no campo de retorno "document_key" que deverá ser enviado no payload de requisição de Consulta de Margem Consignável em "authorization_document_key", confome melhor detalhado à seguir, no item 3. Consulta de Margem Consignável.
2. Simulação de Cenários de Sucesso nas Consultas de Saldos, Consulta de Lista de Contratos e Averbações em Sandbox
Para fins de teste, temos um conjunto de dados que podem ser utilizados para simular os casos de sucesso em sandbox, são eles:
| document_number | registration_code | token | birthdate |
|---|---|---|---|
| 60221284630 | 18571 | abc123 | 1954-09-08 |
| 57343241400 | 72893 | abc123 | 1998-02-06 |
| 13212590696 | 15410 | abc123 | 1959-11-14 |
Essas informações devem ser enviadas no payload da requisição no momento da simulação e o resultado será enviado por meio do webhook de sucesso correspondente.
3. Consulta de Margem Consignável
Em posse dos dados de CPF, Matrícula do militar e a Chave do Documento de Autorização, o parceiro integrador pode realizar a consulta assíncrona da margem consignável do militar através do seguinte endpoint:
Request
Request Body
{
"document_number": "45507529710",
"registration_code": "146254221",
"authorization_document_key": "f2bc2369-89ea-4a80-9f64-ba7b1566cd31",
}
O CPF deve ser informados em formato de texto, com no máximo 11 caracteres, sem ".", sem "-" e alinhado com zeros à esquerda. A Matrícula também deve ser no formato de texto.
Request Body Params
| Campo | Tipo | Descrição |
|---|---|---|
document_number | string | CPF do militar. |
registration_code | string | Matrícula do militar. |
authorization_document_key | uuid | document_key do termo de autorização. |
Sincronous Response
Response Body
{
"balance_key": "81da8afb-e1b2-4215-8093-c4b5feab8a9f",
"status": "pending_search"
}
Por ser assíncrono, os dados da consulta de margem do tomador serão retornados via webhook.
Response Body Params
| Campo | Tipo | Descrição |
|---|---|---|
balance_key | string | Chave de identificação da consulta de Margem Consignável. |
status | enum | Enumeradores de status de consulta de margem consignável abaixo. |
Enumeradores de Status de Consulta de Margem Consignável
| Enumerador | Descrição |
|---|---|
pending_search | Consulta de margem consignável pendente de resposta do sistema do exército. |
processed | Consulta de margem consignável processada. |
O status 'processed' refere-se apenas ao fato de que a requisição do saldo foi efetivamente eviada e processada, porém não diz respeito ao sucesso ou à falha da mesma, tal informação estará no payload enviado via Webhook explicado à seguir.
Consulta com sucesso
O webhook de sucesso será retornado da seguinte forma:
Body
{
"webhook_type": "airforce_payroll.balance.status_change",
"key": "81da8afb-e1b2-4215-8093-c4b5feab8a9f",
"event_datetime": "2023-05-28T08:43:29Z",
"status": "processed",
"data": {
"military_unit": "Aeronáutica Brasileira",
"military_branch": "IAE",
"category": "Ativo",
"name": "João da Silva",
"document_number": "12345678901",
"registration_code": "ABC123",
"balance": "15000.00",
"birth_date": "1980-01-01",
"grant_date": "2005-03-15",
"allowed_installment_numbers": 24
}
}
Response Body Params success
| Campo | Tipo | Descrição |
|---|---|---|
webhook_type | string | Tipo do webhook. |
key | uuid | Chave de referência do webhook. Neste caso, se trata da balance_key |
event_datetime | string | Data e hora do envio do webhook. |
status | string | Status da consulta de margem consignável. |
data | json | Campo que irá conter os dados referentes à consulta. |
data.military_unit | string | Estabelecimento que o militar está cadastro no sistema eConsig. |
data.military_branch | string | Orgão/organização militar que o militar está. |
data.category | string | Categoria do militar. |
data.name | string | Nome do militar. |
data.document_number | string | CPF do militar. |
data.registration_code | string | Matrícula do militar. |
data.balance | string | Margem disponível para contratação de empréstimo consignado. |
data.birth_date | string | Data de nascimento do militar. |
data.grant_date | string | Data de admissão do militar. |
data.allowed_installment_numbers | string | Número limite de parcelas de um empréstimo consignado para o militar consultado. |
Consulta com falha
O webhook de falha será retornado da seguinte forma:
Body
{
"webhook_type": "airforce_payroll.balance.status_change",
"key": "81da8afb-e1b2-4215-8093-c4b5feab8a9f",
"event_datetime": "2023-05-28T08:43:29Z",
"status": "processed",
"data": {
"title": "insufficient_permission",
"description": "User Has insufficient permissions for this operation.",
"translation": "Usuario nao possui permissoes suficientes para essa operacao.",
"code": "ZP000329",
"extra_fields": {}
}
}
Cada tipo de erro mapeado possui um título, código e descrição mais detalhada. Caso ainda não tenha sido mapeado retornaremos no mesmo formato porém com o título unknown_response. Salvo os campos idênticos, a tabela abaixo descreve com detalhes os parâmetros retornados.
Response body params failure
| Campo | Tipo | Descrição |
|---|---|---|
data.title | string | Título referente ao erro ocorrido. |
data.description | string | Descrição detalhada em inglês do erro ocorrido. |
data.translation | string | Tradução da decrição do erro ocorrido. |
data.code | string | Código do erro recebido. Os 3 últimos dígitos referem-se ao código de erro recebido pela Zetra. (ex: ZP000329) |
data.extra_fields | json | Campo destinado à possíveis atributos extras. |
Requisição de uma Consulta de Margem Consignável
Caso o parceiro queira saber sobre o andamento de alguma entidade Balance criada, ele pode realizar uma requisição da mesma:
Recomendamos fortemente que utilizem o Webhook como referência nas informações da Consulta de Margem Consignável do tomador. Feature passível de remoção no futuro.
Request
Response
Body
{
"status": "processed",
"data": {
"military_unit": "Aeronáutica Brasileira",
"military_branch": "IAE",
"category": "Ativo",
"name": "João da Silva",
"document_number": "12345678901",
"registration_code": "ABC123",
"balance": "15000.00",
"birth_date": "1980-01-01",
"grant_date": "2005-03-15",
"allowed_installment_numbers": 24
}
}
4. Consulta da Lista de Contratos
Em posse dos dados de CPF, Matrícula do militar e Token do possível tomador, o parceiro integrador pode realizar a consulta da lista de contratos do militar disponíveis para compra através do seguinte endpoint:
Request
Request Body
{
"document_number": "45507529710",
"registration_code": "146254221",
"token": "abc1234"
}
O CPF deve ser informados em formato de texto, com no máximo 11 caracteres, sem ".", sem "-" e alinhado com zeros à esquerda. A Matrícula também deve ser no formato de texto.
Request Body Params
| Campo | Tipo | Descrição |
|---|---|---|
document_number | string | CPF do militar. |
registration_code | string | Matrícula do militar. |
token | string | Senha do militar. |
Sincronous Response
Response Body
{
"portability_contracts_report_key": "3e41a8afb-e1b2-4215-8093-c4b5feab529c" ,
"status": "pending_search"
}
Por ser assíncrono, os dados da consulta da lista de contratos do tomador serão retornados via webhook.
Response Body Params
| Campo | Tipo | Descrição |
|---|---|---|
portability_contracts_report_key | string | Chave de identificação da consulta da lista de contratos. |
status | enum | Enumeradores de status de consulta da lista de contratos. |
Enumeradores de Status da Consulta da Lista de Contratos
| Enumerador | Descrição |
|---|---|
pending_search | Consulta da lista de contratos pendente de resposta do sistema do exército. |
processed | Consulta da lista de contratos processada. |
O status 'processed' refere-se apenas ao fato de que a requisição da consulta da lista de contratos foi efetivamente eviada e processada, porém não diz respeito ao sucesso ou à falha da mesma, tal informação estará no payload enviado via Webhook explicado à seguir.
Webhook da Consulta de Lista de Contratos
O webhook de sucesso será retornado da seguinte forma:
Body
{
"webhook_type": "airforce_payroll.portability_contracts_report.status_change",
"key": "3e41a8afb-e1b2-4215-8093-c4b5feab529c",
"event_datetime": "2023-05-28T08:43:29Z",
"status": "processed",
"data": {
"document_number": "45507529710",
"contracts" : [
{
"econsig_id": "2361529",
"consignatory": "BANCO XPTO",
"contract_date": "2022-01-03T15:01:57Z",
"installment_amount": 10.0,
"number_of_installments": 5,
"number_of_paid_installments": 1,
"contract_status":"in_progress"
},
{
"econsig_id": "2361529",
"consignatory": "BANCO XPTO",
"contract_date": "2022-01-03T15:01:57Z",
"installment_amount": 10.0,
"number_of_installments": 5,
"number_of_paid_installments": 1,
"contract_status":"in_progress"
}
]
}
}
Response Body Params
| Campo | Tipo | Descrição |
|---|---|---|
webhook_type | string | Tipo do webhook. |
key | uuid | Chave de referência do webhook. Neste caso, se trata da balance_key |
event_datetime | string | Data e hora do envio do webhook. |
status | string | Status da consulta de margem consignável. |
data | json | Campo que irá conter os dados referentes à consulta. |
data.document_number | string | CPF do militar. |
data.contracts | array | Lista dos contratos e de suas respectivas informações. |
data.contracts.econsig_id | string | Identificador único do contrato no sistema da Zetra. |
data.contracts.consignatory | string | Consignatária do contrato. |
data.contracts.installment_amount | float | Valor da parcela. |
data.contracts.number_of_installments | int | Número total de parcelas do contrato. |
data.contracts.number_of_paid_installments | int | Número de parcelas pagas até a vigência atual. |
data.contracts.contract_status | string | Situação do contrato. |
As possíveis Situações de Contrato estão mapeadas aqui.
| Situações do Contrato | contract_status |
|---|---|
| "Aguard. Confirmação" | waiting_confirmation |
| "Suspensa Pelo Gestor." | suspend_by_manager |
| "Aguard. Liquidação" | waiting_closure |
| "Aguard. Liquidação Portabilidade" | waiting_portability_closure |
| "Aguard. Margem" | waiting_balance |
| "Encerrado por Exclusão" | closed_by_exclusion |
| "Aguard. Deferimento" | waiting_approval |
| "Indeferida" | rejected |
| "Deferida" | accepted |
| "Em Andamento" | in_progress |
| "Suspensa" | suspended |
| "Cancelada" | canceled |
| "Liquidada" | settled |
| "Concluído" | completed |
Estas situações de contrato referem-se também às possíveis situações dos contratos internos.
Requisição de uma Consulta de Lista de Contratos
Caso o parceiro queira saber sobre o andamento de uma Consulta de Lista de Contratos, ele pode realizar uma requisição da mesma:
Recomendamos fortemente que utilizem o Webhook como referência nas informações da Lista de Contratos do tomador. Feature passível de remoção no futuro.
Request
Response
Body
{
"status": "processed",
"data": {
"document_number": "45507529710",
"contracts" : [
{
"econsig_id": "2361529",
"consignatory": "BANCO XPTO",
"contract_date": "2022-01-03T15:01:57Z",
"installment_amount": 10.0,
"number_of_installments": 5,
"number_of_paid_installments": 1,
"contract_status":"in_progress"
},
{
"econsig_id": "2361529",
"consignatory": "BANCO XPTO",
"contract_date": "2022-01-03T15:01:57Z",
"installment_amount": 10.0,
"number_of_installments": 5,
"number_of_paid_installments": 1,
"contract_status":"in_progress"
}
]
}
}
5. Simulação da Operação de Crédito Pessoal
Primeiramente é preciso calcular o valor da operação de Crédtio Pessoal necessária para quitar a operação de crédito original.
O valor do saldo devedor da dívida original deve ser informado no campo disbursed_amount.
A operação deve ser simulada com apenas 1 parcela, desembolso em D0 e a parcela deve ter seu vencimento para D+5 dias úteis, contas a partir da data de desembolso (pagamento) da operação.
Request
{
"borrower": {
"person_type": "natural"
},
"financial": {
"disbursed_amount": 80492.95,
"monthly_interest_rate": 0.03,
"credit_operation_type": "ccb",
"disbursement_date": "2023-03-17",
"issue_date": "2023-03-17",
"fine_configuration": {
"contract_fine_rate": 0,
"interest_base": "workdays",
"monthly_rate": 0
},
"interest_grace_period": 0,
"interest_type": "pre_price_days",
"number_of_installments": 1,
"principal_grace_period": 0,
"first_due_date_delay": 5
}
}
6 .Simulação da Operação de Crédito Consignado da AERONÁUTICA
Nesta simulação os campos informados terão seus valores atribuidos da seguinte forma:
installment_face_value = Valor da margem consignável
disbursement_date = D+5 dias úteis do momento da simulação
due_balance = total_amount da 1ª parcela retornada na simulação da Operação de Crédito Pessoal
original_deadline = Prazo total em dias da Operação de Crédito Pessoal (5 dias)
Request
{
"borrower": {
"person_type": "natural"
},
"financial": {
"first_due_date": "2023-06-10",
"installment_face_value": 100.0,
"disbursement_date": "2023-03-22",
"number_of_installments": 96,
"monthly_interest_rate": 0.0205,
"interest_type": "pre_price_days",
"fine_configuration": {
"monthly_rate": 0.01,
"interest_base": "calendar_days",
"contract_fine_rate": 0.02
},
"credit_operation_type": "ccb",
"interest_grace_period": 0,
"principal_grace_period": 0
},
"collaterals": [{
"collateral_type": "airforce_payroll"
}],
"refinanced_credit_operations": [
{
"due_balance": 1250.20,
"original_deadline": 120
}
]
}
O campo data.final_disbursement_amount retornado na simulação será o valor do troco pago ao cliente.
Consulta do valor de parcela da operação de Crédito Pessoal
Request
A DEBT-KEY é a chave retornada na resposta da criação da operação (resposta do /debt)
7. Criação da conta de titularidade do devedor
Antes da digitação das propostas é necessário abrir uma conta para o devedor na QI Tech.
A conta será utilizada para receber o desembolso da Operação de Crédito Pessoal, realizar os pagamentos do saldo devedor da dívida original em outro banco (via Boleto, TED ou Pix).
Request
{
"is_operation_account": true,
"account_owner": {
"address": {
"city": "São Paulo",
"complement": "s/c",
"neighborhood": "Pinheiros",
"number": "215",
"postal_code": "12345012",
"state": "SP",
"street": "Gilberto Sabino"
},
"birth_date": "1961-01-30",
"document_identification": "261a8fbc-d998-4dd7-8515-ddebb212ae27",
"is_pep": false,
"mother_name": "Nome da Mãe do Devedor",
"nationality": "brasileiro",
"email": "email@email.com",
"individual_document_number": "12345678911",
"name": "Nome do Devedor",
"phone": {
"area_code": "11",
"country_code": "055",
"number": "900000000"
},
"person_type": "natural"
}
}
| Parâmetro | Descrição |
|---|---|
| account_owner | Dados do devedor |
| is_operation_account | Indicativo de que a conta é uma conta de operação. |
Response
{
"data": {
"account_info": {
"account_branch": "0001",
"account_digit": "3",
"account_number": "1234567",
"financial_institution_code": "329"
},
"account_owner": {
"document_number": "12345678911",
"name": "Nome do Devedor"
}
},
"event_datetime": "2023-03-21 12:30:24",
"key": "8ff1e73f-e87b-4641-99a6-3267030c6034",
"status": "account_pending_operation",
"webhook_type": "account"
}
Os dados de conta retornados no /account deverão ser utilizados como conta de desembolso da Operação de Crédito Pessoal
Erro 5xx ou Timeout
O fluxo não deve prosseguir enquanto a conta não estiver abertua com sucesso. Para os casos de falha, deve ser checado se a conta de fato não foi aberta para o cliente, antes de uma possível retentativa de abertura.
É possível checar se a conta foi aberta para o cliente, listando as conta abertas para um determinado CPF.
Request
| Parâmetro | Descrição |
|---|---|
| owner_document_number | CPF do devedor |
| requester_key | É uma chave interna da integração. |
Response
{
"data": [{
...
"account_branch": "0001",
...
"account_digit": "2",
...
"account_key": "f600a6a9-0845-454f-b25c-a6d108ea582e",
"account_name": "Default",
"account_number": "1467576",
"account_status": {
"created_at": "2019-10-11T18:58:31",
"enumerator": "opened",
"translation_path": "account.AccountStatus.opened"
},
...
"owner_document_number": "09080702000105",
"owner_name": "Nome do Devedor",
...
}],
"pagination": {
"current_page": 1,
"next_page": null,
"rows_per_page": 100,
"total_pages": 1,
"total_rows": 1
}
}
No payload de resposta acima, estão listados apenas os campos relevantes para leitura.
8. Emissão das Operações
- Operação de Crédito Pessoal: Deve ser emitida com desembolso em D0 e com apenas uma parcela com vencimento para D+5 dias úteis do desembolso.
Para emissão da Operação de Crédito Pessoal o objeto "financial", deve ser enviado com exatamente as mesmas informações enviadas na sua simulação.
A Operação de Crédito Pessoal, só pode desembolsar em dias úteis e nos seguintes horários, à depender do meio de pagamento do saldo devedor da dívida original:
- TED: desembolso entre 6:30 e 17:15
- Boleto: desembolso entre 7:00 e 22:00
- Pix: qualquer horário (mas é recomendado o desembolso em horário comercial, pois caso uma operação seja desembolsada de madrugada, por exemplo, a entrada do Pix pode ser rejeitada por suspeitas de fraude)
Emissão da Operação de Crédito Pessoal
Para emitir a Operação de Crédito Pessoal, é necessário enviar a informação dos Boletos/TEDs/Pix que precisam ser pagos após o desembolso da operação.
O parceiro deve gerar uma chave interna de identificação da operação e enviá-la na requisição de emissão de dívida no campo "requester_identifier_key"
Exemplos Resquests
- Boleto
- TED
- Chave Pix
- Pix Manual
- QrCode Pix
{
"borrower": {
"name": "Nome do Devedor",
"email": "email@email.com",
"phone": {
"number": "900000000",
"area_code": "11",
"country_code": "055"
},
"address": {
"city": "São Paulo",
"state": "SP",
"number": "215",
"street": "Gilberto Sabino",
"complement": "s/c",
"postal_code": "12345012",
"neighborhood": "Pinheiros"
},
"role_type": "issuer",
"birth_date": "1969-05-01",
"mother_name": "Nome da Mãe do Devedor",
"person_type": "natural",
"individual_document_number": "12345678911",
"gender": "male",
"nationality": "brasileiro",
"is_pep": false,
"marital_status": "married"
},
"financial": {
"disbursed_amount": 80492.95,
"annual_interest_rate": 0.20983,
"credit_operation_type": "ccb",
"disbursement_date": "2023-03-17",
"issue_date": "2023-03-17",
"fine_configuration": {
"contract_fine_rate": 0,
"interest_base": "workdays",
"monthly_rate": 0
},
"interest_grace_period": 0,
"interest_type": "pre_price_days",
"number_of_installments": 1,
"principal_grace_period": 0,
"first_due_date_delay": 5
},
"simplified": true,
"additional_data": {
"debt_payment": [{
"bank_slip": [{
"digitable_line": "10495419967200010004900031456924592920008049295",
"amount": "80492,95",
"beneficiary": "CAIXA ECONÔMICA FEDERAL",
"due_date": "2023-03-17"
}],
"funds_transfer": [],
"pix": [],
"financial_institution_code_number": "623"
}],
"issuer_account": {
"account_digit": "0",
"account_branch": "1234",
"account_number": "123456",
"financial_institution_code_number": "104"
},
"total_af_amount": 86186.52
},
"requester_identifier_key": "7ac52492-61c0-4dd6-a414-b0bf940fb7ca",
"disbursement_bank_account": {
"bank_code": "329",
"account_digit": "3",
"branch_number": "0001",
"account_number": "1234567"
},
"after_disbursement_actions": [{
"action_data": {
"digitable_line": "10495419967200010004900031456924592920008049295"
},
"action_type": "bankslip_payment"
}],
"modality": {
"code": "0203"
}
}
{
"borrower": {
"name": "Nome do Devedor",
"email": "email@email.com",
"phone": {
"number": "900000000",
"area_code": "11",
"country_code": "055"
},
"address": {
"city": "São Paulo",
"state": "SP",
"number": "215",
"street": "Gilberto Sabino",
"complement": "s/c",
"postal_code": "12345012",
"neighborhood": "Pinheiros"
},
"role_type": "issuer",
"birth_date": "1969-05-01",
"mother_name": "Nome da Mãe do Devedor",
"person_type": "natural",
"individual_document_number": "12345678911",
"gender": "male",
"nationality": "brasileiro",
"is_pep": false,
"marital_status": "married"
},
"financial": {
"disbursed_amount": 80492.95,
"annual_interest_rate": 0.20983,
"credit_operation_type": "ccb",
"disbursement_date": "2023-03-17",
"issue_date": "2023-03-17",
"fine_configuration": {
"contract_fine_rate": 0,
"interest_base": "workdays",
"monthly_rate": 0
},
"interest_grace_period": 0,
"interest_type": "pre_price_days",
"number_of_installments": 1,
"principal_grace_period": 0,
"first_due_date_delay": 5
},
"simplified": true,
"additional_data": {
"debt_payment": [{
"bank_slip": [],
"funds_transfer": [{
"amount": "4736,07",
"account_digit": "0",
"account_branch": "0897",
"account_number": "20001",
"financial_institution_code_number": "341"
}],
"pix": [],
"financial_institution_code_number": "341"
}],
"issuer_account": {
"account_digit": "0",
"account_branch": "0491",
"account_number": "100021100",
"financial_institution_code_number": "104"
},
"total_af_amount": 86186.52
},
"requester_identifier_key": "7ac52492-61c0-4dd6-a414-b0bf940fb7ca",
"disbursement_bank_account": {
"bank_code": "329",
"account_digit": "3",
"branch_number": "0001",
"account_number": "1234567"
},
"after_disbursement_actions": [{
"action_data": {
"destination": {
"name": "Nome Credor Original",
"account_digit": "0",
"account_branch": "0897",
"account_number": "20001",
"document_number": "87163234000138",
"financial_institution_code_number": "341"
},
"transaction_amount": 4736.07
},
"action_type": "funds_transfer"
}],
"modality": {
"code": "0203"
}
}
{
"borrower": {
"name": "Nome do Devedor",
"email": "email@email.com",
"phone": {
"number": "900000000",
"area_code": "11",
"country_code": "055"
},
"address": {
"city": "São Paulo",
"state": "SP",
"number": "215",
"street": "Gilberto Sabino",
"complement": "s/c",
"postal_code": "12345012",
"neighborhood": "Pinheiros"
},
"role_type": "issuer",
"birth_date": "1969-05-01",
"mother_name": "Nome da Mãe do Devedor",
"person_type": "natural",
"individual_document_number": "12345678911",
"gender": "male",
"nationality": "brasileiro",
"is_pep": false,
"marital_status": "married"
},
"financial": {
"disbursed_amount": 80492.95,
"annual_interest_rate": 0.20983,
"credit_operation_type": "ccb",
"disbursement_date": "2023-03-17",
"issue_date": "2023-03-17",
"fine_configuration": {
"contract_fine_rate": 0,
"interest_base": "workdays",
"monthly_rate": 0
},
"interest_grace_period": 0,
"interest_type": "pre_price_days",
"number_of_installments": 1,
"principal_grace_period": 0,
"first_due_date_delay": 5
},
"simplified": true,
"additional_data": {
"debt_payment": [{
"bank_slip": [],
"funds_transfer": [],
"pix": [{
"amount": "4736,07",
"account_digit": "0",
"account_branch": "0897",
"account_number": "20001",
"financial_institution_code_number": "341",
"ispb": "60701190"
}],
"financial_institution_code_number": "341"
}],
"issuer_account": {
"account_digit": "0",
"account_branch": "0491",
"account_number": "100021100",
"financial_institution_code_number": "104"
},
"total_af_amount": 86186.52
},
"requester_identifier_key": "7ac52492-61c0-4dd6-a414-b0bf940fb7ca",
"disbursement_bank_account": {
"bank_code": "329",
"account_digit": "3",
"branch_number": "0001",
"account_number": "1234567"
},
"after_disbursement_actions": [{
"action_data": {
"pix_transfer_type": "key",
"pix_key": "cahvepix@credororiginal.com.br",
"transaction_amount": 4736.07
},
"action_type": "pix"
}],
"modality": {
"code": "0203"
}
}
{
"borrower": {
"name": "Nome do Devedor",
"email": "email@email.com",
"phone": {
"number": "900000000",
"area_code": "11",
"country_code": "055"
},
"address": {
"city": "São Paulo",
"state": "SP",
"number": "215",
"street": "Gilberto Sabino",
"complement": "s/c",
"postal_code": "12345012",
"neighborhood": "Pinheiros"
},
"role_type": "issuer",
"birth_date": "1969-05-01",
"mother_name": "Nome da Mãe do Devedor",
"person_type": "natural",
"individual_document_number": "12345678911",
"gender": "male",
"nationality": "brasileiro",
"is_pep": false,
"marital_status": "married"
},
"financial": {
"disbursed_amount": 80492.95,
"annual_interest_rate": 0.20983,
"credit_operation_type": "ccb",
"disbursement_date": "2023-03-17",
"issue_date": "2023-03-17",
"fine_configuration": {
"contract_fine_rate": 0,
"interest_base": "workdays",
"monthly_rate": 0
},
"interest_grace_period": 0,
"interest_type": "pre_price_days",
"number_of_installments": 1,
"principal_grace_period": 0,
"first_due_date_delay": 5
},
"simplified": true,
"additional_data": {
"debt_payment": [{
"bank_slip": [],
"funds_transfer": [],
"pix": [{
"amount": "4736,07",
"account_digit": "0",
"account_branch": "0897",
"account_number": "20001",
"financial_institution_code_number": "341",
"ispb": "60701190"
}],
"financial_institution_code_number": "341"
}],
"issuer_account": {
"account_digit": "0",
"account_branch": "0491",
"account_number": "100021100",
"financial_institution_code_number": "104"
},
"total_af_amount": 86186.52
},
"requester_identifier_key": "7ac52492-61c0-4dd6-a414-b0bf940fb7ca",
"disbursement_bank_account": {
"bank_code": "329",
"account_digit": "3",
"branch_number": "0001",
"account_number": "1234567"
},
"after_disbursement_actions": [{
"action_data": {
"pix_transfer_type": "manual",
"target_account": {
"name": "Nome Credor Original",
"account_digit": "0",
"account_branch": "0897",
"account_number": "20001",
"document_number": "87163234000138",
"financial_institution_code_number": "341"
},
"transaction_amount": 4736.07
},
"action_type": "pix"
}],
"modality": {
"code": "0203"
}
}
{
"borrower": {
"name": "Nome do Devedor",
"email": "email@email.com",
"phone": {
"number": "900000000",
"area_code": "11",
"country_code": "055"
},
"address": {
"city": "São Paulo",
"state": "SP",
"number": "215",
"street": "Gilberto Sabino",
"complement": "s/c",
"postal_code": "12345012",
"neighborhood": "Pinheiros"
},
"role_type": "issuer",
"birth_date": "1969-05-01",
"mother_name": "Nome da Mãe do Devedor",
"person_type": "natural",
"individual_document_number": "12345678911",
"gender": "male",
"nationality": "brasileiro",
"is_pep": false,
"marital_status": "married"
},
"financial": {
"disbursed_amount": 80492.95,
"annual_interest_rate": 0.20983,
"credit_operation_type": "ccb",
"disbursement_date": "2023-03-17",
"issue_date": "2023-03-17",
"fine_configuration": {
"contract_fine_rate": 0,
"interest_base": "workdays",
"monthly_rate": 0
},
"interest_grace_period": 0,
"interest_type": "pre_price_days",
"number_of_installments": 1,
"principal_grace_period": 0,
"first_due_date_delay": 5
},
"simplified": true,
"additional_data": {
"debt_payment": [{
"bank_slip": [],
"funds_transfer": [],
"pix": [{
"amount": "4736,07",
"account_digit": "0",
"account_branch": "0897",
"account_number": "20001",
"financial_institution_code_number": "341",
"ispb": "60701190"
}],
"financial_institution_code_number": "341"
}],
"issuer_account": {
"account_digit": "0",
"account_branch": "0491",
"account_number": "100021100",
"financial_institution_code_number": "104"
},
"total_af_amount": 86186.52
},
"requester_identifier_key": "7ac52492-61c0-4dd6-a414-b0bf940fb7ca",
"disbursement_bank_account": {
"bank_code": "329",
"account_digit": "3",
"branch_number": "0001",
"account_number": "1234567"
},
"after_disbursement_actions": [{
"action_data": {
"pix_transfer_type": "qr_code",
"qr_code": "00020126870014br.gov.bcb.pix2565qrcode.qitech.app/bacen/cobv/4ec760c4-b950-4afd-af10-92c1bb7804015204000053039865802BR5925SECURITIZADORA DE CREDITO6009SAO PAULO61080540700362070503***63042FA4"
},
"action_type": "pix"
}],
"modality": {
"code": "0203"
}
}
Enumeradores Marital Status
| Enumerador | Descrição |
|---|---|
| single | Solteiro(a) |
| married | Casado(a) |
| widower | Viúvo(a) |
| divorced | Divorciado(a) |
Erro 5xx ou Timeout
Caso seja retornado algum 5xx ou Timeout na requisição, afim de certificar que a operação de fato não foi criada na QI, é recomendado que o parceiro realize uma consulta da operação que teve retorno 5xx ou timeout.
Caso o retorno do GET seja um 200, o parceiro não deve retentar a criação da operação e seguir o fluxo da operação. Caso seja retornado um 404 - Not Found, o parceiro deve retentar a criação da operação.
{
"data": {
"additional_iof": 307.166388,
"annual_cet": "60,4731%",
"assignment_amount": 80833.26,
"base_iof": 33.141637696905995,
"borrower": {
"document_number": "12345678911",
"name": "Nome do Devedor"
},
"cet": "4,0200%",
"collaterals": [],
"contract": {
"external_contract_key": "351eada5-a626-404c-a3a3-f91c123270ce",
"number": "0000000001/NDD",
"signature_information": [{
"signature_url": "https://sign.qitech.com.br/s/hNrwjda",
"signer_document_number": "12345678911",
"signer_email": "email@email.com",
"signer_external_key": "56d105f3-a7f6-4442-95e9-71f44d2ae5fc",
"signer_name": "Nome do Devedor",
"signer_role": "issuer"
}],
"urls": [
"https://storage.googleapis.com/live-doc-api/documents/45e5b9c0-0f56-40a8-aace-d206f72c164d/QISCD-NOME_DO_DEVEDOR-CCB-0001212121-20230317194512.pdf"
]
},
"contract_fee_amount": 0,
"contract_fees": [],
"external_contract_fee_amount": 0,
"external_contract_fees": [],
"installments": [{
"accrual_reference_date": null,
"additional_costs": [],
"advanced_paid_amount": 0,
"bank_slip_key": null,
"business_due_date": "2023-03-22",
"calendar_days": 5,
"digitable_line": null,
"due_date": "2023-03-22",
"due_interest": 0,
"due_principal": 80833.26,
"fine_amount": null,
"has_interest": true,
"installment_history": [],
"installment_key": "75460851-2e82-4e3d-a805-b3e55b6b31d4",
"installment_number": 1,
"installment_payment": [],
"installment_status": "created",
"installment_type": "principal",
"original_due_principal": 80833.26,
"original_pre_fixed_amount": 183.5073246195304,
"original_principal_amortization_amount": 80833.26267538047,
"original_total_amount": 81016.77,
"paid_amount": 0,
"paid_at": null,
"post_fixed_amount": 0,
"pre_fixed_amount": 183.5073246195304,
"principal_amortization_amount": 80833.26267538047,
"qr_code_key": null,
"qr_code_url": null,
"renegotiation_proposal_key": null,
"tax_amount": 33.141637696905995,
"total_accrual_amount": null,
"total_amount": 81016.77,
"total_paid_amount": 0,
"workdays": 3
}],
"iof_charge_method": "financed",
"issue_amount": 80833.26,
"net_external_contract_fee_amount": 0,
"number_of_installments": 1,
"prefixed_interest_rate": {
"annual_rate": 0.20983,
"created_at": "2023-03-17T19:45:11",
"daily_rate": 0.00075616,
"interest_base": "workdays",
"monthly_rate": 0.01599997
},
"requester_identifier_key": "34427233-925d-416d-93eb-c7f5084e8359",
"total_iof": 340.31,
"total_pre_fixed_amount": 183.5073246195304
},
"event_datetime": "2023-03-17 19:45:19",
"key": "052fe83c-37f6-4339-a831-127b50566745",
"status": "waiting_signature",
"webhook_type": "debt"
}
O campo "key" da resposta de criação da operação é a DEBT-KEY, que é a chave única da operação dentro da QI.
Assinatura
Autorizar desembolso
Após assinatura da operação, é necessário autorizar a operação para desembolso.
{
"allow_disbursement": true
}
Desembolso
Após ser assinada e autorizada para desembolso, a operação seguirá automaticamente para esteira de desembolso.
Após o desembolso ser processado o parceiro receberá o seguinte webhook:
Sucesso no desembolso
{
"key": "052fe83c-37f6-4339-a831-127b50566745",
"data": {
"installments": [{
"due_date": "2023-03-22",
"total_amount": 81016.77,
"installment_key": "75460851-2e82-4e3d-a805-b3e55b6b31d4",
"pre_fixed_amount": 183.5073246195304,
"principal_amortization_amount": 80833.26267538047
}],
"ted_receipt_list": []
},
"status": "disbursed",
"webhook_type": "debt",
"event_datetime": "2023-03-17 13:20:40"
}
Ações pós-desembolso
Após o desembolso da Operação de Crédito Pessoal na conta do devedor criada na QI, serão executados os pagamentos de boleto/TED/Pix referente à quitação do saldo devedor da dívida original do devedor (ações pós-desembolso)
Sucesso
- Boleto
- TED
{
"key": "3bce3113-3644-4491-b87a-fe6551edff70",
"data": {
"status": "done",
"action_key": "d25097e2-09f1-47fc-8b7f-d1988b1a7669",
"error_data": null,
"action_data": {
"digitable_line": "10495419967200010004900031456924592920008049295"
},
"action_type": "bankslip_payment",
"execution_data": {
"bank_slip": {
"payer": {
"name": "Nome do Devedor",
"document_number": "12345678911",
"document_number_formatted": "123.456.789-11"
},
"beneficiary": {
"name": "CAIXA ECONÔMICA FEDERAL",
"document_number": "00360305000104",
"document_number_formatted": "00.360.305/0001-04"
},
"payment_key": "500a496e-4cca-4b12-9dc8-254932ebbcac",
"payment_date": "2023-03-08",
"digitable_line": "10495419967200010004900031456924592920008049295",
"expiration_date": "2023-03-10",
"payment_date_formatted": "08/03/2023",
"expiration_date_formatted": "10/03/2023",
"financial_institution_name": "CAIXA ECONÔMICA FEDERAL",
"financial_institution_compe_number": "104"
},
"origin_key": "dfac205a-bdef-4820-8608-2dc81d9e10d4",
"transacted_at": "2023-03-08 16:07:58",
"source_account": {
"owner_name": "Nome do Devedor",
"account_digit": "3",
"account_branch": "0001",
"account_number": "1234567",
"owner_document_number": "12345678911",
"financial_institution_name": "QI SCD S.A.",
"owner_document_number_formatted": "123.456.789-11",
"financial_institution_compe_number": 329
},
"source_subtype": "bank_slip_payment",
"transaction_key": "86a4320d-a69d-4c14-8300-9a6f22d35fcb",
"transacted_at_br": "2023-03-08 13:07:58",
"pdf_encoded_string": "\<BASE 64 DO PDF DO COMPROVANTE\>",
"transaction_amount": 3864.95,
"transacted_at_formatted": "08/03/2023, 16:07:58",
"transacted_at_br_formatted": "08/03/2023, 13:07:58",
"transaction_amount_formatted": "R$ 3.864,95",
"source_subtype_translation_ptbr": "Pagamento de Boleto"
}
},
"webhook_type": "after_disbursement_action_update",
"event_datetime": "2023-03-08 16:08:02"
}
{
"key": "1f13c154-4164-412d-b3f3-00b7af7b18ee",
"data": {
"status": "done",
"action_key": "a7a2c87d-b882-4680-ae58-9a5292d26788",
"error_data": null,
"action_data": {
"destination": {
"name": "Nome Credor Original",
"account_digit": "0",
"account_branch": "0897",
"account_number": "20001",
"document_number": "87163234000138",
"financial_institution_code_number": "341"
},
"transaction_amount": 520
},
"action_type": "funds_transfer",
"execution_data": {
"origin_key": "f786dc97-faaa-40d8-9818-c8dc184bf131",
"transacted_at": "2023-03-23 16:48:27",
"source_account": {
"owner_name": "Nome do Devedor",
"account_digit": "3",
"account_branch": "0001",
"account_number": "1234567",
"owner_document_number": "12345678911",
"financial_institution_name": "QI SCD S.A.",
"owner_document_number_formatted": "123.456.789-11",
"financial_institution_compe_number": 329
},
"source_subtype": "withdrawal",
"target_account": {
"owner_name": "Nome Credor Original",
"account_type": "checking_account",
"account_digit": "0",
"account_branch": "0897",
"account_number": "20001",
"account_type_str": "Conta Corrente",
"owner_document_number": "87163234000138",
"financial_institution_name": "ITAÚ UNIBANCO S.A.",
"owner_document_number_formatted": "87.163.234/0001-38",
"financial_institution_compe_number": "341"
},
"transaction_key": "b8993075-9ede-4073-be2d-6130b052f888",
"transacted_at_br": "2023-03-23 13:48:27",
"pdf_encoded_string": "\<BASE 64 DO PDF DO COMPROVANTE\>",
"transaction_amount": 520.0,
"transacted_at_formatted": "23/03/2023, 16:48:27",
"transacted_at_br_formatted": "23/03/2023, 13:48:27",
"transaction_amount_formatted": "R$ 520,00",
"source_subtype_translation_ptbr": "Transferência"
}
},
"webhook_type": "after_disbursement_action_update",
"event_datetime": "2023-03-23 16:48:31"
}
Erro na ação pós-desembolso
Em caso de erro no pagamento da ação pós-desembolso, o parceiro será notificado através do seguinte webhook:
- Boleto
- TED
{
"key": "e358e7e3-17b8-4aab-9da1-92f6b78dea00",
"data": {
"status": "error",
"action_key": "e2495e5a-df32-4826-b6f0-419014d3c35a",
"error_data": {
"error_code": "QIT000007",
"description": "Account blocked balance cannot be negative."
},
"action_data": {
"digitable_line": "10495419967200010004900031456924592920008049295"
},
"action_type": "bankslip_payment",
"execution_data": null
},
"webhook_type": "after_disbursement_action_update",
"event_datetime": "2023-03-22 12:06:38"
}
{
"key": "e358e7e3-17b8-4aab-9da1-92f6b78dea00",
"data": {
"status": "error",
"action_key": "e2495e5a-df32-4826-b6f0-419014d3c35a",
"error_data": {
"error_code": "QIT000007",
"description": "Account blocked balance cannot be negative."
},
"action_data": {
"destination": {
"name": "Nome Credor Original",
"account_digit": "0",
"account_branch": "0897",
"account_number": "20001",
"document_number": "87163234000138",
"financial_institution_code_number": "341"
},
"transaction_amount": 1000
},
"action_type": "funds_transfer",
"execution_data": null
},
"webhook_type": "after_disbursement_action_update",
"event_datetime": "2023-03-22 12:06:38"
}
Estorno da TED da ação pós-desembolso
Caso a TED realizada na ação pós-desembolso seja devolvida pela instituição financeira destinatária, o parceiro será notificado através do seguinte webhook:
{
"key": "f4b5c36a-2aa1-4865-9678-e5a6fa585845",
"data": {
"status": "refused",
"action_key": "cf3b8809-36dc-4574-8763-3600e413cf5c",
"error_data": {
"code": "agencia_conta_invalida",
"description": "Agência ou Conta Destinatária do Crédito Inválida"
},
"action_data": {
"destination": {
"name": "SILVANA RAMOS DOS SANTOS",
"account_digit": "1",
"account_branch": "0150",
"account_number": "301771620",
"document_number": "30874011884",
"financial_institution_code_number": "237"
},
"transaction_amount": 3200
},
"action_type": "funds_transfer",
"action_amount": 3200.0
},
"webhook_type": "after_disbursement_action_update",
"event_datetime": "2023-03-23 14:46:39"
}
Retentar ação pós-desembolso com falha
Caso ocorra um erro/estorno no pagamento da ação pós-desembolso, ela pode ser retentada através do seguinte endpoint /baas/action/[ACTION-KEY]