Generar Destalle de session pdf


GET /api/v1/kyc/session/{id}/pdf

Descarga el reporte PDF de resumen de una sesión KYC por su ID.


Detalles del Endpoint

CampoValor
MétodoGET
URL/api/v1/kyc/session/{id}/pdf
AutenticaciónRequerida
Referrer Policystrict-origin-when-cross-origin
Content-Type (respuesta)application/octet-stream

Parámetros de Ruta

ParámetroTipoRequeridoDescripción
idstring✅ SíIdentificador único de la sesión KYC

Ejemplo de valor:

6994bf1c1f24bffaedfbb9e5

Ejemplo de Solicitud

URL completa (ambiente Sandbox)

https://sandbox.api.jaak.ai/api/v1/kyc/session/6994bf1c1f24bffaedfbb9e5/pdf

cURL

curl -X GET \
  "https://sandbox.api.jaak.ai/api/v1/kyc/session/6994bf1c1f24bffaedfbb9e5/pdf" \
  -H "Authorization: Bearer {TU_API_TOKEN}" \
  -H "Accept: application/octet-stream" \
  --output "session_report.pdf"

JavaScript (fetch)

const sessionId = "6994bf1c1f24bffaedfbb9e5";

const response = await fetch(
  `https://sandbox.api.jaak.ai/api/v1/kyc/session/${sessionId}/pdf`,
  {
    method: "GET",
    headers: {
      Authorization: `Bearer ${process.env.JAAK_API_TOKEN}`,
      Accept: "application/octet-stream",
    },
  }
);

if (!response.ok) {
  const error = await response.json();
  throw new Error(error.message);
}

const blob = await response.blob();
const url  = URL.createObjectURL(blob);
// Usa `url` para disparar la descarga o abrir en una nueva pestaña

Python (requests)

import requests

session_id = "6994bf1c1f24bffaedfbb9e5"
url = f"https://sandbox.api.jaak.ai/api/v1/kyc/session/{session_id}/pdf"

response = requests.get(
    url,
    headers={"Authorization": f"Bearer {API_TOKEN}"},
    stream=True,
)
response.raise_for_status()

with open("session_report.pdf", "wb") as f:
    for chunk in response.iter_content(chunk_size=8192):
        f.write(chunk)

Respuestas

200 OK

La solicitud fue exitosa. El cuerpo de la respuesta contiene el archivo PDF en formato binario.

HeaderValor
Content-Typeapplication/octet-stream
Content-Dispositionattachment; filename="session_{id}.pdf"
⚠️

Importante: El cuerpo de la respuesta es un stream binario completo del PDF. No intentes parsearlo como JSON o texto, ya que esto corromperá el archivo.


400 Bad Request

El servidor no pudo procesar la solicitud, generalmente por un ID de sesión inválido o ausente.

{
  "errorCode":  "string",
  "eventId":    "string",
  "message":    "string",
  "statusCode": 400
}
CampoTipoDescripción
errorCodestringCódigo de error legible por máquina
eventIdstringID único del evento de error, útil para soporte técnico
messagestringDescripción del error en lenguaje natural
statusCodeintegerCódigo HTTP de la respuesta (400)

Tabla de Errores Comunes

CódigoCausa probable y acción recomendada
200Éxito — guarda el stream binario como archivo .pdf
400ID de sesión inválido o con formato incorrecto. Verifica que el ID exista en tu cuenta JAAK
401Autenticación fallida. Revisa que el token sea válido y esté incluido en el header Authorization
404Sesión no encontrada. Confirma que el ID corresponde a una sesión registrada
500Error interno del servidor. Captura el eventId y contacta al soporte de JAAK

Notas y Buenas Prácticas

  • Respuesta binaria: Maneja la respuesta siempre como stream binario. Leerla como texto o JSON corromperá el PDF.
  • Nomenclatura de archivos: Recomendamos nombrar el archivo con el ID de sesión para trazabilidad, por ejemplo: session_6994bf1c1f24bffaedfbb9e5.pdf.
  • Autenticación: Incluye un bearer token válido en cada solicitud. Los tokens están asignados por ambiente (Sandbox / Producción).
  • Retry logic: En caso de errores 5xx transitorios, implementa backoff exponencial. No reintentes solicitudes 4xx sin corregir el request.
  • Estado de la sesión: Asegúrate de que la sesión haya completado su procesamiento antes de solicitar el PDF. Sesiones en proceso pueden generar reportes incompletos.
  • Referrer Policy: El endpoint utiliza strict-origin-when-cross-origin, lo que significa que solo se enviará el origen (sin ruta ni query string) en el header Referer en solicitudes cross-origin.

Ambientes

AmbienteURL Base
Sandboxhttps://sandbox.api.jaak.ai
Producciónhttps://services.api.jaak.ai

Soporte

Si encuentras errores inesperados o necesitas ayuda para integrar este endpoint, contacta al equipo de Customer Success de JAAK e incluye el eventId del error para agilizar el diagnóstico.