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 |
Sistema lógico que se requiere para recibir rebotes y quejas relacionadas con mensajes salientes. |
*************** startTimeUTC |
Requerido |
Timestamp to begin with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS |
endTimeUTC |
Requerido |
Timestamp to end with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS |
ó | ||
startTime |
Requerido |
Timestamp to begin with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS |
endTime |
Requerido |
Timestamp to end with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS |
tz *************** |
Requerido |
Timezone for parameters startTime and 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 |
Logical system that is required to get bounces and complaints related to outbound messages) |
campaignId | Requerido |
(Identificador de campaña a la que pertenece el correo electrónico. |
******************* startTimeUTC |
Requerido |
(Timestamp to begin with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS) |
endTimeUTC | Requerido |
(Timestamp to end with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS) |
ó |
||
startTime | Requerido |
(Timestamp to begin with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS) |
endTime | Requerido |
(Timestamp to end with query collected bounces on ESP side. Format: YYYYMMDDHHMMSS) |
tz ******************* |
Requerido | (Timezone for parameters startTime and endTime) |
Parámetros opcionales | ||
page | Opcional | (Indicates the result page in case of multiple pages. Possible values are 0 to 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 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 de rebotes recopilados en UTC en el lado ESP. (Formato: YYYYMMDDHHMMSS). |
endTimeUTC |
Requerido |
Fecha final para la consulta de rebotes recopilados en UTC en el lado ESP. (Formato: YYYYMMDDHHMMSS). |
ó |
|
|
startTime |
Requerido |
Marca de tiempo para comenzar 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". |
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"}
No Comments