Copiar página

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.

Para: integrador · nivel inicial · 5 min · Necesitas: API key de sandbox

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 = true
  • evidencePdf.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)

Pide la evidencia con un id incompleto. Qué significa y qué hacer

Respuesta · 400 · INVALID_ID
{
  "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)

Descarga el PDF de un documento que no existe o es de otra cuenta. Qué significa y qué hacer

Respuesta · 404 · DOCUMENT_NOT_FOUND
{
  "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)

Pide la evidencia de un documento que no existe o es de otra cuenta. Qué significa y qué hacer

Respuesta · 404 · DOCUMENT_NOT_FOUND
{
  "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