Atualizar dispositivo do usuário

Atualizar dispositivo do usuário #

Este ponto de extremidade permite que dispositivos existentes sejam atribuídos (ou removidos) como dispositivos de softphone para um usuário por ~.UcClient.~ Desktop, Mobile & WebRTC.

Atribuir um dispositivo

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

Cancelar a atribuição de um dispositivo

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

O Corpo do pedido tem de conter um único JSON para indicar a que tipo de cliente o dispositivo está sendo atribuído:

{
	"clientType": "área de trabalho"
}

Valores clientType válidos:

  • Versão desktop
  • telemóvel
  • WebRTC
  • CRM

O {DEVICE_ID} fornecido deve ser o id do dispositivo na plataforma de comunicações, por exemplo, ~.pbx.kazoo.name.~.

Document note
O dispositivo que está sendo atribuído como um softphone já deve ser atribuído ao usuário na plataforma de comunicações.
Color Wand tip
Se o ID do dispositivo fornecido já estiver atribuído a outro Tipo de Cliente, atribuí-lo novamente terá o efeito de movê-lo de um cliente para outro.

Comentários #

Ao atribuir um dispositivo de softphone a um usuário, certifique-se de que o usuário primeiro recebeu as funções corretas. Ambos os itens a seguir são pré-requisitos para atribuir um dispositivo de softphone:

  • customer_user_uc
  • customer_user_uc_softphone

Exemplo de atribuição #

Solicitar #

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 conteúdo: application/json
Aceitação-Encargos: Verdadeiro
Autorização: Portador {TOKEN}
Conexão: keep-alive
{
	"clientType": "área de trabalho"
}

Resposta #

HTTP/1.1 201 Criado
Tipo de conteúdo: application/json; charset=utf-8
Conteúdo-Comprimento: xx
Localização: <https://api.na.myreports.cloud/api/v1.0/customers/{CUSTOMER_TENANT_ID}/users/{USER_ID}/devices/pbx/{DEVICE_ID}/assign>
{
	"status": "sucesso",
	"carimbo de data/hora": "2019-11-29T16:03:23.9251680Z"
}

Exemplo Unassign #

Solicitar #

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 conteúdo: application/json
Aceitação-Encargos: Verdadeiro
Autorização: Portador {TOKEN}
Conexão: keep-alive

Resposta #

HTTP/1.1 201 Criado
Tipo de conteúdo: application/json; charset=utf-8
Conteúdo-Comprimento: xx
Localização: <https://api.na.myreports.cloud/api/v1.0/customers/{CUSTOMER_TENANT_ID}/users/{USER_ID}/devices/pbx/{DEVICE_ID}/unassign>
{
	"status": "sucesso",
	"carimbo de data/hora": "2019-11-29T16:03:23.9251680Z"
}

Erros #

Não autorizado #

Quando o token não é fornecido, inválido ou expirado

HTTP/1.1 401 Não autorizado

Mau pedido #

Quando o ID do locatário fornecido não estiver no formato correto

HTTP/1.1 400 Solicitação incorreta
Data: Thu, 06 Feb 2020 12:45:27 GMT
Tipo de conteúdo: application/json; charset=utf-8
Comprimento do conteúdo: 149
{
	"erro": 400,
	"message": "O valor '<tenant id>' não é válido.",
	"status": "erro",
	"carimbo de data/hora": "2020-02-06T12:45:27.5903465Z"
}

Não encontrado #

Quando não há Clientes que tenham um ID de locatário correspondente

HTTP/1.1 404 Não encontrado
Data: Thu, 06 Feb 2020 12:46:58 GMT
Tipo de conteúdo: application/json; charset=utf-8
Comprimento do conteúdo: 95
{
	"erro": 404,
	"message": "Não encontrado",
	"status": "erro",
	"carimbo de data/hora": "2020-02-06T12:46:58.7669535Z"
}

Quando o dispositivo referenciado ainda não está atribuído ao utilizador na plataforma de comunicações.

HTTP/1.1 404 Não encontrado
Data: Thu, 06 Feb 2020 12:46:58 GMT
Tipo de conteúdo: application/json; charset=utf-8
Comprimento do conteúdo: 95
{
	"erro": 404,
	"message": "Dispositivo não encontrado",
	"status": "erro",
	"carimbo de data/hora": "2020-02-06T12:46:58.7669535Z"
}

Pagamento Obrigatório #

Se este pedido puder implicar quaisquer custos adicionais, consulte Encargos.

HTTP/1.1 402 Pagamento Necessário
Data: Thu, 06 Feb 2020 13:01:00 GMT
Tipo de conteúdo: application/json; charset=utf-8
Comprimento do conteúdo: 274
{
	"dados": {
	"clientType": "área de trabalho"
	},
	"erro": 402,
	"mensagem": "aplicam-se custos adicionais",
	"status": "erro",
	"carimbo de data/hora": "2020-02-06T13:01:01.1302340Z"
}