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.jsonrenvoiequeued,sent,delivered,deferredoubouncedpour un email transactionnel. -
Webhooks (recommandé) — abonnez-vous une fois avec
POST /webhookset Mailpro™ envoie un événement signé à votre serveur :email.delivered,email.bounced,email.opened,sms.delivered,sms.failedet d'autres. Chaque requête comporte un en-tête HMACX-Mailpro-Signaturequi 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
- Emails transactionnels et campagnes en détail : API d'emails transactionnels pour agents IA
- Contacts, listes et tags : Automatiser votre CRM avec l'IA
- SMS, codes et rappels : Envoyer des SMS avec un agent IA
- Arriver en boîte de réception : dépannage de la délivrabilité email
- La passerelle SMS elle-même : API SMS Mailpro
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.