Procedimiento para poder hacer un envío SendMail (1a1) a través de la API REST de emBlue usando PHP.

Los métodos involucrados en el procedimiento son:

  • Authenticate.
  • NewContact.
  • SendMail

Authenticate:

Es el método de autenticación de acceso a emBlue.

Parámetros

• User: usuario emBlue
Ejemplo: emblueMail@hotmail.com

•Pass: password del usuario emBlue
Ejemplo: 12345

•Token: Llave de acceso estática que emBlue otorga al usuario.
Ejemplo: XXXXXXX-XXXXX-XXXXX-XXXXXXXXXX

Ejemplo de código de implementación del método:

$curl = curl_init('http://api.embluemail.com/Services/EmBlue3Service.svc/Json/Authenticate');

Setear los parametros del post:

$curl_post_data = array(
'Token' => "XXXXX-XXXX-XXXXXXXXXXX",
'User' => "emblueMail@hotmail.com",
'Pass' => "12345" );

Transformar el post en un string Json

$jsonArray=json_encode($curl_post_data);

Setear los parámetros de la llamada

curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonArray); 
$curl_response = curl_exec($curl);

Luego de obtener el token, convertir la respuesta en Json en un objeto en PHP

$jason= json_decode($curl_response);

Asignar a una variable el token dinámico devuelto en la respuesta para usar otras llamadas

$Token = $jason->Token;

NewContact

Método para agregar un nuevo contacto a emBlue.

Parámetros:

•Token: Llave de acceso dinámica que genera el método Authenticate una vez el usuario es validado
Ejemplo: X233xqL3M0W-kqxhg-lzlnP-PvNFlIs6Fd

•Email: email del contacto
Ejemplo: mail@gmail.com

•EditCustomFields: información del contacto a agregar a emBlue, sigue el formato:  campo:|:valor:|:1|||campo2:|:valor2:|:1|||campo3:|:valor3:|:1 Ejemplo: nombre:|:juan:|:1|||apellido:|:Rodriguez:|:1|||telefono_1:|:123145:|:1

•SelectGroups: id de los grupos al que pertenecerá el nuevo contacto
Ejemplo: “52993;208631”

Ejemplo de código de implementación del método:

$curl = curl_init ('http://api.embluemail.com/Services/EmBlue3Service.svc/Json/NewContact');

Setear los parámetros del post

$curl_post_data = array( 'Token' => $Token,
´Email’ => "mail@gmail.com",
'EditCustomFields' => " nombre:|:juan:|:1|||apellido:|:Rodriguez:|:1|||telefono_1:|:123145:|:1"
'SelectGroups' => "52993;208631"  );

Transformar el post en un string Json

$jsonArray=json_encode($curl_post_data);

Setear los parámetros de la llamada:

curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonArray);
$curl_response = curl_exec($curl);

Convertir la respuesta en Json en un objeto en PHP

$jason= json_decode($curl_response); 
 $EmailId = $jason->EmailId

SendMail

Método para envío de emails uno a uno.

Parámetros:

  • Emails: Array con los emailIds devueltos en el new contact, máximo 100 emailIds.
    Ejemplo: [‘71, ‘3924,648’, ‘1825’]
  • ActionId: Id de la acción tipo sendMail que fue generada previamente en la plataforma y se encuentra activa. Ejemplo: 472
  • Message(HTML): mensaje HTML a enviar.
    Ejemplo: HTML
  • Token: llave dinámica previamente generada por emBlue en el método Authenticate.
    Ejemplo: XxqL3M0W-kqxhg-lzlnP-PvNFlIs6Fd
  • Subject: cadena que especifica el asunto del mail a enviar.
    Ejemplo: Recordatorio de promoción

Ejemplo de código de implementación del método:

$curl = curl_init('http://api.embluemail.com/Services/EmBlue3Service.svc/Json/SendMail');

Setear los parámetros del post

$curl_post_data = array(
'Emails' => array ($EmailId),
          'ActionId' => “472”,
          'Message' => "HTML",
         'Token' => $Token,
         'Subject' => " Recordatorio de promoción"
);

Transformar el post en un string Json

$jsonArray=json_encode($curl_post_data);

Setear los parámetros de la llamada

curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonArray);
$curl_response = curl_exec($curl);

Convierte la respuesta en Json en un objeto en PHP

$jason= json_decode($curl_response);

Notas relacionadas:

<API> Documentación API: Todas las operaciones posibles
<API> Caso de Uso (API): Cómo crear campañas y acciones
<Contactos> Contactos: búsqueda, selección y operaciones posibles