Enpoint:

POST https://e-api.massend.com/api/transaccionales

 

Headers

 

  • user: email de la cuenta API

  • clave: contraseña de la cuenta API

 

Body form-data mínimo

 

  • para

  • asunto

  • contenidoHTML

 

Ejemplo cURL

 

curl -X POST "https://e-api.massend.com/api/transaccionales" \
  -H "user: tu-email@example.com" \
  -H "clave: tu-clave" \
  -F "para=destinatario@dominio.com" \
  -F "asunto=Confirmación de compra" \
  -F "contenidoHTML=<h2>Gracias por tu compra</h2><p>Tu orden fue recibida.</p>"

 

Ejemplo Postman

 

Headers

 

  • user: tu-email@example.com

  • clave: tu-clave

 

 

Body form-data

 

  • para: destinatario@dominio.com

  • asunto: Confirmación de compra

  • contenidoHTML: <h2>Gracias</h2><p>Tu orden fue recibida.</p>

 

 


 

 

POST /api/transaccionales — Enviar correo transaccional

 

 

Envía correos uno a uno en HTML. Permite adjuntos. Los envíos se registran en base de datos.

 

 

Endpoint

 

 

POST https://e-api.massend.com/api/transaccionales

 

 

Autenticación

 

Header

Tipo

Descripción

user

string

Email del usuario autenticado.

clave

string

Contraseña del usuario autenticado.

 

Body form-data

 

 

 

Campos requeridos

 

Campo

Tipo

Requerido

Descripción

para

string

Dirección de correo del destinatario.

asunto

string

Asunto del correo.

contenidoHTML

string

Contenido del correo en HTML.

 

Campos opcionales

 

Campo

Tipo

Descripción

dni

string

Identificación del destinatario.

eremitente

string

Correo del remitente. Si no se envía, se usa el de la cuenta API.

nremitente

string

Nombre del remitente. Si no se envía, se usa el de la cuenta API.

eresponder

string

Reply-To. Si no se envía, se usa eremitente. Si no existe, se usa user.

nresponder

string

Nombre del Reply-To. Si no se envía, se usa nremitente. Si no existe, se usa el nombre de la cuenta API.

cc

string

Correos en copia separados por coma.

bcc

string

Correos en copia oculta separados por coma.

 

Adjuntos

 

Campo

Tipo

Descripción

file[]

file

Adjuntos múltiples. Límite total 3 MB sumando todos los archivos.

 

Ejemplos

 

 

 

cURL con remitente, cc y bcc

 

curl -X POST "https://e-api.massend.com/api/transaccionales" \
  -H "user: tu-email@example.com" \
  -H "clave: tu-clave" \
  -F "para=destinatario@dominio.com" \
  -F "asunto=Seguimiento" \
  -F "contenidoHTML=<p>Hola, te escribo para...</p>" \
  -F "eremitente=ventas@dominio.com" \
  -F "nremitente=Equipo Ventas" \
  -F "cc=cc1@dominio.com,cc2@dominio.com" \
  -F "bcc=bcc1@dominio.com"

 

cURL con adjuntos

 

curl -X POST "https://e-api.massend.com/api/transaccionales" \
  -H "user: tu-email@example.com" \
  -H "clave: tu-clave" \
  -F "para=destinatario@dominio.com" \
  -F "asunto=Documentos" \
  -F "contenidoHTML=<p>Adjunto encontrarás los documentos.</p>" \
  -F "file[]=@/ruta/al/archivo1.pdf" \
  -F "file[]=@/ruta/al/archivo2.jpg"

 

Respuesta exitosa

 

{
  "message": "Correo transaccional enviado correctamente",
  "TransactionID": "a719da42-9d39-0156-e042-0f98471ba1d5",
  "MessageID": ""
}

 

Errores

 

 

 

Formato

 

 

  • Error único: error

  • Varios errores: errors

 

 

 

400 Unauthorized

 

{ "error": "Faltan los headers de autenticación" }

 

401 Unauthorized

 

{ "error": "Credenciales incorrectas" }

 

422 Unprocessable Entity, faltan campos requeridos

 

{
  "errors": {
    "para": ["El campo para es obligatorio."],
    "asunto": ["El campo asunto es obligatorio."],
    "contenidoHTML": ["El campo contenidoHTML es obligatorio."],
    "dni": ["El campo dni es obligatorio."]
  }
}

 

422 Unprocessable Entity, valores inválidos

 

{
  "errors": {
    "para": ["El campo para debe ser una dirección de correo válida."],
    "cc": ["El campo cc debe contener direcciones de correo válidas separadas por coma."],
    "bcc": ["El campo bcc debe contener direcciones de correo válidas separadas por coma."]
  }
}

 

422 Unprocessable Entity, adjuntos inválidos

 

{
  "errors": {
    "file.0": ["El archivo 0 debe ser un archivo válido."],
    "file.1": ["El archivo 1 debe ser un archivo válido."]
  }
}

 

429 Too Many Requests

 

{ "error": "Has superado el límite de solicitudes permitidas. Intenta de nuevo más tarde." }

 

500 Internal Server Error

 

{ "error": "Ocurrió un error inesperado. Por favor, intente nuevamente más tarde." }

 

404 Not Found

 

{ "error": "Recurso no encontrado." }

 


 

 

POST /api/campaigns — Crear campaña

 

 

Crea la campaña, registra en base de datos y envía correos.

 

 

Endpoint

 

 

POST https://e-api.massend.com/api/campaigns

 

 

Headers

 

 

  • user: email del usuario autenticado

  • clave: contraseña del usuario autenticado

 

 

 

Body form-data

 

Campo

Tipo

Requerido

Descripción

asunto

string

Asunto de la campaña.

contenidoHTML

string

Contenido del correo en HTML con variables como {nombre}.

generales

JSON

 

Campos generales aplicados a toda la campaña.

destinatarios

JSON

Lista de destinatarios con campos personalizados.

file[]

file

 

Adjuntos múltiples.

 

Formato de generales

 

{ "motivo": "Promoción de prueba" }

 

Formato de destinatarios

 

[
  {
    "email": "email1@dominio.com",
    "dni": "9999999999",
    "campos": { "nombre": "Nombre 1", "ciudad": "Guayaquil" }
  },
  {
    "email": "email2@dominio.com",
    "dni": "9999999999999",
    "campos": { "nombre": "Nombre 2", "ciudad": "Cuenca" }
  }
]

 

Ejemplo cURL

 

curl -X POST https://e-api.massend.com/api/campaigns \
  -H "user: tu-email@example.com" \
  -H "clave: tu-contraseña" \
  -F "asunto=Promoción Especial" \
  -F "contenidoHTML=Hola {nombre}, aprovecha esta promoción" \
  -F "generales={\"motivo\": \"Promoción de fin de año\"}" \
  -F "destinatarios=[{\"email\":\"cliente1@dominio.com\",\"dni\":\"9999999999\",\"campos\":{\"nombre\":\"Cliente 1\",\"ciudad\":\"Guayaquil\"}}]" \
  -F "file[]=@/ruta/al/archivo1.pdf" \
  -F "file[]=@/ruta/al/archivo2.jpg"

 

Respuesta exitosa

 

{
  "message": "Campaña enviada y actualizada exitosamente",
  "response": {
    "TransactionID": "a719da42-9d39-0156-e042-0f98471ba1d5",
    "MessageID": ""
  }
}

 

Errores comunes

 

 

  • 400 faltan headers

  • 401 credenciales incorrectas

  • 422 validación

  • 500 error interno

 

¿Le ha resultado útil esta respuesta? 5 Los usuarios encontraron esto útil (5 Votos)

Powered by WHMCompleteSolution