Tabela de conteúdos

API de integração

Resumo

A API de integração tem por objetivo ser um canal de comunicação entre o Geoserviços e os demais sistemas da Tecsystem.

Descrição

A integração entre os sistemas se dará através de uma interface que fará a comunicação com o banco de dados do Geoserviços e, opcionalmente, com o Monnae através da API do Monnae.

Essa interface é compilada e distribuída como um pacote padrão Delphi (dcp/bpl) chamado GeoServicosAPI. Para que um sistema possa utilizá-la é necessário incluir esse pacote na lista de Runtime packages do projeto e sempre distribuí-lo junto com a aplicação.

A API fornece também acesso às classes de domínio necessárias para transferir dados entre os sistemas.

Inicialização da API

Para que a API possa ser utilizada, é necessário obter acesso à interface que dá acesso aos serviços disponíveis. Isso é feito chamando a função getGeoServicosProxy.

function getGeoServicosProxy(const CaminhoBanco: string; const CaminhoIntegracaoMonnae: string = ''): IProxy;

uses IntProxy, ClsGeoservicosProxy;
 
var Proxy: IPRoxy;
 
Proxy := getGeoServicosProxy('CaminhoBancoGeoServicos', 'CaminhoBancoMonnae');

Se o caminho do banco de dados do Monnae estiver em branco, ele será ignorado. A função só retornará uma instância do proxy se conseguir conectar com sucesso no(s) banco(s) de dados informado(s). O banco de dados precisa estar na mesma versão que a API. A validação do banco de dados do Monnae é feita pela API do Monnae.

Exceções

Pessoas

Inclusão/alteração

function PersistirPessoa(const Pessoa: TPessoaGSP): integer;

Este método deve receber uma pessoa como parâmetro de entrada e persistir essa pessoa no banco de dados do Geoserviços.

Caso a pessoa passada como parâmetro de entrada já exista no banco de dados do Geoserviços o sistema irá fazer apenas um atualização dos dados. Caso contrário, o sistema se encarregará de inserir essa pessoa no Geoserviços. O primeiro critério a ser verificado é o CPF/CNPJ. Se já existir uma pessoa cadastrada com o número do documento igual ao da pessoa enviada pela API, a operação será de atualização. Caso o documento não exista, a atualização só será feita se a pessoa passada como parâmetro tiver um código.

Retorna o código da pessoa.

Exceções

Exclusão

procedure ExcluirPessoa(const CodigoPessoaGeoServicos: integer);

Este método deve receber como parâmetro de entrada um código referente a uma pessoa. Caso este código exista no Geoserviços o cadastro da pessoa será excluído do sistema.

Exceções

Pontos de atendimento

Inclusão/alteração

function PersistirPontoAtendimento(const PontoAtendimento: TPontoAtendimentoGSP): TPontoAtendimentoGSP;

Este método deve receber um ponto de atendimento como parâmetro e persistir esse ponto no banco de dados do Geoserviços.

Caso o ponto de atendimento já exista no Geoserviços o sistema irá fazer uma atualização dos dados. Caso contrário, o sistema irá inserir um novo ponto de atendimento no Geoserviços. O primeiro critério a ser verificado é o número do documento junto com a categoria do ponto. Se já existir um ponto com o número do documento e categoria iguais aos do ponto enviado pela API, a operação será de atualização. Caso o ponto não exista, a atualização só será feita se o ponto enviado tiver um código.

Retorna o próprio ponto de atendimento com seu código e os códigos dos cadastros vinculados atualizados.

Exceções

Exclusão

procedure ExcluirPontoAtendimento(const CodigoPontoAtendimento: integer);

Este método deve receber como parâmetro de entrada um código referente a um ponto de atendimento. Caso este código exista no Geoserviços o cadastro será excluído do sistema.

Exceções

Departamentos

Listar

function RecuperarListaDepartamentos: TDepartamentosGSP;

Este método deve retornar uma lista de departamentos existentes no sistema.

Se nenhum departamento for encontrado, retorna uma lista vazia.

Categorias

Listar

function RecuperarListaCategorias: TCategoriasGSP;

Este método deve retornar uma lista das categorias existentes no sistema.

Se nenhuma categoria for encontrada, retorna uma lista vazia.

Atendimentos

Inclusão/alteração

function PersistirAtendimento(const Atendimento: TAtendimentoGSP): TAtendimentoGSP;

Este método deve receber como parâmetro um atendimento para ser persistido no banco de dados do Geoserviços.

Retorna o código do atendimento.

Exceções

Serviços

Listar

function RecuperarListaServicos: TServicosGSP;

Este método deve retornar uma lista dos serviços cadastrados no sistema.

Se nenhum serviço for encontrado, retorna uma lista vazia.

Listar status finais

function RecuperarListaStatusFinais(const CodigoServico: integer): TStatusServicosGSP;

Este método recebe um código de serviço.

Retorna uma lista dos estados do tipo “final” do serviço informado.

Se nenhum estado for encontrado, retorna uma lista vazia.

Listar serviços por ponto de atendimento

function RecuperarServicosPontoAtendimento(const CodigoPontoAtendimento: integer): TServicosPontoGSP; overload;
function RecuperarServicosPontoAtendimento(const CodigoPontoAtendimento: integer; const DataExecucao: TDateTime): TServicosPontoGSP; overload;

Este método deve retornar um objeto do tipo TServicosPontoGSP, uma lista de TServicoPontoGSP que contém os dados do serviço e da execução do serviço num dado atendimento. O sistema que está consumindo a API poderá chamar o método passando como parâmetro, além do código do ponto de atendimento, o período de execução do serviço (data) para recuperar a lista de serviços do ponto de atendimento.

Retorna todos os serviços prestados em atendimentos vinculados ao ponto cujo código foi informado.

Se for informada a data, somente os serviços com data de execução no mesmo ano da data informada serão retornados.

Se nenhum serviço for encontrado, retorna uma lista vazia.

Pontos de verificação

Conexão

Utilização

Observações