Manual Cartão Consignado - Emissão
- Visão Geral (anterior)
- Acompanhamento (próximo)
A API ainda está em fase de desenvolvimento, sendo assim, este manual esta sujeito a alterações.
Os dados do titular e a margem disponível vêm de consultas da própria fonte de consignação, documentadas fora deste manual:
- INSS (
social_security) — lista de benefícios e dados do benefício - Consignado Público (
public_payroll) — consulta de margem
1. Consulta de elegibilidade do beneficiário
A consulta de elegibilidade permite verificar se um CPF está elegível para o cartão. Esta operação é síncrona e retorna imediatamente o resultado da verificação.
Em posse dos dados de CPF e data de nascimento, é possível consultar a elegibilidade do titular. Atualmente, a única validação realizada é a faixa etária, que é definida por tipo de cartão — ou seja, varia conforme a fonte de consignação e o produto informados.
Request
Params
| Campo | Tipo | Descrição | Obrigatório | Formatação |
|---|---|---|---|---|
| document_number | string | Número de CPF do titular | Sim | 11 dígitos numéricos |
| birth_date | date | Data de nascimento | Sim | YYYY-MM-DD |
| product_type | string | Produto consultado | Sim | Enum: payroll_card, benefit_card |
Na fonte public_payroll, a faixa etária depende do órgão consultado, então os parâmetros consignment_entity e agency também são obrigatórios. Ver Consignado Público.
product_type ausenteproduct_type ausente não gera erro de validação: a consulta não resolve um tipo de cartão e é recusada com 400 PCR000004. A mensagem cita o que foi recebido — apenas a fonte de consignação quando o produto não foi informado, a fonte e o produto quando o par não corresponde a um tipo de cartão contratado.
Response
Exemplos de Response
Elegível:
{
"status": "eligible"
}
Não elegível - Idade fora do intervalo:
{
"status": "not_eligible",
"error_description": "Age 72 is not within the eligible range (18-71 years)"
}
O intervalo citado na mensagem é o do tipo de cartão consultado, não um valor fixo da API.
Response Body Details
| Campo | Tipo | Descrição |
|---|---|---|
| status | string | Status da elegibilidade (eligible/not_eligible) |
| error_description | string | Descrição do erro quando não elegível (opcional) |
2. Simulação de saque e limite do cartão
A simulação permite calcular o valor de saque disponível e o limite do cartão consignado baseado nos parâmetros financeiros informados. Esta operação é útil para apresentar ao beneficiário as condições antes da contratação.
Request
Request Body
{
"product_type": "benefit_card",
"financial": {
"salary_amount": 5000.00,
"number_of_installments": 96,
"monthly_interest_rate": 0.0246
},
"withdrawal": {
"disbursement_date": "2026-01-02",
"limit_days_to_disburse": 1,
"withdrawal_ratio": 0.7
}
}
Request Body Details
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| product_type | string | Produto simulado | Enum: payroll_card, benefit_card | Sim |
| financial | object | Dados financeiros da operação | - | Sim |
| withdrawal | object | Dados do saque | - | Sim |
| collateral | object | Dados da consignação, quando a fonte precisa deles para precificar | - | Não |
Payload financial
Informe exatamente um entre salary_amount e available_margin. Qual dos dois o seu tipo de cartão aceita depende da fonte de consignação — ver Colateral por fonte de consignação.
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| salary_amount | number | Valor do salário ou benefício do titular | Mínimo: 1 | Sim, se available_margin não for informado |
| available_margin | number | Margem consignável mensal disponível, já informada pelo solicitante | Mínimo: 1 | Sim, se salary_amount não for informado |
| number_of_installments | number | Número de parcelas da CCB de saque | Mínimo: 1 | Sim |
| monthly_interest_rate | number | Taxa de juros mensal da CCB de saque | Mínimo: 0.001 | Sim |
Payload withdrawal
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| disbursement_date | date | Data do desembolso da CCB de saque | YYYY-MM-DD | Sim |
| limit_days_to_disburse | number | Número de dias limite para desembolso da CCB de saque | Mínimo: 1 | Sim |
| withdrawal_ratio | number | Parte do limite que será usado para o saque | Mínimo: 0.5 | Não |
O número de parcelas, a taxa de juros, o withdrawal_ratio e o limit_days_to_disburse têm tetos por tipo de cartão, não limites fixos de schema. Um valor acima do teto é recusado com 400 PCR000001, informando o valor recebido e o máximo permitido. Consulte a sua configuração contratada.
Response
Response Body
{
"total_limit_amount": 8000,
"reservation_amount": 250,
"withdrawal": {
"withdrawal_amount": 5600,
"withdrawal_data": {
"prefixed_interest_rate": {
"interest_base": "calendar_days",
"annual_rate": 0.3386043084,
"monthly_rate": 0.0246,
"daily_rate": 0.0008104046
},
"disbursement_options": [
{
"disbursement_date": "2026-01-02",
"cet": 0.0261,
"annual_cet": 0.3618,
"total_iof": 193.55,
"disbursed_issue_amount": 5600,
"issue_amount": 5793.55,
"installments": [
{
"total_amount": 160.51,
"due_date": "2026-02-10",
"business_due_date": "2026-02-11",
"installment_number": 1
},
{
"total_amount": 160.51,
"due_date": "2026-03-10",
"business_due_date": "2026-03-11",
"installment_number": 2
},
{
"total_amount": 160.51,
"due_date": "2026-04-10",
"business_due_date": "2026-04-13",
"installment_number": 3
},
...
]
}
]
}
},
"payroll_card": {
"card_limit": 2400
}
}
Response Body Details
| Campo | Tipo | Descrição |
|---|---|---|
| total_limit_amount | number | Valor total do limite disponível considerando saque e cartão |
| reservation_amount | number | Valor da reserva do cartão consignado |
| withdrawal | object | Dados do saque |
| withdrawal.withdrawal_amount | number | Valor de desembolso calculado para CCB de saque |
| withdrawal.withdrawal_data | object | Dados detalhados do saque |
| payroll_card | object | Dados do cartão consignado |
| payroll_card.card_limit | number | Limite total calculado para o cartão |
Payload withdrawal.withdrawal_data
| Campo | Tipo | Descrição |
|---|---|---|
| prefixed_interest_rate | object | Taxa de juros prefixada |
| disbursement_options | array | Opções de desembolso disponíveis |
Payload prefixed_interest_rate
| Campo | Tipo | Descrição |
|---|---|---|
| daily_rate | number | Taxa diária |
| interest_base | string | Base de cálculo dos juros |
| monthly_rate | number | Taxa mensal |
| annual_rate | number | Taxa anual |
Payload disbursement_options
| Campo | Tipo | Descrição |
|---|---|---|
| disbursement_date | string | Data do desembolso |
| cet | number | Custo Efetivo Total mensal |
| annual_cet | number | Custo Efetivo Total anual |
| total_iof | number | Valor total de IOF |
| disbursed_issue_amount | number | Valor de desembolso |
| issue_amount | number | Valor de emissão |
| installments | array | Lista de parcelas |
Payload installments
| Campo | Tipo | Descrição |
|---|---|---|
| total_amount | number | Valor total da parcela |
| due_date | string | Data de vencimento |
| installment_number | number | Número da parcela |
3. Criação da operação de saque e geração do termo
A criação da operação de saque inicia o processo de contratação do cartão consignado. Esta operação cria a reserva do cartão, gera os documentos necessários e retorna as chaves para acompanhamento do processo.
Request
Request Body
{
"request_control_key": "150e8400-e29b-41d4-a716-446655440000",
"purchaser_document_number": "55566677000177",
"product_type": "benefit_card",
"card_holder": {
"name": "Carlos Eduardo Lima",
"email": "carlos.lima@email.com",
"phone": {
"number": "654321098",
"area_code": "31",
"country_code": "055"
},
"gender": "male",
"address": {
"city": "Belo Horizonte",
"state": "MG",
"number": "789",
"street": "Rua das Palmeiras",
"complement": "Casa 3",
"postal_code": "30112000",
"neighborhood": "Savassi"
},
"birth_date": "1990-09-18",
"mother_name": "Fernanda Lima",
"nationality": "Brasileiro",
"document_number": "55566677788",
"document_identification": {
"document_identification_date": "2012-05-20",
"document_identification_type": "rg",
"document_identification_number": "555666777"
}
},
"related_parties": [
{
"name": "Pedro Costa",
"email": "pedro.costa@email.com",
"phone": {
"number": "765432109",
"area_code": "21",
"country_code": "055"
},
"address": {
"city": "Rio de Janeiro",
"state": "RJ",
"number": "789",
"street": "Rua Ipanema",
"complement": "Apto 12",
"postal_code": "22080001",
"neighborhood": "Ipanema"
},
"role_type": "issuer_legal_representative",
"person_type": "natural",
"is_pep": false,
"individual_document_number": "11122233344",
"birth_date": "1980-12-05",
"mother_name": "Lucia Costa",
"document_identification": {
"document_identification_date": "2017-01-14",
"document_identification_type": "rg",
"document_identification_number": "222333444"
}
}
],
"withdrawal": {
"disbursement_date": "2026-01-02",
"limit_days_to_disburse": 1,
"withdrawal_ratio": 0.7,
"contract_number": "PCR12345678",
"disbursement_bank_account": {
"name": "Carlos Eduardo Lima",
"bank_code": "104",
"account_digit": "3",
"branch_number": "5678",
"account_number": "987654321",
"document_number": "55566677788",
"transfer_method": "pix",
"account_type": "checking_account"
}
},
"financial": {
"salary_amount": 5000.00,
"number_of_installments": 96,
"monthly_interest_rate": 0.0246,
"emission_installments": 1
},
"credit_agent": {
"document_number": "44455566677",
"name": "Agente de Crédito Lima"
},
"collateral": {
"state": "MG",
"benefit_number": "5556667777",
"subcorban_document_number": "12123456000101",
"assistance_type": "pension_by_death_rural_worker"
}
}
Request Body Details
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| request_control_key | string | Chave de identificação da requisição | UUID v4 | Sim |
| purchaser_document_number | string | CNPJ do comprador | 14 dígitos numéricos | Sim |
| product_type | string | Produto contratado | Enum: payroll_card, benefit_card | Sim |
| card_holder | object | Dados do portador do cartão | - | Sim |
| withdrawal | object | Dados do saque | - | Sim |
| financial | object | Dados financeiros da operação | - | Sim |
| credit_agent | object | Dados do agente de crédito | - | Sim |
| related_parties | array | Lista de partes relacionadas | - | Não |
| collateral | object | Dados da consignação, no formato da fonte informada na rota — ver Colateral por fonte de consignação | - | Sim |
Payload card_holder
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| name | string | Nome completo do portador | Mínimo: 1 caractere válido | Sim |
| string | Email do portador | Formato de email válido | Sim | |
| phone | object | Dados do telefone | - | Sim |
| gender | string | Gênero | Enum: "male", "female" | Sim |
| address | object | Endereço do portador e de entrega do cartão. | - | Sim |
| birth_date | date | Data de nascimento | YYYY-MM-DD | Sim |
| mother_name | string | Nome da mãe | Mínimo: 1 caractere válido | Sim |
| nationality | string | Nacionalidade | Mínimo: 1 caractere | Sim |
| document_number | string | CPF do portador | 11 dígitos numéricos | Sim |
| document_identification | object | Dados do documento de identificação | - | Sim |
Payload related_parties
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| name | string | Nome da parte relacionada | Mínimo: 1 caractere válido | Sim |
| string | Email da parte relacionada | Formato de email válido | Sim | |
| phone | object | Dados do telefone | - | Sim |
| address | object | Endereço da parte relacionada | - | Sim |
| role_type | string | Tipo de papel | Enum: issuer_legal_representative, issuer_attorney | Sim |
| person_type | string | Tipo de pessoa | Enum: natural, signer | Sim |
| is_pep | boolean | Se é pessoa politicamente exposta | true/false | Sim |
| individual_document_number | string | CPF da parte relacionada | 11 dígitos numéricos | Sim |
| birth_date | date | Data de nascimento | YYYY-MM-DD | Sim |
| mother_name | string | Nome da mãe | Mínimo: 1 caractere válido | Sim |
| document_identification | object | Dados do documento de identificação | - | Sim |
Payload phone
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| number | string | Número do telefone | Apenas números | Sim |
| area_code | string | Código de área | Apenas números | Sim |
| country_code | string | Código do país | Apenas números | Sim |
Payload address
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| city | string | Cidade | Mínimo: 1 caractere | Sim |
| state | string | Estado | 2 caracteres | Sim |
| number | string | Número | Mínimo: 1 caractere | Sim |
| street | string | Rua | Mínimo: 1 caractere | Sim |
| complement | string | Complemento | Mínimo: 1 caractere | Não |
| postal_code | string | CEP | 8 dígitos numéricos | Sim |
| neighborhood | string | Bairro | Mínimo: 1 caractere | Sim |
Payload document_identification
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| document_identification_date | date | Data de emissão do documento | YYYY-MM-DD | Sim |
| document_identification_type | string | Tipo do documento | Enum: "rg", "passport", "other" | Sim |
| document_identification_number | string | Número do documento | Mínimo: 1 caractere | Sim |
Payload withdrawal
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| disbursement_date | date | Data do desembolso | YYYY-MM-DD | Sim |
| limit_days_to_disburse | number | Número de dias limite para desembolso | Mínimo: 1, Máximo: 10 | Sim |
| contract_number | string | Número do contrato | 3 letras maiúsculas + 8 números | Sim |
| disbursement_bank_account | object | Conta bancária para desembolso | - | Sim |
Payload disbursement_bank_account
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| name | string | Nome do titular da conta | Mínimo: 1 caractere válido | Sim |
| bank_code | string | Código do banco | 3 dígitos numéricos | Sim |
| account_digit | string | Dígito da conta | 1 dígito numérico | Sim |
| branch_number | string | Número da agência | Apenas números | Sim |
| account_number | string | Número da conta | Apenas números | Sim |
| document_number | string | CPF do titular | 11 dígitos numéricos | Sim |
| transfer_method | string | Método de transferência | Enum: "pix", "ted" | Sim |
| account_type | string | Tipo de conta | Enum: checking_account, deposit_account, guaranteed_account, investment_account, payment_account, saving_account, salary_account | Sim |
Payload financial
Informe exatamente um entre salary_amount e available_margin. Qual dos dois o seu tipo de cartão aceita depende da fonte de consignação; enviar o que não é aceito é recusado com 400 PCR000005.
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| salary_amount | number | Valor do salário ou benefício do titular (valor total) | Mínimo: 1 | Sim, se available_margin não for informado |
| available_margin | number | Margem consignável mensal disponível, já apurada pelo solicitante | Mínimo: 1 | Sim, se salary_amount não for informado |
| number_of_installments | number | Número de parcelas das CCBs (saque e rotativo) | Mínimo: 1 | Sim |
| monthly_interest_rate | number | Taxa de juros mensal das CCBs (saque e rotativo) | Mínimo: 0.001 | Sim |
| emission_installments | number | Número de Parcelas da taxa de emissão do cartão (Conforme coletado com o beneficiário) | Mínimo: 1, Máximo: 3 | Sim |
O número de parcelas, a taxa de juros, o withdrawal_ratio e o limit_days_to_disburse têm tetos por tipo de cartão, não limites fixos de schema. Um valor acima do teto é recusado com 400 PCR000001.
Payload credit_agent
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| document_number | string | CPF do agente de crédito | 11 ou 14 dígitos numéricos | Sim |
| name | string | Nome do agente de crédito | Mínimo: 1 caractere válido | Sim |
Payload collateral
O formato do collateral é definido pela fonte de consignação informada na rota. Cada fonte tem o seu próprio conjunto de campos, todos obrigatórios.
- INSS
- Consignado Público
Consignação de aposentados e pensionistas do INSS. Rota: /payroll_card_reservation/social_security. Esta fonte aceita apenas salary_amount como entrada financeira.
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| state | string | Estado | 2 caracteres | Sim |
| benefit_number | string | Número do benefício | Mínimo: 1 caractere | Sim |
| subcorban_document_number | string | Número do documento do correspondente bancário (ou filial de correspondente bancário) responsável pela operação | 14 dígitos numéricos | Sim |
| assistance_type | string | Tipo do benefício | Enum: Tabela de benefícios | Sim |
{
"state": "MG",
"benefit_number": "5556667777",
"subcorban_document_number": "12123456000101",
"assistance_type": "pension_by_death_rural_worker"
}
Regras de elegibilidade e averbação do benefício: INSS.
Consignação de servidores públicos estaduais e municipais. Rota: /payroll_card_reservation/public_payroll. Esta fonte aceita apenas available_margin como entrada financeira.
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| entity_level | string | Esfera do ente consignante | Enum: municipal, state | Sim |
| consignment_entity | string | Enumerador do ente consignante | Enum: Entes consignantes | Sim |
| agency | string | Enumerador do órgão do titular | Mínimo: 1 caractere | Sim |
| registration_number | string | Matrícula do titular no órgão, exatamente como o órgão a emite | Mínimo: 1 caractere | Sim |
{
"entity_level": "state",
"consignment_entity": "sp",
"agency": "spprev",
"registration_number": "1234567890123"
}
Regras de margem e averbação: Consignado Público.
Response
Response Body
{
"request_control_key": "150e8400-e29b-41d4-a716-446655440000",
"payroll_card_type": "social_security_benefit_card",
"payroll_card_reservation_key": "72d63aea-15b6-402c-a18b-d12cd4619c9d",
"card_holder_document_number": "55566677788",
"identifier_number": "5556667777",
"total_limit_amount": 8000,
"reservation_amount": 250,
"withdrawal": {
"withdrawal_key": "56cfe7b7-ed6e-4212-8744-c9fcff309ec0",
"withdrawal_amount": 5600,
"credit_operation_key": null,
"withdrawal_status": "pending_signature",
"contract_number": "PCR12345678",
"withdrawal_data": {
"prefixed_interest_rate": {
"interest_base": "calendar_days",
"annual_rate": 0.3386043084,
"monthly_rate": 0.0246,
"daily_rate": 0.0008104046
},
"disbursement_options": [
{
"disbursement_date": "2026-01-02",
"cet": 0.0261,
"annual_cet": 0.3618,
"total_iof": 193.55,
"disbursed_issue_amount": 5600,
"issue_amount": 5793.55,
"installments": [
{
"total_amount": 160.51,
"due_date": "2026-02-10",
"business_due_date": "2026-02-11",
"installment_number": 1
},
{
"total_amount": 160.51,
"due_date": "2026-03-10",
"business_due_date": "2026-03-11",
"installment_number": 2
},
{
"total_amount": 160.51,
"due_date": "2026-04-10",
"business_due_date": "2026-04-13",
"installment_number": 3
},
...
]
}
]
},
"wallet_entry_key": null
},
"payroll_card": {
"payroll_card_key": "572650c7-67f6-4f73-8444-b9da72000057",
"payroll_card_status": "pending_issuance",
"card_key": null,
"payment_instrument_key": null,
"card_issuance_entry_key": null,
"card_issuance_entry_amount": 17.28,
"card_limit": 2400
},
"attached_documents": [
{
"document_key": "32f5e5e2-a15a-40af-9ddc-cddaba1966cf",
"document_type": "withdrawal_operation_term",
"document_certifier": "qi_sign",
"document_status": "pending_generation",
"document_url": null,
"document_batch_key": "f4f2b64c-5608-44bb-a2df-bf62cf26cc76"
},
{
"document_key": "7767e30e-417e-4dd7-b061-bba722451d10",
"document_type": "payroll_card_term",
"document_certifier": "qi_sign",
"document_status": "pending_generation",
"document_url": null,
"document_batch_key": "f4f2b64c-5608-44bb-a2df-bf62cf26cc76"
},
{
"document_key": "6c839b10-9558-4e6e-9f7d-d1e494cf6156",
"document_type": "payroll_card_consent_term",
"document_certifier": "qi_sign",
"document_status": "pending_generation",
"document_url": null,
"document_batch_key": "f4f2b64c-5608-44bb-a2df-bf62cf26cc76"
}
],
"payroll_card_reservation_status": "pending_document_generation",
"wallet_key": null,
"reservation_contract_number": "PCR0000000822"
}
Response Body Details
| Campo | Tipo | Descrição |
|---|---|---|
| request_control_key | string | Chave de identificação da requisição |
| payroll_card_reservation_key | string | Chave da reserva do cartão consignado |
| payroll_card_reservation_status | string | Status da reserva do cartão consignado |
| card_holder_document_number | string | CPF do portador do cartão |
| identifier_number | string | Número identificador da operação |
| reservation_amount | number | Valor da reserva do cartão consignado |
| reservation_contract_number | string | Número do contrato de averbação na Dataprev |
| withdrawal | object | Dados do saque |
| payroll_card | object | Dados do cartão consignado |
| attached_documents | array | Lista de documentos anexados |
| payroll_card_type | string | Tipo do cartão — a fonte de consignação e o produto combinados, por exemplo social_security_benefit_card ou public_payroll_payroll_card |
| wallet_key | string | Chave única da wallet criada (UUID4) |
Payload withdrawal
| Campo | Tipo | Descrição |
|---|---|---|
| withdrawal_key | string | Chave única do saque |
| contract_number | string | Número do contrato da CCB de saque |
| withdrawal_amount | number | Valor de desembolso calculado para CCB de saque |
| disbursement_date | date | Data de desembolso da operação |
| withdrawal_status | string | Status do saque |
| withdrawal_data | object | Dados detalhados do saque |
Payload withdrawal_data
| Campo | Tipo | Descrição |
|---|---|---|
| prefixed_interest_rate | object | Taxa de juros prefixada |
| disbursement_options | array | Opções de desembolso disponíveis |
Payload prefixed_interest_rate
| Campo | Tipo | Descrição |
|---|---|---|
| daily_rate | number | Taxa diária |
| interest_base | string | Base de cálculo dos juros |
| monthly_rate | number | Taxa mensal |
| annual_rate | number | Taxa anual |
Payload disbursement_options
| Campo | Tipo | Descrição |
|---|---|---|
| disbursement_date | string | Data do desembolso |
| cet | number | Custo Efetivo Total mensal |
| annual_cet | number | Custo Efetivo Total anual |
| total_iof | number | Valor total de IOF |
| disbursed_issue_amount | number | Valor de desembolso |
| issue_amount | number | Valor de emissão |
| installments | array | Lista de parcelas |
Payload installments
| Campo | Tipo | Descrição |
|---|---|---|
| total_amount | number | Valor total da parcela |
| due_date | string | Data de vencimento |
| installment_number | number | Número da parcela |
Payload payroll_card
| Campo | Tipo | Descrição |
|---|---|---|
| payroll_card_key | string | Chave única do cartão consignado |
| payroll_card_status | string | Status do cartão consignado |
| card_limit | number | Limite total calculado para o cartão |
| card_issuance_entry_amount | number | Valor da Taxa de emissão do cartão |
Payload attached_documents
| Campo | Tipo | Descrição |
|---|---|---|
| document_key | string | Chave única do documento |
| document_batch_key | string | Chave do lote de documentos |
| document_type | string | Tipo do documento |
| document_certifier | string | Certificadora do documento |
| document_status | string | Status do documento |
| document_url | string | URL do documento |
| signature_url | string | URL da assinatura |
4. Envio de documentos adicionais
Após a aprovação do onboarding, a reserva é atualizada para o status pending_additional_documents_submission. Para prosseguir com a reserva de margem e o desembolso da operação, é obrigatório o envio dos documentos adicionais (Para o produto de Cartão Consignado/Benefício de INSS, o vídeo de confirmação da contratação).
O processamento do upload é assíncrono. O upload bem sucedido aciona a transição automática da reserva para pending_additional_documents_validation, disparando os webhooks de alteração de status e de atualização de documentos, e acionando a validação dos documentos.
Caso os documentos adicionais sejam rejeitados na validação do sistema, a reserva retornará para o status pending_additional_documents_submission e será possível realizar o re-envio dos documentos adicionais por este mesmo endpoint. Não é possível realizar o re-envio dos documentos adicionais antes da aprovação/rejeição pela análise do sistema, e existe um limite de 5 análises por reserva e tipo de documento.
O envio e a subsequente aprovação pelo sistema dos documentos adicionais são tratados como autorização para o desembolso da operação de crédito. Após a validação bem sucedida dos dos arquivos, a operação seguirá automaticamente para a averbação e para a criação da operação de crédito e será efetuado o desembolso na conta do beneficiário, sem etapas adicionais de aprovação.
Request
Params
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| payroll_card_reservation_key | string | Chave única da reserva (UUID) | Sim |
Request Body
{
"documents": [
{
"document_type": "payroll_card_confirmation_video",
"document_url": "https://download.samplelib.com/mp4/sample-5s.mp4"
}
]
}
Request Body Details
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| documents | array | Lista de documentos a serem anexados | Sim |
Payload documents
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| document_type | string | Tipo do documento | Enum: "payroll_card_confirmation_video" | Sim |
| document_url | string | URL pública para download do arquivo de vídeo | URL válida | Sim |
Garanta que a URL enviada é acessível por usuários externos, para conseguirmos efetuar o upload do arquivo para o banco de dados interno da QI.
- Formatos de arquivo suportados: .mp4
- Tamanho máximo do arquivo: 256MB
Response
A requisição foi recebida com sucesso e o documento será processado assincronamente.
{
"attached_documents": [
{
"document_key": "2fc216c6-5d1c-4713-b70b-6e1f75f8bb17",
"document_type": "payroll_card_confirmation_video",
"document_certifier": "electronic_client_side",
"document_status": "pending_generation",
"document_url": ""
}
],
}
5. Reapresentação de Pagamento do Saque
Caso o pagamento não seja processado devido a dados incorretos, é possível pode ajustar as informações da conta bancária para reapresentação através do seguinte endpoint:
Request
Request Body
{
"disbursement_bank_account": {
"name": "Carlos Eduardo Lima",
"bank_code": "001",
"account_digit": "3",
"branch_number": "5678",
"account_number": "987654321",
"document_number": "55566677788",
"transfer_method": "pix",
"account_type": "checking_account"
}
}
Request Body Details
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| disbursement_bank_account | object | Conta bancária para desembolso | - | Sim |
Payload disbursement_bank_account
| Campo | Tipo | Descrição | Formatação | Obrigatório |
|---|---|---|---|---|
| name | string | Nome do titular da conta | Mínimo: 1 caractere válido | Sim |
| bank_code | string | Código do banco | 3 dígitos numéricos | Sim |
| account_digit | string | Dígito da conta | 1 dígito numérico | Sim |
| branch_number | string | Número da agência | Apenas números | Sim |
| account_number | string | Número da conta | Apenas números | Sim |
| document_number | string | CPF do titular | 11 dígitos numéricos | Sim |
| transfer_method | string | Método de transferência | Enum: "pix", "ted" | Sim |
| account_type | string | Tipo de conta | Enum: checking_account, deposit_account, guaranteed_account, investment_account, payment_account, saving_account, salary_account | Sim |
Response
6. Anexos
Referências
A funcionalidade de Fura Fila (Averbação Síncrona) está disponível apra o Cartão INSS, utilizando a payroll_card_reservation_key como a {deby_key} da requisição.:
Ambiente de Homologação (Mocks)
Para facilitar os testes de integração em ambiente de Sandbox, o sistema simula diferentes comportamentos baseados no primeiro dígito do CPF do titular enviado no payload de criação.
Os cenários abaixo são específicos da fonte de consignação, porque simulam as respostas do órgão que averba a operação.
- INSS
- Consignado Público
Os cenários simulam as respostas da Dataprev. O detalhamento por etapa — consulta de saldo, averbação e anuência — está em Mocks (Sandbox) do INSS.
| 1º Dígito do CPF | Cenário | Comportamento Interno | Resultado Final (Cliente) |
|---|---|---|---|
| 1 | Fluxo Ideal (Completo) | Sucesso na Assinatura Sucesso no Onboarding Sucesso na Averbação (Dataprev) | Cartão emitido (Status: card_issued) |
| 2 | Erro na Consulta Dataprev | Sucesso na Assinatura Sucesso no Onboarding Falha na Consulta de Benefício | Reserva cancelada (Status: canceled) + Envio de Webhook de status (Status: canceled) |
| 3 | Erro na Averbação Dataprev | Sucesso na Assinatura Sucesso no Onboarding Falha na Averbação/Reserva de Margem | Reserva cancelada (Status: canceled) + Envio de Webhook de status (Status: canceled) |
| 4 | Erro de Endereço | Sucesso na Assinatura Sucesso no Onboarding (Endereço Divergente) Sucesso na Averbação (Dataprev) | Cartão emitido (Status: card_issued) + Envio de Webhook de atualização de endereço |
| 5 | Onboarding Rejeitado | Sucesso na Assinatura Rejeição no Onboarding/KYC | Reserva cancelada (Status: canceled) + Envio de Webhook de status (Status: canceled) |
| 6 | Inelegível (Idade > 65) | Sucesso na Assinatura Sucesso no Onboarding (Retorna idade superior a 65 anos) | Reserva cancelada (Status: canceled) + Envio de Webhook de status (Status: canceled) |
| 7 | Inelegível (Idade < 18) | Sucesso na Assinatura Sucesso no Onboarding (Retorna idade inferior a 18 anos) | Reserva cancelada (Status: canceled) + Envio de Webhook de status (Status: canceled) |
| 8 | Teimosinha (Retentativa) | Sucesso na Assinatura Sucesso no Onboarding Falha Temporária na Averbação (Dataprev) | Aguardando liberação (Status: pending_reservation) + Envio de Webhook de Collateral |
Para testar o Fluxo ideal, certifique-se de usar um CPF que comece com o dígito 1 (ex: 123.456.789-00) e que seja válido (cálculo de dígitos verificadores correto).
Os mocks de sucesso estão configurados para simular benefícios de até R$10.000,00. Caso valores de benefício acima deste sejam usados, o sistema irá retornar erro de margem excedida na averbação, cancelando a reserva.
Os cenários de sandbox do cartão no Consignado Público serão publicados junto com a averbação. A consulta de margem já tem cenários fixos em sandbox: ver Testes em sandbox.