RESSOURCES
Huit ressources. Plus de quarante endpoints. Tous les verbes que vous attendez.
Tous les endpoints ci-dessous sont namespacés sous /api/v1/ et exigent une authentification token auth:api sauf mention contraire. Les actions de cycle de vie (run, pause, resume) sont exposées en sous-routes POST. Les téléchargements de logs streament le CSV sous-jacent.
Authentification
Tous les endpoints authentifiés acceptent le token via l'en-tête Authorization: Bearer (préférable) ou le paramètre de query ?api_token= (legacy). Utilisez POST /user/login pour échanger email/password contre un nouveau token depuis un client programmatique.
POST/user/loginÉchangez email + password contre un token API. Endpoint public.
GET/meRetourne l’enregistrement de l'utilisateur authentifié. À utiliser pour vérifier un token.
POST/login-tokenGénère une URL de login à usage unique sur laquelle l'utilisateur peut cliquer pour atterrir authentifié.
Lists
Les mailing lists sont le conteneur principal des abonnés. Chaque liste embarque une identité d'expéditeur par défaut, des champs personnalisés ainsi que des paramètres de double opt-in / email de bienvenue. Les champs personnalisés s'ajoutent via la sous-route add-field.
GET/listsIndex paginé des listes appartenant à l'utilisateur du token.
POST/listsCrée une nouvelle liste. Requis : name, from_email, from_name, subject + bloc contact.
GET/lists/:uidRécupère une seule liste avec ses champs et ses statistiques.
PATCH/lists/:uidMet à jour les métadonnées, l'identité d'expéditeur ou les paramètres d'opt-in de la liste.
POST/lists/:uid/add-fieldAjoute un champ personnalisé. Le type est text, number ou datetime.
DELETE/lists/:uidSupprime définitivement une liste et tous ses abonnés.
Subscribers
Les abonnés appartiennent à une liste et portent des valeurs de champs personnalisés, des tags et un historique d'ouvertures/clics. Le statut est l'un de subscribed, unsubscribed ou unconfirmed. Les opérations sur les tags sont additives et idempotentes.
GET/subscribers?list_uid=…Index paginé. Filtrez avec open=yes|no, click=yes|no.
POST/subscribersCréation. Requis : list_uid, EMAIL. Champs personnalisés en paramètres majuscules.
GET/subscribers/:idRécupère un seul abonné par id ou email.
GET/subscribers/email/:emailTrouve toutes les listes qui contiennent un abonné avec cet email.
PATCH/subscribers/:idMet à jour les champs, tags ou statut.
POST/subscribers/:id/add-tagAjoute des tags séparés par des virgules.
POST/subscribers/:id/remove-tagRetire des tags séparés par des virgules.
PATCH/lists/:list_uid/subscribers/:id/subscribeMarque comme subscribed.
PATCH/lists/:list_uid/subscribers/:id/unsubscribeMarque comme unsubscribed.
PATCH/lists/:list_uid/subscribers/email/:email/unsubscribeDésabonne par email lorsque vous n’avez pas l'id.
DELETE/subscribers/:idSuppression dure depuis la liste.
Campaigns
Les campagnes sont l'unité d'envoi. Créez-en une avec du contenu HTML + des flags de tracking, faites-la transiter par run / pause / resume, puis téléchargez en CSV les logs de tracking, d'ouverture, de clic, de bounce, de feedback et de désinscription.
GET/campaignsIndex paginé. Passez per_page, page.
POST/campaignsCréation. Requis : list_uid, name, subject, from_*, html.
GET/campaigns/:uidRécupère une seule campagne avec ses statistiques.
PATCH/campaigns/:uidMet à jour le contenu, l'objet ou les flags de tracking.
POST/campaigns/:uid/runMet la campagne en queue pour délivrance.
POST/campaigns/:uid/pauseMet en pause une campagne en cours.
POST/campaigns/:uid/resumeReprend une campagne en pause.
GET/campaigns/:uid/tracking-log/downloadStreame le CSV de tracking.
GET/campaigns/:uid/{open,click,bounce,feedback,unsubscribe}-log/downloadStreame le CSV par événement (une route par type d'événement).
DELETE/campaigns/:uidSupprime une campagne (uniquement lorsqu'elle n'est pas en cours).
Automations
Les automatisations sont des flux visuels de déclencheurs, conditions et actions. L'API expose la vue de lecture plus deux façons de déclencher des flux depuis des systèmes externes : execute pour exécuter une automatisation entière, ou api/call pour déclencher un nœud "API call" en milieu de flux.
GET/automationsIndex des automatisations possédées par l'utilisateur du token.
POST/automations/:uid/executeDéclenche une automatisation pour un abonné. Utile pour les flux transactionnels.
POST/automations/:uid/api/callDéclenche un nœud trigger "API call" en milieu de flux avec un payload personnalisé.
Sending servers
Les sending servers sont les transports configurables (SMTP, Amazon SES, SendGrid, Mailgun, Postmark, drivers personnalisés issus de plugins). Gérez-les par programmation lors du provisioning de nouveaux tenants ou lors de la rotation de credentials.
GET/sending_serversIndex des sending servers configurés.
POST/sending_serversCrée un nouveau sending server. Configuration spécifique au driver sous settings.
GET/sending_servers/:uidRécupère un seul sending server.
PATCH/sending_servers/:uidMet à jour les paramètres ou fait tourner les credentials.
DELETE/sending_servers/:uidSupprime un sending server (les campagnes qui le référencent doivent d'abord être re-routées).
Ajouter un nouveau transport (Postal MTA, HTTP API personnalisée, …) passe par un Hook REGISTRY — livrez-le sous forme de plugin plutôt que de patcher le core.
Customers ADMIN
Les endpoints customers sont réservés aux tokens admin. Utilisez-les pour provisionner des comptes tenants, gérer des abonnements, changer de plan ou générer des URLs de login à usage unique pour le support / l'impersonation.
GET/customersIndex paginé de tous les customers.
POST/customersCrée un nouveau customer + compte utilisateur.
GET/customers/by-email/:emailRecherche un customer par email.
PATCH/customers/:uidMet à jour le profil, le contact ou le quota du customer.
PATCH/customers/:uid/{enable,disable}Suspend ou réactive l'accès sans supprimer les données.
POST/customers/:uid/change-plan/:plan_uidBascule un customer sur un plan différent (charges, prorata, renouvellement d'abonnement).
POST/customers/:uid/assign-plan/:plan_uidAssigne un plan sans flux de facturation (override admin).
POST/customers/:uid/subscription/updateMet à jour les paramètres d’un abonnement actif.
POST/login-tokenGénère une URL de login à usage unique pour le customer ciblé.
Subscriptions ADMIN
Les subscriptions lient un customer à un plan + une cadence de facturation. Utilisez ces endpoints pour intégrer des systèmes de facturation externes ou auditer le revenu récurrent.
GET/subscriptionsIndex de toutes les subscriptions actives.
POST/subscriptionsCrée un enregistrement subscription (typiquement déclenché par le webhook de votre passerelle).
GET/subscriptions/:uidRécupère une seule subscription avec son historique de renouvellement.
PATCH/subscriptions/:uidAjuste le quota, la cadence ou la date de fin.
Files
Uploadez des images et autres assets pour les utiliser dans le contenu de vos campagnes. L'endpoint accepte du multipart/form-data et retourne une URL publique référençable dans le corps HTML.
POST/file/uploadUpload un fichier. Retourne { "url": "..." }.
Plugins & mises à jour ADMIN
Installez des plugins par programmation depuis une URL de téléchargement, exécutez des mises à jour core distantes via un flux de requêtes en deux étapes (pour que l'étape 2 atterrisse sur un worker PHP frais), ou rafraîchissez la licence. Utile pour les opérateurs de flotte qui gèrent de nombreux tenants AcelleMail.
POST/plugins/installInstalle un plugin depuis une URL de téléchargement.
POST/upgrade/runDémarre une mise à jour core distante (téléchargement + extraction).
POST/upgrade/run-fileApplique une seule étape de migration.
POST/upgrade/finalizeFinalise une mise à jour. Doit être appelée comme une requête fraîche après run.
POST/license/refreshRafraîchit les infos de licence CodeCanyon (miroir d'Admin → License).