SSO - Création et mise à jour d'un utilisateur via API

Pour pouvoir créer un utilisateur Powerslide via API, il faut au préalable avoir récupéré un token avec des droits administrateurs, comme vu au chapitre SSO - Récupération de tokens utilisateurs.

Création d'un utilisateur

En disposant du token administrateur $TOKEN, vous pouvez créer un utilisateur en faisant appel à l'API suivante avec les paramètres :

  • $EMAIL : l'email de l'utilisateur

  • $UUID : un identifiant de type uuidv4 pour cet utilisateur

  • $ROLENAME : le role de l'utilisateur : "Tenant Administrator", "Viewer" ou "Designer"

  • $SENDEMAIL : booléan (true/false) pour déterminer si un email doit être envoyé à l'utilisateur pour lui notifier de la création du compte

post
Création d'un utilisateur Powerslide

https://app.powerslide.io/graphql/
Cette route GRAPHQL permet de créer un utilisateur Powerslide.
Request
Response
Request
Headers
Content-Type
required
string
application/json
Authorization
required
string
Bearer $TOKEN
Body Parameters
required
object
{ "query": "mutation createAccount ($account: AccountInput, $sendEmail: Boolean){\n createAccount(account: $account, sendEmail: $sendEmail)}", "variables": { "account": { "_id": "$UUID", "roleName": "$ROLE", "username": "$EMAIL" }, "sendEmail": $SENDEMAIL }}
Response
200: OK
Cake successfully retrieved.

Modification d'un utilisateur

En disposant du token administrateur $TOKEN, vous pouvez modifier un utilisateur en faisant appel à l'API GRAPHQL suivante avec les paramètres :

  • $ACCOUNTID : l'identifiant de l'utilisateur (au format uuidv4)

  • optionnel : $VERSION : la version actuelle de l'utilisateur, pour vérifier que l'on modifie bien la dernière version. Ce paramètre est à omettre dans le cas où l'on veut mettre à jour l'utilisateur sans contrôle de version.

  • $NEWEMAIL: optionnel, le nouvel email de l'utilisateur

  • $ATTRIBUTES: optionnel, un tableau d'attributs utilisateurs pour le filtrage des données dans les slides. Par exemple : [{"key":"user", "value":"U01"}]

  • $FIRSTNAME : optionnel : le nouveau prénom de l'utilisateur

  • $LASTNAME : optionnel : le nouveau nom de l'utilisateur

  • $JOBTITLE : optionnel : le nouveau titre d'emploi de l'utilisateur

  • $LANGUAGE : optionnel, le nouveau langage de l'utilisateur (fr ou en)

  • $ROLENAME : optionnel, le nouveau role de l'utilisateur, typiquement "Viewer" ou "Designer"

  • $GROUPID : optionnel, l'identifiant du groupe de l'utilisateur, qui lui permettra d'avoir accès en lecture aux slides

post
Modification d'un utilisateur

https://app.powerslide.io/graphql/
Cette route GRAPHQL permet de modifier un utilisateur Powerslide
Request
Response
Request
Headers
Content-Type
required
string
application/json
Authorization
required
string
Bearer $TOKEN
Body Parameters
required
object
{ "query": "mutation updateAccount ($account: AccountInput){ \n updateAccount(account: $account)}", "variables": { "account": { "_id": "$ACCOUNTID", "attributes": $ATTRIBUTES, "firstname": "$FIRSTNAME", "jobTitle": "$JOBTITLE", "language": "$LANGUAGE", "lastname": "$LASTNAME", "status": "live", "groups": ["$GROUPID"], "username": "$NEWEMAIL", "version": $VERSION } } }
Response
200: OK
{
"data": {
"updateAccount": "3$NEWACCOUNTVERSION"
}
}

Suppression d'un utilisateur

En disposant du token administrateur $TOKEN, vous pouvez supprimer un utilisateur en faisant appel à l'API GRAPHQL suivante avec les paramètres :

  • $ACCOUNTID : identifiant de l'utilisateur à supprimer (au format uuidv4)

post
Suppression d'un utilisateur Powerslide

https://app.powerslide.io/graphql/
Cette route GRAPHQL permet de supprimer un utilisateur Powerlisde
Request
Response
Request
Headers
Content-Type
required
string
application/json
Authorization
required
string
Bearer $TOKEN
Body Parameters
required
object
{ "query": "mutation deleteAccount ($id: String, $force:Boolean){ deleteAccount(id: $id, force:$force) }", "variables": { "id": "$ACCOUNTID", "force": true } }
Response
200: OK

Listing des utilisateurs Powerslide

En disposant du token administrateur $TOKEN, vous pouvez lister les utilisateurs en faisant appel à l'API GRAPHQL suivante :

post
Listing des utilisateurs Powerslide

https://app.powerslide.io/graphql/
Cette route GRAPHQL permet de lister les utilisateurs Powerslide. Cliquez sur l'onglet Response pour visualiser une exemple de réponse.
Request
Response
Request
Headers
Content-Type
required
string
application/json
Authorization
required
string
Bearer $TOKEN
Body Parameters
required
object
{ "query": " query { accountList { _id \n username \n firstname \n lastname \n jobTitle \n language \n status \n role {\n name \n} creationDate \n lastModificationDate \n lastActivityDate \n attributes { \n key \n value \n } \n version }}" }
Response
200: OK
{
"data": {
"accountList": [
{
"_id": "989bff83-6300-4284-9541-a793b9326502",
"username": "[email protected]",
"firstname": "Prénom",
"lastname": "Nom",
"jobTitle": null,
"language": null,
"status": "live",
"role": {
"name": "Designer"
},
"creationDate": "2021-05-19T12:14:42.043Z",
"lastModificationDate": "2021-05-19T12:43:12.692Z",
"lastActivityDate": "2021-05-19T12:14:42.043Z",
"attributes": [],
"version": 3
}
]
}
}

Ce listing sera utile pour récupérer les IDs et versions des utilisateurs existants pour pouvoir les modifier.