API Atualizar Usuário de uma Empresa
Atualiza um usuário de qualquer empresa, mudando apenas os campos que você enviar.
Esta chamada exige um token da empresa do Super Admin.
Endpoint
https://{BACKEND_URL}/api/users/{userId}
Método
PUT
Autenticação
Bearer {seutokenaqui}
Payload
{
"name": "Maria Souza",
"email": "[email protected]",
"password": "segredo123",
"profile": "user",
"number": "5511911111111",
"inactive": false,
"queueIds": [4, 7],
"whatsappIds": [2, 5],
"defaultWhatsappId": 2,
"carteiraQueueId": "4",
"startWork": "08:00",
"endWork": "18:00",
"limiteDeAtendimentos": 5,
"receiveNotifications": 2,
"notifyGroups": true,
"restricted": false,
"restrictToQueues": false,
"blockNumberView": false,
"canAccessContacts": true,
"canAccessCampaigns": false,
"canCreateTags": true,
"canAssignTags": true,
"canRemoveTags": true,
"canUseContactNotes": false,
"canAuditSales": false,
"canUseAnswerFromIA": true,
"canViewContactSummary": false,
"canUseRespostaNaVolta": false,
"canForceHybrid": false
}
“userId”: ID do usuário — vai no próprio endereço, no lugar de
{userId}. Obrigatório.
O alcance é o que muda nesta chamada. Com o token da empresa do Super Admin, o
userId pode ser de qualquer empresa da instalação: não existe campo de empresa aqui, é o próprio id do usuário que leva até ela. Com qualquer outro token, só os usuários da própria empresa.
Só os campos enviados mudam. Os Setores, as conexões e as permissões que não vierem ficam exatamente como estão — diferente da edição pela tela, que grava o formulário inteiro.
O exemplo acima traz tudo o que a chamada aceita, para você escolher — não é obrigatório enviar inteiro. Copiado como está, ele altera todos esses campos de uma vez, inclusive a senha.
“name”: nome do usuário, com pelo menos 2 caracteres.
“email”: e-mail de login. Precisa ser único em todo o sistema.
“password”: senha nova. Passa pela regra de senha forte quando a configuração global exige.
“profile”: perfil do usuário —
user, admin ou supervisor.
“number”: número de celular ou ramal do usuário.
“inactive”:
true desativa o usuário — e apaga a presença dele.
“queueIds”: IDs dos Setores do usuário, em array. Mande
[] para tirar todos.
“whatsappIds”: IDs das conexões que ele pode atender, em array. Mande
[] para deixar sem restrição.
“defaultWhatsappId”: ID da conexão padrão do usuário. Mande
null para tirar.
“carteiraQueueId”: ID do Setor da carteira de clientes do usuário.
“startWork” e “endWork”: início e fim do expediente, no formato
HH:mm.
“limiteDeAtendimentos”: quantos atendimentos ao mesmo tempo. Vazio ou
0 deixa sem limite.
“receiveNotifications”:
2 todas as notificações, 1 só as de atendimento aberto, 0 nenhuma.
“notifyGroups”:
true para ele receber notificação de grupos.
“restricted”, “restrictToQueues” e “blockNumberView”: acesso restrito, supervisor que só enxerga os próprios Setores, e máscara no número dos contatos.
Permissões:
canAccessContacts, canAccessCampaigns, canCreateTags, canAssignTags, canRemoveTags, canUseContactNotes, canAuditSales, canUseAnswerFromIA, canViewContactSummary, canUseRespostaNaVolta e canForceHybrid, cada uma true ou false.
Os Setores e as conexões informados precisam ser da mesma empresa do usuário.
Campo fora desta lista não é gravado: ele volta na resposta, em
camposIgnorados.
O usuário 1 é protegido: ele não perde o perfil de administrador e não pode ser desativado por aqui.
Usuário que não existe responde
404.
Utilize o código em requisições HTTPS com ferramentas como cURL ou bibliotecas de integração.
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://{BACKEND_URL}/api/users/{userId}',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS =>'{
"name": "Maria Souza",
"email": "[email protected]",
"password": "segredo123",
"profile": "user",
"number": "5511911111111",
"inactive": false,
"queueIds": [4, 7],
"whatsappIds": [2, 5],
"defaultWhatsappId": 2,
"carteiraQueueId": "4",
"startWork": "08:00",
"endWork": "18:00",
"limiteDeAtendimentos": 5,
"receiveNotifications": 2,
"notifyGroups": true,
"restricted": false,
"restrictToQueues": false,
"blockNumberView": false,
"canAccessContacts": true,
"canAccessCampaigns": false,
"canCreateTags": true,
"canAssignTags": true,
"canRemoveTags": true,
"canUseContactNotes": false,
"canAuditSales": false,
"canUseAnswerFromIA": true,
"canViewContactSummary": false,
"canUseRespostaNaVolta": false,
"canForceHybrid": false
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {seutokenaqui}' //Token cadastrado na conexão
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;