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

  • 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").

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 temporal
400 -  { "errorCategory":"Retriable"
             "errorText":"Servicio temporalmente inaccesible"}

Response 500:

Error fatal
500 -  { "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

  • 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".

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 fatal
500 -  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 

  • 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 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 temporal
403 - Forbidden ({"errorText":"CredentialsRejected","errorCategory":"Permanent"})
400 -  { "errorCategory":"Retriable"
             "errorText":"Servicio temporalmente inaccesible"}

Response 500:

Error fatal
500 -  Internal Server Error
500 -  { "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 

  • 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.

  • 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.

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"}

 

 

No Comments
Back to top