2.0info: 11.6.1 Usuários description: Responsável pelo novo serviço de usuários da plataforma G7. x-senior-domain: Plataforma x-senior-domain-path: platform x-senior-service-path: user contact: name: Senior X Platform url: https://dev.senior.com.br email: seniorx-dev@senior.com.brhost: platform.senior.com.br /t/senior.com.br/bridge/1.0/rest/platformsecurityDefinitions: APIKeyHeader: type: apiKey in: header name: Authorizationsecurity: – APIKeyHeader: [] – application/json – application/jsonpaths: /user/queries/healthcheck: post: description: Verifica se o serviço está funcionando tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – status – checks properties: status: type: string allOf: – #/definitions/healthCheckStatus description: Status do serviço checks: type: array items: type: object allOf: – #/definitions/checkDTO minimum: 1 description: Itens verificados 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Verifica se o serviço está funcionando tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – status – checks properties: status: type: string allOf: – #/definitions/healthCheckStatus description: Status do serviço checks: type: array items: type: object allOf: – #/definitions/checkDTO minimum: 1 description: Itens verificados 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/queries/listImpersonationHistory: post: description: Retorna o histório de personificação com base nos parâmetros informados tags: – Queries x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object properties: pagination: type: object allOf: – #/definitions/pagination description: Paginação impersonatedUsername: type: string description: Username do usuário solicitante da personificação tenant: type: string description: Nome do tenant from: type: string format: date-time description: Data inicial to: type: string format: date-time description: Data final status: type: string allOf: – #/definitions/impersonationStatus description: Status da personificação responses: 200: description: Ok schema: type: object required: – content – listInformation properties: content: type: array items: type: object allOf: – #/definitions/impersonationHistory minimum: 1 description: Os elementos retornados pela listagem listInformation: type: object allOf: – #/definitions/listInformation description: Informações sobre os resultados da listagem 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/queries/getUserImpersonation: post: description: Retorna informações do usuário da personificação do contexto tags: – Queries x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object responses: 200: description: Ok schema: type: object properties: impersonation: type: object allOf: – #/definitions/impersonationUser description: Personificação do usuário 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Retorna informações do usuário da personificação do contexto tags: – Queries x-senior-visibility: PUBLIC parameters: responses: 200: description: Ok schema: type: object properties: impersonation: type: object allOf: – #/definitions/impersonationUser description: Personificação do usuário 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/queries/listUsersToImpersonate: post: description: Obtém a lista de todos os usuário disponíveis para personificação, sendo possível filtrar por nome de usuário e tenant tags: – Queries x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object properties: searchValue: type: string description: O valor a ser pesquisado no nome do usuário e tenant includeImpersonated: type: boolean description: Inclui usuários que já foram personificados default: true pagination: type: object allOf: – #/definitions/pagination description: As configurações de paginação da listagem. Não definido, retornará os 10 primeiros resultados. responses: 200: description: Ok schema: type: object required: – impersonationUsers – listInformation properties: impersonationUsers: type: array items: type: object allOf: – #/definitions/impersonationUser minimum: 1 description: Os elementos retornados pela listagem listInformation: type: object allOf: – #/definitions/listInformation description: Informações sobre os resultados da listagem 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/queries/getGroup: post: description: Retorna as informações de um grupo tags: – Queries x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object properties: id: type: string description: Identificador do grupo name: type: string description: Nome do grupo responses: 200: description: Ok schema: type: object allOf: – #/definitions/completeGroup 401: description: Usuário ou senha inválido 403: description: Permissão negada 404: description: Objeto não encontrado default: description: Error response schema: #/definitions/genericError get: description: Retorna as informações de um grupo tags: – Queries x-senior-visibility: PUBLIC parameters: – name: id description: Identificador do grupo in: query type: string – name: name description: Nome do grupo in: query type: string responses: 200: description: Ok schema: type: object allOf: – #/definitions/completeGroup 401: description: Usuário ou senha inválido 403: description: Permissão negada 404: description: Objeto não encontrado default: description: Error response schema: #/definitions/genericError /user/queries/listGroups: post: description: Obtém a lista de todos os grupos tags: – Queries x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object properties: searchValue: type: string description: O valor a ser pesquisado no nome do grupo tenant: type: string description: Tenant que deseja buscar os grupos, apenas permitido para master pagination: type: object allOf: – #/definitions/pagination description: As configurações de paginação da listagem. Não definido, retornará os 10 primeiros resultados. responses: 200: description: Ok schema: type: object required: – groups – listInformation properties: groups: type: array items: type: object allOf: – #/definitions/group minimum: 1 description: Lista de grupos listInformation: type: object allOf: – #/definitions/listInformation description: Informações sobre os resultados da listagem 401: description: Usuário ou senha inválido 403: description: Permissão negada default: description: Error response schema: #/definitions/genericError /user/queries/listGroupUsers: post: description: Obtém a lista dos usuários do grupo tags: – Queries x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – id properties: id: type: string description: Identificador do grupo. searchValue: type: string description: Termo para buscar nos campos nome, nome completo e e-mail. pagination: type: object allOf: – #/definitions/pagination description: As configurações de paginação da listagem. Não definido, retornará os 10 primeiros resultados. responses: 200: description: Ok schema: type: object required: – users – listInformation properties: users: type: array items: type: object allOf: – #/definitions/groupBasicUser minimum: 1 description: Lista de usuários listInformation: type: object allOf: – #/definitions/listInformation description: Informações sobre os resultados da listagem 400: description: Requisição inválida, parâmetros obrigatórios não informados ou campo informado incorretamente 401: description: Usuário ou senha inválido 403: description: Permissão negada 404: description: Objeto não encontrado default: description: Error response schema: #/definitions/genericError /user/queries/listUsers: post: description: Obtem a lista de usuários tags: – Queries x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object properties: tenant: type: string description: Tenant que deseja buscar os usuários, apenas permitido para master pagination: type: object allOf: – #/definitions/pagination description: As configurações de paginação da listagem. Não definido, retornará os 10 primeiros resultados. ordination: type: object allOf: – #/definitions/ordination description: As configurações de ordenação da listagem. Não definido, retornará na ordem ascendente de nome. includeBlocked: type: boolean description: Incluir usuários bloqueados, por padrão será true default: true searchTerm: type: string description: Termo para buscar nos campos nome, nome completo, celular e e-mail users: type: array items: type: string description: Lista de usuários específicos (campo name, e-mail, cell_phone, fullName) para filtrar somente os dados destes authenticationTypes: type: array items: type: string allOf: – #/definitions/authType description: Tipos de autenticação responses: 200: description: Ok schema: type: object required: – users – listInformation properties: users: type: array items: type: object allOf: – #/definitions/basicUser minimum: 1 description: Lista de usuários listInformation: type: object allOf: – #/definitions/listInformation description: Informações sobre os resultados da listagem 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/queries/listUsersByNames: post: description: Obtem a lista de usuários pelos nomes tags: – Queries x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – userNames properties: tenantName: type: string description: Tenant que deseja buscar os usuários, apenas permitido para master userNames: type: array items: type: string minimum: 1 description: Nomes dos usuários. responses: 200: description: Ok schema: type: object properties: users: type: array items: type: object allOf: – #/definitions/basicUser description: Lista de usuários 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Obtem a lista de usuários pelos nomes tags: – Queries x-senior-visibility: PUBLIC parameters: – name: tenantName description: Tenant que deseja buscar os usuários, apenas permitido para master in: query type: string – name: userNames description: Nomes dos usuários. in: query required: true type: array items: type: string minimum: 1 responses: 200: description: Ok schema: type: object properties: users: type: array items: type: object allOf: – #/definitions/basicUser description: Lista de usuários 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/queries/listUsersByIds: post: description: Obtem a lista de usuários pelos ids tags: – Queries x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – userIds properties: tenantName: type: string description: Tenant que deseja buscar os usuários, apenas permitido para master userIds: type: array items: type: string minimum: 1 description: Ids dos usuários. responses: 200: description: Ok schema: type: object properties: users: type: array items: type: object allOf: – #/definitions/basicUser description: Lista de usuários 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Obtem a lista de usuários pelos ids tags: – Queries x-senior-visibility: PUBLIC parameters: – name: tenantName description: Tenant que deseja buscar os usuários, apenas permitido para master in: query type: string – name: userIds description: Ids dos usuários. in: query required: true type: array items: type: string minimum: 1 responses: 200: description: Ok schema: type: object properties: users: type: array items: type: object allOf: – #/definitions/basicUser description: Lista de usuários 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/queries/listUserGroups: post: description: Obtem a lista de grupos do usuário tags: – Queries x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – username properties: username: type: string description: Nome do usuário searchValue: type: string description: Termo para buscar nos campos nome e e-mail. pagination: type: object allOf: – #/definitions/pagination description: As configurações de paginação da listagem. Não definido, retornará os 10 primeiros resultados. responses: 200: description: Ok schema: type: object required: – groups – listInformation properties: groups: type: array items: type: object allOf: – #/definitions/group minimum: 1 description: Lista com os grupos associados ao usuário listInformation: type: object allOf: – #/definitions/listInformation description: Informações sobre os resultados da listagem 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/queries/getAdminInfo: post: description: Retorna as informações do administrador do tenant com base no contexto tags: – Queries x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object responses: 200: description: Ok schema: type: object required: – domainName – password properties: domainName: type: string description: Nome do domínio password: type: string description: Senha secret: true 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Retorna as informações do administrador do tenant com base no contexto tags: – Queries x-senior-visibility: PUBLIC parameters: responses: 200: description: Ok schema: type: object required: – domainName – password properties: domainName: type: string description: Nome do domínio password: type: string description: Senha secret: true 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/queries/getUser: post: description: API DEPRECIADA: Use getUser version 8 instead. | DATA: 2022-01-14 | Retorna as informações básicas do usuário passado como parâmetro. Se o usuário não for informado, retorna os dados do usuário corrente (que efetuou o login) tags: – Queries deprecated : true x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object properties: username: type: string description: Nome do usuário no formato nome@dominio_tenant responses: 200: description: Ok schema: type: object allOf: – #/definitions/completeUser 401: description: Usuário ou senha inválido 403: description: Permissão negada 404: description: Objeto não encontrado default: description: Error response schema: #/definitions/genericError get: description: API DEPRECIADA: Use getUser version 8 instead. | DATA: 2022-01-14 | Retorna as informações básicas do usuário passado como parâmetro. Se o usuário não for informado, retorna os dados do usuário corrente (que efetuou o login) tags: – Queries deprecated : true x-senior-visibility: PUBLIC parameters: – name: username description: Nome do usuário no formato nome@dominio_tenant in: query type: string responses: 200: description: Ok schema: type: object allOf: – #/definitions/completeUser 401: description: Usuário ou senha inválido 403: description: Permissão negada 404: description: Objeto não encontrado default: description: Error response schema: #/definitions/genericError /user/queries/getUser__8: post: description: Retorna as informações básicas do usuário passado como parâmetro. Se o usuário não for informado, retorna os dados do usuário corrente (que efetuou o login) tags: – Queries x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object properties: username: type: string description: Nome do usuário no formato nome@dominio_tenant includePhoto: type: boolean description: Informa se deve trazer a URL da foto do usuário default: false responses: 200: description: Ok schema: type: object allOf: – #/definitions/completeUser 401: description: Usuário ou senha inválido 403: description: Permissão negada 404: description: Objeto não encontrado default: description: Error response schema: #/definitions/genericError get: description: Retorna as informações básicas do usuário passado como parâmetro. Se o usuário não for informado, retorna os dados do usuário corrente (que efetuou o login) tags: – Queries x-senior-visibility: PUBLIC parameters: – name: username description: Nome do usuário no formato nome@dominio_tenant in: query type: string – name: includePhoto description: Informa se deve trazer a URL da foto do usuário in: query type: boolean responses: 200: description: Ok schema: type: object allOf: – #/definitions/completeUser 401: description: Usuário ou senha inválido 403: description: Permissão negada 404: description: Objeto não encontrado default: description: Error response schema: #/definitions/genericError /user/queries/getUserPhoto: post: description: Retorna a URL da foto do usuário, armazenada no blob-service. tags: – Queries x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object properties: username: type: string description: Nome do usuário no formato nome@dominio_tenant responses: 200: description: Ok schema: type: object required: – url – urlExpirationDate properties: url: type: string description: URL da foto do usuário urlExpirationDate: type: string format: date-time description: Data de expiração da URL da foto do usuário 401: description: Invalid Credentials 403: description: Permissão negada 404: description: Objeto não encontrado default: description: Error response schema: #/definitions/genericError get: description: Retorna a URL da foto do usuário, armazenada no blob-service. tags: – Queries x-senior-visibility: PUBLIC parameters: – name: username description: Nome do usuário no formato nome@dominio_tenant in: query type: string responses: 200: description: Ok schema: type: object required: – url – urlExpirationDate properties: url: type: string description: URL da foto do usuário urlExpirationDate: type: string format: date-time description: Data de expiração da URL da foto do usuário 401: description: Invalid Credentials 403: description: Permissão negada 404: description: Objeto não encontrado default: description: Error response schema: #/definitions/genericError /user/queries/listChangeRegisteredIntegrator: post: description: tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – registered – changeHistory properties: registered: type: object allOf: – #/definitions/registeredIntegrator description: changeHistory: type: array items: type: object allOf: – #/definitions/registeredIntegrator minimum: 1 description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – registered – changeHistory properties: registered: type: object allOf: – #/definitions/registeredIntegrator description: changeHistory: type: array items: type: object allOf: – #/definitions/registeredIntegrator minimum: 1 description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/queries/getMetadata: post: description: Default getMetadata query. Every service must handle this command and return metadata in the format requested. tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: metadataFormat: type: string description: responses: 200: description: Ok schema: type: object required: – metadata properties: metadata: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Default getMetadata query. Every service must handle this command and return metadata in the format requested. tags: – Queries x-senior-visibility: PRIVATE parameters: – name: metadataFormat description: in: query type: string responses: 200: description: Ok schema: type: object required: – metadata properties: metadata: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/queries/getDependencies: post: description: Returns a list with all dependencies from this service, along with their respective versions tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – dependencies properties: dependencies: type: array items: type: object allOf: – #/definitions/dependency minimum: 1 description: List with this service dependencies 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Returns a list with all dependencies from this service, along with their respective versions tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – dependencies properties: dependencies: type: array items: type: object allOf: – #/definitions/dependency minimum: 1 description: List with this service dependencies 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/generateImpersonationToken: post: description: Gera um token para personificação com base no usuário da mensagem corrente tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – password properties: password: type: string description: Senha do usuário para gerar o token secret: true responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials 400: description: Nome do grupo inválido. default: description: Error response schema: #/definitions/genericError /user/actions/impersonate: post: description: Personificar usuário tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – username properties: username: type: string description: Username do usuário que será personificado responses: 200: description: Ok schema: type: object required: – token properties: token: type: string description: Retorna o token para personificação 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/finalizeImpersonation: post: description: Finaliza a personificação do usuário tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – username properties: username: type: string description: Username do usuário que será finalizado a personificação responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/revokeImpersonation: post: description: Revoga a solicitação da personificação do usuário do contexto tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/createAdminUser: post: description: Cria o usuário admin do tenant. Chamado no processo de criação de tenant. NOTA: só pode ser chamada pelo serviço platform.tenant, usando o tenant master e o header TRUSTED. tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – tenantName – fullName – email – adminPassword properties: tenantName: type: string description: Nome do tenant que será criado o usuário admin fullName: type: string maxLength: 255 description: Nome completo do administrador email: type: string maxLength: 255 description: E-mail do administrador adminPassword: type: string maxLength: 50 description: Senha do administrador secret: true responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/updateUser: post: description: Altera as informações de um usuário tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object properties: username: type: string maxLength: 255 description: Nome do usuário fullName: type: string maxLength: 255 description: Nome completo do usuário email: type: string maxLength: 255 description: Endereço de e-mail do usuário description: type: string maxLength: 255 description: Descrição do usuário locale: type: string maxLength: 5 description: Idioma preferêncial do usuário photo: type: string description: Foto do usuário em Base64 blocked: type: boolean description: Indica se o usuário está bloqueado changePassword: type: boolean description: Indica se o usuário precisa trocar de senha no próximo logon properties: type: array items: type: object allOf: – #/definitions/property description: Lista com as propriedades que este usuário possui (opcional) phoneNumber: type: string maxLength: 50 description: Campo informativo para numero de telefone do usuário (opcional) responses: 200: description: Ok schema: type: object required: – username properties: username: type: string description: Nome do usuário que foi atualizado 400: description: Requisição inválida, parâmetros obrigatórios não informados ou campo informado incorretamente 401: description: Usuário ou senha inválido 403: description: Permissão negada 404: description: Objeto não encontrado default: description: Error response schema: #/definitions/genericError /user/actions/updateUser__10: post: description: Altera as informações de um usuário. Para remover uma informação é necessário passar o campo com o valor vazio, se o campo não\n for passado a informação não será alterada. tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object properties: username: type: string maxLength: 255 description: Nome do usuário fullName: type: string maxLength: 255 description: Nome completo do usuário email: type: string maxLength: 255 description: Endereço de e-mail do usuário description: type: string maxLength: 255 description: Descrição do usuário locale: type: string maxLength: 5 description: Idioma preferêncial do usuário photo: type: string description: Foto do usuário em Base64 blocked: type: boolean description: Indica se o usuário está bloqueado changePassword: type: boolean description: Indica se o usuário precisa trocar de senha no próximo logon properties: type: array items: type: object allOf: – #/definitions/property description: Lista com as propriedades que este usuário possui (opcional) phoneNumber: type: string maxLength: 50 description: Campo informativo para numero de telefone do usuário (opcional) responses: 200: description: Ok schema: type: object required: – username properties: username: type: string description: Nome do usuário que foi atualizado 400: description: Requisição inválida, parâmetros obrigatórios não informados ou campo informado incorretamente 401: description: Usuário ou senha inválido 403: description: Permissão negada 404: description: Objeto não encontrado default: description: Error response schema: #/definitions/genericError /user/actions/deleteUser: post: description: Exclui o usuário da base tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – username properties: username: type: string description: Username do usuário que será excluído responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/requestPasswordChange: post: description: Envia um e-mail para o usuário, com as instruções para troca de senha tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – username – baseURL properties: username: type: string description: Nome do usuário, no formato nome@dominio_tenant, por exemplo: joao@senior.com.br baseURL: type: string description: Endereço base da página de troca de senha, que será enviado ao usuário via e-mail captcha: type: string description: Resposta do captcha para liberar a operação – é desnecessário ou obrigatório, dependendo da configuração do ambiente responses: 200: description: Ok schema: type: object required: – recipient properties: recipient: type: string description: Endereço de e-mail ofuscado, para qual foi enviada as instruções de troca de senha default: description: Error response schema: #/definitions/genericError /user/actions/changePassword: post: description: Atualiza a senha de um usuário\n Essa primitiva possui campos de senha criptografados, o que pode impossibilitar a customização da API tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – newPassword properties: username: type: string description: Nome do usuário currentPassword: type: string maxLength: 50 description: Senha atual do usuário secret: true newPassword: type: string maxLength: 50 description: Nova senha do usuário secret: true responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/generatePasswordChangeToken: post: description: Gera um token temporário para troca de senha tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – username properties: username: type: string description: Nome do usuário responses: 200: description: Ok schema: type: object required: – token properties: token: type: string description: Token temporário para troca de senha 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/changePasswordWithToken: post: description: Faz a troca da senha do usuário, autorizada através do token passado\n Essa primitiva possui campos de senha criptografados, o que pode impossibilitar a customização da API tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – token – username – newPassword properties: token: type: string description: Token enviado para o usuário via e-mail, através da ação generatePasswordChangeToken ou requestPasswordChange username: type: string description: Nome do usuário newPassword: type: string maxLength: 50 description: Nova Senha para o usuário. Esta senha deve respeitar as políticas de senha definidas para o tenant do qual o usuário faz parte secret: true responses: 200: description: Ok schema: type: object default: description: Error response schema: #/definitions/genericError /user/actions/createUser: post: description: Insere um novo usuário na base tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – username – fullName – email – password – blocked – changePassword properties: username: type: string maxLength: 255 description: Nome (username) do usuário fullName: type: string maxLength: 255 description: Nome completo do usuário email: type: string maxLength: 255 description: Endereço de e-mail do usuário password: type: string maxLength: 50 description: Senha do usuário secret: true description: type: string maxLength: 255 description: Descrição do usuário (opcional) blocked: type: boolean description: Indica se o usuário está ou não bloqueado changePassword: type: boolean description: Indica se o usuário precisa trocar a senha no próximo logon photo: type: string description: Foto do usuário, em Base64. (opcional) locale: type: string maxLength: 5 description: Localidade do usuário properties: type: array items: type: object allOf: – #/definitions/property description: Lista com as propriedades que este usuário possui (opcional) phoneNumber: type: string maxLength: 50 description: Campo informativo para numero de telefone do usuário (opcional) responses: 200: description: Ok schema: type: object required: – username properties: username: type: string description: Nome do usuário recém criado 400: description: Requisição inválida, parâmetros obrigatórios não informados ou campo informado incorretamente 401: description: Usuário ou senha inválido 409: description: Objeto já existente default: description: Error response schema: #/definitions/genericError /user/actions/configureSAMLUser: post: description: Configura um usuário para o tenant que utiliza tipo de autenticação SAML. tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – accessToken properties: accessToken: type: string description: Token de acesso do usuário responses: 200: description: Ok schema: type: object required: – username properties: username: type: string description: Nome do usuário 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/updateGroupUsers: post: description: Adiciona e/ou remove usuários de um grupo tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – groupId properties: usersToAdd: type: array items: type: string description: Lista de usuários que serão incluídos usersToRemove: type: array items: type: string description: Lista de usuários que serão removidos groupId: type: string description: Identificador do Grupo responses: 200: description: Ok schema: type: object 400: description: Requisição inválida, parâmetros obrigatórios não informados ou campo informado incorretamente 401: description: Usuário ou senha inválido 403: description: Permissão negada 404: description: Objeto não encontrado default: description: Error response schema: #/definitions/genericError /user/actions/createGroup: post: description: Insere um novo grupo na base tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – name properties: name: type: string maxLength: 255 description: Nome do grupo description: type: string maxLength: 255 description: Descrição do grupo email: type: string maxLength: 255 description: E-mail do grupo users: type: array items: type: string description: Lista de usuários a serem associados ao grupo responses: 200: description: Ok schema: type: object required: – id properties: id: type: string description: Identificador do grupo que foi inserido na base 400: description: Requisição inválida, parâmetros obrigatórios não informados ou campo informado incorretamente 401: description: Usuário ou senha inválido 403: description: Permissão negada 409: description: Objeto já existente default: description: Error response schema: #/definitions/genericError /user/actions/updateGroup: post: description: Atualiza as informações e os usuários de um grupo tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – id properties: id: type: string maxLength: 255 description: Identificador do grupo name: type: string maxLength: 255 description: Nome do grupo description: type: string maxLength: 255 description: Descrição do grupo email: type: string maxLength: 255 description: E-mail do grupo usersToAdd: type: array items: type: string description: Usuários a serem incluídos no grupo usersToRemove: type: array items: type: string description: Usuários a serem excluídos do grupo responses: 200: description: Ok schema: type: object required: – id properties: id: type: string description: Identificador do grupo que foi atualizado 400: description: Requisição inválida, parâmetros obrigatórios não informados ou campo informado incorretamente 401: description: Usuário ou senha inválido 403: description: Permissão negada 404: description: Objeto não encontrado 409: description: Objeto já existente default: description: Error response schema: #/definitions/genericError /user/actions/removeGroup: post: description: Remove o grupo e os vínculos dos usuários tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – id properties: id: type: string maxLength: 255 description: Identificador do grupo responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/preRegisterUser: post: description: Pré-cadastra um usuário na base, com base no e-mail passado como parâmetro. O usuário é inserido, mas não é visível para nenhuma parte do sistema até que o cadastro seja confirmado. Utilizado pelas rotinas do Senior Digital para inclusão de novos usuários através de convites. tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – email properties: email: type: string description: Endereço de e-mail do novo usuário responses: 200: description: Ok schema: type: object required: – username properties: username: type: string description: Nome do usuário 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/activatePreRegisteredUser: post: description: Ativa um usuário que estava pré-cadastrado no sistema. Utilizado pelas rotinas do Senior Digital para adicionar usuários através de convites tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – username – fullName – password properties: username: type: string description: Nome (username) do usuário fullName: type: string description: Nome completo do usuário password: type: string description: Senha do usuário secret: true description: type: string description: Descrição do usuário (opcional) roles: type: array items: type: string description: Lista com os nomes dos papéis associados a este usuário responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/changeRegisteredIntegrator: post: description: Permite alterar o integrador registrado. Atualmente suportamos o integrador HCM e ETL, apenas o integrador registrado poderá sincronizar os usuários G5 tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – domainName – serviceName properties: identifier: type: string description: Identificador do integrador se necessário domainName: type: string description: Nome do domínio de origem da integração serviceName: type: string description: Nome do serviço de origem da integração responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/synchronizeLDAPUsers: post: description: Efetua a sincronização dos usuários entre o servidor LDAP e a base local tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object properties: tenantName: type: string description: Nome do tenant responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/actions/blockUnblockUser: post: description: Bloquear/Desbloquear um usuário, exemplo:\n – Se o usúario estiver bloqueado será desbloqueado\n – Se o usuário estiver desbloqueado será bloqueado tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – username properties: username: type: string description: Nome do usuário responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /user/signals/deleteUsers: post: description: Exclui os usuários da base tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – usernames properties: usernames: type: array items: type: string minimum: 1 description: Lista de usernames dos usuários que serão excluídos responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /user/signals/alterAuthenticationTypeAllUsers: post: description: Altera o tipo de autenticação de todos os usuários tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – currentAuthenticationType – newAuthenticationType properties: currentAuthenticationType: type: string allOf: – #/definitions/authType description: Tipo de autenticação atual dos usuários newAuthenticationType: type: string allOf: – #/definitions/authType description: Novo tipo de autenticação que os usuários irão receber responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /user/signals/listUsersAlterTypeAuthentication: post: description: Recebe uma lista de usuários que irá ter o tipo de autenticação alterado. tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – currentAuthenticationType – newAuthenticationType – users properties: currentAuthenticationType: type: string allOf: – #/definitions/authType description: Tipo de autenticação atual dos usuários newAuthenticationType: type: string allOf: – #/definitions/authType description: Novo tipo de autenticação que os usuários irão receber users: type: array items: type: string minimum: 1 description: Lista de usuários que irá ter o tipo de autenticação alterada responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /user/signals/blockUnblockUsers: post: description: Bloquear/Desbloquear uma lista de usuários tags: – Signals parameters: – name: input in: body required: true schema: type: object properties: blockUsers: type: array items: type: string description: Lista de usernames a serem bloqueados unblockUsers: type: array items: type: string description: Lista de usernames a serem desbloqueados responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /user/events/usersChanged: post: description: Informa que usuários foram alterados x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – created – updated – deleted properties: created: type: array items: type: object allOf: – #/definitions/changedUser minimum: 1 description: Usuários criados. updated: type: array items: type: object allOf: – #/definitions/changedUser minimum: 1 description: Usuários alterados. deleted: type: array items: type: string minimum: 1 description: Usuários excluídos. responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /user/events/adminUserChanged: post: description: Informa que um usuário administrador de um tenant foi alterado x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – tenantName – fullName – email properties: tenantName: type: string description: Nome do tenant alterado fullName: type: string description: Nome alterado do administador do tenant. email: type: string description: e-mail alterado do administador do tenant. responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /user/events/groupChanged: post: description: Informa que um grupo foi alterado x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – id – name properties: id: type: string description: Identificador do grupo name: type: string description: Nome do grupo oldName: type: string description: Nome antigo do grupo se alterado description: type: string description: Descrição do grupo email: type: string description: E-mail do grupo usersIncluded: type: array items: type: string description: Nome dos usuários que foram incluídos no grupo, com domínio ( usuário @ domínio.com ) usersRemoved: type: array items: type: string description: Nome dos usuários que foram removidos do grupo, com domínio ( usuário @ domínio.com ) groupCreated: type: boolean description: Indica se o grupo é novo ou foi alterado default: false responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /user/events/groupRemoved: post: description: Informa que um grupo foi removido x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – id – name properties: id: type: string description: Identificador do grupo name: type: string description: Nome do grupo responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /user/events/changedIntegrator: post: description: Notifica uma alteração no integrador x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – tenant – integrator properties: tenant: type: string description: Nome do tenant integrator: type: string description: Integrador exemplo: domain/service/ identifier responses: 200: description: OK default: description: Error response schema: #/definitions/genericErrordefinitions: healthCheckStatus: description: Status do healthcheck type: string enum: – UP – DOWN impersonationStatus: description: Status da personificação type: string enum: – GENERATED – IMPERSONATED – REVOKED – USER_REVOKED – EXPIRED authType: description: Tipo de autenticação type: string enum: – G7 – G5 – LDAP – SAML sortOrder: description: Ordenação type: string enum: – DESC – ASC userNotificationKind: description: User notification kind. type: string enum: – Operational – Management – News userNotificationPriority: description: User notification priority. type: string enum: – Error – Alert – None eventEmailFormat: description: Format of the email type: string enum: – HTML – PLAIN_TEXT checkDTO: description: Itens verificados no healthcheck type: object required: – name – status properties: name: type: string description: Nome do item status: type: string allOf: – #/definitions/healthCheckStatus description: Status impersonationUser: description: Informações de um usuário disponível para personificação type: object required: – username – tenant – created – impersonated properties: username: type: string description: Nome do usuário passível de personificação tenant: type: string description: Tenant do usuário em questão created: type: string format: date-time description: Data em que o usuário se submeteu a personificação impersonated: type: boolean description: Indica se o usuário já foi personificado impersonationHistory: description: Histório de personificação type: object required: – tenant – impersonatedUsername – impersonatorUsername – created – status properties: tenant: type: string description: Nome do tenant impersonatedUsername: type: string description: Username do usuário solicitante do atendimento impersonatorUsername: type: string description: Username do usuário que atendeu a solicitação do atendimento created: type: string format: date-time description: Data e hora que ocorreu o evento status: type: string allOf: – #/definitions/impersonationStatus description: Nome do status da ação que ocorreu pagination: description: As configurações de paginação de uma listagem type: object properties: pageNumber: type: integer format: int64 description: O número da página retornado. A primeira página corresponde ao índice 0 default: 0 pageSize: type: integer format: int64 description: Quantidade de registros por página default: 10 ordination: description: As configurações de ordenação de uma listagem type: object properties: sortBy: type: string description: Nome do campo pelo qual resultado será ordenado. sortOrder: type: string allOf: – #/definitions/sortOrder description: Indica se a ordenação deve ser em ordem ASC ou DESC, por padrão será ASC listInformation: description: As informações sobre os resultados de listagem realizada type: object required: – totalElements – totalPages properties: totalElements: type: integer format: int64 description: Quantidade total de resultados encontrados totalPages: type: integer format: int64 description: Quantidade total de páginas encontradas group: description: Informações referentes ao grupo discriminator: _discriminator type: object required: – id – name – _discriminator properties: id: type: string description: Identificador do Grupo name: type: string description: Nome do Grupo description: type: string description: Descrição do Grupo email: type: string description: E-mail do grupo _discriminator: type: string description: completeGroup: description: Informações completas referentes ao grupo allOf: – #/definitions/group – type: object properties: users: type: array items: type: object allOf: – #/definitions/groupBasicUser description: Informações básicas dos usuários do grupo property: description: Representa uma propriedade type: object required: – name – value properties: name: type: string maxLength: 255 description: Nome da propriedade value: type: string maxLength: 255 description: Valor da propriedade groupBasicUser: description: Informações básicas do usuário de um grupo type: object required: – username – fullName – email – blocked – authenticationType properties: username: type: string description: Nome do Usuário fullName: type: string description: Nome completo do usuário email: type: string description: Endereço de e-mail do usuário blocked: type: boolean description: Indica se o usuário está bloqueado authenticationType: type: string allOf: – #/definitions/authType description: Tipo de autenticação utilizada pelo usuário basicUser: description: Informações básicas do usuário discriminator: _discriminator type: object required: – id – username – fullName – email – tenantDomain – tenantName – tenantLocale – blocked – authenticationType – integration – _discriminator properties: id: type: string description: Identificador do usuário username: type: string description: Nome do usuário fullName: type: string description: Nome completo do usuário description: type: string description: Descrição do usuário email: type: string description: Endereço de e-mail do usuário locale: type: string description: localidade do usuário tenantDomain: type: string description: Domínio do tenant no login do usuário tenantName: type: string description: Nome do tenant do usuário tenantLocale: type: string description: Localidade do tenant do usuário blocked: type: boolean description: Indica se o usuário está bloqueado authenticationType: type: string allOf: – #/definitions/authType description: Tipo de autenticação utilizada pelo tenant deste usuário integration: type: object allOf: – #/definitions/integration description: Dados do usuário integrado pela G5, mas futuramente poderá ser utilizado para outras integrações se necessário _discriminator: type: string description: completeUser: description: Informações do usuário allOf: – #/definitions/basicUser – type: object required: – photo – admin – allowedToChangePassword properties: changePassword: type: boolean description: Indica se o usuário precisa trocar de senha no próximo logon photo: type: string description: DEPRECADO: Essa propriedade só será retornada na versão descontinuada da primitiva getUser. Utilize a versão atual. Foto do usuário em Base64 properties: type: array items: type: object allOf: – #/definitions/property description: Lista com as propriedades que este usuário possui (opcional) admin: type: boolean description: Indica se o usuário é um admin de tenant allowedToChangePassword: type: boolean description: Indica se o usuário pode alterar a sua senha.\n É possível alterar a senha quando o tipo de autenticação do tenant é G7 ou quando é G5 e o tenant está configurado para permitir alterar a senha pela G7. expirationDate: type: string description: Data de expiração do usuário em UTC. timezone: type: integer format: int64 description: Timezone em minutos do usuário photoUrl: type: string description: URL da foto do usuário armazenada no blob-service photoUrlExpirationDate: type: string format: date-time description: Data de expiração da URL da foto do usuário phoneNumber: type: string maxLength: 50 description: Campo de Telefone (Opcional) expiredPassword: type: boolean description: A senha do usuário está expirada passwordExpiryAt: type: string format: date-time description: A senha do usuário irá expirar em changedUser: description: Dados do usuário alterado type: object required: – username – blocked properties: username: type: string description: Nome do usuário, com domínio ( usuário @ dominio.com ) fullName: type: string description: Nome completo do usuário blocked: type: boolean description: Indicativo se o usuário está bloqueado integration: description: Usuario integrado. Estas informações serão utilizadas pela integração G5, mas futuramente se necessário poderá ser utilizada para outras integrações type: object required: – integrationName – authType properties: integrationName: type: string description: Nome do usuário recebido via integração, caso não tenha um usuário informado na coluna integration_username será retornado o usuário padrão integrationCode: type: string description: Código do usuário, aplicado para os usuários integrados através da G5 authType: type: string allOf: – #/definitions/authType description: Tipo de autenticação do usuário registeredIntegrator: description: Integrador registrado type: object required: – domainName – serviceName – createdBy – createdAt – updatedBy – updatedAt properties: domainName: type: string description: Nome do domínio de origem da integração serviceName: type: string description: Nome do serviço de origem da integração identifier: type: string description: Identificador do integrador se necessário createdBy: type: string description: Usuário que registrou o integrador createdAt: type: string format: date-time description: Data em que o integrador foi registrado updatedBy: type: string description: Usuário que alterou o integrador registrado updatedAt: type: string format: date-time description: Data em que o integrador registrado foi alterado notifyUserEventPayload: description: Represents a regular user event notification payload discriminator: _discriminator type: object required: – notificationKind – notificationPriority – notificationSubject – notificationContent – sourceDomain – sourceService – destinationUser – _discriminator properties: notificationClass: type: string description: Class of notification notificationOrigin: type: string description: Origin of notification. Free text. Optional. notificationKind: type: string allOf: – #/definitions/userNotificationKind description: Notification kind. notificationPriority: type: string allOf: – #/definitions/userNotificationPriority description: Notification priority. notificationSubject: type: string description: Notification subject. notificationContent: type: string description: Notification content. sourceDomain: type: string description: Domain that generates the notification. sourceService: type: string description: Service that generates the notification. destinationUser: type: string description: Username of the destination user. link: type: string description: Notification link _discriminator: type: string description: emailNotifyUserEventPayload: description: Represents an email notification payload allOf: – #/definitions/notifyUserEventPayload – type: object required: – from properties: from: type: string description: Email sender address sendTo: type: array items: type: string description: Additional recipients to send the email to format: type: string allOf: – #/definitions/eventEmailFormat description: Email format pushNotifyUserEventPayload: description: Represents a push notification payload allOf: – #/definitions/notifyUserEventPayload – type: object required: – applicationId properties: applicationId: type: string description: Apple/Google application id blobReference: description: Default blob reference type. Every service defines its own. type: object required: – targetObjectId properties: domainName: type: string description: The domain the blob belongs to. serviceName: type: string description: The service the blob belongs to. targetObjectId: type: string description: The basic id of the blob. targetCopyId: type: string description: The id of the blob copy. basicErrorPayload: description: Default error payload type. Every service defines its own. type: object properties: message: type: string description: The user-facing error message, if any. errorCode: type: string description: The program-accessible (and service-specific) error code. dependency: description: Represents a service dependency type: object required: – domain – service – version properties: domain: type: string description: Domain of the dependency service service: type: string description: Name of the dependency service type: string description: Version of the dependency service genericError: properties: message: type: string description: Messaging describing the error. reason: type: string description: A symbolic code identifying the category of the reason of the error. enum: – BAD_REQUEST – UNAUTHORIZED – PAYMENT_REQUIRED – FORBIDDEN – OBJECT_NOT_FOUND – REQUEST_TIMEOUT – GONE – UNPROCESSABLE – INTERNAL_ERROR – NOT_IMPLEMENTED – SERVICE_UNAVAILABLE – INSUFFICIENT_STORAGE