Gérer les équipes White Label avec API et MCP

Invitez des clients, contrôlez l'accès aux domaines, suspendez ou restaurez des membres et consultez l'activité White Label via API REST et outils MCP.

Détails de l’article

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

Type
Référence
Difficulté
Intermédiaire
Forfaits
Pro · Agency · + White Label add-on
Dernière mise à jour
9 sept. 2026

Les comptes White Label peuvent être gérés sans revenir au tableau de bord. L'API REST et le serveur MCP couvrent l'état de configuration du compte, les clients et les membres de l'équipe, les rôles, l'accès aux domaines, les invitations, les suspensions, les suppressions, les restaurations et l'historique des activités. La personnalisation de la marque fait partie du même ensemble d'outils White Label et possède son propre guide de personnalisation de la marque.

La limite importante est simple: une connexion ne peut jamais accorder plus d'accès que la personne qui l'utilise n'en possède déjà. Un gestionnaire limité à certains domaines ne peut pas inviter quelqu'un sur des domaines sans rapport, et un rôle personnalisé ne peut pas accorder des autorisations que l'appelant ne détient pas.

Fonctionnalités disponibles

Le catalogue MCP complet contient désormais 261 outils via stdio et jusqu'à 260 outils via HTTP hébergé. White Label fournit 20 outils: sept pour la personnalisation de la marque et 13 pour la gestion des comptes, des membres et des activités.

Ces outils ne sont pas chargés pour tout le monde. TrekMail évalue en temps réel le droit White Label du compte, l'adhésion actuelle de la personne, le jeton ou l'autorisation OAuth, toute restriction de domaine, les ensembles d'outils sélectionnés et les paramètres de sécurité locaux avant de générer tools/list. Une connexion sans accès à White Label ne reçoit aucun schéma.

États des droits

État Propriétaire Membres délégués Écritures
Actif Accès complet autorisé par les portées Accès autorisé par les portées et l'adhésion Disponibles
Délai de grâce après annulation Accès de récupération en lecture seule Accès à White Label supprimé Bloquées
Indisponible Aucun accès à l'API ou à MCP de White Label Aucun accès à l'API ou à MCP de White Label Bloquées

Avec un accès en lecture à White Label, appelez GET /api/v1/white-label ou l'outil get_white_label pour distinguer l'état active du mode grace en lecture seule, et pour consulter la progression de la configuration et l'échéance du délai de grâce. Un compte indisponible ne peut pas appeler cet endpoint: lorsqu'un identifiant enregistré mentionne encore une portée White Label que le compte ne peut plus utiliser, l'API renvoie scope_blocked_by_entitlement et indique où la réactiver.

Portées

Portée Ce qu'elle permet
branding:read Lire les paramètres de marque, les ressources, les hôtes, les enregistrements DNS et l'état de la configuration
branding:write Modifier la marque, les ressources, les aperçus, les hôtes et les vérifications DNS
members:read Lire les clients, les membres de l'équipe, les rôles, l'accès aux domaines et le catalogue des accès
members:write Inviter des personnes et mettre à jour, suspendre, reprendre, supprimer ou restaurer l'accès
activity:read Lire l'activité du compte White Label et les connexions des membres

L'endpoint d'activité d'un membre nécessite à la fois activity:read et members:read, car sa réponse contient une fiche de membre ainsi que l'activité. La connexion OAuth hébergée utilise le sélecteur tools:white_label pour demander cette famille d'outils; les portées REST effectives restent limitées par le compte et l'adhésion.

Pour un serveur MCP auto-hébergé, ajoutez white_label à TREKMAIL_TOOLSETS lorsque vous utilisez une liste d'ensembles d'outils autorisés. Les outils d'écriture respectent également les protections de sécurité locales décrites ci-dessous.

Endpoints REST

Tous les chemins se trouvent sous https://trekmail.net/api/v1.

Méthode Chemin Portée Objectif
GET /white-label branding:read Lire les droits, la marque par défaut, la progression de la configuration et l'état des domaines accessibles
GET /white-label/access-catalog members:read Lire les rôles, les groupes d'autorisations, les autorisations accordables et les domaines accessibles
GET /white-label/members members:read Répertorier les membres et les invitations, avec recherche et filtres d'état
POST /white-label/members members:write Inviter un client ou un collègue
GET /white-label/members/{id} members:read Lire un membre et ses prochaines opérations autorisées
PATCH /white-label/members/{id} members:write Modifier le rôle, l'accès aux domaines, les autorisations personnalisées ou la note
POST /white-label/members/{id}:suspend members:write Arrêter immédiatement l'accès et révoquer les clés du membre
POST /white-label/members/{id}:resume members:write Reprendre une adhésion suspendue
POST /white-label/members/{id}:resend-invitation members:write Remplacer une invitation en attente et en envoyer une nouvelle
DELETE /white-label/members/{id} members:write Supprimer l'accès et révoquer les clés du membre
POST /white-label/members/{id}:restore members:write Restaurer une adhésion supprimée sans réactiver les anciennes clés
GET /white-label/activity activity:read Lire l'activité du compte, avec filtrage facultatif par action ou membre
GET /white-label/members/{id}/activity activity:read + members:read Lire les actions et les connexions récentes d'un membre

Chaque écriture de ce tableau nécessite un en-tête Idempotency-Key. Répéter la même requête avec la même clé renvoie le résultat sûr d'origine; les secrets à usage unique présents dans une répétition, comme un jeton d'invitation, sont masqués. Réutiliser une clé avec un corps différent renvoie idempotency_mismatch.

Lire d'abord le catalogue des accès

Ne codez pas en dur les autorisations des rôles dans une intégration. Appelez le catalogue des accès avant une invitation ou une modification d'accès. Ses indicateurs grantable reflètent l'adhésion actuelle de l'appelant et peuvent changer lorsque le propriétaire modifie cette adhésion.

Les rôles actuellement proposés pour les nouvelles invitations sont:

  • client - gère les domaines et les boîtes mail attribués sans voir la relation privée du revendeur avec TrekMail.
  • webmail_only - apparaît dans la liste de l'équipe, mais ne reçoit aucune autorisation pour le tableau de bord.
  • domain_admin - gère les domaines attribués et leur DNS, mais pas les boîtes mail.
  • mailbox_operator - gère les boîtes mail dans les domaines attribués, mais pas les domaines eux-mêmes.
  • read_only - peut examiner la partie autorisée du compte sans la modifier.
  • custom - reçoit uniquement les autorisations énumérées dans permissions.

Certains rôles exigent des domain_ids explicites; d'autres peuvent utiliser all_domains. Le catalogue des accès indique la règle applicable. Si l'appelant tente d'accorder un rôle, une autorisation ou un ensemble de domaines plus large, TrekMail renvoie scope_blocked_by_membership au lieu de restreindre silencieusement l'invitation.

Inviter un client

curl -s -X POST "https://trekmail.net/api/v1/white-label/members" \
  -H "Authorization: Bearer tm_live_your_token" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: invite-northwind-admin-20260904" \
  -d '{
    "email": "admin@northwind.example",
    "role": "client",
    "all_domains": false,
    "domain_ids": [123, 124],
    "note": "Northwind primary contact"
  }'

La réponse inclut le membre, l'état de réussite de l'envoi de l'e-mail et une URL d'invitation à usage unique. Un problème de livraison n'efface pas l'invitation: le propriétaire peut copier l'URL ou la renvoyer plus tard.

Pour un rôle personnalisé, lisez grantable_permissions dans le catalogue des accès et envoyez les valeurs sélectionnées dans permissions. Au moins une autorisation est requise.

Suivre l'état du membre

Chaque réponse concernant un membre inclut allowed_operations. Utilisez cette liste au lieu de faire des suppositions:

  • Une invitation en attente peut être mise à jour, suspendue, renvoyée ou supprimée.
  • Un membre actif peut être mis à jour, suspendu ou supprimé.
  • Un membre suspendu peut être mis à jour, réactivé ou supprimé.
  • Un membre supprimé peut être restauré.
  • La ligne du propriétaire est visible à titre de contexte, mais elle ne peut pas être modifiée par ces endpoints.

La liste est également filtrée pour l'appelant actuel. Elle est vide pour une connexion en lecture seule, pour l'adhésion propre de l'appelant et pour les membres dont les autorisations dépassent ce que l'appelant peut gérer.

Les appelants ne peuvent ni se supprimer ni se suspendre eux-mêmes. Les appelants délégués ne peuvent pas non plus gérer un membre dont l'accès est plus étendu que le leur. Les transitions non valides renvoient membership_state_conflict avec une indication invitant à relire le membre.

La suspension ou la suppression d'une personne révoque les clés d'API et de boîte mail créées dans le cadre de cette adhésion. La reprise ou la restauration de l'adhésion ne rétablit jamais ces anciennes clés; la personne doit se reconnecter ou créer de nouveaux identifiants.

Limites relatives à l'activité et à la confidentialité

GET /white-label/activity renvoie les invitations, les changements de rôle et de domaine, les suspensions, les suppressions, les restaurations et les actions de sécurité associées. Filtrez avec action, member_id et per_page.

GET /white-label/members/{id}/activity combine les actions de ce membre sur le compte avec ses connexions récentes, notamment l'heure, l'adresse IP, la localisation approximative, le navigateur, le système d'exploitation et le type d'appareil. Cette route exige volontairement les deux portées de lecture. Les appelants soumis à des restrictions de domaine peuvent uniquement demander des membres qui se trouvent entièrement dans leur périmètre de domaines; un membre inaccessible est renvoyé sous la forme 404, afin que l'endpoint ne révèle pas l'existence d'un autre locataire ou client.

Outils MCP

Outil Protection Objectif
get_white_label Lecture Droits, marque, progression de la configuration et domaines
get_white_label_access_catalog Lecture Rôles, autorisations et domaines que l'appelant peut accorder
list_white_label_members Lecture Rechercher ou filtrer les clients, les membres et les invitations
get_white_label_member Lecture Lire un membre et les prochaines opérations autorisées
invite_white_label_member Envoi Créer et envoyer une invitation par e-mail
update_white_label_member Destructif Modifier le rôle, les domaines, les autorisations ou la note
suspend_white_label_member Destructif Arrêter l'accès et révoquer les clés actives
resume_white_label_member Destructif Reprendre une adhésion suspendue
resend_white_label_invitation Envoi Remplacer et envoyer par e-mail une invitation en attente
remove_white_label_member Destructif + confirmation Supprimer l'accès et révoquer les clés actives
restore_white_label_member Destructif Restaurer une adhésion supprimée
list_white_label_activity Lecture Lire l'activité du compte
get_white_label_member_activity Lecture Lire les actions et les connexions d'un membre

Les outils d'invitation nécessitent TREKMAIL_ALLOW_SENDING=true sur un serveur MCP stdio auto-hébergé. Les outils qui modifient les accès nécessitent TREKMAIL_ALLOW_DESTRUCTIVE=true; la suppression nécessite également confirm_remove=true. Ces options sont des contrôles de sécurité locaux, et non des autorisations d'API supplémentaires. Le serveur MCP hébergé applique sa propre politique de sécurité approuvée.

Les outils créent des clés d'idempotence déterministes lorsque vous n'en fournissez pas. Fournir votre propre idempotency_key est utile lorsqu'un flux de travail peut redémarrer dans un autre processus.

Un flux d'automatisation sûr

  1. Appelez get_white_label. Arrêtez-vous sur scope_blocked_by_entitlement; dans une réponse grace réussie, poursuivez uniquement avec des lectures.
  2. Appelez get_white_label_access_catalog immédiatement avant d'accorder l'accès.
  3. Répertoriez ou lisez le membre cible avant de le modifier.
  4. Vérifiez allowed_operations, le rôle prévu, les autorisations et les identifiants de domaine.
  5. Utilisez une clé d'idempotence stable pour l'écriture.
  6. Relisez le membre et indiquez l'état obtenu ainsi que les autorisations effectives.
  7. Consultez l'activité White Label lorsque vous avez besoin d'une trace d'audit de la modification.

Erreurs qui indiquent la marche à suivre

Code Signification Étape suivante
insufficient_scope La portée requise n'a jamais été accordée à l'identifiant Ajoutez cette portée ou autorisez à nouveau la connexion OAuth
scope_blocked_by_entitlement L'autorisation enregistrée existe, mais White Label n'est pas actif pour elle actuellement Réactivez White Label, puis réémettez ou autorisez à nouveau l'identifiant
scope_blocked_by_membership Le rôle actuel de la personne est plus restreint que l'action ou l'autorisation demandée Demandez au propriétaire de modifier l'adhésion ou sollicitez un accès plus limité
member_not_manageable La cible est le propriétaire, l'appelant lui-même ou un membre disposant d'un accès plus large Choisissez un membre situé dans le périmètre de gestion de l'appelant
membership_state_conflict L'opération ne correspond pas à l'état actuel du membre Lisez allowed_operations et choisissez l'une de ces actions
missing_idempotency_key Une écriture a été envoyée sans clé Réessayez avec un en-tête Idempotency-Key stable
idempotency_mismatch La même clé a été réutilisée pour des données différentes Utilisez les données d'origine ou créez une nouvelle clé

Articles connexes

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.