Usuario de parches

Usuario de parches #

Actualiza un conjunto específico de propiedades de un usuario. Para ello, se utiliza el atributo JSON Formato de parche para cualquier cambio.

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

Hand Left warning
Al aplicar revisiones a los roles en un usuario, tenga cuidado si utiliza la operación REPLACE.
Con la operación de reemplazo, los roles actuales del usuario se reemplazarán por los valores proporcionados en la solicitud de revisión.
Cualquier rol no proporcionado en la solicitud de parche se eliminará del usuario (con la excepción de PBX rol de usuario que se sincroniza desde el PBX).

Ejemplo 1 #

Esta solicitud actualizará el nombre para mostrar del usuario.

Pedir #

PATCH <https://api.na.myreports.cloud/api/v1.0/customers/{CUSTOMER_TENANT_ID}/users/{USER_ID}> HTTP/1.1
Tipo de contenido: application/json
accept-charges: true
Autorización: portador {TOKEN}
Conexión: keep-alive
[ {
	"op": "reemplazar",
	"ruta": "/displayName",
	"value": "Mi nuevo nombre"
}][{
	"op": "replace",
	"path": "/displayName",
	"value": "My New Name"
}]

Respuesta #

HTTP/1.1 200 OK
Tipo de contenido: application/json; charset=utf-8
Longitud del contenido: xx
request-context: appId=cid-v1:d24f4c80-0a0a-432e-85aa-a6f91f13a038
{
	"status": "éxito",
	"marca de tiempo": "2019-11-29T15:16:54.2586208Z"
}

Ejemplo 2 #

Esta solicitud AGREGARÁ el rol customer.user.supervisorl1 al usuario, manteniendo intactos los roles existentes.

Pedir #

PATCH <https://api.na.myreports.cloud/api/v1.0/customers/{TENANT_ID}/users/{USER_ID}> HTTP/1.1
Tipo de contenido: application/json
accept-charges: true
Autorización: portador {TOKEN}
Conexión: keep-alive
[ {
	"op": "agregar",
	"ruta": "/roles/-",
	"valor": "cliente.usuario.supervisorl1"
}][{
	"op": "add",
	"path": "/roles/-",
	"value": "customer.user.supervisorl1"
}]

Respuesta #

HTTP/1.1 200 OK
Tipo de contenido: application/json; charset=utf-8
Longitud del contenido: xx
request-context: appId=cid-v1:d24f4c80-0a0a-432e-85aa-a6f91f13a038
{
	"status": "éxito",
	"marca de tiempo": "2019-11-29T15:16:54.2586208Z"
}

Ejemplo 3 #

Esta solicitud reemplazará TODOS los roles asignados al Usuario por los dos proporcionados.

Pedir #

PATCH <https://api.na.myreports.cloud/api/v1.0/customers/{TENANT_ID}/users/{USER_ID}> HTTP/1.1
Tipo de contenido: application/json
accept-charges: true
Autorización: portador {TOKEN}
Conexión: keep-alive
\[{
	"op": "reemplazar",
	"ruta": "/roles",
	"valor": [" usuario.admin", "cliente.usuario"]["user.admin", "customer.user"]
}]

Respuesta #

HTTP/1.1 200 OK
Tipo de contenido: application/json; charset=utf-8
Longitud del contenido: xx
request-context: appId=cid-v1:d24f4c80-0a0a-432e-85aa-a6f91f13a038
{
	"status": "éxito",
	"marca de tiempo": "2019-11-29T15:16:54.2586208Z"
}

Errores #

Desautorizado #

Cuando el token no se proporciona, no es válido o ha caducado

HTTP/1.1 401 No autorizado

Solicitud incorrecta (1) #

Cuando el inquilino o el identificador de usuario proporcionados no están en el formato correcto

HTTP/1.1 400 Solicitud incorrecta
Fecha: Thu, 06 Feb 2020 12:45:27 GMT
Tipo de contenido: application/json; charset=utf-8
Longitud del contenido: 149
{
	"error": 400,
	"message": "El valor '\< Id. de inquilino/usuario>' no es válido.",
	"status": "error",
	"timestamp": "2020-02-06T12:45:27.5903465Z"
}

Mala solicitud (2) #

Cuando el último usuario con el rol "usuario.admin" y "cliente.usuario" en este cliente intenta que se elimine este rol.

Hand Left warning
Siempre debe haber un usuario en un inquilino de cliente con los roles "user.admin" y "customer.user".
HTTP/1.1 400 Solicitud incorrecta
Fecha: Thu, 06 Feb 2020 13:12:06 GMT
Tipo de contenido: application/json; charset=utf-8
Longitud del contenido: 132
{
	"error": 400,
	"message": "Debe haber al menos un administrador de usuarios.",
	"status": "error",
	"marca de tiempo": "2020-02-06T13:12:06.9741515Z"
}

Mala solicitud (3) #

Al intentar aplicar parches a una propiedad no válida.

HTTP/1.1 400 Solicitud incorrecta
Fecha: Thu, 06 Feb 2020 12:45:27 GMT
Tipo de contenido: application/json; charset=utf-8
Longitud del contenido: 149
{
	"error": 400,
	"message": "La ubicación de destino especificada por el segmento de ruta '<invalid property>' no se encontró.",
	"status": "error",
	"timestamp": "2020-02-06T12:45:27.5903465Z"
}

Conflicto #

Si la dirección de correo electrónico de este nuevo usuario ya se cierra para otro usuario en este inquilino del cliente

HTTP/1.1 409 Conflicto
Fecha: Thu, 06 Feb 2020 13:05:39 GMT
Tipo de contenido: application/json; charset=utf-8
Longitud del contenido: 178
{
	"error": 409,
	"errorCode": "EmailConflict",
	"message": "Un usuario con la dirección de correo electrónico [[email protected]](mailto:[email protected]) ya existe.",
	"status": "error",
	"timestamp": "2020-02-06T13:05:39.5486342Z"
}

No encontrado #

Cuando no hay clientes que tengan un identificador de inquilino coincidente o usuarios dentro de este inquilino que tengan un identificador de usuario coincidente

HTTP/1.1 404 No encontrado
Fecha: Thu, 06 Feb 2020 12:46:58 GMT
Tipo de contenido: application/json; charset=utf-8
Contenido-Longitud: 95
{
	"error": 404,
	"message": "No encontrado",
	"status": "error",
	"marca de tiempo": "2020-02-06T12:46:58.7669535Z"
}

Pago requerido #

Si esta solicitud puede incurrir en cargos adicionales, consulte Cargos.

HTTP/1.1 402 Pago requerido
Fecha: Thu, 06 Feb 2020 13:01:00 GMT
Tipo de contenido: application/json; charset=utf-8
Longitud del contenido: 274
{
	"datos": {
		"id": "{USER_ID}",
		"displayName": "Nuevo usuario",
		"correo electrónico": "[[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": "se aplican cargos adicionales",
	"status": "error",
	"marca de tiempo": "2020-02-06T13:01:01.1302340Z"
}