Páginas filhas
  • TOTVS Discovery

Versões comparadas

Chave

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

Objetivo

Definições Gerais

Os serviços e padrões descritos abaixo foram definidos conforme o Guia de implementação das APIs TOTVS.

Estrutura com informações dos itens avaliados
Âncora
info
info

Quando necessário, o JSON de retorno dos serviços de descoberta deverão deverá possuir uma lista com a estrutura de informações dos itens que foram avaliados pelo TOTVS Discovery.

...

AtributoTipoDescriçãoObrigatório?Valores
codeStringCódigo/Chave do item avaliado.Sim
messagetitleStringBreve descrição Título do item avaliado.Sim
detailStringDetalhes Detalhe do item avaliado.Não
statusvalueBooleanStringSituação Valor do item avaliado.Sim
healthArrayLista com a estrutura com as informações de saúde do nó descoberto.Não

Health

  • true: verdadeiro se o item avaliado não apresentou inconformidades
  • false: falso se o item avaliado apresentou inconformidades

    Estrutura com informações de saúde
    Âncora
    health
    health

    Quando necessário, o JSON de retorno de qualquer um dos serviços descritos neste documento deverá possuir uma lista com a estrutura de informações de saúde da informação retornada pelo TOTVS Discovery.

    Esta estrutura deve seguir conforme descrito abaixo:

    AtributoTipoDescriçãoObrigatório?Valores
    type**StringTipo da informação da situação encontrada.Sim
    • sucess: Sucesso (OK)sucesso
    • warning: Alerta/Avisoalerta
    • error: Erro | Com contornoerro não fatal
    • danger: Erro Fatal/Sem contornoerro 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/resourcesenvironments/{id}?category=[category]

    ...

    idTOTVS}

    Retorna os ambientes disponíveis.


    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": "PRODUCAO"
    	},{
    		"name": "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:

    idID do nó descobertohostIP ou domínio do nó descobertoport
    AtributoTipoDescriçãoObrigatório?Valores
    nameStringNome do ambiente.Sim
    hostStringIP ou domínio do recurso.Sim
    portNumberPorta do recurso.Não
    categoryStringCategoria do nó descobertorecurso.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
    statusNumericStringPorta do nó descoberto.Indicador de saúde do recurso.NãoHealth:status
    descriptionStringDescrição do hostNãoSim
    infoArrayEstrutura Lista com a estrutura com as informações dos itens avaliados.NãohealthArrayEstrutura com as informações de saúde do nó descoberto.NãoInfo

    Exemplo JSON de retorno

    Bloco de código
    languagejs
    {
    	"total": 2,
    	"hasNext": false,
    	"items": [{
    		"category"name": "PRODUCAO",
    		"host": "10.1.1.1",
    		"port": 1234,
    		"description": "machineSlave 001",
    		"idcategory": "81645a9a7b2f469a89331db5a35c22d4server|machine|database|lsv|gateway",
    		"hostdate": "10.1.1.1yyyy-mm-ddThh:mm:ss.nnnnnn+|-hh:mm",
    		"portstatus": 1234"success|warning|error|danger",
    		"info": [{
    			"code": "cpu",
    			"title": "CPU",
    			"detail": "Unidade Central deProcessing ProcessamentoUnit",
    			"statusvalue": true|false
    		}],
    "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
    monitorActiveBooleanIndicador se o serviço de monitoramento está ou não ativo.Não
    historyDaysNumberQuantidade de dias para manter o histórico das informações de monitoramento.NãoPadrão 30 dias
    monitorIntervalNumberIntervalo em minutos do ciclo de monitoramento.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
    {
    	"monitorActive": true|false,
    	"historyDay": 30,
    	"monitorInterval": 15,
    	"sendDataTOTVS": true|false
    }