Guía rápida
La API de envío transaccional permite que tu propio backend dispare un correo — de la misma forma en que llamarías al endpoint de envío de Brevo, SendGrid o Postmark. Encaja de forma natural con OTPs, recibos y alertas, y también puede disparar un proyecto que hayas diseñado en el estudio, con tus propios datos haciendo las veces de una fila de contacto.
Genera una clave
Bajo Desarrolladores en el panel, presiona Crear clave y dale un nombre (por ejemplo, "Backend de producción", "Staging"). La clave completa — mia_live_... — se muestra exactamente una vez. Guárdala en un lugar seguro; MailInApp solo conserva un hash, así que no hay forma de recuperarla de nuevo. Si la pierdes, revócala y genera una nueva.
Las claves están vinculadas a tu cuenta, no a un solo proyecto — una clave puede disparar cualquier proyecto que poseas. Crea tantas como quieras (una por entorno o integración es un patrón común) y revoca cualquiera de ellas de forma independiente en cualquier momento.
Envío #1: formato libre
Para un correo transaccional simple — sin que intervenga un proyecto del estudio — proporciona tú mismo el HTML y el texto:
curl -X POST https://mailinapp.com/api/v1/send \
-H "Authorization: Bearer mia_live_..." \
-H "Content-Type: application/json" \
-d '{
"to": "[email protected]",
"subject": "Your one-time code",
"html": "<p>Your code is 123456</p>",
"text": "Your code is 123456"
}'
Una llamada exitosa devuelve:
{ "id": "abc123", "status": "sent" }
Envío #2: plantilla
Este es el verdadero diferenciador: diseña un correo visualmente en el estudio — motor de alternativas, bloques interactivos, etiquetas de combinación — y luego dispáralo desde tu propio código de registro, checkout o soporte con mergeData haciendo las veces de una fila de fuente de datos:
curl -X POST https://mailinapp.com/api/v1/send \
-H "Authorization: Bearer mia_live_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order_12345" \
-d '{
"to": "[email protected]",
"projectId": "your-project-id",
"mergeData": { "name": "Ada", "orderId": "12345" }
}'
Encuentra projectId en la URL del estudio para el proyecto (/studio/<projectId>). Los campos de mergeData se resuelven en las etiquetas de combinación {{field}} del proyecto exactamente como lo haría una fila de contacto. El destinatario recibe un enlace de vista en vivo personal y firmado igual que en cualquier otro envío — los bloques interactivos (encuestas, calificaciones, formularios) funcionan, y cada respuesta fluye a la vista de Respuestas normal de ese proyecto y a las entregas de webhook, atribuida a esta llamada específica de la API.
El encabezado Idempotency-Key es opcional pero se recomienda para cualquier cosa disparada por una operación reintentable (un webhook de checkout, un consumidor de cola) — mira idempotencia en la referencia de la API.
Sobrescribir el remitente
Ambos tipos de envío usan por defecto la identidad de remitente configurada de tu cuenta — la tarjeta "Dirección de remitente" de Configuración → Dominios si estás en envío nativo (SES), o la dirección de remitente configurada de tu relé SMTP en caso contrario. Agrega from para sobrescribirla en una llamada, por ejemplo una cuenta multimarca enviando como un equipo específico:
curl -X POST https://mailinapp.com/api/v1/send \
-H "Authorization: Bearer mia_live_..." \
-H "Content-Type: application/json" \
-d '{
"to": "[email protected]",
"subject": "Your one-time code",
"html": "<p>Your code is 123456</p>",
"text": "Your code is 123456",
"from": { "email": "[email protected]", "name": "Your Sales Team" }
}'
from.email es obligatorio siempre que from esté presente (no hay sobrescritura de solo nombre); from.name es opcional. En envío nativo (SES), from.email debe ser una dirección de uno de tus dominios verificados — mira Dirección de remitente en la referencia de la API para saber por qué, y para la regla más flexible de SMTP.
Si ya guardaste una identidad de remitente en el panel, pasa su id como senderId en lugar de repetir la dirección/nombre en línea — mira la referencia de la API para ambos campos.
Próximos pasos
- Formas completas de solicitud/respuesta, semántica de
type, límites de tasa y códigos de error: Referencia de la API. - Las llamadas recientes hechas con tus claves — incluido el estado y cualquier error — aparecen en la página Desarrolladores para auditoría.
- ¿No tienes un relé SMTP existente? Envío nativo permite que MailInApp entregue en tu nombre, una vez que tu dominio esté en la lista blanca y verificado.
- ¿Quieres que un agente de IA construya o edite tus correos en lugar de llamar a la API directamente? La misma clave también autentica el servidor MCP, así Claude Desktop, Claude Code, o cualquier otro cliente MCP puede hacerlo por ti por chat.