Introdução


Mashups são sites personalizados que utilizam conteúdo de mais de uma fonte para criar um serviço completo. O conteúdo de mashups geralmente são códigos de terceiros utilizando uma interface pública ou API. Mais informações sobre os serviços oferecidos pelo Mashup TOTVS disponíveis em Status Mashup.


Atenção

Por se tratarem de serviços públicos, estamos sujeitos a mudanças de comportamento e à disponibilidade destes serviços. Sendo assim pedimos compreensão quando houver decorrência destes.

A TOTVS continuamente buscará soluções para manter a disponibilidade destes serviços, mas nos reservamos o direito de remover, a qualquer momento, sem aviso prévio, alguns dos serviços, bem como não nos responsabilizamos por qualquer prejuízo causado pelas informações ou disponibilidade dos serviços.

Objetivo


A TOTVS desenvolveu um mashup integrado a diversos serviços públicos. Com base neste mashup, foi desenvolvida uma API para a linha Datasul com o objetivo de consumo dos serviços oferecidos, sendo  eles:

Matriz de Evolução

Versão / ReleaseFuncionalidade
12.1.6Liberação de API Mashup
12.1.8Retirada necessidade de parametrização de usuário e senha pelo desenvolvedor
12.1.11Adicionada opção de proxy - IP da Totvs foi bloqueado devido a excesso de requisições
12.1.20Adicionada Consulta ao Simples Nacional
12.1.21Adicionada validação com ReCaptcha (v3.0)

Fontes


$/FOUNDATION/Fontes_Doc/Sustentacao/V11/V11/progress/src/interfac/Recaptcha: executável de exibição do ReCaptcha 3.0

$/FOUNDATION/Fontes_Doc/Sustentacao/V11/V11/progress/src/utp/

  • ut-mashup-a.p

  • ut-mashup-b.p

  • ut-mashup-banco-central.p

  • ut-mashup-c.p

  • ut-mashup-d.p

  • ut-mashup-e.p

  • ut-mashup-f.p

  • ut-mashup-receita.p

  • ut-mashup-sintegra-captcha.p

  • ut-mashup-sintegra-inscricoes.p

  • ut-mashup-sintegra.p

  • ut-mashup-suframa-a.p

  • ut-mashup-suframa.p

  • ut-mashup.p

  • ut-mashup-tela.w

Configuração


O programa utp/ut-mashup deve ser executado de forma persistente em uma variável HANDLE, a partir da qual serão executados os métodos de consumo dos serviços:

RUN utp/ut-mashup.p PERSISTENT SET hMashup.

Devido ao excesso de requisições realizadas pelo servidor do Mashup Totvs no site da Receita Federal, na versão 12.1.11 do Datasul foi adicionado a opção de configuração de proxy para o Mashup Totvs passar a utilizar este endereço em suas requisições externas. O Mashup Totvs fornece uma ferramenta para que o WebService simule um proxy (http://mashup.totvs.com.br/TOTVSMashups.Setup.zip) em suas requisições, de modo a não utilizar sempre o mesmo endereço. A instalação adota a porta 8055 por padrão. A configuração do endereço do proxy deverá ser feito no arquivo de propriedades do Datasul (datasul_framework.properties):

  • mashup.proxy = http://<server>:<port>

(warning) Importante:

Na Nova Arquitetura (Tomcat | WildFly) para utilização do MASHUP é necessário parametrizar duas propriedades na tabela dinâmica:

  • totvs.mashup.debug - para baixar os arquivos de debug;
  • totvs.mashup.proxy - para parametrizar o endereço em requisições externas.

Caso as propriedades totvs.mashup.debug e totvs.mashup.proxy não existam na tabela dinâmica, as mesmas assumiram valores padrão FALSE e VAZIO respectivamente. Ao retornar o valor vazio para o proxy assumirá, assim, o proxy do servidor.

Usuário e senha devem ser definidos para utilização dos serviços através do método SetUserPassword:

RUN SetUserPassword IN hMashup(INPUT cUser, INPUT cPassword).

Após a configuração de usuário e senha, os serviços podem ser consumidos.

A partir da versão 12.1.8 do produto a parametrização de usuário e senha não deve ser feita pelo desenvolvedor.

A API desenvolvida retorna os dados dos serviços em formato JSON. Caso ocorra algum erro na execução do serviço, será retornado no valor "Erro", que pode ser pego através do método getString:

IF oJson:getString("Erro") <> ? THEN
	cErro = oJson:getString("Erro").

Exemplos


Para exemplificar o consumo dos serviços oferecidos pela API desenvolvida, podem ser utilizados os exemplos abaixo: