Patch-Nutzer

Patch-Nutzer #

Aktualisiert eine bestimmte Menge von Eigenschaften eines Benutzers. Für Änderungen verwendet dies das Patch-Format JSON Patch.

PATCH /v1.0/customers/{CUSTOMER_TENANT_ID}/users/{USER_ID}

Hand Left warning
Wenn Sie die Rollen gegen einen Benutzer patchen, seien Sie vorsichtig, wenn Sie die RESTAUR-Operation verwenden.
Mit der Ersetzungsoperation werden die aktuellen Rollen des Benutzers durch die im Patch Request angegebenen Werte ersetzt.
Jede Rolle, die in der Patchanfrage nicht angegeben ist, wird vom Benutzer entfernt (mit Ausnahme der Benutzerrolle PBX, die mit der PBX synchronisiert ist).

Beispiel 1 #

Diese Anfrage aktualisiert den Anzeigenamen des Benutzers.

Anfrage #

PATCH <https://api.uk.myreports.cloud/api/v1.0/customers/{CUSTOMER_TENANT_ID}/users/{USER_ID}> HTTP/1.1
Inhaltstyp: application/json
Akzeptanz-Gebühren: Wahr
Autorisierung: Inhaber {TOKEN}
Verbindung: am Leben bleiben
[{
	"op": "ersetzen",
	"Pfad": "/displayName",
	"Wert": "Mein neuer Name"
}][{
	"op": "replace",
	"path": "/displayName",
	"value": "My New Name"
}]

Reaktion #

HTTP/1.1 200 OK
Inhaltstyp: application/json; charset=utf-8
Inhalt-Länge: xx
Anfrage-Kontext: appId=cid-v1:d24f4c80-0a0a-432e-85aa-a6f91f13a038
{
	"Status": "Erfolg",
	"Zeitstempel": "2019-11-29T15:16:54.2586208Z"
}

Beispiel 2 #

Diese Anfrage fügt die Rolle, customer.user.supervisorl1 zum Benutzer hinzu und behält bestehende Rollen erhalten.

Anfrage #

PATCH <https://api.uk.myreports.cloud/api/v1.0/customers/{TENANT_ID}/users/{USER_ID}> HTTP/1.1
Inhaltstyp: application/json
Akzeptanz-Gebühren: Wahr
Autorisierung: Inhaber {TOKEN}
Verbindung: am Leben bleiben
[{
	"op": "add",
	"Pfad": "/Rollen/-",
	"value": "customer.user.supervisorl1"
}][{
	"op": "add",
	"path": "/roles/-",
	"value": "customer.user.supervisorl1"
}]

Reaktion #

HTTP/1.1 200 OK
Inhaltstyp: application/json; charset=utf-8
Inhalt-Länge: xx
Anfrage-Kontext: appId=cid-v1:d24f4c80-0a0a-432e-85aa-a6f91f13a038
{
	"Status": "Erfolg",
	"Zeitstempel": "2019-11-29T15:16:54.2586208Z"
}

Beispiel 3 #

Diese Anfrage ersetzt ALLE dem Benutzer zugewiesenen Rollen durch die beiden bereitgestellten.

Anfrage #

PATCH <https://api.uk.myreports.cloud/api/v1.0/customers/{TENANT_ID}/users/{USER_ID}> HTTP/1.1
Inhaltstyp: application/json
Akzeptanz-Gebühren: Wahr
Autorisierung: Inhaber {TOKEN}
Verbindung: am Leben bleiben
\[{
	"op": "ersetzen",
	"Pfad": "/Rollen",
	"value": ["user.admin", "customer.user"]["user.admin", "customer.user"]
}]

Reaktion #

HTTP/1.1 200 OK
Inhaltstyp: application/json; charset=utf-8
Inhalt-Länge: xx
Anfrage-Kontext: appId=cid-v1:d24f4c80-0a0a-432e-85aa-a6f91f13a038
{
	"Status": "Erfolg",
	"Zeitstempel": "2019-11-29T15:16:54.2586208Z"
}

Fehler #

Unautorisiert #

Wenn der Token nicht bereitgestellt wird, ungültig oder abgelaufen ist

HTTP/1.1 401 Unautorisiert

Schlechte Anfrage (1) #

Wenn der bereitgestellte Tenant oder Benutzer-ID nicht im richtigen Format ist

HTTP/1.1 400 Bad Request
Datum: Do, 06. Feb 2020 12:45:27 GMT
Inhaltstyp: application/json; charset=utf-8
Inhalt-Länge: 149
{
	"Fehler": 400,
	"message": "Der Wert '\<tenant/user id>' ist nicht gültig.",
	"status": "fehler",
	"Zeitstempel": "2020-02-06T12:45:27.5903465Z"
}

Schlechte Anfrage (2) #

Wenn der letzte Benutzer mit den Rollen "user.admin" und "customer.user" in diesem Customer versucht, diese Rolle entfernen zu lassen.

Hand Left warning
Es muss immer einen Benutzer in einem Kunden-Tenant mit den Rollen "user.admin" und "customer.user" geben.
HTTP/1.1 400 Bad Request
Datum: Do, 06. Feb 2020 13:12:06 GMT
Inhaltstyp: application/json; charset=utf-8
Inhalt-Länge: 132
{
	"Fehler": 400,
	"nachricht": "Es muss mindestens einen Benutzeradministrator geben."
	"status": "fehler",
	"Zeitstempel": "2020-02-06T13:12:06.9741515Z"
}

Schlechte Anfrage (3) #

Beim Versuch, eine ungültige Eigenschaft zu patchen.

HTTP/1.1 400 Bad Request
Datum: Do, 06. Feb 2020 12:45:27 GMT
Inhaltstyp: application/json; charset=utf-8
Inhalt-Länge: 149
{
	"Fehler": 400,
	"Nachricht": "Der vom Pfadsegment angegebene Zielort '<invalid property>'wurde nicht gefunden.",
	"status": "fehler",
	"Zeitstempel": "2020-02-06T12:45:27.5903465Z"
}

Konflikt #

Wenn die E-Mail-Adresse dieses neuen Nutzers bereits für einen anderen Nutzer in diesem Kunden-Tenant ausgeht.

HTTP/1.1 409-Konflikt
Datum: Do, 06. Feb 2020 13:05:39 GMT
Inhaltstyp: application/json; charset=utf-8
Inhalt-Länge: 178
{
	"error": 409,
	"errorCode": "EmailConflict",
	"message": "Ein Benutzer mit der E-Mail-Adresse [[email protected]](mailto:[email protected]) existiert bereits.",
	"status": "fehler",
	"Zeitstempel": "2020-02-06T13:05:39.5486342Z"
}

Nicht gefunden #

Wenn es keine Kunden gibt, die eine passende Mieter-ID haben, oder Benutzer innerhalb dieses Mieters mit einer passenden Benutzer-ID

HTTP/1.1 404 Nicht gefunden
Datum: Do, 06. Feb 2020 12:46:58 GMT
Inhaltstyp: application/json; charset=utf-8
Inhalt-Länge: 95
{
	"error": 404,
	"Nachricht": "Nicht gefunden",
	"status": "fehler",
	"Zeitstempel": "2020-02-06T12:46:58.7669535Z"
}

Zahlung erforderlich #

Wenn dieser Antrag zusätzliche Kosten verursachen könnte, siehe Charges.

HTTP/1.1 402 Zahlung erforderlich
Datum: Do, 06. Feb 2020 13:01:00 GMT
Inhaltstyp: application/json; charset=utf-8
Inhalt-Länge: 274
{
	"data": {
		"id": "{USER_ID}",
		"displayName": "Neuer Benutzer",
		"E-Mail": "[[email protected]](mailto:[email protected])",
		"primärMieter": "{CUSTOMER_TENANT_ID}",
		"Rollen": ["admin.user", "customer.user", "customer.user.supervisorl1", "customer.settings"]["admin.user", "customer.user", "customer.user.supervisorl1", "customer.settings"]
	},
	"Fehler": 402,
	"Nachricht": "Zusätzliche Kosten fallen an",
	"status": "fehler",
	"Zeitstempel": "2020-02-06T13:01:01.1302340Z"
}