API développeur

Une seule API REST pour les listes, les campagnes, les e-mails transactionnels — et l'IA.

Premiers pas

Chaque forfait payant inclut un accès complet à l'API REST. Générez une clé dans votre compte sous Compte → Clés API, puis envoyez-la avec chaque requête :

curl -H "X-Api-Key: YOUR_KEY" https://mailflow.top/api/index.php/lists

URL de base : https://mailflow.top/api/index.php · Les réponses sont au format JSON, avec un champ status valant success ou error. L'API n'est pas disponible avec le forfait gratuit.

Ressources principales

La plateforme est compatible MailWizz : l'ensemble de l'API principale — listes, abonnés, segments, champs personnalisés, campagnes, suivi, modèles, e-mails transactionnels, rebonds, désabonnements — est documenté de manière interactive (OpenAPI) à l'adresse :

→ Référence interactive de l'API (OpenAPI)

Les SDK MailWizz existants (par ex. le SDK PHP officiel) fonctionnent immédiatement — il suffit de les pointer vers l'URL de base ci-dessus.

Endpoints IA

Les fonctionnalités IA sont pleinement intégrées à l'API : même clé, même authentification, mêmes limites de forfait et même décompte des crédits que dans l'application web.

GET /ai/credits

Votre compteur de crédits IA pour le mois en cours. Les crédits sont alloués par mois de facturation et les crédits non utilisés ne sont pas reportés.

{"status":"success","data":{"unlimited":false,"limit":750,"used":112,"remaining":638}}

GET /ai/replies

Classifications Smart Replies pour vos campagnes — alimentez votre CRM : qui est intéressé, qui a posé une question, qui s'est plaint. Filtres : category (interested, question, complaint, unsubscribe_request, auto_reply, out_of_office, bounce, other), campaign_uid, since (YYYY-MM-DD), page, per_page (50 max).

curl -H "X-Api-Key: YOUR_KEY" \
  "https://mailflow.top/api/index.php/ai/replies?category=interested&since=2026-08-01"

{"status":"success","data":{"count":42,"current_page":1,"per_page":20,"total_pages":3,
  "records":[{"from_email":"[email protected]","subject":"RE: your offer",
    "category":"interested","confidence":98,"engine":"embeddings",
    "summary":"...","suggested_reply":"...","date_added":"2026-08-24 18:21:19",
    "campaign_uid":"py794hjqk8a8d"}]}}

GET /ai/tiers

Niveaux d'engagement IA (vip, engaged, passive, at_risk, dormant) par liste — le même scoring qui alimente le pilote automatique et la reconquête.

{"status":"success","data":{"records":[
  {"list_uid":"qk661oq7nl8c1","name":"Main list","tiers":{"engaged":1200,"passive":3400,"dormant":900}}]}}

POST /ai/subject-lines

Générez des objets d'e-mail dans n'importe quelle langue. Corps : topic (obligatoire), count (1–5, 3 par défaut), language (facultatif). Consomme des crédits IA comme l'éditeur web.

curl -X POST -H "X-Api-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"topic":"Summer sale for B2B customers","count":3,"language":"Greek"}' \
  https://mailflow.top/api/index.php/ai/subject-lines

{"status":"success","data":{"subjects":["...","...","..."],"credits_remaining":636}}

GET /ai/flows · POST /ai/flows/author · POST /ai/flows/<uid>/enroll · POST /ai/flows/<uid>/status

Le créateur de workflows IA via l'API : listez vos workflows avec leurs compteurs en direct ; laissez l'IA créer un workflow complet à partir d'un objectif formulé en langage courant ({"goal":"...","list_uid":"..."} — renvoie un brouillon que vous activez avec {"status":"active"}) ; ajoutez un abonné à un workflow ({"email":"..."}).

curl -X POST -H "X-Api-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"goal":"When someone replies interested, notify me, wait 2 days, then send a case study"}' \
  https://mailflow.top/api/index.php/ai/flows/author

Erreurs et limites

  • 401X-Api-Key manquant ou invalide
  • 403 — la fonctionnalité n'est pas incluse dans votre forfait
  • 422 — paramètres manquants/invalides
  • 429 — limite de crédits IA ou quota IA mensuel atteint ; réinitialisation à votre prochaine date de facturation

Les rafales de requêtes sont limitées par clé — implémentez un backoff exponentiel en cas de 429. Des questions ? Contactez-nous ou ouvrez un ticket d'assistance.