Skip to main content
POST
Enviar email
Envía un email transaccional para la organización autenticada. Requiere la integración Email en Marketplace y proveedor configurado. Requisitos generales en Resumen de mensajería.

Endpoint

Cabeceras

Cuerpo de la petición

Común

string
required
Email del destinatario.
string
Dirección completa de envío (ej. noreply@mi-dominio.com). El dominio debe estar registrado y verificado en tu organización (Configuración → Email → Dominios). No hace falta dar de alta esa dirección exacta en Remitentes si el dominio ya está verificado. Excluyente con fromSenderId.
string (UUID)
UUID del remitente en Configuración → Email → Remitentes. Excluyente con fromEmail.
Si no envías fromEmail ni fromSenderId, la API usa el remitente por defecto de la plataforma Gu1. Eso es el comportamiento esperado, no un error.

Remitente personalizado (fromEmail)

Si envías fromEmail, por ejemplo example@mi-dominio.com, la API valida el dominio (mi-dominio.com) antes de intentar el envío. La respuesta es siempre 400 con { "success": false, "error": "<mensaje en inglés>" }; no se envía el correo hasta que el dominio esté verificado. Ejemplo de rechazo (dominio no verificado):
object
Valores para {{placeholders}} en asunto, HTML, texto o plantilla. Por defecto {}.

Modo A — Plantilla

string (UUID)
required
Plantilla con canal email.
No envíes htmlBody ni textBody.
string
Opcional si la plantilla define asunto o queda vacío tras variables.

Modo B — Contenido inline

Sin templateId.
string
required
Asunto; admite {{variables}} con templateParams.
string
HTML (~500k caracteres máx.).
string
Texto plano; si no hay HTML se envuelve en HTML mínimo.
Obligatorio al menos uno de htmlBody o textBody.

Ejemplo — plantilla

Ejemplo — HTML con variables

Errores y códigos HTTP

En la mayoría de los casos la API responde con JSON { "success": false, "error": "<mensaje en inglés>" }. Los cuerpos inválidos pueden devolver otro formato (p. ej. detalle Zod) con 400. Todos los error de negocio van en inglés. Tras pasar validaciones, el proveedor externo puede devolver { "success": false, "error": "…" } con 200; comprueba siempre success y error.