Registrar una corrección sobre un contrato registrado
Registra una corrección de algo que el cliente ya afirmó sobre un contrato registrado, y publica el hecho que la nombra.
Esta NO es una operación de Dataprev: no se usa ninguna credencial de la red y no se cruza ninguna frontera gubernamental. El Manual 005 revisión 1.13 indica que los campos de rectificación de la red ya no se usan y siempre devuelven null, por lo que el cliente es la única autoridad que puede tener una corrección: source_authority siempre es client.
NADA SE MUTA. Una corrección es una adición que nombra lo que sustituye, y el registro que corrige permanece inmutable en la base de datos exactamente como estaba. Corregir lo mismo dos veces agrega una segunda corrección que sustituye a la primera.
El gateway toma custodia del recurso corregido y calcula su SHA-256 por sí mismo; nunca se acepta un resumen declarado por el cliente. El hecho publicado lleva una ruta del mismo origen de vuelta a este gateway más ese resumen, y el consumidor lo obtiene y lo verifica por M2M autenticado.
| correction_type | payment_reference | supersedes |
|---|---|---|
ccb | debe estar vacío | la corrección CCB anterior, o nada en la primera |
disbursement | obligatorio | el pago confirmado que repara, luego la corrección anterior de ese pago |
Una corrección disbursement que nombra un pago del que este despliegue no tiene ninguna confirmación se rechaza con 404: una sustitución que no apunta a nada es peor que ninguna corrección.
X-Idempotency es obligatoria, opaca, de 1..128 bytes, y nunca tiene un valor por defecto. PostgreSQL es la autoridad: la misma clave repite el mismo cuerpo 202 y no publica un segundo hecho, y la misma clave que lleva una corrección diferente responde 422 sin devolver nunca el cuerpo anterior.
Autorizaciones
JWT bearer token issued by the identity provider.
Encabezados
Mandatory opaque replay key, 1..128 bytes of valid UTF-8, preserved byte for byte. No default, no alias header, no case folding: two keys differing in one byte are two keys.
1 - 128"idem-correcao-0001"
Parámetros de ruta
The rail contract number the correction is about. Exact, control-free UTF-8, bounded in BYTES: 2..15, which is the consumer's own bound for this field.
2 - 15"99999999999AN1"
Cuerpo
Media type of the corrected resource. Its media type must be application/pdf or application/zip — parameters are permitted — and the bytes are sniffed against it.
128"application/pdf"
What this correction corrects. Selects which fact is published; the payload shape is identical for both.
ccb, disbursement "ccb"
Original file name of the corrected resource.
255"ccb-corrigida.pdf"
The payment_reference of the confirmed disbursement this correction repairs. Required when correction_type is disbursement, and must be empty otherwise.
256"E32074986202608011200A1B2C3D4E5F"
Canonical base64 of the corrected resource. The gateway computes the SHA-256 itself; no client-declared digest is accepted.
8388608"JVBERi0xLjcKJSVFT0Y="
Respuesta
The correction is durably recorded and its fact queued. A replay under the same key answers with the identical body.
The gateway's identity for this correction. It is also the published event id.
"1f5b9c26-6f5a-4f77-9c1c-5d1c0f0a9b21"
What was corrected.
"ccb"
When the gateway took custody, strict RFC 3339 UTC.
"2026-08-29T12:00:05Z"
The rail contract number, echoed from the path.
"99999999999AN1"
Lowercase hex SHA-256 the gateway computed over the corrected bytes.
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
Same-origin relative path serving the corrected resource under M2M bearer auth.
"/v1/consignado/contracts/99999999999AN1/corrections/1f5b9c26-6f5a-4f77-9c1c-5d1c0f0a9b21"
Who is authoritative for the corrected value. Always client on this gateway.
"client"
The event id this correction supersedes: the corrected disbursement confirmation, or the previous correction. ABSENT on a first CCB correction, meaning the original contract fact.
"7c2a1b40-11f4-4a1e-9a44-1f4d7cbb8e02"

