Saltar al contenido
Archivalo

Emití constancias desde tu sistema.

Con una clave de tu espacio, tu sistema emite la misma constancia que se crea desde el panel: el PDF, su huella y la dirección pública para verificarla. Cada emisión se cobra al espacio dueño de la clave, como una constancia más.

Empezar

  1. 1

    Creá una clave

    En el panel, en API e integraciones (menú de ajustes del espacio). La clave completa se muestra una sola vez; guardala en un lugar seguro.

  2. 2

    Calculá la huella y emití

    Calculá el SHA-256 del archivo en tu sistema y llamá a POST /integrations/certificates/hash con su nombre, tamaño y huella.

  3. 3

    Compartí o guardá

    La respuesta trae la dirección pública de verificación y la del PDF. Quien la reciba la comprueba gratis, sin cuenta.

Autenticación

Enviá la clave en X-API-Key: ak_archivalo_… o en Authorization: ApiKey ak_archivalo_…. La clave pertenece a un espacio: sus emisiones usan las constancias de ese espacio y cuentan para su precio; no envíes el espacio en el pedido.

Quienes administran el espacio crean, ven y revocan sus claves. Si perdés una clave, revocala y creá otra; las constancias ya emitidas no cambian.

Para reintentar sin emitir dos veces, enviá Idempotency-Key con un valor único por emisión. Si repetís el pedido con el mismo valor y el mismo contenido, no se emite otra constancia; con otro contenido, la respuesta es 409 IDEMPOTENCY_CONFLICT.

Endpoints

Base: https://www.archivalo.com.py/api/archivalo. Pedidos y respuestas en JSON, salvo el PDF del resultado.

  • POST

    /integrations/certificates/hash

    Emite una constancia a partir de la huella SHA-256 de un archivo. El archivo no se envía.

  • POST

    /integrations/certificates/upload-context

    Prepara la subida de un archivo para conservar el original en Documentos.

  • POST

    /integrations/certificates/file-receipt

    Emite la constancia del archivo subido, con el recibo de la subida.

  • GET

    /integrations/certificates/operations/{id}

    Estado de una emisión: si terminó, devuelve la dirección del resultado.

  • GET

    /integrations/certificates/operations/{id}/result

    La constancia en PDF de una emisión terminada.

Para conservar el archivo original en Documentos, el archivo se sube con un contexto de subida (upload-context: nombre, tipo, tamaño y SHA-256) y la constancia se emite con el recibo (file-receipt, con preserveOriginal y, si querés, expectedFileHash). Si lo guardás en una carpeta compartida en una sala, sus personas invitadas lo ven. La subida usa la misma API cifrada que el panel; escribinos y te pasamos el detalle.

Ejemplos

Emitir con la huella de un archivo
curl -X POST https://www.archivalo.com.py/api/archivalo/integrations/certificates/hash \
  -H "X-API-Key: ak_archivalo_…" \
  -H "Idempotency-Key: pedido-2026-10-08-001" \
  -H "Content-Type: application/json" \
  -d '{
    "fileName": "contrato.pdf",
    "fileSize": 238120,
    "fileHash": "<sha256 en hexadecimal, 64 caracteres>"
  }'
Respuesta (200)
{
  "certificateId": "A01:…",
  "certificateDatabaseId": 456,
  "teamId": 123,
  "vaultFileId": null,
  "originalStored": false,
  "vaultLinked": false,
  "fileName": "contrato.pdf",
  "fileSize": 238120,
  "fileHash": "<sha256>",
  "certificateHash": "<sha256>",
  "auditTrailHash": "<sha256>",
  "proofBundleHash": "<sha256>",
  "publicVerificationToken": "…",
  "publicVerificationUrl": "https://www.archivalo.com.py/verificar/…",
  "certificatePdfUrl": "https://www.archivalo.com.py/api/archivalo/certificados/verificacion/…/pdf"
}
Consultar una emisión
curl https://www.archivalo.com.py/api/archivalo/integrations/certificates/operations/<id> \
  -H "X-API-Key: ak_archivalo_…"

{ "operationId": "<id>", "state": "Completed",
  "resultUrl": "/integrations/certificates/operations/<id>/result" }

Límites y errores

Cada clave emite hasta 60 constancias por minuto. Las respuestas traen X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset; al pasarte, Retry-After dice cuántos segundos esperar.

CódigoQué significa
400Datos inválidos: faltan fileName, fileSize o fileHash, la huella no tiene 64 caracteres hexadecimales o el Idempotency-Key no coincide.
401La clave no existe, está revocada o falta.
402El espacio no tiene constancias disponibles o superó su almacenamiento (VAULT_STORAGE_LIMIT, BILLING_HOLD).
409IDEMPOTENCY_CONFLICT: la misma clave de idempotencia con otro contenido. SIGNING_RECONCILIATION_REQUIRED: consultá la operación antes de reintentar.
426UNIFIED_UPLOAD_REQUIRED: el envío directo de archivos está desactivado; usá upload-context y file-receipt.
428TERMS_ACCEPTANCE_REQUIRED: la persona dueña de la clave tiene que aceptar los términos vigentes en el panel.
429Demasiadas emisiones con esa clave. Esperá lo que indica Retry-After.
503La firma no está disponible. CERTIFICATE_ISSUANCE_NOT_STARTED indica que no se emitió nada y podés reintentar.

Alcance

La API emite la misma constancia que el panel: registra la huella, la fecha y la hora, la sella y la deja verificable en una dirección pública. No acredita autoría, titularidad ni licitud del contenido, ni cómo la valorará una autoridad: eso depende de cada caso.

Antes de usarla en un proceso legal o regulado, leé confianza y alcance y los términos.

Creá una clave en tu espacio y emití tu primera constancia.