Histórico da Página
...
Quando necessário, o JSON de retorno de deverá possuir uma lista com a estrutura de informações de saúde da informação retornada pelo TOTVS Discovery.
...
Atributo | Tipo | Descrição | Obrigatório? | Valores |
---|---|---|---|---|
type** | String | Tipo da informação da situação encontrada. | Sim |
|
message | String | Breve mensagem sobre a situação encontrada. | Sim | |
detail | String | Detalhes sobre a situação encontrada. | Não | |
helpUrl | String | Página de ajuda sobre a situação encontrada. | Não |
Serviços
Serviço público de autenticação
POST /discovery/v1/authentication
Realiza a autenticação do usuário.
O JSON de autenticação deverá conter o código do usuário e a senha. No atributo da senha deverá ser indicado qual o tipo de criptografia foi utilizado na requisição, conforme o exemplo abaixo:
Bloco de código |
---|
{
"username": "admin",
"password": "base64:YWRtaW4="
} |
Obs.: por padrão nesta primeira etada a senha será enviada sempre em Base64 e, portanto será recomendado o uso de HTTPS.
No JSON de retorno deverá ser retornado as informações do usuário autenticado conforme a estrutura abaixo:
Atributo | Tipo | Descrição | Obrigatório? | Valores |
---|---|---|---|---|
username | String | Código do usuário. | Sim | |
email | String | E-mail do usuário. | Não | |
fullName | String | Nome completo do usuário. | Sim | |
dialect | String | Código de dialeto do usuário para tradução. | Não | pt-BR |
avatar | String | URL ou Base64 com a imagem de avatar do usuário. | Não | |
token | String | Token JWT de autenticação que será utilizada nas requisições. | Sim |
Obs.: se a autenticação não for bem sucedidade, deverá ser retornado o código de erro HTTP padrão para esta ocasião: 401 Unauthorized (usuário ou senha inválidos) ou 403 Forbidden (usuário sem privilégios para utilizar o sistema).
Exemplo JSON de retorno
Bloco de código | ||
---|---|---|
| ||
{
"username": "john",
"email": "[email protected]",
"fullName": "John Doe",
"dialect": "en-US",
"avatar": "https://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ"
} |
Serviço restrito de busca dos Ids de instalação do License
GET /discovery/v1/ids/receiver
Retorna os IDs TOTVS de instalação do License.
No JSON de retorno, deve constar as seguintes informações:
Atributo | Tipo | Descrição | Obrigatório? | Valores |
---|---|---|---|---|
TOTVSID | String | Id Totvs de Instalação do License | Sim | |
name | String | Nome de Instalação do License | Não | |
alias | String | Alias de instalação do License | Não | |
receive | String | Uso de controle interno | Não |
Exemplo JSON de retorno
Bloco de código | ||
---|---|---|
| ||
{
"total": 1,
"hasNext": false,
"items": [{
"TOTVSID": "g185sdf4b1bd8",
"name":"EMPRESA FULANO",
"alias":"FULANO",
"receive":""
}]
}
|
Serviço restrito de busca dos ambientes disponíveis
GET /discovery/v1/environments/{nameidTOTVS}
Retorna os ambientes disponíveis.
Parâmetros
PATH PARAM [name]
Nome do ambiente que deseja-se filtrar ou nulo para trazer todos os ambientes
No JSON de retorno, no atributo items
, deve constar as seguintes informações:
Atributo | Tipo | Descrição | Obrigatório? | Valores |
---|---|---|---|---|
name | String | Nome do ambiente. | Sim |
Exemplo JSON de retorno
Bloco de código | ||
---|---|---|
| ||
{ "total": 2, "hasNext": false, "items": [{ "name": "PROTHEUS-V12-PRODUCAO" },{ "name": "PROTHEUS-V12-HOMOLOGACAO" }] } |
Serviço restrito de busca
...
do recursos de determinado ambiente
GET /discovery/v1/resources/{idTOTVS}/{name}
...
?host=[
...
]
...
&port=[]&category=[]
...
&portGroup=[true
...
/false]
Retorna os recursos dispoíveis de determinado ambiente.
Parâmetros
PATH PARAM {idTOTVS}
Id de instalação do License (obrigatório)
PATH PARAM {name}
Nome do ambiente do qual deseja-se retornar os recursos disponíveis (obrigatório)
...
QUERY PARAM [
...
hostip]
IP ou domínio do recurso do ambiente selecionado
QUERY PARAM [port]
Porto do recurso do ambiente selecionado
...
QUERY PARAM [category]
Categoria do recurso do ambiente selecionado
QUERY
...
PARAM [
...
portGroup]
...
Informa se
...
as informações devem ser agrupados por host, ignorando assim a porta do recurso
No JSON de retorno, no atributo items
, deve constar as seguintes informações:
Atributo | Tipo | Descrição | Obrigatório? | Valores |
---|---|---|---|---|
name | String | Nome do ambiente. | Sim | |
host | String | IP ou domínio do recurso. | Sim | |
port | Number | Porta do recurso. | Não | |
category | String | Categoria do recurso. | Sim |
|
date | String | Data de descoberta do recurso (no formato yyyy-mm-ddThh:mm:ss.nnnnnn+|-hh:mm). | Sim |
health
status | String | Indicador de saúde do recurso. | Não | Health: |
status | ||||
description | String | Descrição do host | Não | |
info | Array | Lista com a estrutura com as informações dos itens avaliados. | Não | Info |
Exemplo JSON de retorno
Bloco de código | ||
---|---|---|
| ||
{ "total": 2, "hasNext": false, "items": [{ "name": "PROTHEUS-V12-PRODUCAO", "host": "10.1.1.1", "port": 1234, "description": "Slave 001", "category": "server|machine|database|lsv|gateway", "date": "yyyy-mm-ddThh:mm:ss.nnnnnn+|-hh:mm", "healthstatus": "success|warning|error|danger", "info": [{ "code": "cpu", "title": "CPU", "detail": "Central Processing Unit", "value": "90", "health": [{ "typestatus": "success|warning|error|danger", "message": "Consumo de CPU em 80%", "details": "O alto consumo da CPU do servidor prejudica o desempenho do sistema", "helpUrl": "http://www.tdn.totvs.com.br" }, { "typestatus": "success|warning|error|danger", "message": "Memória disponível no servidor abaixo da recomendada", "details": "O recomendado para o uso do TOTVS Microsiga Protheus é de no mínimo 8gb de RAM", "helpUrl": "http://www.tdn.totvs.com.br" }] }] }] } |
Serviço restrito de busca e atualização de configuração
GET /discovery/v1/config
Retorna as configurações atuais do TOTVS Discovery.
...
POST /discovery/v1/config
Atualiza as configurações atuais do TOTVS Discovery.
O JSON de retorno da busca e de atualização deverão possuir a mesma estrutura abaixo:
Atributo | Tipo | Descrição | Obrigatório? | Valores |
---|
monitorPaused
monitorActive | Boolean | Indicador se o serviço de monitoramento está ou não |
ativo. |
Não | ||
historyDays | Number | Quantidade de dias para manter o histórico das informações de monitoramento. |
Não | Padrão 30 dias | |
monitorInterval | Number | Intervalo em minutos do ciclo de monitoramento. |
Não | Padrão 15 minutos | |||
sendDataTOTVS |
| Indica se os dados monitorados serão enviados a TOTVS | Não |
Exemplo JSON de retorno e atualização
Bloco de código | ||
---|---|---|
| ||
{ "monitorPausedmonitorActive": true|false, "historyDay": 30, "monitorInterval": 15, "sendDataTOTVS": true|false } |