Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Índice

Índice

Histórico

Durante o processo de consolidação de marcas, iniciado pela TOTVS, várias empresas diferentes foram adquiridas e com elas vários produtos passaram a compor o portfólio de ofertas disponível aos clientes. Esta expansão de ofertas permitiu que clientes de uma marca, antes limitados pelas opções com aquela “etiqueta”, pudesse agora compor o seu ambiente de TI utilizando produtos de origens diferentes (Ex.: BackOffice Protheus + TOTVS Obras e Projetos).

...

Além de questões referentes ao formato das mensagens, também será uniforme o tratamento destas mensagens XML pelos aplicativos, principalmente no que diz respeito à capacidade de rastreamento. 

Anatomia da Mensagem TOTVS


A Mensagem Única Padronizada TOTVS estabelece alguns padrões que devem ser seguidos por todos os aplicativos que participam da integração. Estes padrões estabelecem alguns tipos de mensagens suportadas bem como informações obrigatórias que devem fazer parte do seu conteúdo.

...

O totvsmsg.xsd define o layout completo da mensagem únicapadronizada, com cabeçalho e elementos com informações de origem e destino, status de processamento, erros e histórico.

...

Veja abaixo um exemplo do XML de uma mensagem única padronizada (XML) completa:


Exemplo de um XML de resposta de processamento sem erros:

...

Exemplo de um XML de recibo, devolvido pelo EAI quando a mensagem enviada for assíncrona:

Informações Comuns

As mensagens TOTVS possuem um segmento chamado MessageInformation que possui as principais informações utilizadas para identificação e roteamento da mensagem. Exemplo: 

...

  • MessageInformationversion: Identifica qual a versão daquela mensagem de negócio. Uma mensagem de Item, por exemplo, pode sofrer alterações no decorrer do tempo, sendo que cada uma destas alterações irá afetar esta informação.
  • UUID: Identificador único desta mensagem e que não pode ser igual ao UUID de qualquer outra mensagem em qualquer um dos aplicativos participantes da integração.
  • Type: Identifica o tipo da mensagem (BusinessMessage, ReceiptMessage ou ResponseMessage).
  • Transaction: Identificador do tipo de transação da mensagem. Esta informação será utilizada pelos aplicativos para definir como os dados serão processados no recebimento.
  • StandardVersion: Identifica a versão do padrão TOTVS, ou seja, do formato utilizado nas áreas genéricas da mensagem TOTVS. Caso o padrão TOTVS seja alterado, este valor será alterado. 
  • SourceApplication: Identifica a instancia dos aplicativos TOTVS que gerou a mensagem. Uma instância representa uma instalação/configuração daquele aplicativo/produto. Caso duas instancia do mesmo aplicativo participem da mesma integração, cada um deverá ser identificado de forma única. 
  • CompanyId/BranchId/UserId: Identificador da empresa/filial e usuário que gerou a mensagem (obrigatória)
  • Product: Identifica o produto e versão que originou a mensagem. Neste caso, o valor pode ser o igual, mesmo em instâncias diferentes do mesmo aplicativo.  
  • GeneratedOn: Identifica o timestamp de geração desta mensagem.  
  • DeliveryType: Forma de envio da mensagem, podendo ser sync ou async, ou seja, síncrono ou assíncrono.

Tipos de Mensagens

O padrão de mensagem TOTVS estabelece quatro tipos de mensagens: BusinessMessage, ResponseMessage e ReceiptMessage.

BusinessMessage

Uma mensagem do tipo BusinessMessage são aquelas que iniciam qualquer processo de troca de mensagens entre os aplicativos. Sempre que um aplicativo A quiser enviar ou solicitar informações do aplicativo B, ele enviará uma BusinessMessage que será processada pelo aplicativo destinatário.

...




  Event  


  Request

Objetivo

Replicação de Dados

Compartilhar   Lógicas

Quem   Gera (normalmente)

Um   (cadastro Master)

Vários   (clientes que precisam da lógica)

Quem   Responde
  (normalmente)

Vários (cadastros replicados)

Um (detentor da lógica)

Uso   + comum

Síncrono   (Envia e aguarda)

Assíncrono   (envia e esquece)

Exemplo

Upsert   UnitOfMeasure

getCashAvailableOnDate


BusinessMessage – Event

As mensagens de eventos de negócio basicamente descrevem o evento ocorrido, como no exemplo abaixo:

...

  • Entity: Identifica qual foi a entidade de negócio que sofreu o evento
  • Event: Qual foi o evento associado à mensagem (pode ser upsert – inclusão/alteração – ou delete – eliminação).
  • Identification/Keys: Campos-chave para identificação do registro impactado pela alteração
  • BusinessContent: XML com informações sobre o evento, normalmente contendo todas as informações pertinentes àquela entidade

BusinessMessage – Request

As mensagens de request descrevem qual função se deseja executar e os parâmetros necessários, como no exemplo abaixo:

...

  • Operation: Identifica qual a operação que se deseja executar
  • BusinessContent: XML com informações necessárias para o processamento, normalmente parâmetros de entrada

ResponseMessage
Âncora
ResponseMessage
ResponseMessage

Uma ResponseMessage representa o resultado do processamento de uma BusinessMessage pelo aplicativo que a recebeu e o seu conteúdo pode variar de acordo com o tipo de mensagem e com o resultado do processamento.

...

Obs: Consultar Catalogo de Erros 

ReceiptMessage
Âncora
ReceiptMessage
ReceiptMessage

Uma ReceiptMessage representa a confirmação de recebimento de uma BusinessMessage pelo aplicativo destino.

...