Exemplo de Leitura de Registro de Pessoa Com PHSYS API
Com a API é possível acessar diversas funcionalidades, incluindo a consulta de registros na base de dados. Para ilustrar, vamos considerar um cenário onde precisamos obter informações de um cliente no ERP. Com a PHSYS API, podemos consumir essas informações de forma fácil e eficiente.
Primeiramente, criamos um script específico dentro do ERP através do módulo desenvolvimento, no qual, foi chamado C_LEITURAPESSOA com e inserido o seguinte comportamento desenvolvido:
procedure C_LEITURAPESSOA; var Q: TPHQuery; ParamList: TStringList; Index:Integer; begin Q := NewPHQuery; try { Consulta de dados através de comandos SQL com base no ID que será preenchido pelo parâmetro de ID da requisição } Q.Add('SELECT A.NOME, '+ ' A.TELEFONE, '+ ' A.EMAIL, '+ ' B.NOME AS ESTADO, '+ ' C.NOME AS MUNICIPIO '+ 'FROM PESSOAS A '+ 'LEFT JOIN ESTADOS B ON B.ID = A.ESTADO '+ 'LEFT JOIN MUNICIPIOS C ON C.ID = A.MUNICIPIO '+ 'WHERE A.ID = :FID'); Q.ParamByName('FID').AsLargeInt := ParamByName('ID').AsLargeInt; Q.Open; ParamList := TStringList.Create; try ParamList.Add('NOME'); ParamList.Add('TELEFONE'); ParamList.Add('EMAIL'); ParamList.Add('ESTADO'); ParamList.Add('MUNICIPIO'); Index := 0; while Index < ParamList.Count do begin { Quando utilizado o ParambyName será retornado na requisição o parâmetro conforme atribuição designada. } ParamByName(ParamList[Index]).AsString := Q.FieldByName(ParamList[Index]).AsString; Inc(Index); end; finally ParamList.Free; end; finally Q.Free; end; end; begin end.
Neste script existe o procedimento C_LEITURAPESSOA que realiza a consulta das informações cadastrais com base no ID que será preenchido pelo parâmetro ID do Body da Requisição.
Para consumir o parâmetro de ID preenchido no Body da Requisição é utilizado no método ParamByName, da seguinte maneira:
ParamByName('ID').AsLargeInt;
Para cada um dos campos retornados pela consulta é atribuído o ParamByName designando o nome do parâmetro e seu respectivo valor, desta forma, quando executado pela requisição, estes parâmetros serão retornados como resposta.
Em seguida, dentro do servidor de aplicação, na página API, criamos a chave de acesso GETPESSOA conforme a imagem abaixo:
Para execução do script específico é necessário que seja estruturado o Body da Requisição conforme padrão PHSYS, contendo a classe TPHSProcScript e o procedimento Executar. É necessário que nos parâmetros seja incluso os seguintes parâmetros:
- PHSProcedimento: Preenchido com o nome do procedimento do script que será executado.
- PHSScriptNome: Preenchido com o nome do script que será executado.
- ID: Preenchido com o ID do registro que é desejado retornar as informações cadastrais.
Com essa configuração e o desenvolvimento do script de leitura específico, ao realizar uma requisição para a chave de acesso, as informações do cliente são retornadas de acordo com o ID passado por parâmetro através do Body da Requisição.
Ao executar a requisição, a resposta no Body da Requisição conterá as informações solicitadas, como no exemplo abaixo: