Documentación

Cómo enviar un email utilizando un Docklet asociado con una plantilla

Para enviar uno o más emails, se debe hacer un request mediante POST con un JSON válido. El atributo único necesario es el para, una lista con uno o más contenedores. Cada item de la lista es un diccionario conteniendo los siguientes campos:

  • to - Email recipients*
  • name - Recipient name
  • email - Contact's email address*
  • merge_vards - Personalization variables
  • attachment - Email attachment
  • from - Sender's email address
  • subject - Email's subject line
  • text - Text/plain version of the email content
  • html - Text/html version of the email content
  • template - Name of a email template created on Maildocker (loads from, subject, text and html)
  • tracking_domain - Domain used for tracking, that must be registered and authenticated on Maildocker
  • return_path_domain - Return-path domain, that must be registered and authenticated on Maildocker
  • html_click_tracking (boolean) - Enables or disables link tracking in the HTML version of email
  • text_click_tracking (boolean) - Enables or disables link tracking in the text version of email
  • open_tracking - (boolean) - Enables or disables open tracking in the HTML version of email
  • unsubscribe_tracking (boolean) - Enables or disables the Unsubscribe link in the email
  • enable_list_unsubscribe (boolean) - Enables or disables list Unsubscribe in case a default list is enabled in the Docklet
  • show_unsubscribe_lists (boolean) - Shows all lists the contact is currently in when unsubscribing, for selection
  • bcc_to - Add hidden recipients
  • auto_text (boolean) - Generates a text version from the HTML version of the content
  • auto_html (boolean) - Generates a HTML version from the text version of the content (using Markdown)
  • preserve_recipients (boolean) - Maintain recipients in all messages, showing to contacts to all recipients
  • add_vcard (boolean) - Adds a attached VCARD with contact information from sender in sent emails
  • add_custom_footer (boolean) - Enables or disables personalized footer (set up in Docklet)
  • sandbox_to - Rewrites final recipient for sending emails on Sandbox mode, for testing purposes
  • enable_dkim (boolean) - Enables or disables email's digital signature (DKIM/DomainKeys)

*requerido

Es obligatorio informar el email del destinatario. Los otros campos son opcionales.

Los datos del remitente como Nombre, Email y Asunto serán rescatados de la plantilla salvada y usados para completar el email que será enviado.

El campo merge_vars es un diccionario que será inyectado en el contexto de la plantilla para personalizar los campos. En este diccionario puedes inyectar cuantas variables de personalización como desees. Este contexto incluso afecta el Asunto, que también puede personalizarse.

"merge_vars": {"fecha de nacimiento": "02/08/1984", "género": "masculino"}

La personalización de campos en la Plantilla se realiza cambiando automáticamente las variables de la plantilla por las inyectadas desde merge_vars. La sintaxis utilizada en las plantillas es la de Jinja2 con todas las funciones.

Vamos a ver un ejemplo completo:

Template

<html>
<body>
Prueba de personalización<br>
Name: \{\{contact.name\}\}<br>
Email: \{\{contact.email\}\}<br>
Job Title: \{\{job_title\}\}<br>
</body>
</html>

Ten en cuenta que las variables están delimitadas por \{\{ \}\}. Siempre que hay un contenido delimitado por \{\{ \}\} el sistema intentará cambiar las variables inyectados a través de merge_vars.

Eso incluye al Asunto del email, como:

Subject: Welcome \{\{contact.name\}\}

RESTful Request

Ejecutar un request

Endpoint: http://api.maildocker.io/v1/mail/
Method: POST
Autorización: Básica
Content-Type: application / json

{ 
        "template": "Maildocker Template", 
        "to": { 
            "name": "John Wayne", 
            "email": "[email protected]" 
            "merge_vars": { 
                "job_title": "CEO" 
            } 
        } 
    } 

Aquí está el mismo ejemplo enviado por Curl

"curl -­?v -­?-­?user 933ff2214029fffe19c:8107ff48ff6bc4fb19
http://api.maildocker.io/v1/mail/
-­?H "Content-­?Type: application/json"
-­?d {"to": [{
                "name":"John Wayne",
                "email":"[email protected]",
                "merge_vars": {"job_title":"CEO"}
           }]
    }

Debe utilizarse la Autorización Básica, pasando la CLAVE API y la API SECRET como datos para la autenticación.

Resultado

El resultado del post, si el JSON tiene el formato correcto y se le dio la autorización, es un JSON que contiene una lista de cada uno de los emails enviados y un identificador de evento único.

201 Creado

...

Librerías API

A través de nuestras bibliotecas serás capaz de hacer una rápida integración entre Maildocker y tu proyecto con una variedad de lenguajes y frameworks. Mantenemos las siguientes bibliotecas oficiales para que puedas enviar tus emails transaccionales:

maildocker-nodejs - Biblioteca oficial NodeJS
maildocker-php - Biblioteca oficial PHP
maildocker-python - Biblioteca oficial Python
maildocker-ruby - Biblioteca oficial Ruby

Códigos de Ejemplo

NodeJS

".. code:: javascript