Histórico da Página
...
O campo arquivo indica em qual arquivo será salvo a resposta da requisição efetuada para o portal da Conformidade Fácil. Esse arquivo serve apenas para conferência dos registros que foram retornados pela API.
O campo cod-endpoint indica qual dos serviços da API do portal da Conformidade Fácil será consumido. Os serviços disponíveis podem ser consultados por meio deste link.
O campo cod-programa-area indica qual o programa que será executado para realizar o tratamento dos dados retornados pela requisição feita pelo programa principal conusmoApiGovconsumoApiGov.p. Ao final da execução do programa consumoApiGov.p, será executado o programa que foi informado no campo cod-programa-area.
O campo l-sobrescreve é apenas um utilitário para indicar se o programa específico da área deve sobrescrever os dados ou apenas considerar códigos novos. Atenção! A lógica para sobrescrever ou não os códigos é responsabilidade do programa específico da área, o programa consumoApiGov.p apenas realiza a comunicação com o portal da Conformidade Fácil.
...
Em caso de sucesso na requisição, o programa recebe os dados em formato JSON e realiza os tratamentos para enviar o JSON de retorno para a API da área, além disso, é gerado um arquivo JSON no diretório de spool do servidor RPW com o nome inserido no campo tt-param.arquivo, sendo útil para verificar qual a estrutura do objeto JSON recebido. Em caso de falha na requisição, o resultado do comando cURL será salvo em um arquivo chamado api_gov_response.txt no diretório temporário da sessão. Outros erros durante a execução do programa serão gravados nos logs da sessão com o código AppError.
Para realizar testes neste programa é necessário possuir um certificado digital válido para autorização de uso das APIs do Portal da Conformidade. O caminho do arquivo do certificado digital deve ser inserido por completo no programa html.mcd.govApiParams, incluindo a sua extensão para que o programa encontre o arquivo correto. Além de informar o caminho completo, é necessário que o arquivo esteja em um diretório que possa ser acessado pelo servidor RPW que será utilizado para realização dos testes.
Ainda, se o sistema operacional do ambiente do servidor RPW for Windows, é necessário colocar o executável do cURL também em um diretório que possa ser acessado pelo servidor RPW. Segue um exemplo de estrutura de pastas utilizada para realização de testes no programa:
cURL no diretório testes:
Dentro da pasta Exemplo_caminho_cURL deve ser colocada a pasta lib, que é onde estão armazenados os arquivos da biblioteca do cURL para uso do executável:
O conteúdo da pasta lib deve ser uma pasta chamada curl com os arquivos de instalação do executável.
Importante: O servidor RPW deve ter acesso a esses diretórios. Para testes internos, é possível colocar o programa nos diretórios de testes de programa que estão no PROPATH do servidor RPW.
Para descobrir os caminhos das possíveis instalações do cURL na máquina no Windows, é possível utilizar seguinte comando: where curl.
Para descobrir se o cURL instalado no Windows possui suporte a SSL, é possível verificar a partir de linha de comando utilizando o seguinte comando: curl --version.
Neste caso, o cURL tem suporte ao SSL por causa presença do LibreSSL/4.0.0 nesta instalação.
A máquina virtual Windows usada para desenvolvimento já possui o cURL instalado com suporte a SSL, dessa forma, é possível buscar os arquivos de instalação e executável usando o comando where curl para encontrar os diretórios.
Para Linux, o programa assume que o cURL instalado nativamente no sistema operacional possui o suporte a SSL, desconsiderando o que estiver no campo Caminho cURL na tela html.mcd.govApiParams.
Após realizar a requisição, o programa salva um registro dessa requisição gravando na tabela requisicao-api-gov o serviço, status, data e hora da requisição. Esta tabela armazena um registro por serviço do portal da Conformidade Fácil, dessa forma, toda vez que uma nova requisição é realizada para determinado serviço este registro é atualizado com os dados da última requisição. Ainda, nesta tabela é persistido um indicador de sucesso da requisição e o erro ocorrido durante a manipulação do JSON, se houver algum erro. Se a requisição for finalizada com sucesso, o status da requisição é gravado com 200, caso ocorra erro é gravado como 400.
Execução do programa da área
...




