Cómo utilizar la API HTTP para enviar correos electrónicos

Introduzca el envío de mensajes de correo electrónico y seguimiento sin códigos adicionales.

April 19 2017

Las tecnologías de comunicación han avanzado de tal manera que no basta con utilizar uno o dos canales. La realidad es que cada canal tiene sus propias ventajas e inconvenientes. Usted puede utilizar push para identificar y contactar a los usuarios en una ubicación específica. Los SMS pueden obtienen niveles de lectura. Facebook es interactivo y divertido. El correo electrónico respeta los horarios de los clientes.

En cualquier caso, el ecosistema centrado en el consumidor de hoy exige que usted adapte sus estrategias de comunicación a las necesidades del cliente. La mayoría de ellos ya cuenta con una plataforma de su elección. Ya están usando Gmail, Facebook Messenger o Viber y Outlook, además de una serie de aplicaciones. Lo importante es que están usando cada uno de estos canales para un propósito específico.

Por ejemplo, algunos utilizan Messenger para conversar en tiempo real, mientras que al mismo tiempo reciben boletines informativos de sus marcas favoritas a través de Gmail. Algunos prefieren ser contactados por SMS, ya que sigue siendo el canal de comunicación más fiable disponible. Otros prefieren recibir llamadas de voz para las alertas importantes. El punto es que su base de clientes es diversa según la elección del canal en la que quieran ser contactados.

¿Por qué el correo electrónico?

Debido a su naturaleza única, el correo electrónico es una parte esencial de las comunicaciones omnicanal. Es uno de los canales and más rentables y menos intrusivos, lo cual hace que sea una elección frecuente de parte de los usuarios cuando se vinculan con una marca. Ya mencionamos los boletines, pero hay otros casos para los que funciona el correo electrónico. Como para la verificación de cuentas o para restablecer contraseñas y recuperar cuentas.

Esta es la razón por la que el correo electrónico genera miles y miles de millones de mensajes al día. De acuerdo con Ericsson, con Ericsson, para 2020 el 70% de la población mundial estará utilizando Smartphones, y el 90% estará cubierto por redes móviles de banda ancha. Asimismo, es importante señalar que más del 50% de los emails son leídos en un dispositivo móvil en lugar de un equipo de escritorio, y las cifras siguen creciendo. Los usuarios podrán acceder a sus cuentas de correo electrónico en cualquier momento.

Nuestra API HTTP ofrece el envío de emails sencillos y completos. Usted podrá enviar correos electrónicos en formato HTML con archivos adjuntos y ver los informes de entrega y registro. Sin embargo, antes de empezar a enviar mensajes de correo electrónico, usted debe estar registrado con una cuenta de Infobip .

Cómo crear una cuenta?

Si ya está empleando alguno de los servicios de la API significa que ya tiene una cuenta de Infobip válida y que podrá emplear la misma cuenta para enviar e-mails.

Piense cuál será su dominio, la reputación del remitente de correo electrónico debe estar vinculada a su nombre de dominio, así como la dirección IP. El problema surge cuando existe la posibilidad de convertirse en un «mal remitente», lo cual puede afectar altamente su dominio. Una vez que usted se convierta en un mal remitente, tendrá dificultades para recuperar la confianza, así que tenga en cuenta si es buena idea separar los dominios según el tipo de mensaje que esté enviando.

Si no está seguro sobre su plan de dominio ahora mismo, no se preocupe. Puede utilizar nuestro dominio de prueba para probar el servicio y comenzar a usar su propio dominio luego. Sin embargo, después de que haya elegido su dominio preferido, puede ponerse en contacto con su gerente de cuenta para integrarlo con nuestra plataforma. Después de recibir instrucciones adicionales sobre la configuración de DNS y sobre cómo establecer un canal de comunicación adecuado entre su dominio y su plataforma, usted podrá dar los siguientes pasos y enviar correctamente un correo electrónico.

Para resolver cualquier otra pregunta, no dude en escribirnos a: support@infobip.com.

¡Vamos a enviar un correo electrónico!

Después de configurar la cuenta, usted ya está listo para comenzar a enviar mensajes de correo electrónico. Puede enviar un mensaje de correo electrónico sencillo o completo. Si decide enviar un correo electrónico simple, significa que usted estará enviando un mensaje de email simple a sólo una dirección de destino con una solicitud:


curl -s --user user:password \
https://api.infobip.com/email/1/send \
-F from='company@somecompany.com' \
-F to='john.smith@somedomain.com' \
-F subject='Mail subject text' \
-F text='Mail body text'

Por otro lado, usted puede enviar un email completo es decir un mensaje con archivos adjuntos que puede ser enviado a una o más direcciones de destino:

curl -s --user user:password \
https://api.infobip.com/email/1/send \
-F from='Jane Smith ' \
-F to='john.smith@somedomain.com' \
-F to='tom.smith@somedomain.com' \
-F subject='Mail subject text' \
-F text='Mail body text' \
--form-string html='<h1>Html body</h1><p>Rich HTML message body.</p>' \
-F attachment=@files/image1.jpg

Con respuesta:

{
 "messages": [
   {
     "to": "john.smith@somecompany.com",
     "messageCount": 1,
     "messageId": "9129e972-be85-49ed-b0e9-f51fbd2b27c0",
     "status": {
       "groupId": 1,
       "groupName": "PENDING",
       "id": 7,
       "name": "PENDING_ENROUTE",
       "description": "Message sent to next instance"
     }
   },
   {
     "to": "tom.smith@somecompany.com",
     "messageCount": 1,
     "messageId": "cd0c5682-42e2-481a-be95-15ed72450646",
     "status": {
       "groupId": 1,
       "groupName": "PENDING",
       "id": 7,
       "name": "PENDING_ENROUTE",
       "description": "Message sent to next instance"
     }
   }
 ]
}

Este es un ejemplo de un mensaje de correo electrónico con un archivo adjunto que se envía a dos direcciones de destino. Si desea enviar un mensaje de correo electrónico con más de un archivo adjunto, simplemente añada los parámetros para archivos adjuntos múltiples en la solicitud.

El encabezado de respuesta con el código de estado HTTP indicando el éxito de cada solicitud será 200 OK ay si intenta enviar un mensaje sin autorización, recibirá el error 401 Unauthorized.

Informes y registros de entrega de correo electrónico

Informes de entrega de emails

Después de que haya enviado un mensaje de correo electrónico, puede obtener un informe de entrega al instante. Los informes de entrega le confirman que el email enviado ha sido entregado correctamente. Sólo pueden ser recuperados una vez, así que una vez que recupere un informe de entrega no podrá obtener el mismo informe de nuevo.

Usted puede emplear parámetros para recibir los informes de entrega, pero también puede hacer una solicitud sin parámetros de consulta:


GET /email/1/reports HTTP/1.1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Accept: application/json

Resultado:

{
 "results": [
   {
     "messageId": "bbcc6960-1fcb-497c-b7ea-83ccba41492e",
     "to": "recipient@infobip.com",
     "sentAt": "2016-08-31T13:25:18.477+0000",
     "doneAt": "2016-08-31T13:25:50.893+0000",
     "messageCount": 1,
     "price": {
       "pricePerMessage": 0,
       "currency": "UNKNOWN"
     },
     "status": {
       "groupId": 3,
       "groupName": "DELIVERED",
       "id": 5,
       "name": "DELIVERED_TO_HANDSET",
       "description": "Message delivered to handset"
     },
     "error": {
       "groupId": 0,
       "groupName": "OK",
       "id": 0,
       "name": "NO_ERROR",
       "description": "No Error",
       "permanent": false
     },
     "channel": "EMAIL"
   }
 ]
}

Un informe de entrega sin ningún parámetro le dará información detallada acerca de los correos electrónicos enviados, incluyendo el estado de correo electrónico, ID del mensaje, fecha y hora de envío/recepción de mensajes de correo electrónico, información acerca de los errores que se han producido, etc.

Además, puede obtener informes de entrega utilizando messageID:

GET /email/1/reports?messageId=bbcc6960-1fcb-497c-b7ea-83ccba41492e HTTP/1.1

La otra posibilidad es obtener dos informes de entrega:

GET /email/1/reports?limit=2 HTTP/1.1

Ambas solicitudes proporcionan detalles del mensaje tal como una consulta sin parámetros. La diferencia es que la solicitud de messageID recupera información acerca de un mensaje determinado, y dos informes de entrega lo hacen sobre dos mensajes iniciales.

Registros de correo electrónico

Al igual que los informes de entrega, los registros de email pueden darle más información acerca de los mensajes enviados. La principal diferencia es que los registros están disponibles para las últimas 48hrs,disponibles para las últimas 48h, pueden ser solicitados tantas veces como desee y puede ver el resultado para sus mensajes independientemente de su estado actual:

Resultado:

{
 "results": [
   {
     "messageId": "64c98929-f160-4e2c-b156-ca88cc733547",
     "to": "recipient@infobip.com",
     "from": "sender@infobip.com",
     "text": "Test text",
     "sentAt": "2016-09-01T10:29:00.440+0000",
     "doneAt": "2016-09-01T10:29:01.130+0000",
     "price": {
       "pricePerMessage": 0.0005,
       "currency": "EUR"
     },
     "status": {
       "groupId": 3,
       "groupName": "DELIVERED",
       "id": 5,
       "name": "DELIVERED_TO_HANDSET",
       "description": "Message delivered to handset"
     },
     "channel": "EMAIL"
   }
 ]
}

La respuesta contiene información acerca de todos los correos electrónicos que fueron enviados a través de la plataforma de Infobip en las últimas 48h. Ninguna de las búsquedas es obligatoria para este tipo de solicitud, pero si usted necesita encontrar un mensaje en especial puede emplear parámetros para filtrarlos.

Por ejemplo, los registros pueden ser recuperados por medio de sólo un messageID, o, en este caso, por varios:

GET /email/1/logs?messageId=64c98929-f160-4e2c-b156-ca88cc733547,60d586a1-6448-4c5f-860d-be3ddbea16da HTTP/1.1

Además, la combinación de parámetros le ayudará a filtrar los mensajes con más precisión:


GET /email/1/logs?sentSince=2016-08-22T17:42:05.390%2b01:00&generalStatus=DELIVERED HTTP/1.1

Esta solicitud tiene dos filtros (parámetros) – sentSince y generalStatus, los cuales serían identificados como un único parámetro, y la respuesta contendría el registro de mensajes con todos los correos electrónicos enviados y entregados desde la fecha de la solicitud.

El código de estado sería el mismo que el de los mensajes enviados; el encabezado con la respuesta del código de estado HTTP será 200 OK si tiene éxito y los registros de mensajes o los informes de entrega serán producidos, pero si intenta enviar el mensaje sin autorización, recibirá una respuesta con el código de estado HTTP401 Unauthorized.

Este post debería ayudarle con la integración de la API HTTP. Si necesita recibir cualquier otra ayuda, visite nuestro sitio para desarrolladores..

EMPIECE A ENVIAR CORREOS ELECTRÓNICOS HOY!

¡Obtenga más información!