TEA Lite
TEA Lite es ideal para el área de tecnología, ya que permite enviar emails transaccionales o comerciales de manera masiva. Funciona por medio de un servicio web que cuenta con la responsabilidad de comunicar de modo seguro a prospectos, clientes o proveedores información de interés. Los canales de comunicación son seguros entre todos los componentes que constituyen el sistema. Documentación técnica para el hacer uso de los métodos expuestos para comunicarse con los servicios de TEA Lite.
Legales
.
Queda estrictamente prohibida la reproducción total o parcial de este documento, por cualquier medio y para cualquier fin, sin la autorización previa y por escrito de Tralix México, S. de R.L. de C.V.
Este documento y su contenido pueden incluir, entre otros, marcas registradas, nombres comerciales, logotipos, avisos comerciales, diseños industriales y demás elementos protegidos por las leyes de propiedad industrial e intelectual. Todos estos signos distintivos son propiedad exclusiva de Tralix México, S. de R.L. de C.V., y están legalmente protegidos.
El acceso, posesión o consulta de este documento no otorga, en ningún caso, licencia ni derecho alguno para usar, reproducir, distribuir, modificar o explotar, total o parcialmente, los elementos distintivos de Tralix México. Cualquier uso no autorizado constituirá una infracción a la normativa aplicable y podrá dar lugar al ejercicio de acciones legales.
Tralix México se reserva el derecho de modificar, sin previo aviso, las especificaciones, características o alcances de sus productos y servicios.
Copyright © 2025 Tralix México, S. de R.L. de C.V. Todos los derechos reservados.
Documentación técnica
Esta herramienta es ideal para el área de tecnología, ya que permite enviar emails transaccionales o comerciales de manera masiva. Funciona por medio de un servicio web que cuenta con la responsabilidad de comunicar de modo seguro a prospectos, clientes o proveedores información de interés. Los canales de comunicación son seguros entre todos los componentes que constituyen el sistema TEA Lite.
A continuación se detalla la documentación técnica para el hacer uso de los métodos expuestos para comunicarse con los servicios de TEA Lite.
Envío de correos
Método para el envío de correo electrónico sin adjunto (attachment).
Endpoint
| Método | Endpoint | Resource |
| POST | https://localhost | /send |
.
Autenticación y Headers
| Headers | Value |
| Authorization | Basic {Token} |
| Content-type | application/json |
.
Parámetros
| Atributos | Uso | Descripción |
| bodyContentHTML | Requerido | Contenido del body en formato HTML, codificación JSON. TEA Lite espera que este HTML ya se encuentre totalmente personalizado. |
| bodyContentPlainText | Requerido | Contenido de body en texto plano para multipart Email, codificación JSON. |
| campaignId | Requerido | Identificador de campaña a la que pertenece el correo electrónico. |
| outboundId | Requerido | Identificador único del mensaje. |
| recipient | Requerido |
Dirección de correo electrónico a la que cual se realizará la entrega del mensaje. |
| replyTo | Requerido | Dirección de correo electrónico al cual se hace entrega los 'reply' de los usuarios finales. |
| replyToName | Requerido | Nombre de dueño de la cuenta de replyTo |
| sender | Requerido | Dirección de correo electrónico mediante la cual se hace el envío del mensaje |
| senderName | Requerido | Nombre del destinatario del del correo electrónico (dueño de la cuenta “sender”). |
| sourceSystem | Requerido | Identificador para relacionar los mensajes enviados |
| subjectContentPlainText | Requerido | Asunto con el cual se hace entrega del correo electrónico, debe de estar en formato de texto plano, encoding JSON |
| listUnsubscribe | Opcional | Header de list unsubscribe en el formato mailto:<email address>, https:<URL> |
| recipientName | Opcional | Nombre del destinatario del correo electrónico |
| sendAt | Opcional | Fecha en que se debe de enviar el mensaje, formato: YYYYMMDDHHMMSS |
| type | Opcional | Indica el tipo de flujo que debe de seguir el ESP cuando procese el mensaje |
Notas
|
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"
}
Response 200:
Correo enviado.202 - OK { "messageId":"1" }
Response 400:
Error temporal400 - { "errorCategory":"Retriable" "errorText":"Servicio temporalmente inaccesible"}
Response 500:
Error fatal500 - { "errorCategory":"Permanent" "errorText":"El recipient es requerido"}
Consulta de Rechazos
Método para obtener los rechazos (Soft Bounces y Hard Bounces).
Endpoint
| Método | Endpoint | Resource |
| GET | https://localhost | /bounces |
Autenticación y Headers
| Headers | Value |
| Authorization | Basic {Token} |
| Content-type | application/json |
Parámetros
| Atributos | Uso | Descripción |
| sourceSystem |
Requerido |
Identificador para relacionar los mensajes enviados. |
|
*************** startTimeUTC |
Requerido |
Marca de tiempo para iniciar la consulta con los rebotes recopilados en el lado del Proveedor de servicios de correo electrónico (ESP). Formato: YYYYMMDDHHMMSS Tiempo Universal Coordinado (UTC) |
| endTimeUTC |
Requerido |
Marca de tiempo para finalizar la consulta con los rebotes recopilados en el lado del Proveedor de servicios de correo electrónico (ESP). Formato: YYYYMMDDHHMMSS Tiempo Universal Coordinado (UTC) |
| ó | ||
| startTime |
Requerido |
Marca de tiempo para iniciar con la consulta de rebotes recopilados en el lado del ESP. (Formato: YYYYMMDDHHMMSS). |
| endTime |
Requerido |
Marca de tiempo para finalizar con la consulta recopilada de rebotes en el lado del ESP (Formato: YYYYMMDDHHMMSS). |
|
tz *************** |
Requerido |
Zona horaria para los parámetros "startTime" y "endTime". |
| page |
Opcional |
Indica la página de resultados en caso de tener varias páginas. Los valores posibles son 0 a "n...". |
Notas
|
Ejemplo de la petición:
https://[localhost]/bounces?startTimeUTC=20240401000000&endTimeUTC=20240410235959&sourceSystem=1
Response 200:
OK
{
"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"
},
Response 400:
Error temporal 403 - Forbidden ({"errorText":"CredentialsRejected","errorCategory":"Permanent"})
400 - { "errorCategory":"Retriable" "errorText":"Servicio temporalmente inaccesible"}
Response 500:
Error fatal500 - Internal Server Error
500 - { "errorCategory":"Permanent"
"errorText":"El recipient es requerido"}
Consulta de Envíos
Método para obtiene el resultado de los envíos (Soft Bounces, Hard Bounces y Entregas exitosas).
Endpoint
| Método | Endpoint | Resource |
| GET | https://localhost | /responses |
Autenticación y Headers
| Headers | Value |
| Authorization | Basic {Token} |
| Content-type | application/json |
Parámetros
| Atributos | Uso | Descripción |
| sourceSystem | Requerido |
Identificador para relacionar los mensajes enviados. |
| campaignId | Requerido |
Identificador de campaña a la que pertenece el correo electrónico. |
|
******************* startTimeUTC |
Requerido |
Marca de tiempo para iniciar la consulta. Datos recopilados en el lado del ESP. Formato: YYYYMMDDHHMMSS Tiempo Universal Coordinado (UTC) |
| endTimeUTC | Requerido |
Marca de tiempo para finalizar la consulta. Datos recopilados en el lado del ESP. Formato: YYYYMMDDHHMMSS Tiempo Universal Coordinado (UTC) |
|
ó |
||
| startTime | Requerido |
Marca de tiempo para iniciar con la consulta. Datos recopilados en el lado del ESP. (Formato: YYYYMMDDHHMMSS). |
| endTime | Requerido |
Marca de tiempo para finalizar con la consulta. Datos recopilados en el lado del ESP (Formato: YYYYMMDDHHMMSS). |
|
tz ******************* |
Requerido | Zona horaria para los parámetros "startTime" y "endTime". |
| Parámetros opcionales | ||
| page | Opcional |
Indica la página de resultados en caso de tener varias páginas. Los valores posibles son 0 a "n...". |
Notas
|
Ejemplo de la petición:
https://[localhost]/responses?startTimeUTC=20240401000000&endTimeUTC=20240410235959&sourceSystem=1&campaignId=1
Response 200:
OK
{
"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"
},
Response 400:
Error temporal403 - Forbidden ({"errorText":"CredentialsRejected","errorCategory":"Permanent"})
400 - { "errorCategory":"Retriable"
"errorText":"Servicio temporalmente inaccesible"}
Response 500:
Error fatal500 - Internal Server Error500 - { "errorCategory":"Permanent" "errorText":"El recipient es requerido"}
Consulta de Interacciones
Método para recuperar los tipos de interacciones disponibles son: Opens y Clicks.
Endpoint
| Método | Endpoint | Resource |
| GET | https://localhost |
/interactions |
Autenticación y Headers
| Headers | Value |
| Authorization | Basic {Token} |
| Content-type | application/json |
Parámetros
| Atributos | Uso | Descripción |
|
idCampaign |
Requerido |
Identificador de Campaña |
|
type |
Requerido |
Tipo de interacción (CLICK,OPEN) |
|
*************** startTimeUTC |
Requerido |
Fecha de inicio para la consulta. Datos recopilados en UTC en el lado ESP. (Formato: YYYYMMDDHHMMSS). Tiempo Universal Coordinado (UTC) |
|
endTimeUTC |
Requerido |
Fecha final para la consulta. Datos recopilados en UTC en el lado ESP. (Formato: YYYYMMDDHHMMSS). Tiempo Universal Coordinado (UTC) |
|
ó |
|
|
|
startTime |
Requerido |
Marca de tiempo para comenzar con la consulta. Datos recopilados en el lado del ESP. (Formato: YYYYMMDDHHMMSS). |
|
endTime |
Requerido |
Marca de tiempo para finalizar con la consulta. Datos recopilados en el lado del ESP (Formato: YYYYMMDDHHMMSS). |
|
tz *************** |
Requerido |
Zona horaria para los parámetros "startTime" y "endTime". |
|
idMessage |
Opcional |
Identificador de mensaje |
|
page |
Opcional |
Indica la página de resultados en caso de tener varias páginas. Los valores posibles son 0 a "n...". |
Ejemplo de la petición:
- https://localhost/interactions?idCampaign=1&idMessage=1&type=CLICK
- https://localhost/interactions?idCampaign=1&idMessage=1&type=OPEN
Response 200:
OK
Respuesta OK de una consultar: Open
{
"email": "test2@tralix.com",
"timestamp": "20180713181049",
"ip": "127.0.0.1",
"idCampaign": "123456789",
"idMessage": "000010011001",
"link": null,
"linkName": null,
"type": "OPEN"
}
Respuesta OK de una consultar: 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
Método para recuperar las des-suscripciones por medio del sourceSystem
Endpoint
| Método | Endpoint | Resource |
| GET | https://localhost |
/unsubscribe |
Autenticación y Headers
| Headers | Value |
| Authorization | Basic {Token} |
| Content-type | application/json |
Parámetros
| Atributos | Uso | Descripción |
|
sourceSystem |
Requerido |
Identificador para relacionar los mensajes enviados |
|
idCampaign |
Opcional |
Identificador de Campaña |
|
page |
Opcional |
Indica la página de resultados en caso de tener varias páginas. Los valores posibles son 1 a "n...". |
|
*************** startTimeUTC |
Opcional |
Fecha de inicio para la consulta de desuscripciones. (Formato: YYYYMMDDHHMMSS). |
|
endTimeUTC |
Opcional |
Fecha final para la consulta de desuscripciones. (Formato: YYYYMMDDHHMMSS). |
Ejemplo de la petición:
- http://localhost:9001/unsubscribe?sourceSystem=MySourceSystem
Response 200:
OK
{
"page": 1,
"lastPage": true,
"unsubscribes": [
{
"recipient": "john.doe@tralix.com",
"idCampaign": "5566",
"idMessage": "777",
"dateRequest": "2024-05-16"
}
]
}
Enviar correos con Adjuntos
Método para el envío de correo electrónico con adjuntos (attachment).
Endpoint
| Método | Endpoint | Resource |
| POST | https://localhost |
/sendWithAttachment |
Autenticación y Headers
| Headers | Value |
| Authorization | Basic {Token} |
| Content-type | application/json |
| Content-type | multipart/form-data |
Parámetros
| Atributos | Uso | Descripción |
|
bodyContentHTML |
Requerido |
Contenido del body en formato HTML, codificación JSON. TEA espera que este HTML ya se encuentre totalmente personalizado |
|
bodyContentPlainText |
Requerido |
Contenido de body en texto plano para multipart Email, codificación JSON |
|
campaignId |
Requerido |
Identificador de campaña a la que pertenece el correo electrónico |
|
outboundId |
Requerido |
Identificador único del mensaje |
|
recipient |
Requerido |
Dirección de correo electrónico a la que cual se realizará la entrega del mensaje |
|
replyTo |
Requerido |
Dirección de correo electrónico al cual se hace entrega los reply de los usuarios finales |
|
replyToName |
Requerido |
Nombre de dueño de la cuenta de replyTo |
|
sender |
Requerido |
Dirección de correo electrónico mediante la cual se hace el envío del mensaje |
|
senderName |
Requerido |
Nombre del dueño de la cuenta “sender” |
|
sourceSystem |
Requerido |
Identificador para relacionar los mensajes enviados |
|
subjectContentPlainText |
Requerido |
Asunto con el cual se hace entrega del correo electrónico, debe de estar en formato de texto plano, encoding JSON) |
|
listUnsubscribe |
Opcional |
Header de list unsubscribe en el formato mailto:<email address>, https:<URL> |
|
recipientName |
Opcional |
Nombre del destinatario del correo electrónico |
|
sendAt |
Opcional |
Fecha en que se debe de enviar el mensaje, formato: YYYYMMDDHHMMSS |
|
type |
Opcional |
Indica el tipo de flujo que debe de seguir el ESP cuando procese el mensaje |
Notas
|
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"
}
Response 200:
OK
202 - OK { "messageId":"124" }
Response 400:
Error temporal
400 - { "errorCategory":"Retriable"
"errorText":"Servicio temporalmente inaccesible"}
Errores 400
{
"errorText": "Request size too big. Maximum request size is 2 MB.",
"errorCategory": "Permanent"
}
Errores 400
{
"errorText": "key not found: attachment",
"errorCategory": "Permanent"
}
Response500:
Error fatal
500 - { "errorCategory":"Permanent"
"errorText":"El recipient es requerido"}
ChangeLog
Liberaciones
| VERSIÓN |
SUBVERSIÓN |
DESCRIPCIÓN |
| TEA Lite_1.1.2 |
- La API ahora entrega información de fecha y hora ajustada al huso horario solicitado, facilitando la integración con aplicaciones y operaciones en múltiples regiones. |
|
| TEA Lite_2.2.5 | - Se implementa una mejora para que el cuerpo del Email sea codificado en UTF-8. | |
| TEA Lite_2.2.12 | - Se incorpora el parámetro obligatorio "SourceSystem" en el API para identificar el sistema origen y mejorar la trazabilidad de los mensajes enviados. | |
| TEA Lite_2.2.18 | - Actualmente cuando un sender se bloquea, los mensajes que ya no se pueden enviar, son marcados como softbouce, se requiere que cuando se tenga más de un sender disponible, se intente la entrega por esos senders con ello obtenemos mayor continuidad del servicio, menor impacto por bloqueos, mejor entrega de mensajes. | |
| TEA Lite_2.2.19 | - Implementación de validaciones inteligentes para identificar falsos positivos en respuestas de los ESP y habilitar el reintento de correos potencialmente entregables. | |
| TEA Lite_2.2.21 | - Implementación de cifrado TLS para el envío de correos electrónicos, mejorando la seguridad, la confiabilidad y la compatibilidad con las políticas de los principales proveedores de correo. | |
| TEA Lite_2.3.0 |
- Fortalecimiento de la entregabilidad del correo mediante la implementación de la desuscripción con un solo clic (One-Click Unsubscribe), alineando el producto con las políticas de Gmail, los estándares de la industria y las mejores prácticas de email marketing. |
|
| TEA Lite_2.3.1 |
- Mayor disponibilidad y continuidad operativa con Couchbase Cluster. |
|
| TEA Lite_2.4.0 |
- Fortalecimiento de la validación de datos de entrada, incorporando controles para asegurar el formato, longitud y caracteres permitidos, reforzando la integridad, seguridad y estabilidad de la plataforma. - Se actualiza la respuesta del código 4.0.4 para identificar claramente cuando un mensaje no puede entregarse debido al límite de conexiones con el dominio destino, facilitando el diagnóstico y seguimiento de incidencias. |
|
| TEA Lite_2.5.0 |
- Fortalecimiento de seguridad en el procesamiento de contenido XML: se implementaron controles de validación y protección, mejorar la disponibilidad del servicio y garantizar un procesamiento más seguro de la información. |
|
|
TEA Lite_2.6.0 |
- Se aplican cambios en las restricciones de envío. |
|
| TEA Lite_2.7.0 |
- Control de reintentos de entrega: permite configurar la frecuencia y el periodo de reintento ante errores temporales, evitando reintentos indefinidos y optimizando la operación del sistema. |
|
| TEA Lite_2.7.1 |
- Integración con Gmail Feedback Loop (FBL). Se incorpora Feedback Loop (FBL) para Gmail mediante la implementación del encabezado Feedback-ID, permitiendo identificar y segmentar campañas, clientes y tipos de correo para obtener indicadores de spam y mejorar la visibilidad sobre la reputación y entregabilidad de los envíos. |
|
| TEA Lite_2.8.0 |
- Se incorpora compatibilidad con PostgreSQL 17.6 LTS, fortaleciendo la modernización de la plataforma, la estabilidad en el procesamiento de información y la continuidad operativa. - Se actualizan los servicios de TEA Lite para garantizar su compatibilidad con MySQL 8, asegurando la continuidad, estabilidad y correcto funcionamiento de la plataforma. |
|
| TEA Lite_2.8.1 |
- Se mejora el manejo de respuestas duplicadas para garantizar la continuidad del procesamiento, evitando interrupciones y encolamientos. |
|