Como Consultar Pedidos de Compras no Protheus com WebService REST9 minutos de leitura

Sabemos que não dá pra resolver tudo...a culpa não é sua!
Converse com a gente ali na caixa ao lado 👉

 

A integração entre sistemas é uma necessidade cada vez mais comum nas empresas que utilizam o ERP TOTVS Protheus. Neste artigo, vamos demonstrar, com um exemplo prático e completo, como criar um WebService RESTful em ADVPL para consultar pedidos de compras, com filtros flexíveis e retorno em JSON.

O Que Você Vai Aprender

  • Como estruturar um WebService REST no Protheus com WSRESTFUL
  • Como receber parâmetros via URL (GET)
  • Como montar dinamicamente uma query SQL com filtros
  • Como retornar os resultados em formato JSON
  • Como aplicar paginação e ordenação no resultado

Parâmetros Recebidos via URL

O serviço aceita diversos parâmetros GET como filtros:

Parâmetro Descrição
PRODUTO Código do produto
FORNECE Código do fornecedor
CONTATO Código do contato
EMISSAO Data de emissão
TES Código de TES
CLVL Faixa de cliente inicial
QUANT Faixa de cliente final
PAGINA Página atual (paginação)
ORDER Campo de ordenação
DIR Direção da ordenação
LIMIT Quantidade de registros
PAGINATION ON/OFF para controle
SEGKEY Chave de segurança

Criação da Classe RESTful

Validação de Segurança

Logo no início do método GET, o código valida uma chave de segurança:

Montagem Dinâmica da Query

Os filtros recebidos via GET são utilizados para montar dinamicamente a cláusula WHERE da SQL:

Consulta SQL com Paginação

A consulta principal utiliza JOIN entre SC7, SA2, SD1 e SF1. A paginação é feita com TOP (MSSQL) ou ROWNUM (Oracle):

Resposta em JSON

Os resultados são serializados e enviados como JSON:

Exemplo de Requisição GET

Exemplo de Retorno JSON

Código Completo

 

Conclusão

Criar um WebService REST em ADVPL para consulta de pedidos de compras no Protheus é totalmente viável e extremamente útil para integrações externas, dashboards, sistemas parceiros ou análise de dados.

Essa abordagem modular, segura e escalável pode ser reaproveitada para outros cadastros como pedidos de vendas, clientes, produtos e muito mais.

Quer criar um framework REST para seu Protheus? Posso te ajudar a desenvolver endpoints reutilizáveis e seguros. Fale comigo!
Fernando Bueno
Siga na rede

Fernando Bueno

Consultor em FBSOLUTIONS
Sou consultor na área de implantação de sistemas ERP, com experiência na análise e implantação de projetos de sistemas, configurando a estrutura do software, capacitando usuários-chaves, ministrando treinamentos e workshops.

Atuando desde 2005 no mercado de tecnologia, desenvolvendo e implantando e sistemas gerenciais, sistemas e sites web e ecommerce.

Siga-me no Linked In
Fernando Bueno
Siga na rede

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *