Classe utilizada para executar a API-REST (negócio), encapsulando toda tratativa de EPC, controle de ERRO e padronizando o retorno das informações para o FrontEnd.

Esta classe pode ser utilizada diretamente, mas o ideal é utilizá-la através das includes de execução: utp/ut-api-exec-<EVENTO>.i (ver detalhes aqui).

Propriedades Estáticas

Nome

Descrição

Opções Disponíveis

Tipo de Método

Indica qual o Método da API-REST será executado, com base nesta informação a classe irá realizar os tratamentos relacionados aos eventos de EPC, parâmetros passados para a API-REST, tipo de retorno, etc.
  • METHOD_METADATA = Devolução do Metadata da tela;
  • METHOD_VLD_FORM = Validação de Formulário (validateForm);
  • METHOD_VLD_FIELD = Validação de Campo (validateField);
  • METHOD_GET = Busca de um registro;
  • METHOD_QUERY = Busca de vários registros;
  • METHOD_CREATE = Criação de Registro;
  • METHOD_UPDATE = Alteração de Registro;
  • METHOD_PATCH = Alteração de Registro;
  • METHOD_DELETE = Exclusão de Registro;
  • METHOD_DEL_LIST = Exclusão de Registro em Lote;
  • METHOD_CUSTOM = Execução dos demais Métodos de Negocio.

Tipo de Retorno

Indica o tipo de retorno do método, podendo ser um objeto ou uma lista de informações.
  • RETURN_OBJECT= Utilizando quando o método executa algum processo ou busca algum dado, podendo haver ou não um retorno. Havendo o retorno, ele é apenas um objeto (um registro).
  • RETURN_ARRAY = Utilizando quando o método executa algum processo ou busca dados e o retorno será uma lista de informações (vários registros). Estas informações podem ou não serem paginadas (realiza o controle através da variável "lHasNext"). A lista de informações devolvida pela API-REST (negócio), será enviada ao FrontEnd na propriedade "items" do TotvsResponse.

Construtor

Nome

Descrição

JsonAPIExecution ( pMethodType )

Parâmetro:

  • pMethodType (INTEGER): Método da API-REST (negócio) que será executado (ver propriedade estática: Tipo de Método).

Retorno (JsonAPIExecution): Instância da classe.

Com base no método enviado, serão realizado os tratamentos necessários com relação a EPC, controle de erro, mensagem de retorno, etc.

executionAPI = NEW JsonAPIExecution(JsonAPIExecution:METHOD_CUSTOM).

Métodos

Nome

Descrição

setInputRequest ( pInput )

Parâmetros:

  • pInput (JsonObject): Objeto Input da requisição (oInput).

Retorno: Não há.

Passa para a classe o objeto input da requisição.

executionAPI:setInputRequest(oInput).

setBusinessAPI ( pBusinessAPI , pBusinessPI )

Parâmetros:

  • pBusinessAPI (CHARACTER): API-REST (negócio) que deve ser executada (será carregada de forma persistente);
  • pBusinessPI (CHARACTER): PI interna da API-REST (negócio) que deve ser executada.

Retorno: Não há.

Passa para a classe a API-REST (negócio) e a PI interna que devem ser executadas.

executionAPI:setBusinessAPI("area/rules/entityRules.p",
                            "pi-atz-pagto-v1").

setEPCInformation ( pProgramAPI , pEndpoint , pProgramDPC, pProgramAPPC, pProgramUPC )

Parâmetros:

  • pProgramAPI (CHARACTER): Código da API-REST (fachada) onde será vinculado a EPC;
  • pEndpoint (CHARACTER): Descrição do "endpoint" que será enviada para a EPC;
  • pProgramDPC (CHARACTER): Código do programa DPC vinculado ao programa informado no parâmetro pProgramAPI;
  • pProgramAPPC (CHARACTER): Código do programa APPC vinculado ao programa informado no parâmetro pProgramAPI;
  • pProgramUPC (CHARACTER): Código do programa UPC vinculado ao programa informado no parâmetro pProgramAPI.

Retorno: Não há.

Passa para a classe as informações necessárias para execução das EPC's.

executionAPI:setEPCInformation(THIS-PROCEDURE:FILE-NAME,
                               "atualizPagto", 
                               c-nom-prog-dpc-mg97,
                               c-nom-prog-appc-mg97,
                               c-nom-prog-upc-mg97).

setReturnType ( pReturnType )

Parâmetros:

  • pReturnType (INTEGER): Tipo de retorno do método (ver propriedade estática: Tipo de Retorno).

Retorno: Não há.

Passa para a classe o tipo de retorno do método.

executionAPI:setReturnType(JsonAPIExecution:RETURN_OBJECT).

executeAPI ( )

Parâmetros: Não há.

Retorno (JsonObject): Objeto de retorno da API-REST (negócio) que será enviado para o FrontEnd (oOutput).

Solicita a classe que faça a execução da API-REST (negócio) e devolve o objeto que será enviado para o FrontEnd.

oOutput = executionAPI:executeAPI().
DEFINE VARIABLE executionAPI AS JsonAPIExecution NO-UNDO.
    
// Instancia da Classe conforme o Método
executionAPI = NEW JsonAPIExecution(JsonAPIExecution:METHOD_CUSTOM).
    
// Atualização dos Parâmetros
executionAPI:setInputRequest(oInput).
executionAPI:setBusinessAPI("area/rules/entityRules.p",
                            "pi-atz-pagto-v1").
executionAPI:setEPCInformation(THIS-PROCEDURE:FILE-NAME,
                               "atualizPagto", 
                               c-nom-prog-dpc-mg97,
                               c-nom-prog-appc-mg97,
                               c-nom-prog-upc-mg97).
executionAPI:setReturnType(JsonAPIExecution:RETURN_OBJECT).
    
// Execução
oOutput = executionAPI:executeAPI().
    
// Retira a Classe da Memória
DELETE OBJECT executionAPI.