Skip to main content
POST
Informe PDF de entidad por correo

Resumen

Encola de forma asíncrona la generación del PDF de entidad en el servidor y su envío por correo. El PDF usa el mismo flujo jsPDF que la descarga “exportar informe” en la app. Tu integración llama al endpoint con API key; los destinatarios reciben el adjunto (asunto y cuerpo según emailLocale).
La respuesta HTTP es 202 Accepted en cuanto el trabajo queda encolado. La generación y el envío ocurren en segundo plano; si no llega el correo, revisá logs del servidor o contactá a soporte.

Endpoint

Autenticación y tenant

string
required
Bearer TU_API_KEY — ver Autenticación.
string
required
UUID de organización (producción o sandbox) — ver Entornos.

Permisos

Requiere el permiso granular entities:export en la API key (igual que POST /entities/{id}/export y GET /entities/{id}/export-data).

Marketplace y facturación

  • La organización debe tener activa la integración global_sender_email (Aplicaciones / Marketplace) y el servidor debe tener configurado MS Provider.
  • Cada dirección en recipientEmails (tras deduplicar en el servidor) consume una ejecución del pack de Email o, si no hay pack, tokens según base_price_cents de la integración.
  • El pre-flight valida saldo/ejecuciones para todos los destinatarios antes de encolar el trabajo.

Dominio y remitente (fromEmail)

Para usar un remitente de tu organización:
  1. Registrá el dominio en Ajustes → Email → Dominios y completá la verificación DNS.
  2. En el body, enviá fromEmail con cualquier dirección de ese dominio (ej. noreply@tu-dominio.com). No hace falta dar de alta esa dirección en “Remitentes” si el dominio ya está verificado.
  3. Alternativa: fromSenderId (UUID de una fila en organization_email_senders) si preferís referenciar un remitente ya guardado.
  4. Si omitís ambos, se usa el remitente por defecto de la plataforma (noreply@gueno.com).
No envíes fromSenderId y fromEmail en el mismo request.

Riesgo vigente y screening AML en el PDF

El encabezado del PDF muestra el riesgo vigente de la entidad:
  • Si hay un override manual activo, el score manual aparece con el badge RIESGO MANUAL más usuario, fecha, justificación y score anterior; el score de la matriz queda más abajo marcado como histórico no vigente.
  • Si no hay override, se muestra el score de la matriz con su etiqueta.
La sección de listas (sections.checks) usa el screening normalizado, no los logs de ejecución:
  • Cada fila trae resultado, coincidencias relevantes, listas y el nivel de riesgo informado por el proveedor (reportedRiskLevel, incluido unknown cuando así lo envían). Si el proveedor no informó nivel, se usa un valor derivado de las coincidencias.
  • Una verificación que corrió pero no dejó screening normalizado se informa como no determinada, no como “sin coincidencias”.
Los mismos datos están disponibles en GET /entities/{id}/export-data bajo riskSummary, amlScreening y checks[].

Parámetros de ruta

string
required
UUID de la entidad (id devuelto por crear/listar/obtener).

Cuerpo JSON

string[]
required
Una o más direcciones de correo (máx. 26 tras deduplicar). Solo se envía a estas direcciones; no se agrega automáticamente el email del usuario de la API key.
string
Idioma del correo: en, es o pt. Por defecto en si falta o no es válido.
string (uuid)
UUID de un remitente en Ajustes → Email → Remitentes (organization_email_senders). Mutuamente excluyente con fromEmail.
string
Dirección completa de envío (ej. reportes@tu-dominio.com). El dominio debe estar verificado en la org. Si existe una fila en Remitentes con esa dirección, se usa su nombre; si no, basta el dominio verificado. Mutuamente excluyente con fromSenderId.
object
required
Booleano por sección del informe (misma semántica que el modal de exportación en el panel). Claves opcionales; los valores por defecto coinciden con el validador de la API (generalInfo por defecto true, el resto false si se omiten).Claves: generalInfo, kyc, documents, checks, enrichments, alerts, aiAnalysis, relationships, timeline, riskAnalysis.

Ejemplo de cuerpo

Ejemplo con curl

Respuestas

202 Accepted — encolado

El message se localiza según emailLocale.

400 — validación / pre-flight

404 — entidad inexistente u oculta

Mismo criterio que otros endpoints de entidad cuando el ID no pertenece a la org o la visibilidad lo impide.

500 — error de servidor

Poco frecuente; payload de error genérico.

Endpoints relacionados

  • POST /entities/{id}/export — descarga síncrona del PDF (cuerpo de la respuesta = archivo PDF).
  • GET /entities/{id}/export-data — JSON usado por la exportación en el panel; el PDF por correo arma los mismos datos en servidor.
  • Exportación masiva por correoPOST /entities/export/jobs (CSV/XLSX/JSON con filtros de listado).
  • Obtener entidadGET /entities/{id}.