Documentación técnica

La reproducción total o parcial de este documento sin el permiso escrito de Tralix Corp. se encuentra estrictamente prohibida.
Este documento puede incluir marcas y nombres comerciales para referirse procedimiento de respaldos.
TRALIX MÉXICO S. DE R.L. DE C.V como responsable del tratamiento de sus datos personales, hace de su conocimiento que la información obtenida por este medio es tratada de forma estrictamente confidencial por lo que recabaremos y trataremos de sus datos según los lineamientos de nuestro Aviso de Privacidad. Para conocer la versión completa podrá hacerlo a través de la página Aviso de privacidad. Al leer el presente Aviso de Privacidad y no manifestar su oposición al tratamiento de sus Datos Personales, se entiende que usted conoció la versión completa y acepta losIntegridad

La integridad de los datos está asegurada al contar con medidas de autenticación entre los componentes que forman el sistema, esto nos asegura que los datos no pueden ser creados, editados o eliminados por sistemas no autorizados. Por medio de procesos bien definidos y auditados por terceros Tralix garantiza que el acceso a ambientes productivos solo está autorizado a personas altamente especializadas y que han firmado contratos de confidencialidad, además de aprobado pruebas de confiabilidad.

Los canales de comunicación son seguros entre todos los componentes que constituyen el sistema TEA Lite.

Enviar correos
Endpoint /send
Descripción detallada Método para el envío de correo electrónico sin adjunto (attachment)
Método http POST
Headers
Header Authorization
Value Basic
Parámetros requeridos
bodyContentHTML Contenido del body en formato HTML, codificación JSON. TEA Lite espera que este HTML ya se encuentre totalmente personalizado.
bodyContentPlainText Contenido de body en texto plano para multipart Email, codificación JSON.
campaignId Identificador de campaña a la que pertenece el correo electrónico.
outboundId Identificador único del mensaje.
recipient

Dirección de correo electrónico a la que cual se realizará la entrega del mensaje.

replyTo Dirección de correo electrónico al cual se hace entrega los 'reply' de los usuarios finales.
replyToName Nombre de dueño de la cuenta de replyTo
sender Dirección de correo electrónico mediante la cual se hace el envío del mensaje
senderName Nombre del destinatario del del correo electrónico (dueño de la cuenta “sender”).
sourceSystem Identificador para relacionar los mensajes enviados
subjectContentPlainText Asunto con el cual se hace entrega del correo electrónico, debe de estar en formato de texto plano, encoding JSON
Parámetros opcionales
listUnsubscribe Header de list unsubscribe en el formato mailto:<email address>, https:<URL>
recipientName Nombre del destinatario del correo electrónico
sendAt Fecha en que se debe de enviar el mensaje, formato: YYYYMMDDHHMMSS
type Indica el tipo de flujo que debe de seguir el ESP cuando procese el mensaje
Notas
  • La petición se realiza 1 a 1

  • Para rastrear los links (click) se necesita agregar la clase (class="_track") en las etiquetas de tipo <a href=””> dentro del código HTML.

  • La forma en que se hace la inserción del código para el Web View Link es mediante la identificación de la clase (class="_webview") en las etiquetas de tipo <a href=””> dentro del código HTML.

  • view")
Códigos de respuesta y errores

202 -  OK  { "messageId":"124" }

400 -  { "errorCategory":"Retriable"

             "errorText":"Servicio temporalmente inaccesible"}

500 -  { "errorCategory":"Permanent"

             "errorText":"El recipient es requerido"}

Ejemplo de la petición

https://localhost/send

 

Body

 

{
"type": "email",
"outboundId": "1",
"campaignId": "1",
"sourceSystem": "IDSystemaEnvio",
"sender": "envios@tralixenvios.com",
"senderName": "Envios",
"replyTo": "envios@tralixenvios.com",
"replyToName": "Envios",
"recipient": "email@tralix.com",
"recipientName": "Email",
"subjectContentPlainText": "Envio",
"bodyContentHTML":"HMTL",

"bodyContentPlainText": "Texto alternativo"

}

Ejemplo de respuesta
(código 202)
{"messageId":"1"}
Consulta de Rechazos
URL /bounces
Descripción detallada Método para obtener los rechazos (Soft Bounces y Hard Bounces)
Método http GET
Headers
Header Authorization
Value Basic
Parámetros requeridos

 

sourceSystem

Sistema lógico que se requiere para recibir rebotes y quejas relacionadas con mensajes salientes.

***************

startTimeUTC

Timestamp to begin with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS

endTimeUTC

Timestamp to end with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS

ó
startTime

Timestamp to begin with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS

endTime

Timestamp to end with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS

tz

***************

Timezone for parameters startTime and endTime

Parámetros opcionales

 

page

Indica la página de resultados en caso de tener varias páginas. Los valores posibles son 0 a "n...".

Notas

El objetivo de este método es responder con cada una de las respuestas y código de entrega de cada correo cuando contiene "Soft Bounces", "Hard Bounces".

Códigos de respuesta y errores

200 - Ok

403 - Forbidden ({"errorText":"CredentialsRejected","errorCategory":"Permanent"})

400 -  { "errorCategory":"Retriable"

             "errorText":"Servicio temporalmente inaccesible"}

500 -  Internal Server Error

500 -  { "errorCategory":"Permanent"

             "errorText":"El recipient es requerido"}

Ejemplo de la petición https://localhost/bounces?startTimeUTC=20240401000000&endTimeUTC=20240410235959&sourceSystem=1
Ejemplo de respuesta (código 200) {
        "messageId": "1",
        "recipient": "noexite@tralix.com",
        "errorCode": "550",
        "errorText": "550-5.1.1 The email account that you tried to reach does not exist. Please try\n550-    5.1.1 double-checking the recipient's email address for typos or\n550-5.1.1 unnecessary spaces. For more information, go to\n550 5.1.1 https://support.google.com/mail/?p=NoSuchUser qk15-20020a05687055cf00b0022e76902ffesi3915647oac.304 - gsmtp",
        "type": "Hard",
        "timestamp": "20240410184814"
},
Consulta de Envíos 
Endpoint /responses
Descripción detallada Método para obtiene el resultado de los envíos (Soft Bounces, Hard Bounces y Entregas exitosas).
Método http GET
Headers  
Header Authorization
Value Basic
Parámetros requeridos  
sourceSystem

Logical system that is required to get bounces and complaints related to outbound messages)

campaignId

(Identificador de campaña a la que pertenece el correo electrónico.

*******************

startTimeUTC

(Timestamp to begin with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS)

endTimeUTC

(Timestamp to end with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS)

ó

startTime

(Timestamp to begin with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS)

endTime

(Timestamp to end with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS)

tz

*******************

(Timezone for parameters startTime and endTime)
Parámetros opcionales  
page (Indicates the result page in case of multiple pages. Possible values are 0 to n)
Notas El objetivo de este método es responder con cada una de las respuestas y código de entrega de cada correo cuando contiene Soft Bounces, Hard Bounces y Entregas exitosas.
Ejemplo https://localhost/responses?startTimeUTC=20240401000000&endTimeUTC=20240410235959&sourceSystem=1&campaignId=1
Ejemplo respuesta (código 200) {
        "messageId": "1",
        "recipient": "noexite@tralix.com",
        "errorCode": "550",
        "errorText": "550-5.1.1 The email account that you tried to reach does not exist. Please try\n550-    5.1.1 double-checking the recipient's email address for typos or\n550-5.1.1 unnecessary spaces. For more information, go to\n550 5.1.1 https://support.google.com/mail/?p=NoSuchUser qk15-20020a05687055cf00b0022e76902ffesi3915647oac.304 - gsmtp",
        "type": "Hard",
        "timestamp": "20240410184814"
},
Códigos respuesta/errores

403 - Forbidden ({"errorText":"CredentialsRejected","errorCategory":"Permanent"})

400 -  { "errorCategory":"Retriable"

             "errorText":"Servicio temporalmente inaccesible"}

500 -  Internal Server Error

500 -  { "errorCategory":"Permanent"

             "errorText":"El recipient es requerido"}

Consulta de Interacciones

URL

/interactions

Descripción detallada

Método para recuperar los tipos de interacciones disponibles son: Opens y Clicks.

Método http

GET

Headers

 

Header

Authorization

Value

Basic

Parámetros requeridos

idCampaign

Identificador de Campaña

type

Tipo de intección (CLICK,OPEN)

***************

startTimeUTC

Fecha de inicio para la consulta de rebotes recopilados en UTC en el lado ESP.

(Formato: YYYYMMDDHHMMSS).

endTimeUTC

Fecha final para la consulta de rebotes recopilados en UTC en el lado ESP.

(Formato: YYYYMMDDHHMMSS).

ó

 

startTime

Marca de tiempo para comenzar con la consulta de rebotes recopilados en el lado del ESP. (Formato: YYYYMMDDHHMMSS).

endTime

Marca de tiempo para finalizar con la consulta recopilada de rebotes en el lado del ESP

(Formato: YYYYMMDDHHMMSS).

tz

***************

Zona horaria para los parámetros "startTime" y "endTime".

Parámetros opcionales

 

idMessage

Identificador de mensaje

page

Indica la página de resultados en caso de tener varias páginas. Los valores posibles son 0 a "n...".

Notas

N/A

Códigos respuesta/errores

200 - Ok

Ejemplo

https://localhost/interactions?idCampaign=1&idMessage=1&type=CLICK

ó

https://localhost/interactions?idCampaign=1&idMessage=1&type=OPEN

Ejemplo respuesta (código 200) 

Ejemplo Open:

 

{           

              "email": "test2@tralix.com",
              "timestamp": "20180713181049",
              "ip": "127.0.0.1",
              "idCampaign": "123456789",
              "idMessage": "000010011001",
              "link": null,
              "linkName": null,
              "type": "OPEN"

}

 

Ejemplo Click:

  {
              "email": "envios@tralix.com",
              "timestamp": "20240410183754",
              "ip": "localhost",
              "idCampaign": "1",
              "idMessage": "1",
              "link": "link",
              "linkName": null,
              "type": "CLICK",
             "sourceSystem": "1"
},
{
              "email": "envios@tralix.com",
              "timestamp": "20240410183950",
              "ip": "localhost",
              "idCampaign": "1",
              "idMessage": "1",
              "link": "link",
              "linkName": null,
              "type": "CLICK",
              "sourceSystem": "1"
}

 

Consulta de Desuscripciones

Endpoint

/unsubscribe

Descripción detallada

Método para recuperar las desuscripciones por medio del sourceSystem

Método http

GET

Headers

 

Header

Authorization

Value

Basic

Parámetros requeridos

sourceSystem

Identificador para relacionar los mensajes enviados

Parámetros opcionales

 

idCampaign

Identificador de Campaña

page

Indica la página de resultados en caso de tener varias páginas. Los valores posibles son 1 a "n...".

***************

startTimeUTC

Fecha de inicio para la consulta de desuscripciones.

(Formato: YYYYMMDDHHMMSS).

endTimeUTC

Fecha final para la consulta de desuscripciones.

(Formato: YYYYMMDDHHMMSS).

Notas

N/A

Códigos respuesta/errores

200 - Ok

Ejemplo

http://localhost:9001/unsubscribe?sourceSystem=MySourceSystem

Ejemplo respuesta (código 200) 

{

"page": 1,

"lastPage": true,

"unsubscribes": [

{

"recipient": "john.doe@tralix.com",

"idCampaign": "5566",

"idMessage": "777",

"dateRequest": "2024-05-16"

}

]

Enviar correos con Adjuntos

Endpoint

/sendWithAttachment

Descripción detallada

Método para el envío de correo electrónico con adjuntos (attachment).

Método http

POST

Headers

 

Header

Authorization

Value

Basic

Attachment

Los datos para enviar el email son los mismos que se requieren en el endpoint "/send" pero estos se deben de agregar al request como un form-data y el name debe de ser “data”.

Se requiere agregar al request como un form-data y el name debe ser “attachment”, con el contenido del adjunto.

Parámetros requeridos

bodyContentHTML

Contenido del body en formato HTML, codificación JSON. TEA espera que este HTML ya se encuentre totalmente personalizado

bodyContentPlainText

Contenido de body en texto plano para multipart Email, codificación JSON

campaignId

Identificador de campaña a la que pertenece el correo electrónico

outboundId

Identificador único del mensaje

recipient

Dirección de correo electrónico a la que cual se realizará la entrega del mensaje

replyTo

Dirección de correo electrónico al cual se hace entrega los reply de los usuarios finales

replyToName

Nombre de dueño de la cuenta de replyTo

sender

Dirección de correo electrónico mediante la cual se hace el envío del mensaje

senderName

Nombre del dueño de la cuenta “sender”

sourceSystem

Identificador para relacionar los mensajes enviados

subjectContentPlainText

Asunto con el cual se hace entrega del correo electrónico, debe de estar en formato de texto plano, encoding JSON)

Parámetros opcionales

 

listUnsubscribe

Header de list unsubscribe en el formato mailto:<email address>, https:<URL>

recipientName

Nombre del destinatario del correo electrónico

sendAt

Fecha en que se debe de enviar el mensaje, formato: YYYYMMDDHHMMSS

type

Indica el tipo de flujo que debe de seguir el ESP cuando procese el mensaje

Notas

  • La petición se realiza 1 a 1

  • Para trackear los link (click) se necesita agregar la clase (class="_track") en las etiquetas de tipo <a href=””> dentro del HTML.

  • La forma en que se hace la inserción del código para el Web View Link es mediante la identificación de la clase (class="_webview") en las etiquetas de tipo <a href=””> dentro del código HTML.

Ejemplo

https://localhost/send

 

Body

 

{
"type": "email",
"outboundId": "1",
"campaignId": "1",
"sourceSystem": "IDSystemaEnvio",
"sender": "envios@tralixenvios.com",
"senderName": "Envios",
"replyTo": "envios@tralixenvios.com",
"replyToName": "Envios",
"recipient": "email@tralix.com",
"recipientName": "Email",
"subjectContentPlainText": "Envio",
"bodyContentHTML":"HMTL",

"bodyContentPlainText": "Texto alternativo"

}

 

Códigos respuesta/errores

202 -  OK  { "messageId":"124" }

 

400 -  { "errorCategory":"Retriable"

             "errorText":"Servicio temporalmente inaccesible"}

 

500 -  { "errorCategory":"Permanent"

             "errorText":"El recipient es requerido"}

Ejemplos de respuestas 

Errores 400

{
"errorText": "Request size too big. Maximum request size is 2 MB.",
"errorCategory": "Permanent"
}

 

Errores 400

 

{
"errorText": "key not found: attachment",
"errorCategory": "Permanent"
}

 

 

No Comments
Back to top