Gérer les contacts via l’API et MCP

Créez, importez, exportez, recherchez, organisez les contacts et groupes dans TrekMail via l’API de messages et MCP, avec endpoints, portées et pagination.

Détails de l’article

Type, difficulté, forfaits et date de dernière mise à jour.

Type
Référence
Difficulté
Intermédiaire
Forfaits
Starter · Pro · Agency
Dernière mise à jour
10 sept. 2026

Le carnet d’adresses de votre boîte mail est entièrement programmable. L’API de messages et les outils MCP peuvent créer, modifier et supprimer des contacts, effectuer des importations et des exportations groupées (CSV ou vCard), rechercher dans un grand carnet d’adresses et organiser les personnes en groupes. Il s’agit des mêmes données que voient votre webmail et vos clients CardDAV. Ainsi, un contact ajouté par un agent d’IA apparaît sur votre téléphone, et un contact ajouté sur votre téléphone est visible par l’API.

Avant de commencer

  • Les contacts utilisent l’interface du jeton de messages (/api/v1/messages/...) et ses portées, et non un jeton d’API du tableau de bord.
  • Chaque appel est limité à la boîte mail propre au jeton. Un jeton peut uniquement voir et gérer ses propres contacts et groupes, jamais ceux d’une autre boîte mail.
  • Les contacts sont identifiés par leur adresse e-mail au sein d’une boîte mail. Une importation met à jour un contact correspondant. La création d’un contact avec une adresse existante renvoie ce contact sans modification au lieu de créer un doublon.
  • Les réponses de liste renvoient un ensemble de champs clair et lisible (nom, e-mail, société, poste, téléphone, adresse, date de naissance et notes). La carte CardDAV brute associée à un contact synchronisé n’est jamais renvoyée. Vous obtenez toujours la version épurée.
  • L’importation accepte les fichiers CSV et vCard (.vcf) jusqu’à 10 MB et comprend les formats d’exportation de Google Contacts, Outlook, Apple et Roundcube, y compris les particularités UTF-8, UTF-16 et BOM.

Portées

Portée Fonction
messages:read Répertorier et rechercher les contacts, répertorier les groupes et leurs membres, exporter
messages:write Créer, mettre à jour, supprimer et importer des contacts, créer et gérer des groupes

Gérer les contacts

Chemin de base : /api/v1/messages/contacts

Méthode Chemin Portée Objectif
GET /contacts messages:read Répertorier les contacts avec recherche et pagination
POST /contacts messages:write Créer un contact
PATCH /contacts/{id} messages:write Mettre à jour un contact
DELETE /contacts/{id} messages:write Supprimer un contact
POST /contacts/import messages:write Importer en masse un fichier CSV ou vCard
GET /contacts/export messages:read Exporter tous les contacts au format CSV ou vCard

Répertorier et rechercher

GET /api/v1/messages/contacts?q=alice&per_page=50&page=1
Scope: messages:read

q recherche une correspondance dans le nom ou l’adresse e-mail. Les résultats sont paginés (per_page de 1 à 100, 50 par défaut) et accompagnés d’un bloc pagination (total, per_page, current_page, last_page). Vous pouvez ainsi parcourir un grand carnet d’adresses jusqu’au bout au lieu de vous arrêter à la première page.

Créer un contact

POST /api/v1/messages/contacts
Scope: messages:write
{
  "email": "ada@example.com",
  "name": "Ada Lovelace",
  "company": "Analytical Engines",
  "job_title": "Mathematician",
  "phone": "+1 555 0100",
  "address": "London",
  "birthday": "1815-12-10",
  "notes": "Met at the conference"
}

Seul email est obligatoire. Si un contact avec cette adresse existe déjà, le contact existant est renvoyé sans modification. La création ne produit jamais de doublon et n’écrase pas les informations enregistrées.

Importer en masse

POST /api/v1/messages/contacts/import
Scope: messages:write
{
  "content_base64": "<base64 of your .csv or .vcf file>",
  "format": "csv"
}

Envoyez le fichier encodé en base64 avec format défini sur csv ou vcf (10 MB maximum après décodage). La réponse indique le nombre de lignes appliquées et le nombre de lignes ignorées faute d’adresse e-mail utilisable :

{ "imported": 128, "skipped": 3 }

Les en-têtes de colonnes des exportations Google, Outlook, Apple et Roundcube sont reconnus automatiquement. La plupart des exportations peuvent donc être importées sans aucune modification.

Exporter

GET /api/v1/messages/contacts/export?format=vcard
Scope: messages:read

Renvoie l’intégralité du carnet d’adresses sous la forme d’un fichier unique encodé en base64 :

{ "format": "vcard", "content_base64": "..." }

Utilisez format=csv pour obtenir un fichier adapté aux feuilles de calcul ou format=vcard pour obtenir un fichier .vcf à charger dans un autre client de messagerie.

Groupes de contacts

Les groupes sont des listes de distribution dans le carnet d’adresses. Chemin de base : /api/v1/messages/contact-groups

Méthode Chemin Portée Objectif
GET /contact-groups messages:read Répertorier les groupes, chacun avec son contact_count
POST /contact-groups messages:write Créer un groupe
PATCH /contact-groups/{id} messages:write Renommer un groupe
DELETE /contact-groups/{id} messages:write Supprimer un groupe
GET /contact-groups/{id}/members messages:read Répertorier les contacts d’un groupe
POST /contact-groups/{id}/members messages:write Ajouter des contacts à un groupe
DELETE /contact-groups/{id}/members messages:write Retirer des contacts d’un groupe

Voir qui appartient à un groupe

GET /api/v1/messages/contact-groups/42/members?per_page=50&page=1
Scope: messages:read

Renvoie les contacts du groupe, avec les mêmes champs épurés que dans la liste des contacts, ainsi qu’un bloc pagination et le contact_count total du groupe. Vous pouvez ainsi lire la composition du groupe au lieu de la modifier à l’aveugle.

Ajouter ou retirer des membres

POST /api/v1/messages/contact-groups/42/members
Scope: messages:write
{ "contact_ids": [11, 12, 13] }

L’ajout est idempotent : un contact déjà présent dans le groupe reste inchangé. Seuls les contacts appartenant à la même boîte mail peuvent être ajoutés. Chaque requête d’ajout ou de retrait accepte entre 1 et 200 identifiants de contact. Les lots plus grands doivent être divisés en plusieurs requêtes.

Outils MCP

Le même carnet d’adresses est accessible aux agents d’IA par MCP, aussi bien sur le serveur stdio privé que sur le serveur MCP public :

Outil Portée Objectif
list_contacts read Répertorier et rechercher les contacts avec pagination
create_contact write Créer un contact
update_contact write Mettre à jour un contact
delete_contact write Supprimer un contact
import_contacts write Importer un fichier CSV/vCard en base64
export_contacts read Exporter tous les contacts au format CSV/vCard
list_contact_groups read Répertorier les groupes avec le nombre de membres
list_contact_group_members read Répertorier les contacts d’un groupe
create_contact_group write Créer un groupe
update_contact_group write Renommer un groupe
delete_contact_group write Supprimer un groupe
add_contact_group_members write Ajouter des contacts à un groupe
remove_contact_group_members write Retirer des contacts d’un groupe

Les outils d’écriture nécessitent toujours la portée d’écriture du jeton de messages. Un administrateur MCP en hébergement local peut également exiger une approbation explicite pour les actions d’écriture. Un agent peut ainsi consulter les contacts sans pouvoir les modifier.

Articles associés

Articles similaires

Accédez aux guides voisins qui prolongent votre démarche.

Nous utilisons les technologies nécessaires au fonctionnement et à la sécurité de TrekMail. En confirmant, vous autorisez aussi des analyses limitées et la mesure publicitaire décrites dans notre Politique relative aux cookies.

Se connecter à TrekMail

Accédez à votre tableau de bord, vos boîtes et vos DNS.

ou

12 caractères les mots de passe correspondent

ou

E-mail de réinitialisation envoyé

Si un compte existe pour cette adresse, nous venons d’envoyer les instructions de réinitialisation du mot de passe.

En continuant, vous acceptez les Conditions d’utilisation et la Politique de confidentialité de TrekMail.