API Plan de contrôle du gateway API Conversions pour plusieurs comptes : référence

Gestion des utilisateur·ices

Ajouter un·e utilisateur·ice avec rôle

Ajoute un nouvel utilisateur ou une nouvelle utilisatrice pour l’adresse e-mail et le nom de rôle fournis.

Schéma

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
mutation useAddUserAccountMutation(
  $addUserWithRoleInput: AddUserWithRoleInput!
) {
  userMutations {
    addUserWithRole(input: $addUserWithRoleInput) {
      userAlreadyExist
      invitationLink
      user {
        id
        email
        status
        roles {
          name
          displayName
        }
        isSelf
        canBeDeleted
        defaultTenantId
      }
    }
  }
}
_________________________________________________________________________________________________________    
input AddUserWithRoleInput {
    email: String!
    roleName: String!
}
     

Champs

AddUserWithRoleInput

ChampDescription

email
Chaîne

Obligatoire

Adresse e-mail de l’utilisateur·ice

roleName
Chaîne

Obligatoire
Nom de rôle de l’utilisateur·ice (Voir Format de rôle)


Retours

AddUserResponse

ChampDescription

userAlreadyExist
Booléen

Indique si l’utilisateur·ice existe déjà

invitationLink
Chaîne

Lien d’invitation de l’utilisateur·ice

user
Utilisateur·ice

Objet utilisateur


Codes d’erreur

CodeDescription

400

Saisie non valide

401

Ajout de l’utilisateur·ice non autorisé

404

Nom de rôle introuvable ou incorrect

409

L’utilisateur·ice existe déjà dans le compte

500

Erreur interne du serveur


Exemple de requête

Mutation

mutation useAddUserAccountMutation(
 $addUserWithRoleInput: AddUserWithRoleInput!
) {
 userMutations {
   addUserWithRole(input: $addUserWithRoleInput) {
     userAlreadyExist
     invitationLink
     user {
       id
       email
       status
       roles {
         name
         displayName
       }
     }
   }
 }
}
     

Variables

{
   "addUserWithRoleInput": {
           "email": "tempUser1@testaccount.com",
           "roleName": "advertiser-manage-wW58k7FQ"
       }
}
     

Exemple de réponse

{
   "data": {
       "userMutations": {
           "addUserWithRole": {
               "userAlreadyExist": false,
               "invitationLink": "http://localhost:8443/auth/verify/?token=0MGaMI_FRDe80OAgrSSdZw&et=inv&email=tempUser1@testaccount.com",
               "user": {
                   "id": "97a9753d-a469-4f23-8aa7-748e4cf86877",
                   "email": "tempuser1@testaccount.com",
                   "status": 2,
                   "roles": [
                       {
                           "name": "advertiser-manage-wW58k7FQ",
                           "displayName": "manage"
                       }
                   ]
               }
           }
       }
   }
}

Changer les rôles d’utilisateur·ice

Permet d’ajouter et de révoquer des rôles d’utilisateur·ice.

Schéma

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
mutation UserAccessChangeMutation(
  $changeRoleForUserInput: ChangeRoleForUserInput!
) {
  userMutations {
    changeRoleForUser(input: $changeRoleForUserInput) {
      user {
        id
        email
        status
        roles {
          name
          displayName
        }
        isSelf
        canBeDeleted
        defaultTenantId
      }
    }
  }
}
_________________________________________________________________________________________________________    
input ChangeRoleForUserInput {
    userId: String!
    roleToRevoke: String
    roleToAdd: String
}
     

Champs

ChangeRoleForUserInput

ChampDescription

userId
Chaîne

Obligatoire

Identifiant unique de l’utilisateur·ice

roleToRevoke
Chaîne

Facultatif
Nom de rôle à supprimer pour l’utilisateur·ice (Voir Format de rôle)

roleToAdd
Chaîne

Obligatoire
Nom de rôle à ajouter pour l’utilisateur·ice (Voir Format de rôle)


Un·e utilisateur·ice ne peut avoir qu’un seul ensemble d’autorisations par compte d’annonceur/partenaire.


Retours

ChangeRoleForUserResponse

ChampDescription

user
Utilisateur·ice

Objet utilisateur


Codes d’erreur

CodeDescription

400

Saisie non valide

401

Révocation/ajout d’un·e utilisateur·ice non autorisés

404

ID utilisateur/nom de rôle introuvable ou incorrect

500

Erreur interne du serveur


Exemple de requête

Mutation

mutation UserAccessChangeMutation(
 $changeRoleForUserInput: ChangeRoleForUserInput!
) {
 userMutations {
   changeRoleForUser(input: $changeRoleForUserInput) {
     user {
       id
       email
       roles {
         name
         displayName
       }
     }
   }
 }
}
     

Variables

{
   "changeRoleForUserInput": {
           "userId": "97a9753d-a469-4f23-8aa7-748e4cf86877",
           "roleToRevoke": "advertiser-admin-wW58k7FQ",
           "roleToAdd": "agency-admin"
       }
}
     

Exemple de réponse

{
   "data": {
       "userMutations": {
           "changeRoleForUser": {
               "user": {
                   "id": "97a9753d-a469-4f23-8aa7-748e4cf86877",
                   "email": "tempuser1@testaccount.com",
                   "roles": [
                       {
                           "name": "agency-admin",
                           "displayName": "admin"
                       }
                   ]
               }
           }
       }
   }
}
     

Générer et envoyer une invitation

Génère un lien d’invitation pour les nouveaux utilisateurs ou les nouvelles utilisatrices. De plus, si la fonctionnalité SMTP est activée, un e-mail est envoyé à l’adresse e-mail fournie. Dans le cas contraire, seule la sortie est retournée.

Schéma

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
mutation ActivateElementMutation(
  $sendInvitationInput: SendInvitationInput!
) {
  userMutations {
    sendInvitation(input: $sendInvitationInput)
  }
}
_________________________________________________________________________________________________________    
input SendInvitationInput {
    email: String!
    tenantId: String
    userType: UserType!
}
     

Champs

SendInvitationInput

ChampDescription

email
Chaîne

Obligatoire

Adresse e-mail de l’utilisateur·ice

tenantId
Chaîne

Facultatif

Identifiant unique du compte. (Pour les utilisateur·ices partenaires, il doit être nul)

userType
UserType

Obligatoire

Type d’utilisateur·ice


Retours

Chaîne

Lien d’invitation pour l’utilisateur·ice


Codes d’erreur

CodeDescription

400

Saisie non valide

401

L’utilisateur·ice n’est pas autorisé·e à envoyer une invitation

404

Impossible de trouver l’utilisateur·ice associé·e à l’ID tenantId fourni

500

Erreur interne du serveur


Exemple de requête

Mutation

mutation ActivateElementMutation(
 $sendInvitationInput: SendInvitationInput!
) {
 userMutations {
   sendInvitation(input: $sendInvitationInput)
 }
}
     

Variables

{
   "sendInvitationInput": {
           "email": "tempuser1@testaccount.com",
           "tenantId": "wW58k7FQ",
           "userType": "ADVERTISER"
   }
      
}
     

Exemple de réponse

"data": {
       "userMutations": {
           "sendInvitation": "http://localhost:8443/auth/verify/?token=uo3hMrl1QEeUtx5PXRoUvg&et=inv&email=tempuser1@testaccount.com"
       }
   }