Tempo aproximado para leitura: 00:05:00 min
Dúvida:
Como realizar um teste de requisição na API NATIVA?
Ambiente
Cross Segmentos - TOTVS CRM Automação de Força de Vendas (SFA) - WEB - Integração - Todas as versões
Solução
Para confirmar se o API Nativa está acatando requisições e trazendo dados, é possível montar uma requisição utilizando um software de requisição e visualização de dados.
Neste exemplo utilizaremos a ferramenta Postman para enviar uma requisição até nossa API.
1. Dentro da aplicação de requisição selecionaremos o método que desejamos realizar. Para realizar um teste confirmando se está ocorrendo o consumo de dados na API e importando dados do ERP para o SFA, será necessário utilizar o método GET (obter).
É necessário no campo URL inserir a URL de seu serviço REST ativo. Exemplo:
http://totvsapi123456.protheus.cloudtotvs.com.br:4050/restsfa
2. Em sequência, dentro da URL estaremos passando os métodos / diretório que desejamos acessar e chamar os dados. a API Nativa Protheus trabalha com o método genericQuery. É necessário então apontar para o seguinte diretório: /api/framework/v1/genericQuery
Nossa consulta então ficará montada da seguinte forma:
http://totvsapi123456.protheus.cloudtotvs.com.br:4050/restsfa/api/framework/v1/genericQuery
3. Agora que temos o diretório apontado em nossa URL, precisamos passar os parâmetros de pesquisa, para informar à nossa API quais dados desejamos que sejam trazidos nessa requisição. Existem quatro parâmetros que são frequentemente utilizados, sendo dois deles obrigatórios para a pesquisa e outros dois deles opcionais para facilitar que seja filtrado apenas os dados desejados.
Os parâmetros obrigatórios para que a API realize a requisição:
- Tables e fields: determinam respectivamente quais tabelas do Protheus deseja requisitar e quais campos desta tabela quer que sejam puxados na requisição.
Existem parâmetros opcionais que são:
- Filter: permite que seja informado para a API que na requisição desejamos puxar apenas os resultados que possuem um campo com um valor em especifico.
-
Page: permite limitarmos o número de páginas de resultados que desejamos trazer. É importante utilizar o campo page quando não passarmos filtros referentes a chaves únicas na requisição, para evitar possíveis demoras e sobrecarregamento de dados em casos onde estamos requisitando resultados de tabelas muito populadas.
4. Para informar esses parâmetros na requisição, é necessário após informar o método, inserir uma forma de separador, que no padrão REST é definido pelo sinal de interrogação (?), assim definimos que o que está sendo passado após o ? são parâmetros.
5. Para passar mais de um parâmetro, é necessário informar o caractere & (E comercial) assim definindo um separador entre um parâmetro e outro.
Assim nossa requisição é montada da seguinte forma:
http://urlrest:porta/restsfa/método?parametro1¶metro2¶metro3
- ? = Parâmetros
- & = Separador para passagem de outro parâmetro
6. Utilizando nossa API, caso deseje requisitar valores da tabela de pedidos, apenas dos campos NUMERO PEDIDO e FILIAL DO PEDIDO, filtrando apenas pelos pedidos com NUMERO FILIAL = 01 e limitando a pesquisa para trazer apenas resultados da segunda página de dados que atendem estes requisitos, a montagem de dados seria feita da seguinte forma:
URL: http://totvsapi123456.protheus.cloudtotvs.com.br:4050/restsfa
Método: /api/framework/v1/genericQuery
- tables=SC5 (Alias da tabela PROTHEUS)
- fields=c5_num, c5_filial(nome dos campos existentes na tabela PROTHEUS)
- filter=c5_filial eq '01'
- page=2
Montando a requisição completa:
http://totvsapi123456.protheus.cloudtotvs.com.br:4050/restsfa/api/framework/v1/genericQuery?tables=SC5&fields=c5_num, c5_filial&filter=c5_filial eq '01'&page=2
7. Agora que temos a estrutura de nossa requisição completa, é necessário informar o login e senha do usuário Protheus para permissão das requisições.
Dentro da aba Authorization, selecione no campo Type a opção Basic Authorization e preencha o usuário e senha para requisição:
8. Com todas as informações já preenchidas, ao clicar no botão send será enviada uma requisição e nos retornará os dados solicitados:
0 Comentários