Mudanças entre as edições de "Exemplo de Leitura de Registro de Pessoa Com PHSYS API"

Linha 1: Linha 1:
Com a API é possível consumir diversas funcionalidades presentes no sistema PHERP, dentre elas, está a consulta de registros presentes na base de dados. Para exemplificar, nos deparamos com a situação na qual precisamos que sejam retornadas informações de um cliente presente no PHERP, com a PHSYS API, é possível consumir as informações necessárias.
+
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 dentro do ERP chamado '''C_LEITURAPESSOA''' com o seguinte conteúdo:
 +
 
 +
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''' da requisição. 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. Para o preenchimento do parâmetro de ID para ser utilizado na consulta, utilizamos também o '''ParambyName''', da seguinte forma, o ID preenchido no '''Body da Requisição''' é consumido no script
 +
 
 +
ParamByName('ID').AsLargeInt;
 +
 
 +
Em seguida, dentro do servidor de aplicação PHServerConf, na página API, criamos a chave de acesso '''GETPESSOA''' conforme a imagem abaixo:
 +
 
 +
<img src="https://wiki.phsys.com.br/images/WIKI/ChaveAcessoGetPessoa.png" alt="Chave Acesso API GETPessoa" style="width:700px">
 +
 
 +
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.
 +
 
 +
<img src="https://wiki.phsys.com.br/images/WIKI/GETPESSOA_BODY.png" alt="Chave Acesso API GETPessoa" style="width:900px">
 +
 
 +
Ao executar a requisição, a resposta no body da requisição conterá as informações solicitadas, como no exemplo abaixo
 +
 +
<img src="https://wiki.phsys.com.br/images/WIKI/GETPESSOA_RESPONSE.png" alt="Chave Acesso API GETPessoa" style="width:900px">

Edição das 15h25min de 25 de março de 2024

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 dentro do ERP chamado C_LEITURAPESSOA com o seguinte conteúdo:

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 da requisição. 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. Para o preenchimento do parâmetro de ID para ser utilizado na consulta, utilizamos também o ParambyName, da seguinte forma, o ID preenchido no Body da Requisição é consumido no script

ParamByName('ID').AsLargeInt; 

Em seguida, dentro do servidor de aplicação PHServerConf, 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