Pular para o conteúdo principal

Consignado Público: Reserva de Margem

A reserva é a averbação: o registro da operação no ente consignante, que compromete a margem do servidor e ordena o desconto em folha. É o que transforma uma proposta em garantia.

API em desenvolvimento

Esta API está em fase de desenvolvimento, sendo assim, esta página está sujeita a alterações.

A reserva não é criada diretamente

Esta página é o que o parceiro precisa para acompanhar essa reserva: as regras que ela obedece, o que cada status significa, como consultá-la e como obter o comprovante.

Para mais informações sobre a emissão de uma dívida com consignação no Consignado Público, acessar as páginas referentes ao produto: cartão consignado, crédito novo e portabilidade.

Pré-requisitos

Uma averbação só é aceita quando as duas condições abaixo são verdadeiras. Uma contratação que as viole é recusada antes de chegar ao ente:

  1. O vínculo já foi observado por uma consulta de margem. O vínculo informado precisa ter sido descoberto em uma consulta daquele CPF naquele ente. A averbação nunca espera por uma consulta: se o vínculo é desconhecido, a operação é recusada na hora.
  2. A observação é do mês corrente. O ente informa a margem por competência e a folha fecha mensalmente, então uma consulta de um mês anterior não sustenta uma averbação. O valid_until da consulta é o último dia do mês em que ela foi observada.
A margem enviada é a que o parceiro ofertou

O valor averbado é o que o parceiro decidiu ofertar, já com a sua própria margem de segurança aplicada. A QI Tech não relê a margem antes de averbar: envia o valor e trata a recusa do ente, se houver. É assim porque a margem muda a qualquer momento, e só a averbação garante o valor. Ver A margem é indicativa.

Validar um vínculo

POST
/public_payroll/{entity_level}/{consignment_entity}/reservation/validation

Confere se o CPF e o vínculo digitados resolvem para um vínculo conhecido e observado no mês corrente — as duas condições de Pré-requisitos.

Request

Request Body
{
"employee_document_number": "12345678901",
"employment_relationship": { ... }
}
Request Body Details
CampoTipoDescriçãoObrigatório
employee_document_numberstringCPF do servidor, apenas dígitosSim
employment_relationshipobjectIdentificação do vínculo, conforme o perfil do enteSim
Request Body
{
"employee_document_number": "12345678901",
"employment_relationship": {
"agency": "spprev",
"registration_number": "1234567890123"
}
}
Request Body Details
CampoTipoDescriçãoObrigatório
employment_relationship.agencystringEnumerador do órgão do servidor. Enum: ÓrgãosSim
employment_relationship.registration_numberstringMatrícula do servidor no órgão, exatamente como o órgão a emiteSim

Response

STATUS
200 (OK)
Response Body
{
"balance_inquiry_key": "b1b9f0a6-9a3e-4f9b-9d6f-3a5f8c1d2e7b",
"observed_at": "2026-08-26T10:02:40-03:00",
"valid_until": "2026-08-31"
}
Response Body Details
CampoTipoDescrição
balance_inquiry_keystringA consulta em que o vínculo foi observado
observed_atstringMomento da observação
valid_untilstringÚltimo dia em que uma averbação pode se apoiar nessa consulta
STATUS
422 (Unprocessable Entity)

Quando o vínculo não existe no registro, ou quando a observação é de um mês anterior. O corpo nomeia qual dos dois casos ocorreu. A saída é a mesma nos dois: criar uma nova consulta de margem.

Acompanhar a reserva

GET
/public_payroll/{entity_level}/{consignment_entity}/reservation/{reservation_key}
GET
/public_payroll/{entity_level}/{consignment_entity}/reservation/external_key/{origin_key}

A segunda forma endereça a reserva pela chave da operação de origem — a chave do cartão ou da operação de crédito que a originou.

Query Params

Query Params
CampoTipoDescrição
expandstringevents (histórico de status) · contract_data (condições da operação) · protocols (comprovantes)

Response

STATUS
200 (OK)
Response Body
{
"reservation_key": "6f4c2a19-8e3b-4d7a-b0c5-1e2f3a4b5c6d",
"origin": {
"type": "payroll_card_reservation",
"key": "a7c3e1f0-4b2d-4c8e-9f11-5d6a7b8c9d0e"
},
"status": "reserved",
"reason": null,
"created_at": "2026-08-17T14:03:00-03:00",
"consignment_entity": {
"code": "46379400",
"enumerator": "sp",
"name": "Governo do Estado de São Paulo"
},
"employee_document_number": "12345678901",
"employment_relationship": { ... },
"reservation": { ... }
}
Response Body Details
CampoTipoDescrição
reservation_keystringChave da reserva
originobjectA operação que originou a reserva, {type, key}
statusstringSituação da reserva. Enum: Status da reserva
reasonobjectMotivo do status atual, quando há. Ver Motivos
created_atstringMomento da criação da reserva
consignment_entityobjectEnte, no formato {code, enumerator, name}
employee_document_numberstringCPF do servidor
employment_relationshipobjectO vínculo averbado
reservationobjectDados da averbação no ente

O conteúdo de employment_relationship e de reservation muda com o perfil:

Response Body
{
"employment_relationship": {
"agency": {
"code": "20065",
"enumerator": "spprev",
"name": "SPPREV"
},
"registration_number": "1234567890123"
},
"reservation": {
"type": {
"enumerator": "payroll_card",
"name": "Cartão consignado"
},
"contract_number": "PCR0001234567890",
"amount": 180.00,
"contract_start_date": "2026-08-17",
"external_reservation_number": "...",
"approval_deadline": "2026-08-18",
"next_payroll_date": "2026-09-05"
}
}
Response Body Details
CampoTipoDescrição
employment_relationship.agencyobjectÓrgão da matrícula, no formato {code, enumerator, name}. Enum: Órgãos
employment_relationship.registration_numberstringMatrícula, exatamente como o órgão a emite
reservation.typeobjectTipo de reserva. Enum: Tipos de reserva
reservation.contract_numberstringNúmero do contrato no ente. Identifica a averbação para sempre, e não é reaproveitável
reservation.amountnumberValor mensal reservado, em reais
reservation.contract_start_datestringData de início do contrato
reservation.external_reservation_numberstringNúmero da averbação no ente
reservation.approval_deadlinestringPrazo para a aprovação do servidor, quando o órgão a exige
reservation.next_payroll_datestringPróxima data de processamento da folha

Cada mudança de status também é notificada por webhook, o que dispensa consultar em laço.

Confirmação

Alguns entes exigem uma etapa de confirmação como parte da averbação: o registro é aceito, mas a operação só passa a valer depois que o ente confirma a sua situação. Enquanto isso a reserva fica em um status intermediário, e a QI Tech acompanha o ente até a situação se definir.

Se o ente exige essa etapa, e o que decide o seu desfecho, depende do perfil:

A confirmação acontece em toda reserva, de qualquer modalidade: a resposta do registro não informa se a averbação ficou ativa, então a reserva passa por pending_confirmation até o ente responder.

O que muda é quem decide o desfecho, e isso é definido pelo órgão:

  • Onde o órgão não exige aprovação do servidor, a confirmação se resolve na primeira leitura da situação no ente.
  • Onde o órgão exige aprovação do servidor, a averbação só fica ativa depois que o servidor aprova, dentro de approval_deadline. Ver Entes Consignantes.

Nos dois casos há dois desfechos possíveis:

  • reserved — a averbação está ativa e a margem está comprometida.
  • deleted — a averbação foi removida antes de se efetivar. O caso mais comum é o servidor não ter aprovado a operação dentro do prazo do ente.

Cancelamento

O cancelamento também parte da operação de origem: cancelar o cartão ou a operação de crédito é o que faz a QI Tech desaverbar a margem no ente.

Comprovante

GET
/public_payroll/{entity_level}/{consignment_entity}/reservation/{reservation_key}/protocol
GET
/public_payroll/{entity_level}/{consignment_entity}/reservation/external_key/{origin_key}/protocol

Devolve os comprovantes da reserva — a evidência de que a operação foi executada no ente. Um comprovante de averbação é emitido quando a reserva é confirmada; um de desaverbação, quando o cancelamento é concluído. Uma reserva que nunca chegou a ser confirmada não gera comprovante.

Response

STATUS
200 (OK)
Response Body
[
{
"protocol_key": "3c9d1e2f-7a8b-4c5d-9e0f-1a2b3c4d5e6f",
"type": "reservation",
"created_at": "2026-08-18T09:12:00-03:00",
"receipt_url": "https://...",
"receipt": { }
}
]
Response Body Details
CampoTipoDescrição
protocol_keystringChave do comprovante
typestringreservation (averbação) ou deletion (desaverbação)
created_atstringMomento em que a operação foi comprovada
receipt_urlstringO documento renderizado
receiptobjectA mesma evidência em campos

Ciclo de vida

A sequência completa de status, com o que provoca cada transição, está em Enumeradores.