Probar una campaña

POST /api/v1/campaigns/{campaignId}/test-send Envía un correo (la campaña exactamente como está escrita) a la dirección que elijas, para que una persona pueda comprobar la llegada a la bandeja y el renderizado antes del envío real. Es la cara API del botón «Enviar una prueba».
json
{"success": true, "data": {"campaignId": "…", "email": "you@example.com", "status": "test_sent"}}
Una prueba consume un envío real. Sale por el mismo camino que una campaña (misma identidad de remitente, mismo conjunto de configuración, mismo asunto y HTML, sin prefijo [TEST]) y cuenta para la cuota de envío de 24 h. A diferencia de POST /api/v1/render, este endpoint no es gratuito para llamarlo en bucle.
Lo que escribe una prueba: nada. No se crea ninguna fila de envío, así que los contadores de la campaña, su estado y sus estadísticas quedan intactos. De ahí se derivan dos consecuencias, y son la razón por la que el endpoint es honesto sobre sus límites:
En un envío realEn una prueba
Píxel de seguimiento de aperturasAusente: el píxel se asocia a una fila de envío
Enlaces reescritos para los clicsNo reescritos: el seguimiento de clics se asocia a una fila de envío
Etiquetas de combinación por destinatarioDatos de ejemplo de la vista previa, los mismos que muestra el panel de vista previa
Enlace de bajaUn enlace de vista previa que no da de baja a nadie
Esa última fila importa: la página de baja da de baja al cargarse. Una prueba que llevara el token de un contacto real daría de baja a ese contacto al primer clic, incluido el preclic de un filtro antispam. Por eso una prueba lleva siempre el enlace de vista previa inerte, en el cuerpo y en la cabecera List-Unsubscribe.
CondiciónRespuesta
draft o scheduled, todo permitido200: la prueba se envió
email ausente o mal formado400: no se envió nada
sin enlace de baja en el contenido400: misma comprobación que /render, no se envió nada
envío masivo desactivado en toda la cuenta409: no se envió nada
organización sin permiso para enviar409: no se envió nada
dirección en la lista de supresión de la organización409: no se envió nada
campaña sending, sent o failed409: una prueba es para una campaña en preparación
más de 10 pruebas en la última hora, mismo usuario409: el límite se comparte con la interfaz
campaña desconocida, o de otra organización404
El límite lo lleva el usuario detrás de la clave, no el endpoint. Diez pruebas por hora, compartidas con el botón «Enviar una prueba» de la app: llamar a la API no es una forma de saltarse el presupuesto de la interfaz.

Autorización

Rol en la organizaciónEste endpoint
OWNERPermitido
ADMINPermitido
MEMBERRechazado — 403
Una clave lleva el rol que su creador tiene en esta organización, nunca un rol en AgentsMail en sí. Consulta Claves de API.

Ejemplo

bash
curl -X POST -H "x-api-key: $AGENTMAIL_API_KEY" -H "content-type: application/json" \
  "https://www.agentsmail.io/api/v1/campaigns/$CAMPAIGN_ID/test-send" \
  -d '{ "email": "you@example.com" }'

Respuesta

  • 200 OK: la llamada tuvo éxito.
  • 401 Unauthorized: clave ausente o no válida, o su propietario dejó la organización.
  • 403 Forbidden: el propietario de la clave es member de la organización, no admin.
  • 404 Not Found: no existe ese recurso, o pertenece a otra organización. La API nunca confirma que un id existe a quien no tiene derecho sobre él.
  • 429 Too Many Requests: más de 120 solicitudes en un minuto para esta clave.

Campos de la respuesta

CampoTipoDescripción
successbooleanIndica si la operación tuvo éxito
data.statusstringsent, o el motivo por el que no salió

Ejemplo de respuesta

json
{
  "success": true,
  "data": {
    "status": "subscribed"
  }
}

Relacionado