Detalha um usuário
GET/user/:iduser
Retorna o cadastro completo do usuário na empresa: dados pessoais e profissionais (função, cargo, escala de trabalho, supervisor imediato e módulo atual), flags de vendedor, técnico e comissão, funções (UserJobPositionList), perfis de acesso (UserPrivilegeGroup), regras de comissão (SalesmanComission), vínculos de empresa/filial faturadora (UserCompanyInvoice), centros de distribuição (UserCompanyDistributionCenter), categorias de fornecedor (UserCompanySupplierCategory), categorias e grupos de endereço de estoque (StockKeepingUnitLocationCategories, StockKeepingUnitLocationGroups), etiquetas do colaborador (Tags) e a auditoria de alterações (UserLog) e de acessos (LoginLog).
O parâmetro Type troca o endpoint para dois modos enxutos, usados no carregamento da tela inicial: Tours devolve apenas os tours de apresentação já vistos e Dashboard devolve a configuração de painel já resolvida (a pessoal quando existe, senão a do perfil de acesso) junto com as preferências de arrumação da home.
No modo padrão considera apenas o vínculo ativo (status=1); informe status na query para buscar por outro status. Quando não há vínculo no status pedido, retorna um array vazio ([]) com status 200. Com status=3 (convite pendente, ver POST /user), a pessoa ainda não aceitou entrar na conta: vêm só o nome e o e-mail mascarado (Login, null quando é login interno); os dados pessoais e de acesso (UserCpfCnpj, UserTelephone, UserExtenalId, UserImageUrl, MFA, PIN, tours, IDModuleFavorite, LastLogin, LastPasswordChange) vêm null, e UserLog e LoginLog vêm vazios.
Alertas de gráfico (ChartAlert=1). Com ChartAlert=1, o endpoint devolve, para o painel de alertas do Dashboard personalizado, o que o servidor registrou sobre os alertas de gráfico com aviso do usuário (ChartAlertStatusList): a situação de cada um (disparado, normal, ainda não checado, com erro ou sem valor para comparar), a última checagem, o último valor medido, o último aviso e, por alerta, os eventos mais recentes (disparou, avisou, voltou ao normal, falhou, desistiu…). Só leitura. Só o texto 1 liga o modo; com qualquer outro valor o parâmetro é ignorado.
- De quem são as linhas. Sempre do usuário do token. O
{iduser}do caminho tem de ser esse mesmo usuário, senão 400 sem dado nenhum; nenhum outro parâmetro nem o corpo escolhe outro usuário, e nenhum privilégio (nem o de editar o painel de outras pessoas) abre a linha de outra pessoa. Usuário ausente no token: 400. - Não combina com
Type.ChartAlert=1junto comType(qualquer valor) dá 400.statusé ignorado. - Sem filtro pela conta do subdomínio. O painel pessoal é um só por usuário, aberto em qualquer conta dele, e cada alerta monitora a conta em que foi criado: ela vem em
IDCompanyeAccountName. - Privilégio. O modo não exige privilégio: a linha é do próprio usuário, e quem perdeu o privilégio de editar continua recebendo o aviso.
- O que nunca vem. A configuração do alerta (condição, destinatários, janela), que já está no
DashboardConfigdo usuário (PUT /user/{iduser}); o detalhe do envio por destinatário (só as contagens, emDelivery); o texto do erro dos envios; e o texto do códigoexception. Endereços de e-mail nos motivos que vêm saem mascarados (c***@dominio). - Casamento com o painel. Cada alerta é identificado pela tripla
(PanelId, WidgetId, AlertId), a mesma doDashboardConfig. Um registro sem alerta correspondente no documento é de um salvamento ainda não sincronizado, e é atualizado ou removido no próximo salvamento do painel. - Datas. Texto
YYYY-MM-DD HH:MMna hora de parede de São Paulo (horário de Brasília), sem fuso e semZ. Não converter de fuso. - Resposta. Sempre um objeto com
Version: 1. Sem nenhum alerta com aviso:Alertsvazio. Se só o histórico falhar, a situação vem eEventsAvailableéfalse. A resposta não é guardada em cache.
Convites pendentes (Invite=1). Com Invite=1, o endpoint devolve, em vez do cadastro, os convites para conta que o usuário do token ainda pode responder, de qualquer conta (lista de UserInvitePending): vínculo pendente, sem resposta, dentro do prazo de 7 dias e com a empresa ativa. É o aviso que o app mostra depois do login (“Você foi convidado para a conta X”). A resposta pelo app vai no campo InviteAnswer do PUT /user/{iduser}; a do link do e-mail, no POST /user/password-reset com Invite=1. Só leitura. Só o texto 1 liga o modo; com qualquer outro valor o parâmetro é ignorado.
- De quem são as linhas. Sempre do usuário do token. O
{iduser}do caminho tem de ser esse mesmo usuário, senão 400 sem dado nenhum. Usuário ausente no token: 400. - Não combina com
ChartAlert,TypenemReportSchedule.Invite=1junto com qualquer um deles (qualquer valor) dá 400.statusé ignorado. - Sem filtro pela conta do subdomínio. O convite é para outra conta, e a lista é a mesma em qualquer conta em que a pessoa esteja logada.
- Privilégio. O modo não exige privilégio: a lista é do próprio usuário.
- Resposta. No máximo 20 convites, do mais novo para o mais antigo; sem convite pendente,
[]. Falha na consulta também devolve[], e o convite continua valendo pelo link do e-mail.
Request
Responses
- 200
- 400
- 404
- 500
Detalhe do usuário (array com 1 item) ou [] quando não há vínculo no status pedido. Com ChartAlert=1, a situação dos alertas de gráfico do usuário (ChartAlertStatusList): sempre um objeto com Version: 1, os alertas em ordem de criação, no máximo 200 (Truncated diz se havia mais). Com Invite=1, os convites pendentes do usuário do token (até 20, do mais novo para o mais antigo; [] quando não há nenhum ou quando a consulta falha).
Falha na consulta nos modos Type=Tours e Type=Dashboard, que devolvem o erro com o prefixo [BadRequest]. O modo padrão não emite 400.
Com ChartAlert=1, mensagens possíveis:
[BadRequest] - Usuário não identificado— o token não traz o usuário.[BadRequest] - Alertas de gráfico só podem ser lidos pelo próprio usuário— o{iduser}do caminho não é o usuário do token.[BadRequest] - Use ChartAlert ou Type, não os dois[BadRequest] - Days precisa ser um inteiro de 1 a 90[BadRequest] - Events precisa ser um inteiro de 0 a 50[BadRequest] - Não foi possível ler os alertas (<código>)— falha ao ler os alertas; o código é o do banco (ouexception).
Com Invite=1, mensagens possíveis:
[BadRequest] - Usuário não identificado— o token não traz o usuário.[BadRequest] - Convites só podem ser lidos pelo próprio usuário— o{iduser}do caminho não é o usuário do token.[BadRequest] - Use Invite sem ReportSchedule, ChartAlert e Type
Só com ChartAlert=1: [NotFound] - Histórico de alertas indisponível nesta base — o histórico de alertas ainda não existe no banco de leitura. Tente de novo mais tarde.
Erro interno (prefixo Error:).