Comment envoyer des emails et des SMS avec un agent IA (guide de l'API Mailpro™)

Comment envoyer des emails et des SMS avec un agent IA (guide API Mailpro™)

Un agent IA qui ne sait que parler est un chatbot. Un agent IA capable d'envoyer l'email, d'écrire un SMS au client et de mettre à jour la fiche contact est un coéquipier. Ce guide montre comment connecter Claude, GPT ou n'importe quel LLM compatible avec le tool calling aux API Mailpro™, pour que votre agent envoie des emails et des SMS de lui-même, en toute sécurité, avec chaque message journalisé et traçable.

L'essentiel

  • Mailpro™ propose trois API HTTPS que votre agent peut appeler : l'Email API v2 (emails transactionnels et campagnes), la CRM API v3 (contacts, listes, tags) et la SMS API.
  • Chaque action est encapsulée dans un petit outil (tool) : le modèle décide quand l'appeler, votre code exécute la requête HTTP.
  • Authentifiez-vous avec un jeton OAuth 2.0 limité aux scopes dont l'agent a besoin, jamais avec votre clé API principale glissée dans un prompt.
  • Utilisez les webhooks (email.delivered, email.bounced, sms.delivered…) pour que l'agent sache ce qui s'est réellement passé.
  • Gardez une étape de validation humaine pour les envois en masse et les destinataires inconnus.

Pourquoi donner à votre agent IA le pouvoir d'envoyer des emails et des SMS ?

Parce que l'essentiel de la valeur d'un agent réside dans ce qu'il fait une fois la demande comprise. Un agent de support qui rédige une réponse est utile ; un agent qui envoie la réponse, confirme le remboursement par SMS et tague le contact comme "remboursé" clôt le ticket. Des tâches typiques qui fonctionnent déjà bien aujourd'hui :

  • Suivi des commandes et réservations — un email de confirmation avec un mot personnel rédigé par l'agent, plus un SMS de rappel la veille.
  • Tri du support — l'agent classe le ticket, répond par email aux demandes simples et transmet les autres à un humain.
  • Codes à usage unique et alertes — l'agent génère un code, l'envoie par SMS et le vérifie quand l'utilisateur répond.
  • Récapitulatifs quotidiens — l'agent lit les données du jour et envoie un seul email de synthèse au lieu de quarante notifications.

Que sont les API Mailpro™, en 30 secondes ?

API URL de base À utiliser pour
Email API v2 https://api.mailpro.com/v2 Emails transactionnels (/send/sendmail), campagnes vers une liste (/send/campaign), statut de livraison, statistiques
CRM API v3 https://api.mailpro.com/v3 Contacts, listes, tags et champs personnalisés — ainsi que l'envoi d'emails et de SMS depuis la même API
SMS API https://api.mailpro.com/sms SMS unitaire (/send/add_single), SMS en masse vers une liste (/send/add), programmation, crédits

Les trois acceptent le même jeton OAuth 2.0 (délivré une seule fois sur https://api.mailpro.com/oauth/token), renvoient du JSON et partagent un quota mensuel de requêtes par compte. Chaque endpoint est documenté, avec des exemples de requête et de réponse, sur le portail développeurs Mailpro™.

Comment un agent IA appelle-t-il une API email ou SMS ?

Grâce au tool calling (Anthropic parle de tool use, OpenAI de function calling). Vous décrivez chaque action comme un outil doté d'un schéma JSON. Quand le modèle estime qu'une action est nécessaire, il renvoie un appel d'outil avec ses arguments ; votre code les valide, appelle l'API Mailpro™ et transmet le résultat au modèle. Le modèle ne détient jamais vos identifiants et n'effectue jamais lui-même la requête HTTP.

Si vous préférez ne pas écrire la boucle vous-même, les mêmes outils peuvent être exposés via un serveur MCP (Model Context Protocol), que Claude Desktop, Claude Code et Cursor savent utiliser directement. Les appels API sous-jacents restent identiques.

Exemple minimal : Claude envoie un email et un SMS

1. Obtenir un jeton aux scopes limités

curl -X POST https://api.mailpro.com/oauth/token \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET" \
  -d "scope=email:send email:read sms:send"

Créez le client ID et le secret dans votre compte Mailpro™, sous Settings → API access (Paramètres → accès API). Le jeton d'accès est valable 20 minutes ; votre code en demande un nouveau lorsqu'il expire.

2. Définir les outils

tools = [
  {
    "name": "send_email",
    "description": "Envoie un email transactionnel à un seul destinataire.",
    "input_schema": {
      "type": "object",
      "properties": {
        "to": {"type": "string"},
        "subject": {"type": "string"},
        "html": {"type": "string"}
      },
      "required": ["to", "subject", "html"]
    }
  },
  {
    "name": "send_sms",
    "description": "Envoie un SMS (160 caractères max.) à un seul numéro de téléphone.",
    "input_schema": {
      "type": "object",
      "properties": {
        "to": {"type": "string", "description": "Format international, p. ex. +41791234567"},
        "message": {"type": "string"}
      },
      "required": ["to", "message"]
    }
  }
]

3. Exécuter les appels d'outils

import requests

API = "https://api.mailpro.com"
SENDER_ID = 201  # obtenu via GET /v2/senderEmail/list

def run_tool(name, args, token):
    h = {"Authorization": f"Bearer {token}"}
    if name == "send_email":
        r = requests.post(f"{API}/v2/send/sendmail.json", headers=h, data={
            "IDEmailExp": SENDER_ID,
            "EmailData": args["to"],
            "Subject": args["subject"],
            "BodyHTML": args["html"],
            "ActivateStatistics": "true",
        })
    elif name == "send_sms":
        r = requests.post(f"{API}/sms/send/add_single.json", headers=h, data={
            "to": args["to"],
            "message": args["message"],
        })
    else:
        return {"error": "unknown tool"}
    return r.json()

Branchez run_tool sur votre boucle Claude (ou OpenAI) habituelle : envoyez le message de l'utilisateur avec tools, exécutez chaque appel d'outil renvoyé par le modèle et renvoyez le résultat sous forme de tool result. L'appel email renvoie un IdSingleSend ; l'appel SMS renvoie un Id. Conservez les deux : ce sont eux qui vous permettent de suivre la livraison.

Vous préférez ne pas coder ? Les emails automatiques de Mailpro envoient confirmations, rappels et alertes à partir de déclencheurs que vous configurez en quelques clics.

Comment l'agent sait-il si le message a été délivré ?

Une réponse 200 signifie que Mailpro™ a accepté le message, pas qu'il a atteint la boîte de réception ou le téléphone. Deux façons de boucler la boucle :

  • Interrogation (polling) — GET /v2/send/{IdSingleSend}/status.json renvoie queued, sent, delivered, deferred ou bounced pour un email transactionnel.
  • Webhooks (recommandé) — abonnez-vous une fois avec POST /webhooks et Mailpro™ envoie un événement signé à votre serveur : email.delivered, email.bounced, email.opened, sms.delivered, sms.failed et d'autres. Chaque requête comporte un en-tête HMAC X-Mailpro-Signature qui vous permet de vérifier qu'elle provient bien de Mailpro™.

Renvoyez ces événements à l'agent et il pourra réagir seul : renvoyer par email un SMS en échec, ou signaler une adresse en bounce à un humain.

Sécurité et bonnes pratiques pour les envois pilotés par l'IA

Donnez à l'agent un jeton aux scopes limités, pas vos clés

Les jetons OAuth portent des scopes comme email:send, email:read, contacts:read ou sms:send. Un agent qui n'envoie que des confirmations n'a pas besoin de contacts:write. Un appel hors de ses scopes échoue avec 403 insufficient_scope. Conservez le client secret dans des variables d'environnement côté serveur ; ne le mettez jamais dans un prompt.

Gardez un humain dans la boucle pour les envois à risque

Laissez l'agent envoyer seul les messages individuels, mais exigez une validation pour les campagnes (/v2/send/campaign, /sms/send/add), pour les destinataires absents de vos listes de contacts et pour tout message qui parle d'argent. Une simple liste blanche de domaines ou de listes de destinataires dans le code de vos outils empêche un prompt malveillant d'arroser vos clients d'un envoi massif.

Respectez le quota et temporisez en cas d'erreur

Vos requêtes API partagent un quota mensuel entre les API Email, CRM et SMS (consultez-le avec GET /v2/account/limits.json). Un agent pris dans une boucle peut l'épuiser rapidement : plafonnez le nombre d'appels d'outils par conversation et, sur les réponses 429 et 5xx, réessayez avec un délai exponentiel (exponential backoff) au lieu de réessayer immédiatement.

Respectez le consentement et les désinscriptions

Les contacts désinscrits et en liste noire sont automatiquement ignorés, et l'API vous le signale. Ne laissez pas l'agent contourner cette règle. Pour les SMS, vérifiez la réglementation de chaque pays de destination avant d'envoyer des messages marketing.

Journalisez tout

Enregistrez chaque appel d'outil avec ses arguments, la réponse de l'API et l'identifiant renvoyé. Quand un client demande "pourquoi ai-je reçu ceci ?", vous pouvez répondre en quelques secondes.

Étude de cas (fictive) : "LoopKart" confie à Claude ses emails post-achat

LoopKart est une petite boutique en ligne qui vend du matériel de cuisine reconditionné. Ses emails post-achat se résumaient à un modèle unique pour tout le monde. L'équipe a connecté Claude à l'Email API de Mailpro™ avec un seul outil send_email : après chaque commande, l'agent lit la commande et l'historique du client, rédige un court paragraphe personnalisé (conseils d'entretien pour le produit exact, un mot s'il s'agit d'un client fidèle) et envoie l'email via /v2/send/sendmail. Un second outil envoie un SMS à l'expédition du colis. Les commandes au-delà d'un montant défini, ainsi que tout message mentionnant un remboursement, attendent le clic d'un humain avant l'envoi. La mise en place a pris deux jours à l'équipe, consacrés pour l'essentiel à la rédaction et aux tests de la règle de validation.

Questions fréquentes

Quels modèles d'IA fonctionnent avec l'API Mailpro™ ?

Tout modèle qui prend en charge le tool calling ou le function calling : Claude, GPT, Gemini, Mistral, ainsi que les modèles open source servis avec un framework de tool calling. L'API elle-même repose sur du HTTPS et du JSON standard : le modèle n'a besoin que d'une fine couche d'intégration.

Faut-il un abonnement Mailpro™ payant pour commencer ?

Non. Vous pouvez démarrer avec l'offre gratuite, tout tester et passer à une formule supérieure quand votre volume le justifie. Consultez les tarifs Mailpro.

L'agent peut-il envoyer à une liste entière ?

Oui, avec /v2/send/campaign pour l'email et /sms/send/add pour les SMS. Nous recommandons une étape de validation humaine pour ces envois.

Existe-t-il un serveur MCP ?

Vous pouvez exposer les mêmes outils via n'importe quel framework de serveur MCP ; les appels sous-jacents sont ceux présentés ci-dessus.

Pour aller plus loin

Mailpro et l’API Mailpro

Une seule API pour que votre agent IA envoie emails et SMS

Donnez à votre agent IA une seule API Mailpro et il peut joindre vos clients par email et SMS — une intégration, un tableau de bord, une facture. Voyez ce que coûte d’alimenter les deux canaux.

Démarrer gratuitement avec Mailpro Voir les tarifs Mailpro

Article Précédent

   

Article Suivant

Vous pourriez également être intéressé par :

Pour de nombreux spécialistes du marketing, il est presque habituel de dire que les campagnes de marketing par e-maildoivent toujours être envoyées du mardi au jeudi matin. Mais, dans certains cas, même le jour le moin...
Avec Mailpro, vous pouvez intégrer votre application, votre commerce en ligne ou votre site web via SMTP ou API. Cela dépendra de vos besoins de choisir l’un ou l’autre. Cela dépendra également de ce qui vous convient le mieux et...
Au fil du temps, vos campagnes email peuvent déclencher l’activation des filtres anti-spam sur les serveurs de messagerie de vos destinataires. Cet effet cumulatif de vos campagnes a un impact sur votre réputation d'envoi. Votre ...
Saviez-vous les spécialistes du marketing B2B estiment que les newsletters par email représentent la tactique cruciale par excellence de leur stratégie de marketing par email ? Bien que le marketing par email est loin d’êt...
Les emails sont importants – bien plus que vous ne pouvez l’imaginer ! Selon un rapport d’études, il existe plus de 4,5 milliards de comptes de messagerie dans le monde et pr&es de 180 milliards d’emails sont envoyés chaque...