Exemplo de Leitura de Registro de Pessoa Com PHSYS API

Revisão de 16h29min de 25 de março de 2024 por Alex.vieira (discussão | contribs)

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:

Chave Acesso API GETPessoa

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.

Chave Acesso API GETPessoa

Ao executar a requisição, a resposta no Body da Requisição conterá as informações solicitadas, como no exemplo abaixo:

Chave Acesso API GETPessoa