API del correo
POST /public/mail entero: destinatarios, adjuntos, remitente declarado y la marca.
Una sola ruta: POST https://correo.vanycorp.com/public/mail.
Acepta JSON y también form-data (que es lo que hace falta para los adjuntos). La clave del sistema va en la cabecera X-API-KEY o, como siempre se hizo, en el campo mtoken.
Los campos
| Campo | Obligatorio | Qué es |
|---|---|---|
subject | sí | El asunto |
body | sí | El cuerpo, en HTML |
address | sí | Lista de destinatarios |
addressname | sí | Lista de nombres, en el mismo orden |
addressCC / addressnameCC | no | Con copia |
addressBCC / addressnameBCC | no | Con copia oculta |
from / fromname | no | El remitente declarado |
attachment | no | Uno o varios adjuntos (solo con form-data) |
plantilla | no | marca para envolverlo con la marca de VanyCorp |
titulo | no | El título que sale arriba del correo |
preencabezado | no | El adelanto que la bandeja enseña junto al asunto |
El remitente declarado
from no cambia por dónde sale el correo: sale siempre por tu canal, con el remitente del canal. Lo que hace es poner un Reply-To, para que las respuestas vayan a quien de verdad escribió —el autor del trámite, por ejemplo— y para que en la consola se pueda atribuir el mensaje a quien lo originó.
Si mandas from, tienes que mandar fromname.
La marca
Con plantilla: "marca" el correo sale con la cabecera y el pie de VanyCorp y con una parte en texto plano derivada de tu HTML. Sin plantilla, sale tal cual lo mandaste.
Una plantilla que no exista no es un error: el correo sale sin envolver. Eso es a propósito, para que pedirla nunca pueda impedir un envío.
Con adjuntos
curl -X POST https://correo.vanycorp.com/public/mail \
-H "X-API-KEY: <clave del sistema>" \
-F "subject=Tu factura" \
-F "body=<p>Adjunta va la factura.</p>" \
-F "address[]=cliente@ejemplo.com" \
-F "addressname[]=Cliente" \
-F "attachment=@factura.pdf"
Lo que responde
{ "ok": true,
"mensaje": "La solicitud de correo fue recibida y encolada para su envío.",
"message_id": "...",
"estado": "encolado",
"destinatarios": 1 }
| Estado | Qué significa |
|---|---|
422 | Falta un campo, o una dirección no es válida. El mensaje lo dice. |
402 | Tu organización no tiene el correo contratado. |
403 | La clave del sistema no vale. |
423 | La suscripción está detenida. |
429 | Cupo de correos_mes agotado. |
El cupo
Cuenta destinatarios aceptados, sumando address, addressCC y addressBCC. Un mensaje a diez personas gasta diez.