Páginas filhas
  • 1. Nomenclatura das Funções

Importante

O conteúdo relacionado na página abaixo foi substituído e será descontinuado em releases futuras.

A nova técnica para desenvolvimento de API poderá ser consultada através do seguinte endereço (http://tdn.totvs.com/x/6BE4Fw) e esta disponível a partir da release 12.1.22 do Logix.


A declaração do nome da função terá fundamental importância neste desenvolvimento, pois é isso que definirá se a função da API ficará pública e como será a execução da função a partir de serviços web. Segue abaixo um exemplo de definição:

Sempre delimitada pelo caractere underscore, o nome da função indica como será sua estrutura a partir de cada delimitador, sendo:

  1. Nome da API (logr2)
  2. Identificador de publicação da função (pub)
  3. Método de execução da função (create)
  4. Nome da função (empresas)

Abaixo seguem maiores detalhes sobre como cada uma das informações citadas anteriormente deve ser declarada.

1.2 Nome da API

Seguindo o padrão de desenvolvimento atual, todas as funções da API devem iniciar com o nome do objeto de negócio correspondente.

Exemplos:

Objeto de NegócioFunção
supr0004supr0004_pub_update_item, supr4_pub_delete_item
manr0099manr0099_pub_delete_estrutura, manr99_verifica_estrutura
obfr0021obfr0021_atualiza_nota, obfr21_process_emiteNota

1.3 Identificador de Publicação

O identificador _pub_ indica que a função ficará exposta publicamente para execução a partir de outros serviços externos, independente de produto ou tecnologia. Uma função dentro da API sem este identificador será considerada como interna sendo acessível apenas pelo Logix.

Funções Privadas

A partir da versão do build 7.00.131227A, a tecnologia 4GL passa a suportar funções "privadas" acessíveis apenas por funções que estejam dentro do mesmo código fonte. Para mais informações consulte o link Implementação PRIVATE FUNCTION.

1.4 Método de Execução

O método de execução indica como será realizada a chamada da função através de um serviço web, ou seja, qual método de requisição HTTP será utilizado para sua execução. Esta informação deve estar de acordo com o objetivo da função, indicando a ação que será realizada na mesma.

Abaixo segue a tabela de conversão dos métodos HTTP para o método de execução das funções 4GL:

Método de ExecuçãoMétodo HTTPObjetivo
createPOSTCriação de um ou mais registros.
processPOSTProcessamento de dados ou geração de relatórios.
update

PUT

Atualização de um ou mais registros.
getGETConsulta a um ou mais registros.
deleteDELETEExclusão de um ou mais registros.

Os métodos de requisições HTTP existentes podem ser consultados através deste link: http://www.w3schools.com/tags/ref_httpmethods.asp.

1.5 Nome da Função

O nome da função 4GL irá definir o entry point de execução através de um serviço web e indica o objeto de negócio que será manipulado.

Para nomes de funções com mais de uma palavra evite utilizar delimitadores, use o formato de classe sendo a primeira palavra em minúscula e o restante com a primeira letra maiúscula. Isto fará com que a URL de execução da função fique mais clara.

Exemplo:

FUNCTION logr0003_pub_create_inclusaoDimensaoEmpresa
FUNCTION obfr0010_pub_process_enviaEmailTransportadora
FUNCTION supr0010_pub_process_centralizaConsultaEstoqueProprio

Segue abaixo exemplo de definição de funções e como será realizada a requisição web de execução destas funções:

FunçãoRequisição

FUNCTION logr0003_pub_create_inclusaoDimensao()

POST /logix-rest/logr3/inclusaoDimensao

FUNCTION obfr0010_pub_process_emailTransportadora()POST /logix-rest/obfr10/emailTransportadora
FUNCTION supr0010_pub_update_estoqueProprio() PUT /logix-rest/supr10/estoqueProprio 
FUNCTION manr0021_pub_get_apontamento_horas() GET /logix-rest/manr21/apontamento_hora  
  • Sem rótulos