Versões comparadas

Chave

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

Descrição

API genérica para a listagem de dados de uma Consulta Padrão (SXB) do TOTVS Backoffice linha Protheus.

Essa API foi criada com base na classe FWAdapterBaseV2, logo ela permite a utilização de filtros (oData) e a paginação de dados.


Informações
titleUtilização da API

É necessário ligar a segurança do socket do rest para a utilização dessa api (chave SECURITY=1)

Nota

Disponível a partir da lib 20231121.



Restrições

Tipos de consulta padrão suportadas

São suportadas pelo serviço somente consultas (SXB) do tipo Consulta padrão (DB).


Colunas

O serviço retorna somente os campos do primeiro indice da consulta padrão, ignorando todos os campos que contenham alguma função na definição da consulta.

Os detalhes dos campos retornados serão apresentados na propriedade descriptor contendo o nome do campo e descrição no dicionario de dados (SX3).


Informações
titleDados protegidos

Caso o usuário que consuma a API não tenha acesso a algum campo, esses campos não são retornados e a propriedade protectedDataFields do JSON de retorno listará tais campos.

Painel
titleExemplos de uso
CampoPermitido?
A1_CODSim
SUBSTRING(A1_COD, 1, 3)Não - Campo não será retornado pelo serviço
SA1->(A1_COD + A1_LOJA)Não - Campo não será retornado pelo serviço
Bloco de código
languagejs
themeMidnight
firstline1
titleExemplo de descriptor
{
 	"descriptor": {
        "a1_cod": "Codigo",
        "a1_loja": "Loja",
        "a1_nome": "Nome"
    }
}

Filtros

Não serão executados os filtros definidos no cadastro da Consulta Padrão, sendo executados somente os filtros recebidos no padrão oData da requisição.


Exemplo de uso - filtro utilizando o padrão oData

Bloco de código
http://localhost:8080/rest/api/framework/v1/genericLookupService/smartuismartview/:alias?pageSize=3&page=1&$filterq=a1_cod eq '000001' and a1_loja eq '01'


Retorno da consulta

O serviço utiliza a propriedade keyProperty para informar qual campo será definido como o retorno da consulta, considerando somente um campo como retorno da Consulta padrão.


Painel
titleExemplo de uso
Bloco de código
languagejs
themeMidnight
firstline1
titleExemplo de keyProperty
{
	"keyProperty": "a1_cod"
}



Smart view

Descrição

blah blah blah

Parâmetros

NomeTipoDescriçãoObrigatórioValor padrão

Obtem os dados de uma consulta padrão utilizando o padrão estabelecido para os Smart View, listando os recursos da tabela e os metadados da consulta padrão. 


Informações
titleNextUrlPage

Indica a URL da proxima pagina dos recursos, podendo retornar nulo 


AliasStringIndica o alias da consulta padrão que terá seus dados listadosXPageNumericNúmero da pagina a ser retornadaPageSizeNumericQuantidade de registros por paginaqStringFiltro oData

Exemplo de uso 

Bloco de código Bloco de código
languagejs
themeMidnight
titleExemplo de retorno

Smart UI

Descrição

blah blah blah

Parâmetros

NomeTipoDescriçãoObrigatórioValor padrão
AliasStringIndica o alias da consulta padrão que terá seus dados listadosX
PageNumericNúmero da pagina a ser retornada
1
PageSizeNumericQuantidade de registros por pagina
200
$filterqStringFiltro oDataque faz um contains nos campos da consulta

Exemplo de

uso utilizando filtro e paginação

uso 

Bloco de código
http://localhost:8080/rest/api/framework/v1/genericLookupService/smartuismartview/SA1?pageSize=32&page=1&$filter=contains(a1_nome, 'CLIENTE') and a1_loja eq '01'q=000001
Bloco de código
languagejs
themeMidnight
titleExemplo de retorno
{
    "itemsdata": [         
 		{
            "a1_cod": "000001",
            "a1_loja": "01",
            "a1_nome": "CLIENTE 01PADRAO"
        },
        {
            "a1_cod": "000002000001",
            "a1_loja": "01",
            "a1_nome": "CLIENTE 0201"
        },
        {
            "a1_cod": "000003000001",
            "a1_loja": "016",
            "a1_nome": "CLIENTE 03"
JURIDICO E FILIAL COM 1 DIGITO"
   }
    ],
 }    "hasNext": true  
	],
    "remainingRecords": 201,
    "keyProperty": "a1_cod",
    "descriptor": {
        "a1_cod": "Codigo",
        "a1_loja": "Loja",
        "a1_nome": "Nome"
    },
    "nextPageUrl": "http://127.0.0.1:8282/rest/api/framework/v1/genericLookupService/smartview/SA1?pageSize=2&page=2&q=000001" }