RISORSE
Otto risorse. Oltre quaranta endpoint. Tutti i verbi che ti aspetti.
Tutti gli endpoint qui sotto sono sotto namespace /api/v1/ e richiedono l'autenticazione token auth:api se non altrimenti indicato. Le azioni di ciclo di vita (run, pause, resume) sono esposte come sotto-route POST. I download dei log fanno streaming del CSV sottostante.
Autenticazione
Tutti gli endpoint autenticati accettano il token tramite l'header Authorization: Bearer (preferito) o il parametro query ?api_token= (legacy). Usa POST /user/login per scambiare email/password con un token nuovo da un client programmato.
POST/user/loginScambia email + password per un API token. Endpoint pubblico.
GET/meRestituisce il record dell'utente autenticato. Usalo per verificare un token.
POST/login-tokenGenera un URL di login one-shot che l'utente può cliccare per atterrare già autenticato.
Liste
Le mailing list sono il contenitore principale degli iscritti. Ogni lista include un'identità mittente di default, campi personalizzati e impostazioni di double-opt-in / email di benvenuto. I campi personalizzati si aggiungono con la sotto-route add-field.
GET/listsElenco paginato delle liste possedute dall'utente del token.
POST/listsCrea una nuova lista. Obbligatori: name, from_email, from_name, subject + blocco contatto.
GET/lists/:uidRecupera una singola lista con i suoi campi e statistiche.
PATCH/lists/:uidAggiorna metadati, identità mittente o impostazioni di opt-in.
POST/lists/:uid/add-fieldAggiunge un campo personalizzato. Il tipo è text, number o datetime.
DELETE/lists/:uidElimina definitivamente una lista e tutti i suoi iscritti.
Iscritti
Gli iscritti appartengono a una lista e portano con sé valori di campi personalizzati, tag e una cronologia di aperture/click. Lo status è uno fra subscribed, unsubscribed o unconfirmed. Le operazioni sui tag sono additive e idempotenti.
GET/subscribers?list_uid=…Elenco paginato. Filtra con open=yes|no, click=yes|no.
POST/subscribersCrea. Obbligatori: list_uid, EMAIL. Campi personalizzati come parametri maiuscoli.
GET/subscribers/:idRecupera un singolo iscritto per id o email.
GET/subscribers/email/:emailTrova ogni lista che contiene un iscritto con questa email.
PATCH/subscribers/:idAggiorna campi, tag o status.
POST/subscribers/:id/add-tagAggiunge tag separati da virgola.
POST/subscribers/:id/remove-tagRimuove tag separati da virgola.
PATCH/lists/:list_uid/subscribers/:id/subscribeMarca come subscribed.
PATCH/lists/:list_uid/subscribers/:id/unsubscribeMarca come unsubscribed.
PATCH/lists/:list_uid/subscribers/email/:email/unsubscribeDisiscrivi per email quando non hai l'id.
DELETE/subscribers/:idHard delete dalla lista.
Campagne
Le campagne sono l'unità di invio. Creane una con contenuto HTML + flag di tracking, falla transitare per run / pause / resume, poi scarica i log di tracking, aperture, click, bounce, feedback e cancellazioni come CSV.
GET/campaignsElenco paginato. Passa per_page, page.
POST/campaignsCrea. Obbligatori: list_uid, name, subject, from_*, html.
GET/campaigns/:uidRecupera una singola campagna con statistiche.
PATCH/campaigns/:uidAggiorna contenuto, oggetto o flag di tracking.
POST/campaigns/:uid/runMette la campagna in coda per la consegna.
POST/campaigns/:uid/pauseMette in pausa una campagna in corso.
POST/campaigns/:uid/resumeRiprende una campagna in pausa.
GET/campaigns/:uid/tracking-log/downloadStream del CSV di tracking.
GET/campaigns/:uid/{open,click,bounce,feedback,unsubscribe}-log/downloadStream del CSV per evento (una route per ciascun tipo di evento).
DELETE/campaigns/:uidElimina una campagna (solo se non è in corso).
Automazioni
Le automazioni sono flussi visuali di trigger, condizioni e azioni. L'API espone la vista in lettura più due modi per scatenare i flussi da sistemi esterni: execute per eseguire un'intera automazione, oppure api/call per attivare un nodo "API call" a metà flusso.
GET/automationsElenco delle automazioni possedute dall'utente del token.
POST/automations/:uid/executeAttiva un'automazione per un iscritto. Utile per flussi transazionali.
POST/automations/:uid/api/callScatena un nodo trigger "API call" a metà flusso con payload personalizzato.
Sending server
I sending server sono i trasporti configurabili (SMTP, Amazon SES, SendGrid, Mailgun, Postmark, driver custom da plugin). Gestiscili in modo programmatico quando provisioning di nuovi tenant o quando ruoti credenziali.
GET/sending_serversElenco dei sending server configurati.
POST/sending_serversCrea un nuovo sending server. Config specifica del driver sotto settings.
GET/sending_servers/:uidRecupera un singolo sending server.
PATCH/sending_servers/:uidAggiorna le impostazioni o ruota le credenziali.
DELETE/sending_servers/:uidRimuove un sending server (le campagne che vi fanno riferimento devono prima essere reinstradate).
Aggiungere un nuovo trasporto (Postal MTA, API HTTP custom, …) è un REGISTRY hook — rilascialo come plugin invece di patchare il core.
Clienti ADMIN
Gli endpoint dei clienti sono riservati ai token admin. Usali per fare provisioning di account tenant, gestire abbonamenti, cambiare piano o generare URL di login one-shot per supporto/impersonificazione.
GET/customersElenco paginato di tutti i clienti.
POST/customersCrea un nuovo cliente + account utente.
GET/customers/by-email/:emailCerca un cliente per email.
PATCH/customers/:uidAggiorna profilo / contatto / quota del cliente.
PATCH/customers/:uid/{enable,disable}Sospende o riattiva l'accesso senza cancellare dati.
POST/customers/:uid/change-plan/:plan_uidSposta un cliente su un piano diverso (addebiti, prorations, rinnovo abbonamento).
POST/customers/:uid/assign-plan/:plan_uidAssegna un piano saltando il flusso di billing (override admin).
POST/customers/:uid/subscription/updateAggiorna i parametri di un abbonamento attivo.
POST/login-tokenGenera un URL di login one-shot per il cliente di destinazione.
Abbonamenti ADMIN
Gli abbonamenti legano un cliente a un piano + cadenza di fatturazione. Usa questi endpoint quando integri con sistemi di billing esterni o quando fai audit dei ricavi ricorrenti.
GET/subscriptionsElenco di tutti gli abbonamenti attivi.
POST/subscriptionsCrea un record di abbonamento (di solito guidato dal webhook del tuo gateway).
GET/subscriptions/:uidRecupera un singolo abbonamento con la cronologia dei rinnovi.
PATCH/subscriptions/:uidModifica quota, cadenza o data di fine.
File
Carica immagini e altri asset da usare nel contenuto delle campagne. L'endpoint accetta multipart/form-data e restituisce un URL pubblico da referenziare nel body HTML.
POST/file/uploadCarica un file. Restituisce { "url": "..." }.
Plugin e upgrade ADMIN
Installa plugin in modo programmatico da un URL di download, esegui upgrade core in remoto con un flusso a due step (così lo step 2 atterra su un worker PHP fresco), oppure aggiorna la licenza. Utile per operatori di fleet che gestiscono molti tenant AcelleMail.
POST/plugins/installInstalla un plugin da un URL di download.
POST/upgrade/runAvvia un upgrade core remoto (download + estrazione).
POST/upgrade/run-fileApplica un singolo step di migrazione.
POST/upgrade/finalizeFinalizza un upgrade. Deve essere chiamato come richiesta fresca dopo run.
POST/license/refreshAggiorna le informazioni di licenza CodeCanyon (rispecchia Admin → License).