guia

Guía rápida

Esta guía te llevará paso a paso para crear tu primera firma electrónica con JAAK Signa. En menos de 5 minutos tendrás un documento firmado.

Requisitos previos

Necesitas credenciales de acceso a la API de Signa. Si aún no las tienes, contacta a ventas para obtenerlas.

Paso 1: Autenticación

Obtén un token de acceso usando tus credenciales.

POST/api/v1/sign-in

Inicia sesión y obtén un token JWT

curl -X POST https://signa.dev.jaak.ai/api/v1/sign-in \
  -H "Content-Type: application/json" \
  -d '{
    "email": "tu-email@empresa.com",
    "password": "tu-contraseña"
  }'

Respuesta:

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expiresIn": 3600
}

Tip

Guarda el refreshToken de forma segura. Lo necesitarás para renovar tu sesión sin volver a ingresar credenciales.

Paso 2: Crear una plantilla

Sube un documento PDF y define dónde irán las firmas.

POST/api/v1/templates

Crea una plantilla de documento para firmar

curl -X POST https://signa.dev.jaak.ai/api/v1/templates \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: multipart/form-data" \
  -F "file=@contrato.pdf" \
  -F 'data={
    "name": "Contrato de servicios",
    "signatureFields": [
      {
        "page": 1,
        "x": 100,
        "y": 700,
        "width": 200,
        "height": 50,
        "signerId": "firmante_1"
      }
    ]
  }'

Respuesta:

{
  "id": "tpl_abc123",
  "name": "Contrato de servicios",
  "status": "active",
  "signatureFields": [
    {
      "id": "sf_xyz789",
      "page": 1,
      "x": 100,
      "y": 700,
      "width": 200,
      "height": 50,
      "signerId": "firmante_1"
    }
  ],
  "createdAt": "2024-01-15T10:30:00Z"
}

Paso 3: Crear un envío (submission)

Genera un enlace de firma para el firmante con los datos específicos.

POST/api/v1/submissions

Crea un envío de firma a partir de una plantilla

curl -X POST https://signa.dev.jaak.ai/api/v1/submissions \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "tpl_abc123",
    "signatureType": "biometric",
    "signers": [
      {
        "id": "firmante_1",
        "name": "Juan Pérez García",
        "email": "juan.perez@ejemplo.com",
        "phone": "+525512345678"
      }
    ],
    "metadata": {
      "externalId": "contrato-2024-001"
    }
  }'

Respuesta:

{
  "id": "sub_def456",
  "templateId": "tpl_abc123",
  "status": "pending",
  "signatureType": "biometric",
  "signers": [
    {
      "id": "firmante_1",
      "name": "Juan Pérez García",
      "email": "juan.perez@ejemplo.com",
      "status": "pending",
      "signUrl": "https://signa.dev.jaak.ai/sign/sub_def456?signer=firmante_1"
    }
  ],
  "expiresAt": "2024-01-22T10:30:00Z",
  "createdAt": "2024-01-15T10:30:00Z"
}

Enlace de firma

El signUrl es el enlace que debes enviar al firmante. Puede firmarse desde cualquier dispositivo con cámara.

Paso 4: Descargar el documento firmado

Una vez que el firmante complete el proceso, descarga el documento con la firma.

GET/api/v1/submissions/:id/download

Descarga el documento firmado en PDF

curl -X GET https://signa.dev.jaak.ai/api/v1/submissions/sub_def456/download \
  -H "Authorization: Bearer $TOKEN" \
  -o documento_firmado.pdf

El documento descargado incluye:

  • Firma visual en la posición definida
  • Certificado de firma con hash del documento
  • Metadatos de la verificación de identidad
  • Sello de tiempo (timestamp)

Verificar el estado del envío

Puedes consultar el estado del envío en cualquier momento.

GET/api/v1/submissions/:id

Obtiene los detalles de un envío

curl -X GET https://signa.dev.jaak.ai/api/v1/submissions/sub_def456 \
  -H "Authorization: Bearer $TOKEN"

Estados posibles:

| Estado | Descripción | |--------|-------------| | pending | Esperando que el firmante complete la firma | | in_progress | El firmante está en proceso de verificación | | completed | Documento firmado exitosamente | | expired | El enlace de firma expiró | | rejected | El firmante rechazó la firma | | failed | Error en la verificación de identidad |

Siguientes pasos