Insomnia
Este documento apresenta um passo a passo para utilização correta e eficiente do Insomnia na visualização de dados do ERP do cliente via API Sankhya.
Preparação do Insomnia
Passo 1: Acessar o Insomnia e baixar o arquivo de requisições
- Abra o Insomnia no seu computador.
- Na tela inicial do aplicativo, clique em Use the local Scratch Pad.
- Baixe o arquivo de requisições do Insomnia no link abaixo:
Passo 2: Importar o arquivo no Insomnia
- No canto superior esquerdo do Insomnia, localize o botão Scratch Pad.
- Clique sobre ele e selecione a opção Import.
- Arraste o arquivo baixado no passo anterior para a tela, ou selecione-o manualmente.
Entendendo a estrutura das requisições
Na barra lateral esquerda ficam as requisições importadas. Elas normalmente estão organizadas em pastas, com destaque para:
Pasta TOKENS
As requisições da pasta TOKENS permitem obter tokens temporários exigidos pela Sankhya para consumir a API do cliente.
Para consultar o token de um cliente:
- Selecione uma requisição da pasta TOKENS.
- Navegue até a aba Headers para visualizar:
- token (token do cliente gerado no ERP)
usernamesenhaappKey
⚠️ Atenção
As informações de token, usuário, senha e appKey são internas e sensíveis.
Não compartilhe esses dados com terceiros.
Pasta Requisições
A pasta Requisições contém requisições organizadas por entidades/tabelas do ERP, como:
- TGFCAB
- TGFEST
- TGFPRO
- entre outras
A API do Sankhya trabalha com entidades. Cada tabela do banco possui uma entidade correspondente.
Link com a lista de entidades:
⚠️ Atenção
Para tabelas adicionais/customizadas no ERP, a entidade costuma ser o nome da tabela em maiúsculo.
Componentes importantes de uma requisição
Usando como exemplo a requisição “TGFEST - Estoque”:
Headers
- O header Authorization guarda o token temporário necessário para consultar a API.
- O token temporário normalmente possui duração aproximada de 5 minutos.
Body
No Body, você define:
- Quais campos deseja retornar
- Filtros da consulta (semelhante a um
WHEREno SQL) - A entidade raiz consultada
Regras para escrever filtros no parâmetro expression:
- Sempre que usar um campo na
expression, utilize a palavra reservadathis. - Os valores devem estar entre aspas simples.
- Os campos do banco devem estar em caixa alta.
Exemplo de padrão (referência):
this.CODPROD = '<Código do Produto>' AND this.CODLOCAL = '<Código do Local de Estoque>'
Sobre rootEntity:
- O parâmetro
rootEntitydefine a entidade da tabela. - Sempre informe a entidade correspondente à tabela consultada.
Utilizando o Insomnia
Passo 1: Gerar o token temporário do cliente
- Selecione a requisição de token do cliente desejado (pasta TOKENS).
- Clique em Send.
- Copie o token retornado no painel de resposta (lado direito).
⚠️ Atenção
Copie o token do primeiro ao último caractere.
Não é necessário incluir aspas, chaves ou qualquer estrutura adicional.
Passo 2: Aplicar o token em uma requisição de tabela
- Abra a requisição da tabela desejada (ex.: TGFEST - Estoque).
- Acesse a aba Headers.
- No header Authorization:
- mantenha a palavra
Bearer - substitua/cole o token temporário após um espaço
- mantenha a palavra
Formato esperado:
Bearer <token_temporario>
Passo 3: Montar a consulta no Body e executar
- Acesse a aba Body.
- Ajuste os campos que deseja retornar.
- Configure os filtros (
expression) conforme necessário. - Clique em Send.
- Verifique o retorno no painel da direita.
Entendendo os retornos da Sankhya
Os retornos da Sankhya nem sempre são diretos, mas é possível interpretá-los.
Exemplo de cenário:
- Foi feito um request na entidade da TGFEST, mas nenhum dado foi retornado porque nenhum registro atendeu ao filtro aplicado.
- Mesmo assim, alguns campos podem aparecer no retorno. Isso acontece porque a Sankhya pode retornar campos adicionais (geralmente PKs e FKs) obrigatoriamente.
Interpretação por índice (base 0)
Como a API segue uma estrutura baseada em índice (base 0), os campos podem ser identificados assim:
CODPROD:f0CODEMP:f1CODLOCAL:f2CONTROLE:f3
E assim sucessivamente.
Quando existe resultado, ele pode aparecer com os valores atribuídos em f0, f1, f2, etc. Em retornos com muitos campos, a ordem visual pode ficar confusa, mas a correspondência por índice permanece válida.
Exemplo de leitura:
f0: 49corresponde ao campo CODPRODf1: 0.0corresponde ao campo ESTOQUE- e assim por diante, seguindo a sequência definida.
Análise de Logs (TGLATS)
A análise de logs possui diferenças no Body e no retorno da requisição.
Como acessar a requisição de logs
- Na pasta Requisições, localize a requisição “Logs - TGLATS”.
- Selecione a requisição e acesse a aba Body.
Parâmetros principais no Body:
size: quantidade máxima de logs retornadospage: página consultada (o log pode ter múltiplas páginas)dhAlter: data utilizada como base para consultaentidades: entidade/tabela a ser consultada nos logs
Como interpretar o retorno
No retorno:
dtAlter: data/hora em que o log foi gravado no ERPevento: tipo da movimentação que gerou o log (ex.:CHANGEeDELETE)pk: conjunto de campos e valores que identifica o registro alterado
⚠️ Atenção
O log não informa quais campos foram alterados.
Ele informa a entidade, o evento e a chave (PK) do registro afetado.
Paginação de logs
A quantidade total de páginas pode aparecer ao final do retorno da primeira página.
⚠️ Atenção
Por conta do índice base 0, se o retorno indicar
totalPages: 14, a contagem efetiva de páginas vai de 0 a 13.
Consultar a página 14 normalmente resultará em resposta vazia/sem logs.
Se for realizada a consulta em uma página inexistente, o retorno indica que não há logs para aquela data ou página.