TEA Lite Portada La reproducción total o parcial de este documento sin el permiso escrito de Tralix México. Se encuentra estrictamente prohibida. Este documento puede incluir marcas y nombres comerciales para referirse a las entidades que son propietarias de los mismos o a sus productos Tralix México renuncia a cualquier interés sobre la propiedad de marcas y nombres comerciales que no sean los suyos. Tralix puede cambiar las especificaciones y capacidades del producto sin previo aviso.Observaciones.Copyright © 2024 Tralix México.Esta Documentación es de uso público para clientes de Misfacturas.net propiedad de Tralix México.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:, https: 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 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 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:, https: 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 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 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"}