Erro WebAPI de conexão com banco de dados

Olá pessoal, tudo bem?

Estou realizando uma integração externa com a WebAPI do Latromi (via plataforma de workflows) para a extrair a estrutura das tabelas e utilizar essas informações. Consegui autenticar e listar normalmente os objetos do banco utilizando o endpoint:

BaseURL/api/db/{connectionId}

Porém, ao tentar utilizar o endpoint para gerar automaticamente o SELECT da tabela, estou recebendo erro 500:

BaseURL/api/db/{connectionId}/sql/select/{tableName}

  • A conexão está válida (consigo listar tabelas)
  • Estou utilizando o nome qualificado da tabela (ex: public.cadastro)
  • A chamada está sendo feita corretamente com X-Latromi-IntegrationKey
  • Estou usando a interface de documentação das API’s (Swagger)

Dúvida:

  1. Existe alguma limitação conhecida nesse endpoint?
  2. Pode haver incompatibilidade com a versão do PostgreSQL utilizada?
  3. Existe outro endpoint recomendado para obter a estrutura da tabela ou gerar o SELECT?

Minha necessidade

O objetivo final é conseguir:

  • Obter a lista de colunas de uma tabela específica
  • Utilizar essas informações para preenchimento automático/mapeamento de campos na plataforma de workflow

Fico à disposição para fornecer mais informações técnicas, exemplos de requisição ou qualquer outro detalhe que ajude na análise.

1 curtida

Olá, @Joao_paulo_Bgrp!

:tada: Seja bem-vindo a comunidade Latromi! :tada:

Contamos que a comunidade seja um espaço onde possa encontrar :sparkles: suporte e inspiração :sparkles: para desenvolver soluções de alto impacto utilizando a plataforma.

Para te proporcionar a melhor experiencia nesse jornada, aqui vão algumas dicas:

  • Explore nossos Tutoriais: Temos guias que cobrem desde o básico até configurações avançadas de infraestrutura e segurança.
  • Acompanhe o Backlog: Fique por dentro das novidades e das próximas funcionalidades que estamos preparando.
  • Participe: Sinta-se à vontade para tirar dúvidas, compartilhar suas conquistas ou sugerir melhorias.

O erro apresentado no corpo da requisição é referente a uma função que está presente somente em versões superiores a 9.5 do PostgreSQL. Para resolver a mensagem, siga os passos apresentados no seguinte tópico:

2 curtidas

Olá @Diego_Ramos, tudo bem?

Segui o passo a passo conforme o tópico e, de fato, funcionou! Consegui realizar a comunicação e utilizar o endpoint da tabela após aplicar os polyfills necessários para a minha versão do banco.

No entanto, surgiu uma dúvida técnica sobre o retorno. Ao utilizar o endpoint de SELECT, a API me retorna a estrutura/comando SQL das colunas , conforme o print abaixo:

Notei que no WHERE existe um placeholder para a PK: {?codigo}. Minha intenção inicial era passar esse código como parâmetro na requisição para retornar um registro específico, mas infelizmente não obtive sucesso (o retorno continua sendo apenas o texto do SQL)

Dúvidas:

  • Estou cometendo algum erro na passagem de parâmetros ou esses endpoints de GET são projetados estritamente para retornar a definição/estrutura do comando?
  • Existe algum outro método ou endpoint específico (como um POST ou uma rota /data/) que execute esse SQL e me entregue o JSON com os dados preenchidos?
  • Considerando que sou novo no mundo de APIs e estou usando o PostgreSQL 9.3, existe alguma limitação conhecida para a execução de parâmetros via URL nessa arquitetura?

Contexto adicional:

Agradeço muito se puder me orientar sobre o caminho correto para buscar o dado real em vez da estrutura do comando.

1 curtida

O Objetivo seria se integrar com o produto Painel de Tarefa, que é disponibilizado junto a plataforma de desenvolvimento?

Se for o caso, tente verificar as rotas disponíveis para essa integração no seguinte caminho:

Imagino que essas rotas são a que deseja, para efetuar a integração.

Talvez o painel de Tarefa possa me ajudar, mas vou ser mais específico.

Utilizamos um plataforma de automação de workflows chamada zeev. Temos processos que estão feitos manualmentes que poderiam ser automatizados.

Como mostro na imagem, hoje inserimos manualmente o Nome do Fornecedor e o CNPJ sempre que utilizamos essa requisição. No entanto, já possuímos uma tabela de cadastro no banco de dados com essas informações.

Minha ideia é conectar o Zeev ao Latromi para buscar um cliente específico nessa tabela de cadastro utilizando a API, eliminando a digitação manual de tudo.

Entendi a necessidade!

O recurso exato que você está buscando para resolver essa questão faz parte de uma funcionalidade que, no momento, encontra-se em versão Beta em nossa plataforma. Para poder seguir o desenvolvimento, já solicitei à nossa equipe a liberação deste recurso.

A atualização do ambiente Latromi, deve ser feito da seguinte forma:

  1. Acesse o portal do LATROMI Web com suas credenciais de Administrador.
  2. Localize e clique no botão “Verificar atualizações”.

Aviso: O processo de download e atualização ocorre em segundo plano. Pode levar alguns minutos até que a nova versão seja aplicada e reflita no site.

Localizando e implementando exposição de uma WebAPI

Após a atualização ser concluída, a configuração de Exposição de APIs Personalizadas estará disponível diretamente nas propriedades dos objetos de Formulário. Você pode visualizar e configurar essa opção através do ambiente de desenvolvimento no LATROMI Client.

Confira na imagem abaixo onde localizar o recurso:

Qualquer dúvida sobre a utilização do recurso seguimos a disposição:

Olá,

Agradeço pelo retorno e pelas orientações detalhadas sobre a atualização do ambiente.

Realizei o procedimento conforme indicado, acessando o portal com perfil de Administrador e clicando em “Verificar atualizações”.

Desde ontem ao clicar em “Verificar atualizações” aparece a seguinte mensagem:

Se tiver acesso ao servidor onde a aplicação se encontra instalada, poderia verificar se o seguinte serviço está rodando no servidor:

“LATROMI Installation Service”

Caso não esteja, tente inicializá-lo.

Obs.: Caso não possua o acesso ao servidor, nos informe que a equipe de técnica irá verificar o estado do serviço no servidor.

Diego, infelizmente não possuímos acesso ao servidor da aplicação. Para conhecimento, nosso sistema é o TMS Avacorp da praxio.

Ok, irei informar a equipe para que possam verificar se conseguimos prestar um suporte avançado, para atualizar o ambiente.

Tendo o retorno te informo aqui

1 curtida

Olá @Joao_paulo_Bgrp.

Efetuamos a atualização manual, poderia verificar a disponibilidade dos recursos em seu ambiente de desenvolvimento do Latromi.

Olá @Diego_Ramos .

Deu tudo certo, já estão disponíveis sim!! Muito obrigado!

Olá @Diego_Ramos ,

Poderia me dar um caso/exemplo de utilização do Get .

Olá @Joao_paulo_Bgrp!

Adicionamos o seguinte tópico na comunidade para apoiar na utilização do recurso:

Bom dia @Diego_Ramos, funcionou perfeitamente! Muito obrigado pelo retorno.

Agora surgiu mais uma questão.

Criei um endpoint de WebAPI no Avacorpt/Latromi para consultar um fornecedor no TMS. A API está funcionando normalmente quando testada via Postman, retornando corretamente o JSON.

Exemplo de retorno no Postman:

{
    "fornecedor": "JAC MOTOR COMPANY BRASIL LTDA - 58.xxx.xxx/xxxx-xx"
}

Porém, quando a mesma requisição é executada a partir do Zeev, o retorno não vem em JSON e sim em HTML com a página “Verificando Browser”.

Nesse retorno aparece um script com Fingerprint2 e uma chamada para:

POST Modules/BrowserInfo

Após isso ocorre um redirecionamento para: /web/webapi/v1/fornecedores

Estou utilizando a chave de integração no cabeçalho da requisição.

Gostaria de saber se existe alguma configuração de segurança necessária para permitir o consumo desses endpoints por sistemas externos sem passar pela verificação de navegador.

Obrigado.

Opa, boa tarde @Joao_paulo_Bgrp!

Essa página html que foi retornada no response, é usada para obter as funcionalidades do Browser, e repassar para o Latromi Web, no primeiro acesso do usuário. A plataforma deveria evitar essa página para uma requisição de Web API, mas isso não está acontecendo na versão que você está usando.

Vi que o @Diego_Ramos te ajudou com a atualização da plataforma. Pode confirmar pra mim qual versão você está usando? Essa informação é exibida na página inicial, logo abaixo do logo da empresa.

Na categoria Releases > Web você encontra o relatório de todas as versões publicadas.
Caso não esteja na última versão, tente atualizar o Latromi Web, seguindo esses passos.

Fala @daniel.giacomelli!

Estou com a versão LATROMI 3.5.484 da web aqui.
O client está atualizado na última versão, somente o web que está bem atrás.

Quando realizo o passo de verificar atualizações , ele retorna a mesma mensagem que mencionei antes, indicando que pode haver uma atualização em andamento , possivelmente o LATROMI Installation Service está parado.

Como é o TMS Avacorp , não tenho acesso ao servidor da aplicação. Você consegue realizar essa atualização para nós ou nesse caso somente com eles?

Valeu!

Bom dia a todos os envolvidos!!

Acabei abrindo um ticket na kmm. Segue o retorno obtido:

@Joao_paulo_Bgrp, realmente houve uma versão em novembro de 2025 que causou um problemas no TMS AvaCorp-I, mas estes problemas já foram superados.

Realizamos a atualização para a versão mais recente!

Gratidão @daniel.giacomelli e @Diego_Ramos pelo suporte!! Deu super certo!!

1 curtida