ServiceUser

ServiceUser est un end-user du produit inscrit via ServiceLogin, c'est-à-dire un compte membre. C'est une identité distincte du compte de plateforme Weegloo (le Weegloo User qui se connecte au studio de contenu), et le jeton d'un ServiceUser s'authentifie auprès de ACMA/ACDA.

Un ServiceUser est créé lorsqu'un membre s'inscrit lui-même via ServiceLogin. C'est pourquoi cette API ne comporte pas d'endpoint de création : seules la consultation et certaines modifications par un administrateur (Weegloo User) sont possibles.

Structure de la ressource

Voici la réponse à la consultation unitaire d'un ServiceUser. Outre sys (propriétés système), il possède les propriétés de corps nickname, avatarUrl, roleOverride et enableLogin, qui portent les informations d'affichage du membre et la configuration de ses permissions.

{
  "sys": {
    "id": "3trmXRM3RqbgSnifyg7PSusr01Ex",
    "type": "ServiceUser",
    "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
    "provider": "google",
    "email": "buyer@example.com",
    "createdAt": "2026-06-18T12:50:00.000Z",
    "updatedAt": "2026-06-18T12:50:00.000Z"
  },
  "nickname": "Client fidèle",
  "avatarUrl": "https://lh3.example.com/a/buyer-avatar",
  "roleOverride": null,
  "enableLogin": true
}

Clés principales :

  • sys.email : l'adresse e-mail que le membre a utilisée pour s'inscrire. Avec sys.provider, elle indique avec quel compte l'inscription a été faite.
  • sys.provider : le fournisseur OAuth utilisé pour l'inscription (par exemple google).
  • roleOverride : le Refer à renseigner pour attribuer un ServiceUserRole différent à ce membre uniquement. S'il est vide (null), le rôle par défaut de ServiceLogin s'applique.

Propriétés système (sys)

Tout ServiceUser porte des propriétés système communes dans l'objet sys. space se présente sous la forme Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).

PropriétéTypeDescription
idstringIdentifiant unique de la ressource.
typestringType de la ressource. Pour un ServiceUser, toujours "ServiceUser".
spaceRefer<Space>Le Space auquel appartient ce ServiceUser.
providerstringLe fournisseur OAuth utilisé pour l'inscription (par exemple google).
emailstringL'adresse e-mail utilisée pour l'inscription.
createdAtstring (date-time)Date et heure de l'inscription (création).
updatedAtstring (date-time)Date et heure de la dernière modification.

Comme un ServiceUser est une ressource créée par l'inscription du membre lui-même, son sys ne comporte pas, contrairement aux autres ressources CMA, de createdBy, updatedBy ni version. Puisqu'il n'y a pas de version, les modifications (PUT, PATCH) n'envoient pas non plus l'en-tête X-Weegloo-Version. Il n'y a pas non plus de notion de publication, donc pas de publish, archive ni status.

Propriétés de corps

PropriétéTypeDescription
nicknamestringNom d'affichage du membre.
avatarUrlstringAdresse de l'image de profil (facultatif).
roleOverrideRefer<ServiceUserRole>ServiceUserRole à attribuer à ce membre uniquement (facultatif). S'il est défini, il prime sur le rôle par défaut de ServiceLogin.
enableLoginbooleanIndique si la connexion est autorisée. Désactivé, il empêche ce membre de se connecter.

Gestion des membres

Un ServiceUser est créé par l'inscription. Ce qu'un administrateur (Weegloo User) peut ajuster par modification (PUT, PATCH) se limite aux deux éléments suivants.

  • Définir/retirer roleOverride : attribue un ServiceUserRole différent à un membre spécifique uniquement. À utiliser pour traiter un seul membre différemment, comme une formule payante, un modérateur ou un groupe bêta. Le roleOverride défini prime sur le defaultRole de ServiceLogin.
  • Basculer enableLogin : désactivé, il empêche ce membre de se connecter.

Le retrait d'un membre de la liste se fait dans le studio de contenu. La marche à suivre et ce qui disparaît avec lui sont traités dans Gérer les membres du service.

Pour qu'un membre puisse manipuler aussi les ressources créées par d'autres membres, créez un ServiceUserRole distinct portant cette permission et désignez-le dans le roleOverride de ce membre. Ce à quoi un membre accède est déterminé par le ServiceUserRole qui lui est appliqué. Si le filtre createdBy d'une règle est posé sur :self, l'action ne porte que sur ce que le membre a lui-même créé ; si ce filtre n'est pas posé, elle porte aussi sur ce qu'ont créé les autres membres. La manière de créer ces deux rôles distincts est traitée dans ServiceUserRole.

API

L'URL de base de tous les endpoints ci-dessous est https://cma.weegloo.com/v1, et un jeton Bearer authentifiant auprès de CMA est requis dans l'en-tête Authorization. Comme un ServiceUser est une ressource sans version, les modifications (PUT, PATCH) n'envoient pas l'en-tête X-Weegloo-Version. Il n'y a pas d'endpoint de création (création par l'inscription).

Pour filtrer la liste sur sys.email, on n'utilise que les opérateurs de la famille de l'égalité exacte (eq, ne, in, nin). L'adresse d'un membre étant stockée chiffrée, on ne peut juger sur cette représentation que de l'égalité ou de la différence : un prefix ou une comparaison d'ordre renvoie 0 élément sans erreur. Si une recherche de membre par adresse donne un résultat vide, commencez par vérifier l'opérateur. Une recherche sur une partie de l'adresse ne peut pas se faire avec ce filtre.