Créer un utilisateur #
Crée un nouvel utilisateur affecté à un locataire client.
POST /v1.0/customers/{CUSTOMER_TENANT_ID}/users
Remarques #
Chaque fois qu'un nouvel utilisateur est créé, il se voit attribuer le rôle « customer.user » qui lui permet de se connecter au Portail client. Cela enverra également un courriel d'activation à l'adresse fournie dès que l'utilisateur est créée.
Exemple #
Cette demande créera un nouvel utilisateur avec les détails suivants :
- Client : Au sein du client client avec l'identifiant {CUSTOMER_TENANT_ID}
- Courriel : [email protected]
- Nom d'affichage : « Nouvel utilisateur »,
- Rôles :
- Administrateur des utilisateurs (admin.user)
- Utilisateur du site Web (customer.user)
- Niveau de superviseur déclarant (customer.user.supervisorl1)
- Paramètres du client (customer.settings)
Demande #
POST <https://api.na.myreports.cloud/api/v1.0/customers/{CUSTOMER_TENANT_ID}/users> HTTP/1.1
Type de contenu : application/json
accept-charges : true
Autorisation : Porteur {TOKEN}
Connexion : garder en vie
{
« email » : « [[email protected]](mailto:[email protected])",
« displayName » : « Nouvel utilisateur »,
« roles » : [" admin.user », « customer.user », « customer.user.supervisorl1 », « customer.settings"]["admin.user", "customer.user", "customer.user.supervisorl1", "customer.settings"]
}
Réponse #
HTTP/1.1 201 Création
Type de contenu : application/json; charset=utf-8
Longueur du contenu : xx
Lieu : <https://api.na.myreports.cloud/api/v1.0/customers/{CUSTOMER_TENANT_ID}/users/{USER_ID}>
{
« données » : {
« id » : « {USER_ID} »,
« displayName » : « Nouvel utilisateur »,
« email » : « [[email protected]](mailto:[email protected])",
« primaryTenant » : « {CUSTOMER_TENANT_ID} »,
« roles » : [" admin.user », « customer.user », « customer.user.supervisorl1 », « customer.settings"]["admin.user", "customer.user", "customer.user.supervisorl1", "customer.settings"]
},
« status » : « succès »,
« timestamp » : « 2019-11-29T16:03:23.9251680Z »
}
Erreurs #
Non autorisé #
Lorsque le jeton n'est pas fourni, invalide ou expiré
HTTP/1.1 401 Non autorisé
Mauvaise demande #
Lorsque l'identifiant du locataire fourni n'est pas dans le bon format
HTTP/1.1 400 Mauvaise demande
Date : Thu, 06 Feb 2020 12:45:27 GMT
Type de contenu : application/json; charset=utf-8
Longueur du contenu : 149
{
« error » : 400,
« message » : « La valeur '<tenant id>' n'est pas valide.
« status » : « erreur »,
« timestamp » : « 2020-02-06T12:45:27.5903465Z »
}
Lorsque le nombre de licences d'utilisation a été dépassé
HTTP/1.1 400 Mauvaise demande
Date : Thu, 06 Feb 2020 12:45:27 GMT
Type de contenu : application/json; charset=utf-8
Longueur du contenu : 149
{
« error » : 400,
« message » : « Pas assez de licences d'utilisation disponibles. »,
« status » : « erreur »,
« timestamp » : « 2020-02-06T12:45:27.5903465Z »
}
Non trouvé #
Lorsqu'il n'y a pas de clients qui ont un identifiant de locataire correspondant
HTTP/1.1 404 Introuvable
Date : Thu, 06 Feb 2020 12:46:58 GMT
Type de contenu : application/json; charset=utf-8
Longueur du contenu : 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, voir Charges.
HTTP/1.1 402 Paiement requis
Date : Thu, 06 Feb 2020 13:01:00 GMT
Type de contenu : application/json; charset=utf-8
Longueur du contenu : 274
{
« données » : {
« id » : « {USER_ID} »,
« displayName » : « Nouvel utilisateur »,
« email » : « [[email protected]](mailto:[email protected])",
« primaryTenant » : « {CUSTOMER_TENANT_ID} »,
« roles » : [" 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 »
}
Conflit #
Si l'adresse e-mail de ce nouvel utilisateur quitte déjà pour un autre utilisateur dans ce locataire client
HTTP/1.1 409 Conflit
Date : Thu, 06 Feb 2020 13:05:39 GMT
Type de contenu : application/json; charset=utf-8
Longueur du contenu : 178
{
« error » : 409,
« errorCode » : « Conflit d'e-mails »,
« message » : « Un utilisateur avec l'adresse courriel [[email protected]](mailto:[email protected]) existe déjà.
« status » : « erreur »,
« timestamp » : « 2020-02-06T13:05:39.5486342Z »
}