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:
Contamos que a comunidade seja um espaço onde possa encontrar suporte e inspiração 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:
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?
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.
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:
Acesse o portal do LATROMI Web com suas credenciais de Administrador.
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:
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.
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.
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?