Páginas filhas
  • TOTVS Discovery

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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.

...

AtributoTipoDescriçãoObrigatório?Valores
type**StringTipo da informação da situação encontrada.Sim
  • sucess: sucesso
  • warning: alerta
  • error: erro não fatal
  • danger: erro fatal
messageStringBreve mensagem sobre a situação encontrada.Sim
detailStringDetalhes sobre a situação encontrada.Não
helpUrlStringPá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:

AtributoTipoDescriçãoObrigatório?Valores
usernameStringCódigo do usuário.Sim


emailStringE-mail do usuário.Não
fullNameStringNome completo do usuário.Sim
dialectStringCódigo de dialeto do usuário para tradução.Nãopt-BR
avatarStringURL ou Base64 com a imagem de avatar do usuário.Não
tokenStringToken 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
languagejs
{
	"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:

AtributoTipoDescriçãoObrigatório?Valores
TOTVSIDStringId Totvs de Instalação do LicenseSim
nameStringNome de Instalação do LicenseNão
aliasStringAlias de instalação do LicenseNão
receiveStringUso de controle internoNão

Exemplo JSON de retorno

Bloco de código
languagejs
{
	"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:

AtributoTipoDescriçãoObrigatório?Valores
nameStringNome do ambiente.Sim

Exemplo JSON de retorno

Bloco de código
languagejs
{
	"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 [

...

hostipIP 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:

AtributoTipoDescriçãoObrigatório?Valores
nameStringNome do ambiente.Sim
hostStringIP ou domínio do recurso.Sim
portNumberPorta do recurso.Não
categoryStringCategoria do recurso.Sim
  • server: Servidor de Aplicação (ambiente)
  • machine: Servidor Físico
  • database: Banco de Dados
  • lsv: Servidor de Licenças
  • gateway: Outros recursos (DBAccess)
dateStringData de descoberta do recurso (no formato yyyy-mm-ddThh:mm:ss.nnnnnn+|-hh:mm).Sim
health

statusStringIndicador de saúde do recurso.NãoHealth:
type
status
descriptionStringDescrição do hostNão
infoArrayLista com a estrutura com as informações dos itens avaliados.NãoInfo

Exemplo JSON de retorno

Bloco de código
languagejs
{
	"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:

AtributoTipoDescriçãoObrigatório?Valores
monitorPaused
monitorActiveBooleanIndicador se o serviço de monitoramento está ou não
pausado
ativo.
Sim
Não
historyDaysNumberQuantidade de dias para manter o histórico das informações de monitoramento.
Sim
NãoPadrão 30 dias
monitorIntervalNumberIntervalo em minutos do ciclo de monitoramento.
Sim
NãoPadrão 15 minutos
sendDataTOTVS

Boolean

Indica se os dados monitorados serão enviados a TOTVSNão

Exemplo JSON de retorno e atualização

Bloco de código
languagejs
{
	"monitorPausedmonitorActive": true|false,
	"historyDay": 30,
	"monitorInterval": 15,
	"sendDataTOTVS": true|false
}