Descargar el historial de un documento en PDF
El mismo historial que
GET /api/v1/document/{frmxId}/history/json, pero
como PDF listo para entregárselo a alguien. Es el archivo que Firmame adjunta al correo de flujo
completado, y el que un paquete de verificación NOM-151 espera como historial.
La respuesta es el PDF mismo, no base64 dentro de un JSON: lee los bytes y escríbelos a un
archivo. Llega como Content-disposition: attachment; filename=historial.pdf.
Usa la versión en JSON cuando lo que quieras sea mover tu propia interfaz con los eventos — ahí está también el catálogo de tipos de evento.
Autenticación
signmage Cada petición lleva Authorization: signmage {webId}:{firma}, donde firma es el Base64 de
HMAC-SHA256(apiKey, cadenaFirmada).
Qué va dentro de cadenaFirmada depende de la petición:
| Petición | cadenaFirmada |
|---|---|
GET | La URI completa incluyendo el query string, exactamente como se envía |
POST con JSON | El cuerpo JSON, re-serializado compacto (sin espacios ni salto de línea final) |
POST multipart | El SHA-256 en Base64 del archivo, que además se manda en el header Content-SHA256 |
Dos detalles que conviene resolverlos desde el principio:
- En
GET, la URI se firma tal como se envía, así que el orden y el encoding de los parámetros importan. - En
POST, la comparación se hace contra tu JSON re-serializado en forma compacta. Manda JSON compacto y canónico para que las firmas coincidan.
Una firma que no coincide devuelve 401 con el cuerpo vacío. Como la misma respuesta cubre un
web ID desconocido, una llave inactiva y una firma que no coincide, revisa las tres cosas al
diagnosticar.
En: header
Parámetros de ruta
El id del documento.
Cuerpo de la respuesta
application/pdf
curl -X GET "https://example.com/api/v1/document/string/history/pdf""string"