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 verra attribuer le rôle « customer.user » qui lui permet de se connecter à l' Portail client. Cela enverra également un e-mail 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 : Dans le locataire du client avec l'ID {CUSTOMER_TENANT_ID}
  • Courriel : [email protected]
  • Nom d'affichage : « Nouvel utilisateur »,
  • Rôles:
    • Administrateur d'utilisateurs (admin.user)
    • Utilisateur du site web (customer.user)
    • Niveau de superviseur du rapporteur (customer.user.supervisorl1)
    • Paramètres du client (customer.settings)

Demander #

POST [https://api.na.myreports.cloud/api/v1.0/customers/{CUSTOMER_TENANT_ID}/utilisateurs](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 : keep-alive
{
	« email » : « [[email protected]](mailto:[email protected])",
	« displayName » : « Nouvel utilisateur »,
	« rôles » : [" 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éé
Type de contenu : application/json ; jeu de caractères=utf-8
Contenu-Longueur : 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} »,
		« rôles » : [" 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é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 #

Lorsque l'ID de locataire 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>' 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 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 » : « Pas assez de licences utilisateur disponibles. »,
	« status » : « erreur »,
	« timestamp » : « 2020-02-06T12:45:27.5903465Z »
}

Introuvable #

Lorsqu'il n'y a aucun client disposant d'un ID de locataire 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 »
}

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