RECURSOS
Ocho recursos. Más de cuarenta endpoints. Cada verbo que cabría esperar.
Todos los endpoints de abajo están bajo el namespace /api/v1/ y requieren autenticación por token auth:api salvo que se indique lo contrario. Las acciones del ciclo de vida (run, pause, resume) se exponen como subrutas POST. Las descargas de log envían en streaming el CSV subyacente.
Autenticación
Todos los endpoints autenticados aceptan el token vía la cabecera Authorization: Bearer (preferido) o el parámetro de consulta ?api_token= (legacy). Use POST /user/login para intercambiar email + contraseña por un token fresco desde un cliente programático.
POST/user/loginIntercambie email + contraseña por un token de API. Endpoint público.
GET/meDevuelve el registro del usuario autenticado. Úselo para verificar un token.
POST/login-tokenGenere una URL de inicio de sesión de un solo uso en la que el usuario puede hacer clic para entrar autenticado.
Listas
Las listas de correo son el contenedor principal para los suscriptores. Cada lista viene con una identidad de remitente por defecto, campos personalizados y ajustes de doble opt-in / email de bienvenida. Los campos personalizados se añaden con la subruta add-field.
GET/listsÍndice paginado de listas propiedad del usuario del token.
POST/listsCree una lista nueva. Obligatorios: name, from_email, from_name, subject + bloque de contacto.
GET/lists/:uidObtenga una sola lista con sus campos y estadísticas.
PATCH/lists/:uidActualice los metadatos de la lista, la identidad del remitente o los ajustes de opt-in.
POST/lists/:uid/add-fieldAñada un campo personalizado. El tipo es text, number o datetime.
DELETE/lists/:uidElimine permanentemente una lista y todos sus suscriptores.
Suscriptores
Los suscriptores pertenecen a una lista y llevan valores de campos personalizados, etiquetas e historial de aperturas/clics. El estado es uno de subscribed, unsubscribed o unconfirmed. Las operaciones de etiqueta son aditivas e idempotentes.
GET/subscribers?list_uid=…Índice paginado. Filtre con open=yes|no, click=yes|no.
POST/subscribersCree. Obligatorios: list_uid, EMAIL. Los campos personalizados como parámetros en mayúsculas.
GET/subscribers/:idObtenga un solo suscriptor por id o email.
GET/subscribers/email/:emailEncuentre cada lista que tiene un suscriptor con este email.
PATCH/subscribers/:idActualice campos, etiquetas o estado.
POST/subscribers/:id/add-tagAñada etiquetas separadas por comas.
POST/subscribers/:id/remove-tagQuite etiquetas separadas por comas.
PATCH/lists/:list_uid/subscribers/:id/subscribeMarque como subscribed.
PATCH/lists/:list_uid/subscribers/:id/unsubscribeMarque como unsubscribed.
PATCH/lists/:list_uid/subscribers/email/:email/unsubscribeDé de baja por email cuando no tenga el id.
DELETE/subscribers/:idBorrado duro de la lista.
Campañas
Las campañas son la unidad de envío. Cree una con contenido HTML + flags de seguimiento, hágala transitar a run / pause / resume y luego descargue como CSV los logs de seguimiento, aperturas, clics, rebotes, feedback y bajas.
GET/campaignsÍndice paginado. Pase per_page, page.
POST/campaignsCree. Obligatorios: list_uid, name, subject, from_*, html.
GET/campaigns/:uidObtenga una sola campaña con estadísticas.
PATCH/campaigns/:uidActualice contenido, asunto o flags de seguimiento.
POST/campaigns/:uid/runEncole la campaña para entrega.
POST/campaigns/:uid/pausePause una campaña en curso.
POST/campaigns/:uid/resumeReanude una campaña en pausa.
GET/campaigns/:uid/tracking-log/downloadStremee el CSV de seguimiento.
GET/campaigns/:uid/{open,click,bounce,feedback,unsubscribe}-log/downloadStremee el CSV por evento (una ruta por tipo de evento).
DELETE/campaigns/:uidElimine una campaña (solo cuando no esté en curso).
Automatizaciones
Las automatizaciones son flujos visuales de disparadores, condiciones y acciones. La API expone la vista de lectura más dos formas de disparar flujos desde sistemas externos: execute para ejecutar toda una automatización, o api/call para disparar un nodo «llamada de API» a mitad del flujo.
GET/automationsÍndice de automatizaciones propiedad del usuario del token.
POST/automations/:uid/executeDispare una automatización para un suscriptor. Útil para flujos transaccionales.
POST/automations/:uid/api/callDispare un nodo de disparador «llamada de API» a mitad del flujo con un payload personalizado.
Servidores de envío
Los servidores de envío son los transportes configurables (SMTP, Amazon SES, SendGrid, Mailgun, Postmark, drivers a medida desde plugins). Gestiónelos de forma programática al aprovisionar nuevos tenants o al rotar credenciales.
GET/sending_serversÍndice de servidores de envío configurados.
POST/sending_serversCree un servidor de envío nuevo. Configuración específica del driver bajo settings.
GET/sending_servers/:uidObtenga un solo servidor de envío.
PATCH/sending_servers/:uidActualice ajustes o rote credenciales.
DELETE/sending_servers/:uidQuite un servidor de envío (las campañas que lo referencian deben re-enrutarse primero).
Añadir un nuevo transporte (Postal MTA, una API HTTP a medida, …) es un hook REGISTRY: entréguelo como plugin en lugar de parchear el core.
Clientes ADMIN
Los endpoints de clientes están restringidos a tokens de administrador. Úselos para aprovisionar cuentas de tenants, gestionar suscripciones, cambiar de plan o generar URLs de inicio de sesión de un solo uso para soporte o impersonación.
GET/customersÍndice paginado de todos los clientes.
POST/customersCree una nueva cuenta de cliente + usuario.
GET/customers/by-email/:emailBusque un cliente por email.
PATCH/customers/:uidActualice el perfil / contacto / cuota del cliente.
PATCH/customers/:uid/{enable,disable}Suspenda o reactive el acceso sin borrar datos.
POST/customers/:uid/change-plan/:plan_uidCambie un cliente a un plan diferente (cargos, prorrateos, renovación de la suscripción).
POST/customers/:uid/assign-plan/:plan_uidAsigne un plan sin flujo de facturación (override de admin).
POST/customers/:uid/subscription/updateActualice los parámetros de una suscripción activa.
POST/login-tokenGenere una URL de inicio de sesión de un solo uso para el cliente objetivo.
Suscripciones ADMIN
Las suscripciones ligan a un cliente con un plan + cadencia de facturación. Use estos endpoints al integrar con sistemas externos de facturación o al auditar los ingresos recurrentes.
GET/subscriptionsÍndice de todas las suscripciones activas.
POST/subscriptionsCree un registro de suscripción (normalmente dirigido por el webhook de su pasarela).
GET/subscriptions/:uidObtenga una sola suscripción con su historial de renovaciones.
PATCH/subscriptions/:uidAjuste la cuota, la cadencia o la fecha de fin.
Archivos
Suba imágenes y otros assets para usarlos en el contenido de la campaña. El endpoint acepta multipart/form-data y devuelve una URL pública a la que puede hacer referencia en el cuerpo HTML.
POST/file/uploadSuba un archivo. Devuelve { "url": "..." }.
Plugins y actualizaciones ADMIN
Instale plugins de forma programática desde una URL de descarga, ejecute actualizaciones remotas del core en un flujo de petición en dos pasos (para que el paso 2 aterrice en un worker PHP fresco) o refresque la licencia. Útil para operadores de flota que gestionan muchos tenants de AcelleMail.
POST/plugins/installInstale un plugin desde una URL de descarga.
POST/upgrade/runInicie una actualización remota del core (descarga + extracción).
POST/upgrade/run-fileAplique un solo paso de migración.
POST/upgrade/finalizeFinalice una actualización. Debe llamarse como una petición fresca después de run.
POST/license/refreshRefresque la información de la licencia de CodeCanyon (refleja Administración → Licencia).