Firma de recepción: estados y cola
Estos estados pertenecen a /v1/signature-requests. PAdES tiene su propio ciclo.
| Estado | Significado | Acción BC |
|---|---|---|
pending |
En cola para una tablet | Esperar o cancelar |
displayed |
Reservado para mostrar el PDF | Esperar o cancelar |
signing |
Se inició la firma | Esperar o cancelar |
signed |
Resultado registrado | Descargar y archivar |
cancelled |
Cancelado por BC o tablet | Cerrar; crear otra solicitud si procede |
expired |
Caducó mientras estaba pendiente o reservado | Crear otra solicitud si procede |
error |
Incidencia técnica | Revisar error antes de reenviar |
Transiciones
| Desde | Hacia | Disparador |
|---|---|---|
pending |
displayed |
GET /v1/devices/{deviceId}/next |
pending, displayed, signing |
cancelled |
Cancelación BC; la tablet cancela solo su activo |
pending, displayed |
expired |
expiresAt vencido |
displayed |
pending |
Reserva vencida antes de empezar firma |
displayed |
signing |
POST /v1/signature-requests/{requestId}/start-signing |
signing |
signed |
PDF final aceptado |
pending |
error |
Falta el original al reservar |
displayed, signing |
error |
Falta el original al recuperar con active |
Los estados terminales no se reabren. Para repetir el proceso se crea una solicitud nueva.
Reserva y caducidad
next devuelve el PDF y pasa la solicitud a displayed. El lock dura POLLING_LOCK_SECONDS (30 segundos inicialmente). Sin inicio de firma, el mantenimiento puede devolverla a pending. Con start-signing, deja de liberarse por ese lock.
La caducidad de la solicitud y el lock son cosas distintas: expiresAt vence la solicitud en pending/displayed; signing no expira automáticamente. Un proceso abandonado en firma necesita cancelación operativa.
La actualización condicional impide reservar dos veces una misma solicitud, pero la exclusividad de un activo por dispositivo aún no está reforzada en la API para llamadas directas repetidas. La PWA sigue el orden active → next; consulta Arquitectura y límites.
Recuperar tras recarga o corte de red
GET /v1/devices/{deviceId}/active devuelve un documento displayed o signing, o 204 si no hay activo. La PWA lo consulta antes de pedir otro.
Se recuperan PDF y estado del servidor; los trazos que no se enviaron viven en memoria y se pierden al recargar. Ante error temporal de subida, mantén abierta la PWA y reintenta. Ante respuesta perdida, consulta estado desde BC antes de crear otra solicitud.
Estado firmado y disponibilidad
Una solicitud signed conserva su estado aunque expire la retención o desaparezca el archivo. resultAvailable del listado manuscrito solo comprueba estado y ruta en la fila; puede seguir en true tras purga. La descarga puede devolver 404 y registrar SIGNED_FILE_MISSING.
Un error al descargar no reabre la solicitud. Archiva el resultado a tiempo en BC.
Datos de diagnóstico
La consulta individual devuelve errorCode y errorMessage; el listado los llama lastErrorCode y lastErrorMessage. La cabecera X-Trace-Id identifica cada llamada. Un original ausente registra ORIGINAL_FILE_MISSING.
Continúa con Errores y recuperación o Operación de tablets.