Tempo aproximado para leitura: 00:03:00 min
Dúvida:
Como consultar requisições APIBuilder referente a "tabelaprecoproduto" em ambiente TCloud?
Ambiente
Cross Segmentos - TOTVS CRM Automação de Força de Vendas (SFA) - WEB - Integração - Todas as versões
Solução
1. As integrações via API Builder são realizadas através de requisições. Essas requisições quando enviadas para o SFA ficam armazenadas em nosso banco de dados, para que possamos ter o histórico de requisições realizadas e armazenar os dados das mesmas.
2. Essas requisições além de outras informações, possuem métodos, caminho / diretório, data e hora, o Corpo do JSON que está sendo manipulado na requisição de dados e o resultado de processamento da requisição, informando se a mesma foi atendida ou não.
Todas essas informações das requisições enviadas são armazenadas na tabela nomeada "apibuilder.endpointlog".
Dentro dessa tabela temos as seguintes colunas:
- requestmethod: Método de requisição que está sendo utilizado, identificando se está sendo um PUT para atualização de registros já existentes, ou POST para incluir um novo registro por exemplo;
- pathinfo: Diretório que está sendo manipulado, aqui informamos qual tabela de dados está sendo manipulada, como exemplo tabelaprecoproduto ou pedido, por padrão sempre é iniciado com //wspr
- requestdate: Informação de data e horário no qual a requisição foi realizada;
- requestbody: Json contendo os dados que estão sendo requisitados;
-
requestresult: Resultado da requisição realizada, informando se foi atendida ou caso não tenha sido, o código de erro que não permitiu.
3. Para realizar uma consulta no editor SQL disponibilizado no ambiente TCloud, é necessário dentro do módulo PAAS, selecionar a opção SFA > selecionar o ambiente em que deseja realizar essa consulta > clicar sobre a aba "BANCO DE DADOS"
Como informado, o editor SQL é uma ferramenta de apoio utilizada para consultas simples e que não irão trazer grandes números de dados.
É importante filtrar as informações que deseja pesquisar para evitar possíveis quedas de desempenho no ambiente.
Segue exemplo de uma consulta já pronta para validação de dados de preço de produto:
select * from apibuilder.endpointlog where pathinfo like '//wspr/tabelaprecoproduto' and requestmethod like 'POST' and requestbody ilike '%"idproduto_externalid":"9000"%' and DATE(requestdate) = '2024-05-08'
- apibuilder.endpointlog: Tabela que salva os registros de requisições realizadas para o SFA.
- pathinfo like '//wspr/tabelaprecoproduto': Diretório para onde a requisição está manipulando dados, neste caso estamos informando o local padrão "//wspr/" seguido de qual informação está sendo manipulada / para qual tabela está sendo enviada a informação. Os preços de produtos dentro do SFA são definidos através da tabela nomeada "tabelaprecoproduto", logo passamos então a informação //wspr/tabelaprecoproduto.
- requestmethod like 'POST': Estamos informando que desejamos filtrar apenas as requisições com método POST neste caso. Sendo possível informar qualquer outro método desejado.
- requestbody ilike '%"idproduto_externalid":"9000"%': Estamos filtrando para que traga apenas requisições que dentro do JSON enviado, possuam a manipulação de dados do campo idproduto_externalid com o valor 9000 (ou seja, externalid 9000)
4. Caso deseje ampliar o conhecimento para montar a consulta com filtros com diferentes campos que são enviados, é possível verificar quais campos são utilizados em cada método e diretório pathinfo através do manual de nossa API https://apitotvscrmsfa.docs.apiary.io/#reference
0 Comentários