/txnemail/send
Vea la documentación de SMTP para saber como hacer envíos transaccionales utilizando el protocolo SMTP.
Podrá enviar un email indicando sus parámetros o bien utilizar un email previamente creado o una campaña previamente creada. Para enviar un email con sus propios parámetros, utilice el parámetro “message”. Para enviar un email previamente creado, indique su identificador con el parámetro “templateID”. Para enviar un email de una campaña, indique su identificador con el parámetro “campaignID”.
En caso de que utilice una email previamente creado o una campaña, se obtendrán sus parámetros para crear un nuevo email a enviar.
El parámetro “message_id” le permite agrupar todos los emails del mismo tipo o grupo y así obtener una estadística conjunta de todos los emails enviados del mismo grupo.
Parámetros | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Nombre | Descripción | ||||||||||||||||||||||||||||
message array |
Crea un nuevo mensaje con los siguientes parámetros.
|
||||||||||||||||||||||||||||
campaign_id string |
Identificador de la campaña. (Opcional). | ||||||||||||||||||||||||||||
to array |
Destinatarios. Array con 1 o más elementos.
|
||||||||||||||||||||||||||||
message_id string |
Identificador del mensaje a enviar. Cadena de texto alfanumérica de 1 a 60 caracteres, incluidos los catacteres “.-_” y espacio. | ||||||||||||||||||||||||||||
headers array |
Cabeceras adicionales de email. (Opcional)
|
||||||||||||||||||||||||||||
send_at string |
Día y horario de envío. Deje en blanco para enviar inmediatamente. Formato: YYYY-MM-DD HH:MM:SS También puede especificar su zona horaria. Por ejemplo: “2017-03-18 15:45:00 +0500” Limite: 30 dias en el futuro |
||||||||||||||||||||||||||||
custom_fields array |
Definición de campos personalizados en el mensaje. (Opcional)
|
message_id y grupo de mensajes
Cada mensaje que envíe, tendrá un identificador (ID) único. Puede reutilizar este ID para agrupar todos los mensajes que envíe del mismo tipo o grupo y así tener una estadística unificada de todos los envíos.
Este ID es a elección y puede ser cualquier palabra alfanumérica sin espacios ni caracteres especiales.
Campos personalizados
Cuando envía una campaña previamente guardada en el sistema, puede utilizar campos personalizados para luego reemplazarlos por el valor correspondiente.
Los campos personalizados tiene el formato {{{$nombre_campo}}}
Por ejemplo, si necesita personalizar el nombre del destinatario, podría hacerlo de la siguiente manera:
En el cuerpo del mensaje se encuentra el texto:
{{{$nombre}}}
En el parámetro “custom_fields” define:
{“custom_fields”: [ {“field”: “nombre”, “value”: “John Smith”} ]}
De la misma manera que puede tener campos personalizados en el mensaje, también puede personalizar el email por casa destinatario.
Utilice la variable to[][custom_fields]
Ejemplo:
{ "to":[
{
"email":"johnsmith@mycompany.com",
"name":"John Smith",
"cumtom_field":[
{
"pais":"Canada",
"estado":"Toronto",
}
]
}
],
}
Si necesita usar el nombre o dirección de email del destinatario en campos personalizados deberá usar las etiquetas {{{$to_name}}} y {{{$to_email}}} para nombre e email respectivamente.
Ejemplo de parámetros JSON
El siguiente ejemplo, contiene los parámetros para el envío de un email transaccional.
{
"user_key":"YOUR_USER_KEY",
"message":{
"text":"...texto alternativo...",
"html":"...html Code...
"subject":"Hola {{{$rcpt_name}}}",
"from_name":"John Smith",
"from_mail":"john@mycompany.com",
"reply_to":" john@mycompany.com ",
"bounced_to":" bounced@mycompany.com ",
"auto_text":"yes",
"auto_html":"yes",
"track_clicks":"yes",
"track_opens":"yes",
"custom_fields":[
{
"field":"pais",
"value":"Iceland"
}
],
"attachments":[
{
"name":"imagen1.jpg",
"type":"image/jpeg",
"content":"/9j/77I2ftsq0w4pR9pWVsiusVhkF1KQYFBAYGBQY..."
}
]
},
"to":[
{
"name":"Some guy",
"email":"some@guy.com",
"custom_fields":[
{
"field":"middle_name",
"value":"Jerry"
},
{
"field":"pais",
"value":"US"
}
]
},
{
"name":"Matheu",
"email":"matheu@hotmail.com",
"custom_fields":[
{
"field":"middle_name",
"value":"Paul"
}
]
},
{
"name":"Juan",
"email":"juanpablo@hotmail.com",
"custom_fields":[
{
"field":"middle_name",
"value":"Pablo"
}
]
}
],
"message_id":"93244347",
"custom_fields":[
{
"field":"actividad",
"value":"Comercio"
}
],
"headers":[
{
"name":"X-Myheader",
"value":"mydata"
},
{
"name":"X-Otherheader",
"value":"mydata"
}
],
"send_at":"2017-12-31 14:30:00 -0400"
}
Ejemplo de consulta utilizando la librería net/http de php
(La librería net/http esta disponible en packagist.org para instalación via composer https://packagist.org/packages/net/http).
<?php
$mail_data = array();
$mail_data["user_key"] = "YOUR_USER_KEY";
$mail_data["message_id"] = "1234567890";
$mail_data["send_at"] = "2017-03-30 14:05:00 -0300";
$mail_data["message"]["auto_text"] = 1;
$mail_data["message"]["auto_html"] = 1;
$mail_data["message"]["track_opens"] = 1;
$mail_data["message"]["track_clicks"] = 1;
$mail_data["message"]["from_name"] = "John Smith";
$mail_data["message"]["from_mail"] = "johnsmith@mycompany.com";
$mail_data["message"]["subject"] = "...asunto...";
$mail_data["message"]["text"] = "...texto alternativo...";
$mail_data["message"]["html"] = "...codigo html...";
$mail_data["to"][] = array(
"name" => "Juan",
"email" => "juan@dominio.com",
"cumstom_field" => array(
0 => array(
"name" => "ciudad",
"value" => "Berlin"
),
1 => array(
"name" => "genero",
"value" => "Masculino"
)
)
);
// archivos adjuntos
$mail_data["message"]["attachments"][] = array(
"name" => "image1.jpg",
"type" => "image/jpeg",
"content" => base64_encode(file_get_contents("/path/to/imagen1.jpg"))
);
// conexion con la API
$client = new Net_Http_Client();
$client->post("https://{SERVERURL}/api/2.0/txnemail/send", $mail_data);
$responseCode = $client->getStatus();
if ($responseCode != 200) {
$json_str = $client->getBody();
$resposeArray = @json_decode($json_str, true);
// ... print_r($resposeArray); ...
}