/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.

html
string
Código HTML del email.
text
string
Texto opcional para ser enviado.
subject
string
Asunto del email.
from_mail
string
Dirección de email del remitente.
from_name
string
Nombre del remitente.
track_opens
boolean
Si desea o no hacer seguimiento de aperturas.
track_clicks
boolean
Si desea o no hacer seguimiento de clicks.
auto_text
boolean
Si desea o no generar la parte texto en base al HTML. (salvo que se especifique el texto alternativo).
auto_html
boolean
Si desea o no generar la parte HTML en base al texto. (Salvo que se especifique el HTML).
attachments
array
Archivos adjuntos. (Opcional).

type
string
Tipo de archivo. (Ej. “image/jpeg”).
name
string
Nombre del archivo.
content
string
Base64_encoded del contenido del archivo.
reply_to Dirección de email para recibir las respuestas de sus emails (opcional).
campaign_id
string
Identificador de la campaña. (Opcional).
to
array
Destinatarios. Array con 1 o más elementos.

name
string
Nombre del destinatario. (Opcional)
email
string
Dirección de email.
custom_fields
array
Array de campos personalizados (Opcional).

field
string
Nombre del campo
value
string
Valor del campo.
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)

name
string
Nombre de la cabecera.
value
string
Valor del campo.
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)

field
string
Nombre del campo.
value
string
Valor del campo.

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("http://{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); ...
}