Créer un utilisateur

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 »
}