Receta
Descarga el PDF firmado y su evidencia
Objetivo: El PDF firmado y el PDF de evidencia de un documento completado, con su huella sha256 para archivarlos.
Grabado en el entorno interno de AllSign con una key de sandbox · backend 24c0469 · · test docs-checks-v3/tests/recetas/descarga-el-pdf-firmado-y-la-evidencia.receta.spec.ts
Ejemplo de sandbox: se grabó con una key de prueba y parte de lo que ves solo pasa así en sandbox; en producción el resultado puede ser distinto.
Los ejemplos usan $ALLSIGN_API_KEY. Defínela una vez con tu key de sandbox: export ALLSIGN_API_KEY="allsign_test_sk_…" (en PowerShell: $env:ALLSIGN_API_KEY="allsign_test_sk_…").
1 Crea el documento con su firmante
POST /documents ver en la referencia
Qué haces
El documento nace en draft. Guarda su id: lo vas a necesitar para pedir la evidencia y el PDF.
Qué mirar en sandbox
id="doc_c18e3aaf505d4e8aa839591f6d38f7b9"status="draft"
2 Envíalo a firma
POST /documents/{document_id}/send ver en la referencia
Qué mirar
status="completed"
En producción
Aquí verás awaiting_signatures y la evidencia estará lista cuando firme la última persona; te enterarás por el webhook document.completed. En sandbox signer-success@sandbox.allsign.io firma en segundos.
3 Pide la evidencia
GET /documents/{document_id}/evidence ver en la referencia
Qué haces
Con available en true, evidencePdf.url es una liga firmada para descargar el PDF de evidencia sin la API key; vence, así que pídela cuando la vayas a usar. Guarda el sha256 junto al archivo para comprobar después que nadie lo cambió.
Qué mirar
available=trueevidencePdf.url="<url-firmada>"evidencePdf.sha256="8a6bf4a711f5204bcce37981400b4a4030d969b33d24e7f2ad78748ca1e68725"
4 Descarga el PDF firmado
GET /documents/{document_id}/file ver en la referencia
Qué haces
El documento con las firmas estampadas. La respuesta es el PDF mismo, no JSON: guárdalo tal cual.
Errores comunes de esta receta
Errores reales que el test de esta receta provocó a propósito en sandbox, sobre sus mismos pasos. Cada uno enlaza a su explicación en Errores.
INVALID_ID · 400 · en el paso 3 (Pide la evidencia)
{
"type": "https://allsign.io/developers/docs/errors#INVALID_ID",
"title": "Malformed identifier",
"status": 400,
"detail": "Invalid document id.",
"instance": "/v3/documents/doc_123/evidence",
"code": "INVALID_ID",
"requestId": "req_8a1bc74e22d945a6ad9358d2f8b27ec2"
}Grabado en el entorno interno de AllSign con una key de sandbox · backend 24c0469 · · test docs-checks-v3/tests/recetas/descarga-el-pdf-firmado-y-la-evidencia.receta.spec.ts
DOCUMENT_NOT_FOUND · 404 · en el paso 4 (Descarga el PDF firmado)
{
"type": "https://allsign.io/developers/docs/errors#DOCUMENT_NOT_FOUND",
"title": "Document not found",
"status": 404,
"detail": "Document not found",
"instance": "/v3/documents/doc_9c9f2f6749794c8c8717b0fd5458f074/file",
"code": "DOCUMENT_NOT_FOUND",
"requestId": "req_9099fea09e7e4822a33e00dde0d7dc14"
}Grabado en el entorno interno de AllSign con una key de sandbox · backend 24c0469 · · test docs-checks-v3/tests/recetas/descarga-el-pdf-firmado-y-la-evidencia.receta.spec.ts
DOCUMENT_NOT_FOUND · 404 · en el paso 3 (Pide la evidencia)
{
"type": "https://allsign.io/developers/docs/errors#DOCUMENT_NOT_FOUND",
"title": "Document not found",
"status": 404,
"detail": "No document was found with that id.",
"instance": "/v3/documents/doc_9c9f2f6749794c8c8717b0fd5458f074/evidence",
"code": "DOCUMENT_NOT_FOUND",
"requestId": "req_f004c5b00c5e41eba0d4a03491fdf499"
}Grabado en el entorno interno de AllSign con una key de sandbox · backend 24c0469 · · test docs-checks-v3/tests/recetas/descarga-el-pdf-firmado-y-la-evidencia.receta.spec.ts