Dev Life

Cómo probar las API de email de Sinch Mailgun con Postman

Sinch Mailgun es un servicio de envío de emails orientado a profesionales del desarrollo que ofrece una API RESTful para enviar, recibir y hacer el seguimiento de mensajes a gran escala. Para experimentar con estos puntos de conexión o solucionar problemas de una integración sin necesidad de programación, puedes utilizar Postman, una popular herramienta de pruebas […]
Imagen para Cómo probar las API de email de Sinch Mailgun con Postman

Sinch Mailgun es un servicio de envío de emails orientado a profesionales del desarrollo que ofrece una API RESTful para enviar, recibir y hacer el seguimiento de mensajes a gran escala. Para experimentar con estos puntos de conexión o solucionar problemas de una integración sin necesidad de programación, puedes utilizar Postman, una popular herramienta de pruebas de API. Hace poco, en otro artículo, explicamos cómo integrar Sinch Mailgun con Postman. En este artículo, nos centraremos más en su uso.


Postman ofrece una forma rápida y visual de experimentar con las API. Esto la hace ideal para depurar y aprender, o para validar credenciales sin tener que escribir código. En esta guía, utilizarás Postman para probar y solucionar problemas de la API de email de Sinch Mailgun.

Requisitos previos

Antes de empezar, necesitas lo siguiente:

Una cuenta de Sinch Mailgun: necesitas un dominio activo, o puedes usar el dominio sandbox. También necesitas una clave de API.
La aplicación Postman: Descargar e instala la aplicación Postman. Tener conocimientos básicos de solicitudes y entornos es útil, pero no obligatorio.

Configuración de Postman

Para empezar, importa la colección y el entorno de Sinch Mailgun y así podrás empezar a hacer pruebas de inmediato. En Postman, haz clic en el botón “Import” y utiliza el enlace de la colección para añadir la colección de Sinch Mailgun:


Importing the Sinch Mailgun collection


Como alternativa, bifurca la API de Sinch Mailgun desde la red pública de API. Asegúrate de incluir el entorno de Sinch Mailgun correspondiente:
Bifurcación de la colección de Sinch Mailgun e importación del entorno


A continuación, debes configurar las variables de entorno. Abre el entorno de Sinch Mailgun seleccionando el icono del engranaje y, a continuación, Manage Environments > Mailgun. Introduce tus datos exactamente como se muestra a continuación:

VARIABLEDESCRIPCIÓN
API_KEYTu clave de API de Sinch Mailgun)
BASE_URLhttps://api.mailgun.net/v3 (EE. UU.) o https://api.eu.mailgun.net/v3 (UE)
mydomainTu dominio o dominio de pruebas (por ejemplo, sandbox12345.mailgun.org)
token
Déjalo vacío. La colección lo utiliza para generar la autenticación Basic automáticamente.


Deja token en blanco. La colección lo genera automáticamente a partir de tu API_KEY mediante un script previo a la solicitud y se encarga de la autenticación por ti. Asegúrate de seleccionar Sinch Mailgun en el menú desplegable del entorno:
Variables de entorno de Sinch Mailgun


Para verificar la configuración, en la carpeta Domains de la colección, abre Get domains y haz clic en Send. Una respuesta correcta tendrá este aspecto:

                                

                                    {
  "total_count": 1,
  "items": [
    {
      "created_at": "Sat, 06 Jan 2024 10:27:15 GMT",
      "id": "65992b03de",
      "is_disabled": false,
      "name": "sandbox93abbcf3db544a.mailgun.org",
      "state": "active"
    }
  ]
}
                                
                            


Si ves esto, tu entorno de Postman está listo. Si no es así, comprueba de nuevo tu clave de API y el valor de mydomain.

Pruebas de las API de Sinch Mailgun con Postman


Ahora que lo tienes todo configurado, vamos a explorar algunos escenarios comunes de la API de Sinch Mailgun. Trataremos algunos aspectos básicos, como el envío de un email y la recuperación de listas de correo. A continuación, aprenderás a validar direcciones de email y a obtener registros de eventos.

Envío de un mensaje con Sinch Mailgun

Probar la entrega de emails confirma que tu clave de API y tu dominio están configurados correctamente. En la colección de la API de Sinch Mailgun de Postman, abre la solicitud Send message dentro de Messages.

Configuración de la URL y la autenticación


La solicitud utiliza tus variables de entorno para formar la URL:
POST https://api.mailgun.net/v3/{{mydomain}}/messages
Postman incluye un encabezado Authorization: Basic {{token}}. Esto codifica tu clave de API.
Para definir los datos del formulario, cambia a la pestaña Body y elige form-data. Como mínimo, necesitas lo siguiente:
from=postmaster@{{mydomain}}

to=tuemail@example.com

subject=Hola desde Mailgun a través de Postman

text=Este es un email de prueba enviado usando Postman


A Postman screenshot for sending a successful email


Estos campos garantizan que el mensaje esté dirigido correctamente, contenga contenido y confirman que tu dominio y clave de API están bien configurados. Si utilizas un dominio de pruebas, la dirección to debe estar autorizada en tu panel de control de Sinch Mailgun. Para hacer una prueba sin entrega real, añade lo siguiente:
o:testmode=yes
Ahora, haz clic en Send. Una respuesta correcta tendrá este aspecto:
{ "id": "", "message": "Queued. Muchas gracias". }
El id es el identificador de tu mensaje. Puedes utilizar este ID con la Events API para rastrear el estado de la entrega.

Recuperación de listas de correo con Postman

Sinch Mailgun te permite agrupar a los destinatarios en direcciones de listas de correo, como newsletter@tudominio.com. Puedes usar Postman para confirmar tus listas y sus miembros.
Para ver todas las listas de correo, abre Get mailing lists en la carpeta Mailing Lists y envía una solicitud GET a lo siguiente:
{{BASE_URL}}/lists
Una respuesta válida es así:

                                

                                    {
  "total_count": 1,
  "items": [
    {
      "address": "developers@mydomain.net",
      "name": "Developers",
      "description": "Describe the mailing list",
      "access_level": "readonly",
      "members_count": 2,
      "created_at": "Tue, 25 June 2025 20:50:27 -0000"
    }
  ]
}
                                
                            


La matriz items contiene la dirección de email de cada lista, el nombre, el nivel de acceso y el recuento de suscriptores. Una matriz vacía indica que no hay listas de correo. Tienes más información sobre este punto de conexión en la documentación de la API de Sinch Mailgun.
Para ver los miembros de una lista de correo concreta, duplica la solicitud anterior en Postman o usa Get list members. A continuación, ajusta la URL a lo siguiente:
{{BASE_URL}}/lists/newsletter@tudominio.com/members
Esto devuelve una respuesta que muestra la dirección de email de cada miembro y su estado de suscripción:

                                

                                    {
  "total_count": 2,
  "items": [
    {
      "address": "user1@example.com",
      "name": "User One",
      "subscribed": true
    },
    {
      "address": "user2@example.com",
      "name": "User Two",
      "subscribed": true
    }
  ]
}
                                
                            


Esto verifica que tus listas de correo y suscriptores estén configurados correctamente y, a su vez, ayuda a confirmar que las listas se rellenan antes de enviar campañas.

Validación de direcciones de email con Postman


Sinch Mailgun API de validación de emails te permite comprobar si una dirección es real antes de enviarle un email. Esto reduce los rebotes y mantiene tus listas limpias. En esta sección, te centrarás en la validación de una sola dirección, pero también es posible hacer una validación de emails masiva subiendo un archivo CSV o JSON.
Para crear la solicitud, inicia una nueva solicitud GET en Postman e introduce lo siguiente:
https://api.mailgun.net/v4/address/validate?address=test@example.com


Haz clic en Send. Si la dirección es válida, verás lo siguiente:

                                

                                    {
  "address": "existingemail@realdomain.com",
  "is_disposable_address": false,
  "is_role_address": false,
  "reason": [],
  "result": "deliverable",
  "risk": "low"
}
                                
                            
                                

                                    echo "test";
                                
                            


Si el buzón no existe, verás lo siguiente:

                                

                                    {
  "address": "nonexistentemail@realdomain.com",
  "is_disposable_address": false,
  "is_role_address": false,
  "reason": ["mailbox_does_not_exist"],
  "result": "undeliverable",
  "risk": "high"
}

                                
                            


El campo result muestra si Sinch Mailgun considera que la dirección es entregable. La matriz reason explica los errores y los riesgos, y te ayuda a filtrar los emails no válidos para reducir las tasas de rebote.
Para comprobar varias direcciones a la vez, Sinch Mailgun cuenta con un punto de conexión de validación de emails masiva que admite la carga de un archivo CSV o JSON; consulta la documentación oficial para obtener más información.

Obtención de registros de eventos con Postman


Tras enviar un email, puedes confirmar qué ha pasado. Sinch Mailgun Events API te ayuda a hacer un seguimiento de cómo se procesó el mensaje. Puedes usarlo para ver si un email ha sido accepted, delivered, opened, bounced o rejected.
Abre Get Events en la carpeta Events. Asegúrate de que tu entorno de Sinch Mailgun esté activo y haz clic en Send. El punto de conexión de la solicitud debería ser parecido a este:
GET /v3/{{mydomain}}/events
La respuesta contiene una matriz items de objetos de eventos. Cada elemento de la matriz items contiene información sobre un evento concreto. A continuación, te mostramos un ejemplo de un evento rechazado desde un dominio de pruebas:

                                

                                    {
  "event": "rejected",
  "id": "OMTXD3-sSmKIQa1gSKkYVA",
  "reject": {
    "reason": "Sandbox subdomains are for test purposes only. Please add your own domain...",
    "description": ""
  },
  "message": {
    "headers": {
      "to": "joan@example.org",
      "from": "john@sandbox12345.mailgun.org",
      "subject": "Test Subject",
      "message-id": "20180622220256.1.B31A451A2E5422BB@sandbox12345.mailgun.org"
    },
  }
}
                                
                            


Esta respuesta muestra que el mensaje fue rechazado porque se envió a un destinatario no autorizado utilizando un dominio de pruebas. También verás otros eventos:
"accepted": Sinch Mailgun ha recibido el mensaje y lo ha puesto en cola.
"delivered": el mensaje se entregó al servidor del destinatario.
"failed": se produjo un error en la entrega debido a un fallo del servidor, un problema de DNS u otra incidencia.
"opened": el cliente de email del destinatario activó el píxel de seguimiento invisible de Sinch Mailgun.
"bounced": el servidor del destinatario rechazó el mensaje. Comprueba el campo severity para distinguir los rebotes suaves (temporales) de los duros (permanentes).

Encontrarás más información en la documentación de referencia de eventos de Sinch Mailgun.

Para que los eventos sean más fáciles de inspeccionar, puedes filtrarlos. Postman te permite añadir parámetros de consulta en la pestaña Params. Aquí tienes algunas opciones útiles:
event=delivered devuelve únicamente los mensajes entregados.
message-id= filtra por un mensaje concreto. Puedes encontrar este ID en la respuesta de la solicitud Send message.

Por ejemplo, después de enviar un email de prueba, copia su id de la respuesta de envío. A continuación, filtra los eventos así:
GET /v3/{{mydomain}}/events?message-id=
Estos pasos te ayudarán a hacer un seguimiento del estado de cada mensaje. Para ver una lista completa de los tipos de eventos y campos, consulta la documentación de referencia de eventos de Sinch Mailgun. Estas analíticas son especialmente importantes cuando se utilizan soluciones de envío masivo de email como Sinch Mailgun, ya que ayudan a controlar la entregabilidad y a identificar los problemas a tiempo. Esto es fundamental para garantizar que tu dominio mantenga una buena reputación como remitente.

Aviso importante sobre desuso: el punto de conexión /events se está retirando para dejar paso a la nueva Logs API. Aunque la API actual sigue operativa, es posible que se elimine en futuras versiones. La Logs API sigue una estructura similar y se puede probar de la misma manera.

Automatización y creación de scripts de prueba en Postman


Hasta ahora, has utilizado Postman para probar la API de Sinch Mailgun de forma manual. Esto resulta útil para hacer comprobaciones rápidas, pero Postman también permite la automatización utilizando scripts de prueba basados en JavaScript. Se ejecutan después de cada solicitud y pueden utilizarse para validar respuestas o pasar valores entre solicitudes. Postman incluye Chai para el estilo BDD aserciones.
Esta función te permite crear conjuntos de pruebas que se comportan como flujos de trabajo de QA ligeros. La automatización de las pruebas ayuda a validar los flujos de trabajo de email sin requerir ningún esfuerzo manual.

Adición de aserciones automatizadas


Si quieres probar el punto de conexión «Send message», puedes utilizar la pestaña «Scripts» de Postman para verificar que la solicitud se ha realizado correctamente:
Pruebas y resultados


Añade el siguiente script en la pestaña «Scripts»:
pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); pm.test("Sinch Mailgun queued the message successfully", function () { const resData = pm.response.json(); pm.expect(resData.message).to.eql("Queued. Thank you."); });

Este script comprueba si el estado HTTP es correcto y confirma que la respuesta de Sinch Mailgun contiene el mensaje esperado. Si alguna de las pruebas falla, Postman marcará la solicitud como fallida en el panel de resultados de las pruebas.

Transferencia de datos entre solicitudes

Puedes encadenar solicitudes guardando los valores de una respuesta y reutilizándolos en otra. Por ejemplo, después de enviar un email, es posible que quieras capturar su id y utilizarlo para consultar la Events API.
En la solicitud «Send Message», en la pestaña «Tests», añade lo siguiente:
const resData = pm.response.json(); pm.environment.set("sent_message_id", resData.id);
Ahora, en la solicitud «Get Events», añade un parámetro de consulta:
message-id={{sent_message_id}}
Cuando ejecutes la colección, Postman sustituirá automáticamente el ID del mensaje guardado. También puedes añadir pruebas para verificar la respuesta:
pm.test("At least one event is present for the sent message", function () { const events = pm.response.json().items; pm.expect(events.length).to.be.above(0); });
Este flujo de trabajo es especialmente útil para comprobar los resultados de la entrega durante las pruebas de regresión.

Cuándo utilizar los scripts de Postman

Los scripts de Postman convierten tus pruebas manuales en flujos de trabajo repetibles sin necesidad de tener un sistema CI completo. Al escribir aserciones en la pestaña «Scripts», puedes verificar las respuestas de forma automática y pasar datos de una solicitud a otra.
Cuando estés listo para automatizar, exporta la colección y ejecútala con la Newman CLI como parte de una compilación sencilla o una prueba de humo. Esta configuración es ideal para los controles de calidad iniciales, la creación rápida de prototipos y para compartir comprobaciones de API con tu equipo. Para ver más ejemplos y patrones de scripts, consulta la guía de ejemplos de pruebas de Postman.

Solución de problemas comunes

Hacer pruebas de Sinch Mailgun en Postman a veces puede producir errores. Aquí tienes una lista resumida de los problemas más comunes y cómo solucionarlos:


Errores de autenticación 401/403: comprueba que estés usando la clave de API privada y no la clave de validación pública. Postman debería estar utilizando la autenticación HTTP Basic con api como nombre de usuario y tu clave como contraseña. Si tienes dudas, vuelve a copiarla desde tu panel de control de Sinch Mailgun.


400 Bad Request: este problema suele significar que falta un parámetro o es incorrecto. Sinch Mailgun a menudo te indica lo que ha fallado en la respuesta. Comprueba de nuevo los campos obligatorios, como to, from y subject, y asegúrate de que no haya errores tipográficos.


404 Not Found: este error se debe muy probablemente a que falta el dominio o es incorrecto en la URL (por ejemplo, {{mydomain}} está en blanco o es incorrecto). También existe la posibilidad de que hayas realizado una solicitud a un punto de conexión de API no válido. Asegúrate de comprobar que el punto de conexión y tu variable de entorno coinciden con un dominio válido de tu cuenta de Sinch Mailgun.


429 Too Many Requests: estás alcanzando un límite de frecuencia. Reduce la velocidad de tus solicitudes o espera a que se restablezca tu cuota. Las cuentas gratuitas o no verificadas tienen límites más bajos, sobre todo en la validación y el envío. La limitación de velocidad (también conocida como bloqueo) ayuda a prevenir abusos y garantiza un uso equitativo de los recursos para toda la base de usuarios. Sinch Mailgun lo aplica para mantener la fiabilidad del servicio.


5xx Server Errors: son problemas por parte de Sinch Mailgun. Espera y vuelve a intentarlo más tarde. Si el problema persiste, comprueba la página de estado de Sinch Mailgun o ponte en contacto con asistencia.

Lectura de respuestas: las respuestas JSON de Sinch Mailgun pueden ser extensas. Utiliza la vista «raw» o «Pretty» de Postman para explorar los campos más anidados. También puedes utilizar console.log() en la pestaña «Tests» para inspeccionar los datos, así:
const events = pm.response.json().items; events.forEach((e) => console.log(e.event));
En caso de duda, busca el mensaje de error exacto en la documentación o en los foros de Sinch Mailgun. Sus códigos de error son descriptivos y la solución suele estar a un solo clic.

En resumen


Postman ofrece una forma práctica de interactuar con la API de Sinch Mailgun. En esta guía, has visto algunos de los usos más comunes: envío de emails, recuperación de listas de correo, validación de direcciones de email e inspección de eventos.
Para los equipos de ingeniería y control de calidad, Postman es una herramienta de diagnóstico fiable que facilita la comprobación de credenciales y la reproducción del comportamiento de producción. Sus funciones de scripts y su compatibilidad con entornos flexibles se integran a la perfección en los flujos de trabajo existentes. Puedes usarla para confirmar los detalles de integración antes de un despliegue, y de nuevo cuando las cosas vayan mal. Es una forma rápida y fiable de mantener el control de tus flujos de trabajo de email.

¡Mantenme informado/a! Recibe excelentes recursos en tu bandeja de entrada cada semana.
Envíame la newsletter de Mailgun. Acepto expresamente recibir la newsletter y sé que puedo darme de baja fácilmente en cualquier momento.

¡Revisa mensualmente tu bandeja de entrada para recibir la newsletter de Mailgun!