Deliverlies

Call Address

Al utilizar la REST API, asegúrese de que el centro de datos seleccionado corresponda a la URL base adecuada.

POST/v1/mail/send

Regular delivery

URL

https://email.api.engagelab.cc/v1/mail/send
              
              https://email.api.engagelab.cc/v1/mail/send

            
Este bloque de código se muestra en una ventana flotante

Content-Type:

Content-Type: application/json;charset=utf-8
              
              Content-Type: application/json;charset=utf-8

            
Este bloque de código se muestra en una ventana flotante

HTTP Request Method

POST
              
              POST

            
Este bloque de código se muestra en una ventana flotante

Request Header

Header Type Required Description
Authorization String true Basic base64(api_user:api_key)

Request Parameter

Parameter Type Required or not Description
from string yes Remitente. Ejemplo: support@mail.engagelab.com, EngageLab Team<support@mail.engagelab.com>. Si es necesario mostrar el nombre de marca del producto o de la empresa, utilice EngageLab Team< support@mail.engagelab.com >, donde EngageLab Team es el nombre del remitente y puede transmitir el nombre de marca del producto o de la empresa, y < support@mail.engagelab.com > es la dirección del remitente
to array[string] yes Destinatario. Se admiten hasta 100 direcciones. Ejemplo: ["xjm@hotmail.com","xjm2@gmail.com"]
body object yes Configuración del correo
custom_args object no Campos opcionales personalizados por el cliente. El tamaño máximo es de 1 KB. Las claves no pueden contener los símbolos . y $
request_id string no ID de esta solicitud de envío; 138 caracteres como máximo

Body

Parameter Type Required or not Description
cc array[string] no Copia carbón (Cc). Se admiten un máximo de 100 direcciones. Este parámetro solo es válido cuando send_mode=1
bcc array[string] no Copia carbón oculta (Bcc). Se admiten un máximo de 100 direcciones. Este parámetro solo es válido cuando send_mode=1
reply_to array[string] no Responder a (Reply to). Se admiten hasta 3 direcciones; si no se transfiere ningún valor, la dirección de respuesta será la del remitente (from)
subject string yes Asunto. Máximo 256 caracteres; admite variables y emojis
content object yes Contenido
html string * Contenido en HTML. El formato es text/html
text string * Contenido en texto. El formato es text/plain
preview_text string no Vista previa del contenido
vars object no Variables. Hasta 1 MB; este parámetro es válido cuando send_mode=0 o send_mode=1.
dynamic_vars array[object] no Variables de plantilla dinámica. El tamaño máximo admitido es de 1 MB; este parámetro es válido cuando send_mode=0 o send_mode=1
label_id string no ID de etiqueta utilizado para este envío
label_name string no Nombre de etiqueta utilizado para este envío
headers object no Encabezados. Hasta 1 KB. Las claves no pueden contener los símbolos . y $
attachments array[object] no Adjuntos. El tamaño total no debe superar los 10 MB
content string yes Contenido de los archivos adjuntos. Codificación Base64
filename string yes Nombre de archivo del adjunto. Ejemplo: news.pdf
disposition string yes El valor puede ser attachment o inline
content_id string no Si el valor de disposition es inline y el tipo de archivo es una imagen, debe establecer este valor
settings object no Configuración de envío
send_mode int no Método de envío. 0 significa envío por separado; 1 significa envío por difusión (broadcast) y todos los destinatarios se mostrarán al mismo tiempo; 2 indica que se envía una lista de direcciones (el valor de to es la dirección de la lista). El valor predeterminado es 0
return_email_id boolean no Si se debe devolver el ID del correo electrónico; el valor predeterminado es true
sandbox boolean no Si se debe utilizar el modo sandbox; el valor predeterminado es false. Si es true, el correo no se entregará y solo se verificará la validez de los parámetros de la solicitud
notification boolean no Si se debe utilizar la confirmación de lectura; el valor predeterminado es false. La confirmación predeterminada es la del remitente (from), y debe utilizarse junto con la ruta de recepción
open_tracking boolean no Si se debe habilitar el seguimiento de apertura; se utiliza el valor de configuración predeterminado del sistema. Este parámetro es válido cuando send_mode=0 o send_mode=1
click_tracking boolean no Si se debe habilitar el seguimiento de clics; se utiliza la configuración predeterminada del sistema. Este parámetro es válido cuando send_mode=0 o send_mode=1
unsubscribe_tracking boolean no Si se habilita la cancelación de suscripción. Configuración predeterminada del sistema. Este parámetro es válido cuando send_mode=0 o send_mode=1
unsubscribe_page_id array[int] no Página de cancelación de suscripción personalizada; valor de configuración predeterminado del sistema. Este parámetro es válido cuando send_mode=0 o send_mode=1

Consejos (Tips):

  1. Cuando send_mode=2, el valor de to es el apodo de una lista de direcciones, y el número no puede superar 5. En este caso, los parámetros cc y bcc no son válidos.

  2. Los campos html y plain no pueden estar vacíos al mismo tiempo.

  3. preview_text solo se puede utilizar con html. Si no se transfiere ningún valor de html, preview_text no tendrá efecto.

  4. vars se utiliza para el reemplazo de variables en el contenido del correo. El formato es un objeto JSON, como {"varname": ["value1","value2"]}, donde varname es la variable del contenido del correo. Si el valor de la variable pasado está vacío o es un espacio, el texto correspondiente en el correo se mostrará como vacío.

    Contenido del mensaje: Dear %name%, welcome to %sp% email service. Valor de vars correspondiente: `{"name": ["mike"], "sp": ["engagelab"]}` Reemplazo del contenido del correo: Dear Mike, welcome to engagelab email service.
                  
                   Contenido del mensaje: Dear %name%, welcome to %sp% email service.
     
     Valor de vars correspondiente: `{"name": ["mike"], "sp": ["engagelab"]}`
     
     Reemplazo del contenido del correo: Dear Mike, welcome to engagelab email service.
    
                
    Este bloque de código se muestra en una ventana flotante
  5. dynamic_vars se utiliza para reemplazar variables en plantillas dinámicas. Tiene el formato de un objeto JSON, como [{"varname1":"value1","varname2":"value2"}].

Contenido del correo: Dear {{name}}, welcome to use {{sp}} email service. Valor pasado en `dynamic_vars`: `[{"name":"jim","sp":"engagelab"}]` Contenido del correo reemplazado: Dear jim, welcome to use engagelab email service.
              
              Contenido del correo: Dear {{name}}, welcome to use {{sp}} email service.

Valor pasado en `dynamic_vars`: `[{"name":"jim","sp":"engagelab"}]`

Contenido del correo reemplazado: Dear jim, welcome to use engagelab email service.

            
Este bloque de código se muestra en una ventana flotante
  1. Los usuarios pueden pasar label_id o label_name para esta transmisión. Si label_name no existe, el sistema lo creará automáticamente. Si se pasan tanto label_id como label_name, se ignorará label_name.

  2. headers se utiliza para personalizar el campo de encabezado del mensaje. El formato es un objeto JSON, como {"User Define": "123", "User Custom": "abc"}. Sin embargo, la cadena clave no puede contener los siguientes valores (no distingue entre mayúsculas y minúsculas): DKIM-Signature, Received, Sender, Date, From, To, Reply-To, Cc, Bcc, Subject, Content-Type, Content-Transfer-Encoding, X-SENDCLOUD-UUID, X-SENDCLOUD-LOG, X-Remote-Web-IP, X-SMTPAPI, Return-Path, X-SENDCLOUD-LOG-NEW

  3. Cuando disposition se establece en inline, el contenido del adjunto es una imagen, y este se renderizará y mostrará directamente en el cuerpo del mensaje como una imagen incrustada. Se debe configurar content_id con una cadena única, la cual se utiliza como el src cuando la imagen se muestra en el cuerpo del mensaje.

Contenido del correo: <html> <img src="cid:image_1000"></img> <img src="cid:image_1001"></img> </html> Parámetro attachments: [ {"content":" base 64 image content", "filename": "a23456.jpg","disposition": "inline","content_id": "image_1000"}, {"content":" base 64 image content", "filename": "a23457.jpg","disposition": "inline","content_id": "image_1001"}, ]
              
                  Contenido del correo:
    <html>
        <img src="cid:image_1000"></img>
        <img src="cid:image_1001"></img>
    </html>
    
    Parámetro attachments:
    [
      {"content":" base 64 image content", "filename": "a23456.jpg","disposition": "inline","content_id": "image_1000"},
      {"content":" base 64 image content", "filename": "a23457.jpg","disposition": "inline","content_id": "image_1001"},
    ]

            
Este bloque de código se muestra en una ventana flotante
  1. Los customer_args definidos por usted mismo se incrustarán en el encabezado; los datos posteriores de WebHook se le devolverán. El valor de la clave de customer_args no puede contener el símbolo ..
  2. El request_id sirve para evitar envíos repetidos, y su período de validez es de 1 hora. Si se envía repetidamente dentro de 1 hora, se devolverá el resultado de la última solicitud.
  3. El tamaño total del correo electrónico no puede superar los 70 MB.

Request Example

curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' --data '{ "from": "EngageLab Newsletter <newsletter@mail.engagelab.com>", "to": ["111@qq.com", "222<222@qq.com>"], "body": { "cc": ["noreply@mail.engagelab.com"], "bcc": ["intern<intern@mail.engagelab.com>"], "reply_to": ["reply@mail.engagelab.com"], "subject": "%date% Newsletter ", "content": { "html": "<a href=\"https://www.engagelab.com\">Newsletter %kkk%</a>", "text": "Today's news is %ttt%", "preview_text": "preview_text is ..." }, "vars": { }, "label_id": 100233, "label_name": "", "headers": {}, "attachments": [{ "content": "The Base64 encoded content of the attachment", "type": "text/html", "filename": "The attachment's filename", "disposition": "inline | attachment", "content_id": "" }], "settings": { "send_mode": 0, "return_email_id": true, "sandbox": true, "notification": false, "open_tracking": true, "click_tracking": false, "unsubscribe_tracking": true, "unsubscribe_page_id": [1,2] } }, "custom_args": {}, "request_id": "" }' 'https://email.api.engagelab.cc/v1/mail/send'
              
              curl -X POST -H 'Content-Type: application/json; charset=utf-8' 
     -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' 
     --data '{
  "from": "EngageLab Newsletter <newsletter@mail.engagelab.com>", 
  "to": ["111@qq.com", "222<222@qq.com>"],
  "body": {
      "cc": ["noreply@mail.engagelab.com"],                            
      "bcc": ["intern<intern@mail.engagelab.com>"],                  
      "reply_to": ["reply@mail.engagelab.com"],                         
      "subject": "%date% Newsletter ",                                       
      "content": {                                                     
        "html": "<a href=\"https://www.engagelab.com\">Newsletter %kkk%</a>", 
        "text": "Today's news is %ttt%",                                      
        "preview_text": "preview_text is ..."                          
         },
      "vars": { },
      "label_id": 100233, 
      "label_name": "",
      "headers": {},
      "attachments": [{                                                
        "content": "The Base64 encoded content of the attachment",     
        "type": "text/html",
        "filename": "The attachment's filename",            
        "disposition": "inline | attachment",                           
        "content_id": ""  
      }],
      "settings": {                 
        "send_mode": 0, 
        "return_email_id": true,  
        "sandbox": true,
        "notification": false,
        "open_tracking": true,                                           
        "click_tracking": false,                                         
        "unsubscribe_tracking": true,                              
        "unsubscribe_page_id": [1,2]
      }
  },
  "custom_args": {},           
  "request_id": "" 
}'  'https://email.api.engagelab.cc/v1/mail/send' 

            
Este bloque de código se muestra en una ventana flotante

Returned Value Example

  • Envío que no es de lista de direcciones (send_mode=0 o send_mode=1)

    Response-success

HTTP Status: 200

{ "email_ids":[ "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound0$111@qq.com", "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound1$222@qq.com"], "request_id":"" }
              
              {
"email_ids":[
      "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound0$111@qq.com",
      "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound1$222@qq.com"],
"request_id":""
}

            
Este bloque de código se muestra en una ventana flotante

Response-error

HTTP Status: 400

{ "code": 30801, "message": "From can not be empty" }
              
              {
    "code": 30801,
    "message": "From can not be empty"
}

            
Este bloque de código se muestra en una ventana flotante
  • Envío de lista de direcciones (send_mode=2) Response-success

HTTP Status: 200

{ "task_id":[102923], "request_id":"" }
              
              {
"task_id":[102923],
"request_id":""
}

            
Este bloque de código se muestra en una ventana flotante

Response-error

HTTP Status: 400

{ "code": 30801, "message": "From can not be empty" }
              
              {
    "code": 30801,
    "message": "From can not be empty"
}

            
Este bloque de código se muestra en una ventana flotante

Template delivery

URL

https://email.api.engagelab.cc/v1/mail/sendtemplate
              
              https://email.api.engagelab.cc/v1/mail/sendtemplate

            
Este bloque de código se muestra en una ventana flotante

Content-Type:

Content-Type: application/json; charset=utf-8
              
              Content-Type: application/json; charset=utf-8

            
Este bloque de código se muestra en una ventana flotante

HTTP Request Method

POST
              
              POST

            
Este bloque de código se muestra en una ventana flotante

Request Header

Header Type Required Description
Authorization String true Basic base64(api_user:api_key)

Request Parameter

Parameter Type required or not Description
from string yes Remitente. Ejemplo: support@mail.engagelab.com, EngageLab Team<support@mail.engagelab.com>. Si es necesario mostrar el nombre de marca del producto o de la empresa, utilice EngageLab Team< support@mail.engagelab.com >, donde EngageLab Team es el nombre del remitente y puede transmitir el nombre de marca del producto o de la empresa, y < support@mail.engagelab.com > es la dirección del remitente
to array[string] yes Destinatario. Se admiten hasta 100 direcciones. Ejemplo: ["xjm@hotmail.com","xjm2@gmail.com"]
body object yes Configuración del correo
custom_args object no Campos opcionales personalizados por el cliente. Las claves no pueden contener los símbolos . y $
request_id string no ID de esta solicitud de envío; 138 caracteres como máximo

Body

Parameter Type Required or not Description
cc array[string] no Copia carbón (Cc). Se admiten un máximo de 100 direcciones. Este parámetro solo es válido cuando send_mode=1
bcc array[string] no Copia carbón oculta (Bcc). Se admiten un máximo de 100 direcciones. Este parámetro solo es válido cuando send_mode=1
reply_to array[string] no Responder a (Reply to). Se admiten hasta 3 direcciones; si no se transfiere ningún valor, la dirección de respuesta será la del remitente (from)
subject string yes Asunto. Máximo 256 caracteres; admite variables y emojis
content object yes Contenido
html string * Contenido en HTML. El formato es text/html
text string * Contenido en texto. El formato es text/plain
preview_text string no Vista previa del contenido
vars object no Variables. Hasta 1 MB; este parámetro es válido cuando send_mode=0 o send_mode=1.
dynamic_vars array[object] no Variables de plantilla dinámica. El tamaño máximo admitido es de 1 MB; este parámetro es válido cuando send_mode = 0 o send_mode = 1
label_id string no ID de etiqueta utilizado para este envío
label_name string no Nombre de etiqueta utilizado para este envío
headers object no Encabezados. Hasta 1 KB. Las claves no pueden contener los símbolos . y $
attachments array[object] no Adjuntos. El tamaño total no debe superar los 10 MB
content string yes Contenido de los archivos adjuntos. Codificación Base64
filename string yes Nombre de archivo del adjunto. Ejemplo: news.pdf
disposition string yes El valor puede ser attachment o inline
content_id string yes Si el valor de disposition es inline y el tipo de archivo es una imagen, debe establecer este valor
settings object no Configuración de envío
send_mode int no Método de envío. 0 significa envío por separado; 1 significa envío por difusión (broadcast), y todos los destinatarios se mostrarán al mismo tiempo; El valor predeterminado es 0
return_email_id boolean no Si se debe devolver el ID del correo electrónico; el valor predeterminado es true
sandbox boolean no Si se debe utilizar el modo sandbox; el valor predeterminado es false. Si es true, el correo no se entregará y solo se verificará la validez de los parámetros de la solicitud
notification boolean no Si se debe utilizar la confirmación de lectura; el valor predeterminado es false. La confirmación predeterminada es la del remitente (from), y debe utilizarse junto con la ruta de recepción
open_tracking boolean no Si se debe habilitar el seguimiento de apertura; se utiliza el valor de configuración predeterminado del sistema. Este parámetro solo es válido cuando send_mode=0
click_tracking boolean no Si se debe habilitar el seguimiento de clics; se utiliza la configuración predeterminada del sistema. Este parámetro solo es válido cuando send_mode=0
unsubscribe_tracking boolean no Si se habilita la cancelación de suscripción. Configuración predeterminada del sistema. Este parámetro solo es válido cuando send_mode=0
unsubscribe_page_id array[int] no Página de cancelación de suscripción personalizada; valor de configuración predeterminado del sistema. Este parámetro solo es válido cuando send_mode=0
calendar object yes Configuración de calendario
time_zone_id string yes Ejemplo: Diccionario de zona horaria del calendario
start_time string yes Hora de inicio de la reunión. Formato: yyyy-MM-dd HH:mm:ss
end_time string yes Hora de finalización de la reunión. Formato: yyyy-MM-dd HH:mm:ss
title string yes Título de la reunión. Máximo 256 caracteres
organizer object yes Organizador
name string no Nombre del organizador. Máximo 64 caracteres
email string yes Correo electrónico del organizador
location string yes Lugar. Máximo 128 caracteres
description string no Descripción de la reunión. Máximo 1024 caracteres
participators array[object] no Participantes
name string no Nombre de los participantes. Máximo 64 caracteres
email string yes Correo electrónico de los participantes
alarm_min_before integer no Recordar la reunión con minutos de anticipación. Rango de 1 a 60
action object no Operación de calendario
name string no Nombre de la operación. Valores permitidos: create, update, cancel. El valor predeterminado es create
uid string no Este parámetro debe pasarse al actualizar y cancelar. El valor uid será devuelto por la interfaz al crear el correo de calendario

Consejos (Tips):

  1. Los campos html y plain no pueden estar vacíos al mismo tiempo.

  2. preview_text solo se puede utilizar con html. Si no se transfiere ningún valor de html, preview_text no tendrá efecto.

  3. vars se utiliza para el reemplazo de variables en el contenido del correo. El formato es un objeto JSON, como {"varname": ["value1","value2"]}, donde varname es la variable del contenido del correo. Si el valor de la variable pasado está vacío o es un espacio, el texto correspondiente en el correo se mostrará como vacío.

    Contenido del mensaje: Dear %name%, welcome to %sp% email service. Valor de vars correspondiente: `{"name": ["mike"], "sp": ["engagelab"]}` Reemplazo del contenido del correo: Dear Mike, welcome to engagelab email service.
                  
                  Contenido del mensaje: Dear %name%, welcome to %sp% email service.
    
    Valor de vars correspondiente: `{"name": ["mike"], "sp": ["engagelab"]}`
    
    Reemplazo del contenido del correo: Dear Mike, welcome to engagelab email service.
    
                
    Este bloque de código se muestra en una ventana flotante
  4. dynamic_vars se utiliza para reemplazar variables en plantillas dinámicas. Tiene el formato de un objeto JSON, como [{"varname1":"value1","varname2":"value2"}].

Contenido del correo: Dear {{name}}, welcome to use {{sp}} email service. Valor pasado en `dynamic_vars`: `[{"name":"jim","sp":"engagelab"}]` Contenido del correo reemplazado: Dear jim, welcome to use engagelab email service.
              
              Contenido del correo: Dear {{name}}, welcome to use {{sp}} email service.

Valor pasado en `dynamic_vars`: `[{"name":"jim","sp":"engagelab"}]`

Contenido del correo reemplazado: Dear jim, welcome to use engagelab email service.

            
Este bloque de código se muestra en una ventana flotante
  1. Los usuarios pueden pasar label_id o label_name para esta transmisión. Si label_name no existe, el sistema lo creará automáticamente. Si se pasan tanto label_id como label_name, se ignorará label_name.

  2. headers se utiliza para personalizar el campo de encabezado del mensaje. El formato es un objeto JSON, como {"User Define": "123", "User Custom": "abc"}. Sin embargo, la cadena clave no puede contener los siguientes valores (no distingue entre mayúsculas y minúsculas): DKIM-Signature, Received, Sender, Date, From, To, Reply-To, Cc, Bcc, Subject, Content-Type, Content-Transfer-Encoding, X-SENDCLOUD-UUID, X-SENDCLOUD-LOG, X-Remote-Web-IP, X-SMTPAPI, Return-Path, X-SENDCLOUD-LOG-NEW

  3. Cuando disposition se establece en inline, el contenido del adjunto es una imagen, y este se renderizará y mostrará directamente en el cuerpo del mensaje como una imagen incrustada. Se debe configurar content_id con una cadena única, la cual se utiliza como el src cuando la imagen se muestra en el cuerpo del mensaje.

Contenido del correo: <html> <img src="cid:image_1000"></img> <img src="cid:image_1001"></img> </html> Parámetro attachments: [ {"content":" base 64 image content", "filename": "a23456.jpg","disposition": "inline","content_id": "image_1000"}, {"content":" base 64 image content", "filename": "a23457.jpg","disposition": "inline","content_id": "image_1001"}, ]
              
                  Contenido del correo:
    <html>
        <img src="cid:image_1000"></img>
        <img src="cid:image_1001"></img>
    </html>
    
    Parámetro attachments:
    [
      {"content":" base 64 image content", "filename": "a23456.jpg","disposition": "inline","content_id": "image_1000"},
      {"content":" base 64 image content", "filename": "a23457.jpg","disposition": "inline","content_id": "image_1001"},
    ]

            
Este bloque de código se muestra en una ventana flotante
  1. Los customer_args definidos por usted mismo se incrustarán en el encabezado; los datos posteriores de WebHook se le devolverán. El valor de la clave de customer_args no puede contener el símbolo ..
  2. El request_id sirve para evitar envíos repetidos, y su período de validez es de 1 hora. Si se envía repetidamente dentro de 1 hora, se devolverá el resultado de la última solicitud.
  3. El tamaño total del correo electrónico no puede superar los 70 MB.

Request Example

curl -X POST 'https://email.api.engagelab.cc/v1/mail/sendcalendar' \ --header 'Authorization: Basic MTIyNF94am06MTJkOGIwODVlNjZhZGUyMmNlNGIwOWI5NjQ2YWQ1ODE=' \ --header 'Content-Type: application/json' \ --data '{ "from": "EngageLab Newsletter <newsletter@mail.engagelab.com>", "to": ["111@qq.com", "222<222@qq.com>"], "body": { "cc": ["noreply@mail.engagelab.com"], "bcc": ["intern<intern@mail.engagelab.com>"], "reply_to": ["reply@mail.engagelab.com"], "subject": "%date% Newsletter ", "content": { "html": "<a href=\"https://www.engagelabe.com\">Newsletter %kkk%</a>", "text": "Newsletter %ttt%", "preview_text": "preview_text is ..." }, "label_id": "1233", "label_name": "", "headers": { "userdefine-tag-location": "us", "userdefine-tag-user": "fashion" }, "settings": { "send_mode": 0, "return_email_id": true, "sandbox": true, "notification": false, "open_tracking": true, "click_tracking": false, "unsubscribe_tracking": true, "unsubscribe_page_id": [1,2] }, "calendar": { "time_zone_id":"America/New_York", "start_time": "2020-12-10 10:00:00", "end_time": "2020-12-10 12:00:00", "title": "meeting titel", "organizer": { "name": "David", "email": "david@mail.engagelab.com" }, "location": "room208", "description": "hello", "alarm_min_before": 5, "participators": [ { "name": "p1", "email": "p1@engagelab.org" }, { "email": "p2@engagelab.org", "name": "p2"}, { "email": "p3@engagelab.org"} ], "action": { "name": "create", "uid": "329r239h239888" } } }, "custom_args": {}, "request_id": "" }'
              
              curl -X POST 'https://email.api.engagelab.cc/v1/mail/sendcalendar' \
--header 'Authorization: Basic MTIyNF94am06MTJkOGIwODVlNjZhZGUyMmNlNGIwOWI5NjQ2YWQ1ODE=' \
--header 'Content-Type: application/json' \
--data '{
  "from": "EngageLab Newsletter <newsletter@mail.engagelab.com>",       
  "to": ["111@qq.com", "222<222@qq.com>"],    
  "body": {
      "cc": ["noreply@mail.engagelab.com"],       
      "bcc": ["intern<intern@mail.engagelab.com>"],         
      "reply_to": ["reply@mail.engagelab.com"], 
      "subject": "%date% Newsletter ", 
      "content": { 
        "html": "<a href=\"https://www.engagelabe.com\">Newsletter %kkk%</a>", 
        "text": "Newsletter %ttt%",   
        "preview_text": "preview_text is ..." 
      },
      "label_id": "1233",  
      "label_name": "",
      "headers": {                   
        "userdefine-tag-location": "us",  
        "userdefine-tag-user": "fashion"
      },
     
      "settings": {                                                    
        "send_mode": 0,        
        "return_email_id": true,     
        "sandbox": true,        
        "notification": false, 
        "open_tracking": true,                          
        "click_tracking": false,                       
        "unsubscribe_tracking": true,  
        "unsubscribe_page_id": [1,2]
      },
      "calendar": {
        "time_zone_id":"America/New_York",
        "start_time": "2020-12-10 10:00:00",  
        "end_time": "2020-12-10 12:00:00",  
        "title": "meeting titel",                                              
        "organizer": {      
          "name": "David",        
          "email": "david@mail.engagelab.com"                    
        },
        "location": "room208",                                         
        "description": "hello",                                        
        "alarm_min_before": 5,                                         
        "participators": [  
          { 
            "name": "p1",                                                
            "email": "p1@engagelab.org"
          },                      
          { "email": "p2@engagelab.org", "name": "p2"},
          { "email": "p3@engagelab.org"}
        ],
        "action": {                                                      
          "name": "create",   
          "uid": "329r239h239888"                                    
        }
      }
  },
  "custom_args": {},           
  "request_id": "" 
}'

            
Este bloque de código se muestra en una ventana flotante

Response-success

HTTP Status: 200

{ "uid": "20230103T065922Z-uidGen@PC201503200437", "email_ids": [ "1672729159224_15_2942_8497.sc-10_2_226_96-test0$111@qq.com", "1672729159224_15_2942_8497.sc-10_2_226_96-test1$222@qq.com" ], "request_id": "" }
              
              {
    "uid": "20230103T065922Z-uidGen@PC201503200437",
    "email_ids": [
        "1672729159224_15_2942_8497.sc-10_2_226_96-test0$111@qq.com",
        "1672729159224_15_2942_8497.sc-10_2_226_96-test1$222@qq.com"
    ],
    "request_id": ""
}

            
Este bloque de código se muestra en una ventana flotante

Response-error

HTTP Status: 400

{ "code": 30801, "message": "From can not be empty" }
              
              {
    "code": 30801,
    "message": "From can not be empty"
}

            
Este bloque de código se muestra en una ventana flotante

MIME Delivery

URL

https://email.api.engagelab.cc/v1/mail/send_mime
              
              https://email.api.engagelab.cc/v1/mail/send_mime

            
Este bloque de código se muestra en una ventana flotante

Content-Type:

Content-Type: application/json;charset=utf-8
              
              Content-Type: application/json;charset=utf-8

            
Este bloque de código se muestra en una ventana flotante

HTTP Request Method

POST
              
              POST

            
Este bloque de código se muestra en una ventana flotante

Request Header

Header Type Required Description
Authorization String true Basic base64(api_user:api_key)

Request Parameter

Parameter Type Required or not Description
from string no Remitente. Ejemplo: support@mail.engagelab.com, EngageLab Team<support@mail.engagelab.com>. Si es necesario mostrar el nombre de marca del producto o de la empresa, utilice EngageLab Team< support@mail.engagelab.com >, donde EngageLab Team es el nombre del remitente y puede transmitir el nombre de marca del producto o de la empresa, y < support@mail.engagelab.com > es la dirección del remitente
to array[string] no Destinatario. Se admiten hasta 100 direcciones. Ejemplo: ["xjm@hotmail.com","xjm2@gmail.com"]
body object yes Configuración del correo
custom_args object no Campos opcionales personalizados por el cliente. El tamaño máximo es de 1 KB. Las claves no pueden contener los símbolos . y $
request_id string no ID de esta solicitud de envío; 138 caracteres como máximo

Body

Parameter Type Required or not Description
cc array[string] no Direcciones en copia carbón (Cc). Se admiten un máximo de 100 direcciones. Este parámetro solo es válido cuando send_mode=1
bcc array[string] no Direcciones en copia carbón oculta (Bcc). Se admiten un máximo de 100 direcciones. Este parámetro solo es válido cuando send_mode=1
reply_to array[string] no Direcciones de respuesta (Reply to). Se admiten hasta 3 direcciones; si no se transfiere ningún valor, la dirección de respuesta será la del remitente (from)
subject string no Asunto del correo. Máximo 256 caracteres; admite variables y emojis
content object yes Cuerpo del correo
raw_message string yes Contenido del correo. El formato debe ser MIME
vars object no Variables. Hasta 1 MB; este parámetro es válido cuando send_mode=0 o send_mode=1.
label_id string no ID de etiqueta utilizado para este envío
label_name string no Nombre de etiqueta utilizado para este envío
headers object no Información de los encabezados del correo. Hasta 1 KB. Las claves no pueden contener los símbolos . y $
settings object no Configuración de envío
send_mode int no Método de envío. 0 significa envío por separado; 1 significa envío por difusión (broadcast) y todos los destinatarios se mostrarán al mismo tiempo; el valor de to es la dirección de la lista. El valor predeterminado es 0
return_email_id boolean no Si se debe devolver el ID del correo electrónico; el valor predeterminado es true
sandbox boolean no Si se debe utilizar el modo sandbox; el valor predeterminado es false. Si es true, el correo no se entregará y solo se verificará la validez de los parámetros de la solicitud
notification boolean no Si se debe utilizar la confirmación de lectura; el valor predeterminado es false. La confirmación predeterminada es la del remitente (from), y debe utilizarse junto con la ruta de recepción
open_tracking boolean no Si se debe habilitar el seguimiento de apertura; se utiliza el valor de configuración predeterminado del sistema. Este parámetro es válido cuando send_mode=0 o send_mode=1
click_tracking boolean no Si se debe habilitar el seguimiento de clics; se utiliza la configuración predeterminada del sistema. Este parámetro es válido cuando send_mode=0 o send_mode=1
unsubscribe_tracking boolean no Si se habilita la cancelación de suscripción. Configuración predeterminada del sistema. Este parámetro es válido cuando send_mode=0 o send_mode=1
unsubscribe_page_id array[int] no Página de cancelación de suscripción personalizada; valor de configuración predeterminado del sistema. Este parámetro es válido cuando send_mode=0 o send_mode=1

Nota:

  1. vars se utiliza para el reemplazo de variables en el contenido del correo, formateado como un objeto JSON: {"varname":["value1","value2"]}, donde varname es la variable en el contenido del correo.

  2. Solo uno de label_id o label_name tendrá efecto. Si se proporcionan ambos, label_id tiene preferencia sobre label_name. Si label_name no existe, el sistema lo crea automáticamente.

    Contenido del correo: Dear %name%, welcome to %sp% email service. Valor de vars correspondiente: `{"name":["mike"], "sp":["engagelab"]}` Reemplazo del contenido del correo: Dear mike, welcome to engagelab email service.
                  
                  Contenido del correo: Dear %name%, welcome to %sp% email service.
    
    Valor de vars correspondiente: `{"name":["mike"], "sp":["engagelab"]}`
    
    Reemplazo del contenido del correo: Dear mike, welcome to engagelab email service.
    
                
    Este bloque de código se muestra en una ventana flotante
  3. headers se utiliza para personalizar los campos del encabezado del correo, formateado como un objeto JSON: {"User-Define":"123", "User-Custom":"abc"}. Sin embargo, las cadenas clave no pueden contener los siguientes valores (no distingue entre mayúsculas y minúsculas):

    DKIM-Signature, Received, Sender, Date, From, To, Reply-To, Cc, Bcc, Subject, Content-Type, Content-Transfer-Encoding, X-SENDCLOUD-UUID, X-SENDCLOUD-LOG, X-Remote-Web-IP, X-SMTPAPI, Return-Path, X-SENDCLOUD-LOG-NEW

  4. customer_args son contenidos personalizados definidos por el cliente, incrustados en el encabezado del correo; se le devolverán al cliente en los datos posteriores de WebHook.

  5. request_id se utiliza para evitar envíos duplicados, válido por 1 hora. Si se envía repetidamente dentro de 1 hora, se devolverá el resultado de la solicitud anterior.

  6. El tamaño total del correo electrónico no puede superar los 70 MB.

Request Example

curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization: YXBpX3VzZXI6YXBpX2tleQ==' --data '{ "from": "EngageLab Newsletter <newsletter@mail.engagelab.com>", "to": ["111@qq.com", "222<222@qq.com>"], "body": { "reply_to": ["reply@mail.engagelab.com"], "subject": "%date% Newsletter ", "content": { "raw_message": "Date: Fri, 8 Aug 2025 18:33:00 +0800 (CST)\r\nFrom: TEST <test@trip.com>\r\nReply-To: test_reply@trip.com\r\nTo: fan_tang@trip.com\r\nMessage-ID:....... ", }, "vars": { }, "label_id": 100233, //or label_name="test" "headers": {}, "settings": { "send_mode": 0, "return_email_id": true, "sandbox": false, "notification": false, "open_tracking": true, "click_tracking": false, "unsubscribe_tracking": true, "unsubscribe_page_id": [1,2] } }, "custom_args": {}, "request_id": "" }' 'https://email.api.engagelab.cc/v1/mail/send_mime'
              
              curl -X POST -H 'Content-Type: application/json; charset=utf-8' 
     -H 'Authorization: YXBpX3VzZXI6YXBpX2tleQ==' 
     --data '{
  "from": "EngageLab Newsletter <newsletter@mail.engagelab.com>", 
  "to": ["111@qq.com", "222<222@qq.com>"],
  "body": {          
      "reply_to": ["reply@mail.engagelab.com"],                         
      "subject": "%date% Newsletter ",                                       
      "content": {                                                     
        "raw_message": "Date: Fri, 8 Aug 2025 18:33:00 +0800 (CST)\r\nFrom: TEST <test@trip.com>\r\nReply-To: test_reply@trip.com\r\nTo: fan_tang@trip.com\r\nMessage-ID:....... ",         
         },
      "vars": { },
      "label_id": 100233, //or label_name="test"
      "headers": {},
      "settings": {                 
        "send_mode": 0, 
        "return_email_id": true,  
        "sandbox": false,
        "notification": false,
        "open_tracking": true,                                           
        "click_tracking": false,                                         
        "unsubscribe_tracking": true,                              
        "unsubscribe_page_id": [1,2]
      }
  },
  "custom_args": {},           
  "request_id": "" 
}'  'https://email.api.engagelab.cc/v1/mail/send_mime' 

            
Este bloque de código se muestra en una ventana flotante

Response Example

Response-success

HTTP Status: 200

{ "email_ids":[ "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound0$111@qq.com", "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound1$222@qq.com"], "request_id":null }
              
              {
"email_ids":[
      "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound0$111@qq.com",
      "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound1$222@qq.com"],
"request_id":null
}

            
Este bloque de código se muestra en una ventana flotante

Response-error

HTTP Status: 400

{ "code": 30893, "message": "The custom_args must be json format" }
              
              {
    "code": 30893,
    "message": "The custom_args must be json format"
}

            
Este bloque de código se muestra en una ventana flotante
Icon Solid Transparent White Qiyu
Contacto