Actualizar dispositivo de usuario

Actualizar dispositivo de usuario #

Este punto de conexión permite que los dispositivos existentes se asignen (o eliminen) como dispositivos softphone para un usuario para ~.UcClient.~ Escritorio, móvil y WebRTC.

Asignar un dispositivo

PUT /v1.0/customers/{CUSTOMER_TENANT_ID}/users/{USER_ID}/devices/pbx/{DEVICE_ID}/assign

Anular la asignación de un dispositivo

PUT /v1.0/customers/{CUSTOMER_TENANT_ID}/users/{USER_ID}/devices/pbx/{DEVICE_ID}/unassign

El Cuerpo de la solicitud debe contener un solo JSON para indicar a qué tipo de cliente se asigna el dispositivo:

{
	"clientType": "escritorio"
}

Valores válidos de clientType:

  • escritorio
  • móvil
  • WebRTC
  • CRM (en inglés)

El {DEVICE_ID} proporcionado debe ser el id del dispositivo en la plataforma de comunicaciones, por ejemplo, ~.pbx.kazoo.name.~.

Document note
El dispositivo que se asigna como softphone ya debe estar asignado al usuario en la plataforma de comunicaciones.
Color Wand tip
Si el identificador de dispositivo proporcionado ya está asignado a otro tipo de cliente, asignarlo de nuevo tendría el efecto de moverlo de un cliente a otro.

Observaciones #

Al asignar un dispositivo softphone a un usuario, asegúrese de que primero se le hayan asignado al usuario los roles correctos. Los dos requisitos siguientes son requisitos previos para asignar un dispositivo softphone:

  • customer_user_uc
  • customer_user_uc_softphone

Ejemplo de asignación #

Pedir #

POST <https://api.na.myreports.cloud/api/v1.0/customers/{CUSTOMER_TENANT_ID}/users/{USER_ID}/devices/pbx/{DEVICE_ID}/assign> HTTP/1.1
Tipo de contenido: application/json
accept-charges: true
Autorización: portador {TOKEN}
Conexión: keep-alive
{
	"clientType": "escritorio"
}

Respuesta #

HTTP/1.1 201 Creado
Tipo de contenido: application/json; charset=utf-8
Longitud del contenido: xx
Ubicación: <https://api.na.myreports.cloud/api/v1.0/customers/{CUSTOMER_TENANT_ID}/users/{USER_ID}/devices/pbx/{DEVICE_ID}/assign>
{
	"status": "éxito",
	"timestamp": "2019-11-29T16:03:23.9251680Z"
}

Ejemplo de anulación de asignación #

Pedir #

POST <https://api.na.myreports.cloud/api/v1.0/customers/{CUSTOMER_TENANT_ID}/users/{USER_ID}/devices/pbx/{DEVICE_ID}/unassign> HTTP/1.1
Tipo de contenido: application/json
accept-charges: true
Autorización: portador {TOKEN}
Conexión: keep-alive

Respuesta #

HTTP/1.1 201 Creado
Tipo de contenido: application/json; charset=utf-8
Longitud del contenido: xx
Ubicación: <https://api.na.myreports.cloud/api/v1.0/customers/{CUSTOMER_TENANT_ID}/users/{USER_ID}/devices/pbx/{DEVICE_ID}/unassign>
{
	"status": "éxito",
	"timestamp": "2019-11-29T16:03:23.9251680Z"
}

Errores #

Desautorizado #

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

HTTP/1.1 401 No autorizado

Mala solicitud #

Cuando el identificador de inquilino proporcionado no está 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 '<tenant id>' no es válido.",
	"status": "error",
	"timestamp": "2020-02-06T12:45:27.5903465Z"
}

No encontrado #

Cuando no hay clientes que tengan un identificador de inquilino 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"
}

Cuando el dispositivo al que se hace referencia no esté ya asignado al usuario en la plataforma de comunicaciones.

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": "Dispositivo 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": {
	"clientType": "escritorio"
	},
	"error": 402,
	"message": "se aplican cargos adicionales",
	"status": "error",
	"marca de tiempo": "2020-02-06T13:01:01.1302340Z"
}