La creación de API key está disponible en el enlace: https://app.emailmassivo.com/api.
Puedes leer información detallada sobre la creación de API key en nuestra Base de conocimientos.
Importante: los correos de prueba deben enviarse solo a direcciones de correo electrónico existentes, de lo contrario la clave será bloqueada.
POST https://api.emailmassivo.com/api/v1/external-mails/send
En el encabezado «X-Api-Key» es necesario pasar como cadena la clave API para autenticación.
{
"idempotencyKey": "unique-key-string",
"mail": {
"to": {
"email": "[email protected]",
"name": "string"
},
"from": {
"email": "[email protected]",
"name": "string"
},
"subject": "string",
"previewTitle": "string",
"headers": {
},
"cc": "string",
"bcc": "string",
"html": "string",
"text": "string"
}
}
Importante:
Para recibir el correo, es obligatorio tener al menos un tipo de contenido — html o text. Si ambos campos están ausentes, el correo será rechazado.
{ "nombre_archivo.extensión": "cuerpo del archivo codificado en base64"};
Si dentro de una hora llega una solicitud repetida para enviar un correo con parámetros completamente coincidentes:
Entonces:
uuid del correo que en la primera solicitud, el reenvío no crea un nuevo correo;idempotencyKey, se pasa fuera del bloque mail) los correos se consideran diferentes cuando los valores de la clave difieren y se enviarán nuevamente.Recomendamos encarecidamente pasar siempre tu idempotencyKey único.
El uso de la clave de idempotencia del usuario se considera necesario para una gestión confiable de solicitudes repetidas.
El mecanismo de detección automática de repeticiones sin clave existe solo para compatibilidad hacia atrás y protección básica contra duplicación, pero no garantiza la ausencia de envíos omitidos o adicionales.
| Status | Descripción |
|---|---|
| 201 | Email accepted for sending Ejemplo: { "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"} |
| 400 | Bad Request — formato de solicitud incorrecto |
| 401 | Unauthorized — clave API incorrecta o ausente |
| 403 | Forbidden — acceso denegado |
| 422 | Unprocessable Entity — error de validación de datos |
| 429 | Too Many Requests — límite de solicitudes excedido |
| 500 | Internal Server Error — error interno del servidor |
POST https://api.emailmassivo.com/api/v1/external-mails/send-by-template
En el encabezado «X-Api-Key» es necesario pasar como cadena la clave API para autenticación.
{
"idempotencyKey": "unique-key-string",
"mail": {
"to": {
"email": "[email protected]",
"name": "string"
},
"from": {
"email": "[email protected]",
"name": "string"
},
"subject": "string",
"previewTitle": "string",
"idTemplateMailUser": number,
"params": {
"test": "string",
"test1": "string",
"test2": "string"
}
}
}
$url = 'https://api.emailmassivo.com/api/v1/external-mails/send-by-template';
$data = array(
'idempotencyKey' => 'unique-key-string',
'mail' => array(
'to' => array(
'email' => '[email protected]',
'name' => 'string'
),
'from' => array(
'email' => '[email protected]',
'name' => 'string'
),
'subject' => 'string',
'previewTitle' => 'string',
'idTemplateMailUser' => number,
'params' => array(
'test' => 'string',
'test1' => 'string',
'test2' => 'string'
)
)
);
$headers = array(
'Content-Type' => 'application/json',
'X-Api-Key' => 'YOUR_API_KEY'
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import json
url = 'https://api.emailmassivo.com/api/v1/external-mails/send-by-template'
data = {
'idempotencyKey': 'unique-key-string',
'mail': {
'to': {
'email': '[email protected]',
'name': 'string'
},
'from': {
'email': '[email protected]',
'name': 'string'
},
'subject': 'string',
'previewTitle': 'string',
'idTemplateMailUser': number,
'params': {
'test': 'string',
'test1': 'string',
'test2': 'string'
}
}
}
headers = {
'Content-Type': 'application/json',
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.post(url, json=data, headers=headers)
const axios = require('axios');
const url = 'https://api.emailmassivo.com/api/v1/external-mails/send-by-template';
const data = {
idempotencyKey: 'unique-key-string',
mail: {
to: {
email: '[email protected]',
name: 'string'
},
from: {
email: '[email protected]',
name: 'string'
},
subject: 'string',
previewTitle: 'string',
idTemplateMailUser: number,
params: {
test: 'string',
test1: 'string',
test2: 'string'
}
}
};
const headers = {
'Content-Type': 'application/json',
'X-Api-Key': 'YOUR_API_KEY'
};
axios.post(url, data, { headers })
.then(response => {
// Procesamiento de respuesta API
})
.catch(error => {
// Procesamiento de error
});
const url = 'https://api.emailmassivo.com/api/v1/external-mails/send-by-template';
const data = {
idempotencyKey: 'unique-key-string',
mail: {
to: {
email: '[email protected]',
name: 'string'
},
from: {
email: '[email protected]',
name: 'string'
},
subject: 'string',
previewTitle: 'string',
idTemplateMailUser: number,
params: {
test: 'string',
test1: 'string',
test2: 'string'
}
}
};
const headers = {
'Content-Type': 'application/json',
'X-Api-Key': 'YOUR_API_KEY'
};
fetch(url, {
method: 'POST',
headers: headers,
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
// Procesamiento de respuesta API
})
.catch(error => {
// Procesamiento de error
});
Si la solicitud devuelve un error: «Clave API incorrecta», reemplaza el código de transmisión de API key por:
$headers = array( 'Content-Type: application/json', 'X-Api-Key: YOUR_API_KEY');