X-SMTPAPI Campos extendidos
X-SMTPAPI es un método de procesamiento de correo electrónico personalizado proporcionado por EngageLab para desarrolladores.
EngageLab recuperará la información del campo de encabezado cuyo key sea X-SMTPAPI. Si se detecta que contiene este campo de encabezado, analizará el valor (value) para cambiar el método de procesamiento del correo. Los desarrolladores pueden utilizar este campo al usar SMTP y el acceso mediante API.
Acceso mediante API:
x_smtpapi = {
"to": ["d@hotmail.com", "i@hotmail.com"],
"sub": {
"%name%": ["jack", "rose"],
"%money%": ["199", "299"]
}
}
params['xsmtpapi'] = simplejson.dumps(x_smtpapi)
Acceso mediante SMTP:
x_smtpapi = {
"to": ["d@hotmail.com", "i@hotmail.com"],
"sub": {
"%name%": ["jack", "rose"],
"%money%": ["199", "299"]
}
}
msg['X-SMTPAPI'] = Header(base64.b64encode(simplejson.dumps(x_smtpapi)))
El servidor SMTP comprobará el formato de la información del encabezado cuyo **key** sea `X-SMTPAPI` en el correo electrónico. Si no se cumplen los requisitos anteriores, se informará del error `xsmtpapi error`.
Debe tenerse en cuenta lo siguiente:
1. Al invocar SMTP, X-SMTPAPI debe ser el último en el campo de encabezado. De lo contrario, puede producirse el error 'xsmtpapi error'
2. Al invocar SMTP, x-smtpapi debe estar codificado en Base64. De lo contrario, tras completarse correctamente la solicitud SMTP, EngageLab intercepta y determina que el correo no es válido: 'worker: invalid XSMTP-API'
3. Al invocar la API, se puede pasar directamente la cadena JSON sin codificación Base64 ni encapsulación
4. La longitud total de X-SMTPAPI no puede superar **1 MB**
La estructura y el uso de la cadena JSON encapsulada por el valor (value) se muestran a continuación:
to Contiene un array de direcciones de destinatarios para especificar los destinatarios del mensaje.
{
"to": ["ben@engagelab.com", "joe@engagelab.com"]
}
Atención:
- Este
tosobrescribirá el parámetro de destinatarioto - El número de destinatarios en este
tono puede superar 1000 - Si el encabezado del correo electrónico es inferior a 1 MB, no se realizará ninguna acción
- Si el encabezado del correo electrónico es superior a 1 MB, se verificará cada dirección individual en función del número de direcciones enviadas. Si es inferior a 10 KB, se puede enviar. Si es superior a 10 KB, no se puede enviar
sub es un objeto; su key es una "variable" y su value es un array de valores de reemplazo.
Explicación de uso: cada "variable" corresponde a un array de valores de reemplazo. Al reemplazar el contenido del correo, cada "destinatario" sustituye el valor de la "variable" por el valor correspondiente en el array de valores de reemplazo según su posición en el array de destinatarios.
Ejemplo:
# Contenido del correo
Estimado/a %name%:
¡Hola! Su importe de consumo en XX este mes: %money% .
#---------------------------------------------------
# X-SMTPAPI
{
"to": ["ben@engagelab.com", "joe@engagelab.com"],
"sub": {
"%name%": ["Ben", "Joe"],
"%money%": [288, 497]
}
}
#---------------------------------------------------
# ben@engagelab.com recibirá:
Estimado/a Ben:
¡Hola! Su importe de consumo en XX este mes: 288 .
#---------------------------------------------------
# joe@engagelab.com recibirá:
Estimado/a Joe:
¡Hola! Su importe de consumo en XX este mes: 497 .
filters es un objeto que contiene un conjunto de nombres de aplicaciones (Unsubscribe, Open, Click) y su configuración. Esta configuración sobrescribe la configuración correspondiente en la cuenta de usuario.
x_smtpapi =
{
"to": ["xxx@qq.com"],
"sub": {"%name%": ["Joe"]},
"filters": {
"subscription_tracking": { # Unsubscribe tracking
"settings": { "enable": "1" }
},
"open_tracking": { # Open tracking
"settings": { "enable": "1" }
},
"click_tracking": { # Click tracking
"settings": { "enable": "1" }
}
}
}
page_id
page_idcorresponde al campo ID de una página de cancelación de suscripción creada en Setting - Unsubscribe - Unsubscribe page en la consola de EngageLab.- Antes del envío, es necesario crear con antelación una página de cancelación de suscripción en la consola de EngageLab y configurar el ID correspondiente.
- El envío se realiza mediante el parámetro page_id. El valor se establece como el ID de una página de cancelación de suscripción. En ese caso, el enlace de cancelación de suscripción y la página de cancelación de suscripción se mostrarán en el idioma y el estilo configurados.
- La prioridad del envío del parámetro
page_ides superior a la de la API en el momento del envío; se utilizará la configuración predeterminada de la página de cancelación de suscripción correspondiente al usuario. - Se admite el formato de array para especificar la página de cancelación de suscripción; debe ser coherente con el número de
toen el xsmtpapi. La posición en el array corresponde a cada "destinatario" según su posición en el array de destinatarios. Si no coincide con el número deto, se utilizará en su lugar elpage_idpredeterminado bajo este apiUser.
Ejemplo:
x_smtpapi =
{
"to": ["xxx@qq.com", "xxx@hotmail.com", "xxx@gmail.com"],
"sub": {"%name%": ["Joe", "Ben", "Michael"]},
"settings": {
"unsubscribe": {
"page_id": [1, 2, 3]
}
}
}

