Utilisateur du correctif #
Met à jour un ensemble spécifique de propriétés d'un utilisateur. Cette commande utilise le JSON Format du correctif pour toute modification.
PATCH /v1.0/clients/{CUSTOMER_TENANT_ID}/utilisateurs/{USER_ID}
warning
Lorsque vous appliquez des correctifs aux rôles sur un utilisateur, soyez prudent si vous utilisez l'opération REPLACE (REPLACE S'OPERATE).
Avec l'opération de remplacement, les rôles actuels de l'utilisateur seront remplacés par les valeurs fournies dans la demande de correctif.
Tout rôle non fourni dans la demande de correctif sera supprimé pour l'utilisateur (à l'exception du PBX rôle d'utilisateur synchronisé à partir du PBX).
Exemple 1 #
Cette demande mettra à jour le nom d'affichage de l'utilisateur.
Demander #
PATCH <https://api.na.myreports.cloud/api/v1.0/customers/{CUSTOMER_TENANT_ID}/users/{USER_ID}> HTTP/1.1
Type de contenu : application/json
accept-charges : true
Autorisation : Porteur {TOKEN}
Connexion : keep-alive
[ {
« op » : « remplacer »,
« path » : « /displayName »,
« value » : « Mon nouveau nom »
}][{
"op": "replace",
"path": "/displayName",
"value": "My New Name"
}]
Réponse #
HTTP/1.1 200 OK
Type de contenu : application/json ; jeu de caractères=utf-8
Contenu-Longueur : xx
Contexte-requête : appId=cid-v1 :d24f4c80-0a0a-432e-85aa-a6f91f13a038
{
« status » : « succès »,
« timestamp » : « 2019-11-29T15:16:54.2586208Z »
}
Exemple 2 #
Cette demande AJOUTERA le rôle customer.user.supervisorl1 à l'utilisateur, en gardant intacts les rôles existants.
Demander #
PATCH <https://api.na.myreports.cloud/api/v1.0/customers/{TENANT_ID}/users/{USER_ID}> HTTP/1.1
Type de contenu : application/json
accept-charges : true
Autorisation : Porteur {TOKEN}
Connexion : keep-alive
[ {
« op » : « ajouter »,
« path » : « /rôles/-« ,
« value » : « client.utilisateur.supervisorl1 »
}][{
"op": "add",
"path": "/roles/-",
"value": "customer.user.supervisorl1"
}]
Réponse #
HTTP/1.1 200 OK
Type de contenu : application/json ; jeu de caractères=utf-8
Contenu-Longueur : xx
Contexte-requête : appId=cid-v1 :d24f4c80-0a0a-432e-85aa-a6f91f13a038
{
« status » : « succès »,
« timestamp » : « 2019-11-29T15:16:54.2586208Z »
}
Exemple 3 #
Cette demande remplacera TOUS les rôles attribués à l'Utilisateur par les deux prévus ci-dessous.
Demander #
PATCH <https://api.na.myreports.cloud/api/v1.0/customers/{TENANT_ID}/users/{USER_ID}> HTTP/1.1
Type de contenu : application/json
accept-charges : true
Autorisation : Porteur {TOKEN}
Connexion : keep-alive
\[{
« op » : « remplacer »,
« path » : « /rôles »,
« valeur » : [" utilisateur.admin », « client.utilisateur"]["user.admin", "customer.user"]
}]
Réponse #
HTTP/1.1 200 OK
Type de contenu : application/json ; jeu de caractères=utf-8
Contenu-Longueur : xx
Contexte-requête : appId=cid-v1 :d24f4c80-0a0a-432e-85aa-a6f91f13a038
{
« status » : « succès »,
« timestamp » : « 2019-11-29T15:16:54.2586208Z »
}
Erreurs #
Non autorisée #
Lorsque le jeton n'est pas fourni, qu'il n'est pas valide ou qu'il a expiré
HTTP/1.1 401 Non autorisé
Mauvaise demande (1) #
Lorsque l'ID de locataire ou d'utilisateur fourni n'est pas au format correct
HTTP/1.1 400 Requête incorrecte
Date : Thu, 06 Feb 2020 12:45:27 GMT
Type de contenu : application/json ; jeu de caractères=utf-8
Contenu-Longueur : 149
{
« error » : 400,
« message » : « La valeur '\< tenant/ID utilisateur>' n'est pas valide.",
« status » : « erreur »,
« timestamp » : « 2020-02-06T12:45:27.5903465Z »
}
Mauvaise demande (2) #
Lorsque le dernier utilisateur avec les rôles « user.admin » et « customer.user » dans ce client tente de faire supprimer ce rôle.
warning
Il doit toujours y avoir un utilisateur dans un locataire client avec les rôles « user.admin » et « customer.user ».
HTTP/1.1 400 Requête incorrecte
Date : Thu, 06 Feb 2020 13:12:06 GMT
Type de contenu : application/json ; jeu de caractères=utf-8
Contenu-Longueur : 132
{
« error » : 400,
« message » : « Il doit y avoir au moins un administrateur d'utilisateur. »,
« status » : « erreur »,
« timestamp » : « 2020-02-06T13:12:06.9741515Z »
}
Mauvaise demande (3) #
Lors de la tentative de correction d'une propriété non valide.
HTTP/1.1 400 Requête incorrecte
Date : Thu, 06 Feb 2020 12:45:27 GMT
Type de contenu : application/json ; jeu de caractères=utf-8
Contenu-Longueur : 149
{
« error » : 400,
« message » : « L'emplacement cible spécifié par segment de chemin '<invalid property>' n'a pas été trouvé.",
« status » : « erreur »,
« timestamp » : « 2020-02-06T12:45:27.5903465Z »
}
Conflit #
Si l'adresse e-mail de ce nouvel utilisateur se termine déjà pour un autre utilisateur dans ce locataire Client
HTTP/1.1 409
Date : Thu, 06 Feb 2020 13:05:39 GMT
Type de contenu : application/json ; jeu de caractères=utf-8
Contenu-Longueur : 178
{
« error » : 409,
« errorCode » : « Conflit d'e-mails »,
« message » : « Un utilisateur avec l'adresse e-mail [[email protected]](mailto:[email protected]) existe déjà.",
« status » : « erreur »,
« timestamp » : « 2020-02-06T13:05:39.5486342Z »
}
Introuvable #
Lorsqu'il n'y a pas de clients disposant d'un ID de locataire correspondant ou d'utilisateurs au sein de ce locataire ayant un ID d'utilisateur correspondant
HTTP/1.1 404 Introuvable
Date : Thu, 06 Feb 2020 12:46:58 GMT
Type de contenu : application/json ; jeu de caractères=utf-8
Contenu-Longueur : 95
{
« error » : 404,
« message » : « Introuvable »,
« status » : « erreur »,
« timestamp » : « 2020-02-06T12:46:58.7669535Z »
}
Paiement requis #
Si cette demande peut entraîner des frais supplémentaires, reportez-vous à la section Frais.
HTTP/1.1 402 Paiement requis
Date : Thu, 06 Feb 2020 13:01:00 GMT
Type de contenu : application/json ; jeu de caractères=utf-8
Contenu-Longueur : 274
{
« données » : {
« id » : « {USER_ID} »,
« displayName » : « Nouvel utilisateur »,
« email » : « [[email protected]](mailto:[email protected])",
« primaryTenant » : « {CUSTOMER_TENANT_ID} »,
« rôles » : [" admin.user », « customer.user », « customer.user.supervisorl1 », « customer.settings"]["admin.user", "customer.user", "customer.user.supervisorl1", "customer.settings"]
},
« error » : 402,
« message » : « Des frais supplémentaires s'appliquent »,
« status » : « erreur »,
« timestamp » : « 2020-02-06T13:01:01.1302340Z »
}