Este documento descreve o modelo base de mensagem para uso na comunicação entre microsserviços dentro do contexto do aplicativo/solução.
Este modelo não se aplica nos casos onde é necessário interagir com aplicações externas (fora do contexto de execução das aplicações TOTVS).
As mensagens geradas pelos microsserviços devem estar no formato JSON e ser semelhantes ao exemplo abaixo:
{ "header": { "tenantId": "12345678-1234-1234-1234-123456789012", "type": "ClientCreated", "generatedOn": "2019-07-05T15:00:00.123456-03:00", "processInfo": { "activityId": "87654321-4321-4321-4321-210987654321", "taskId": "11111111-2222-3333-4444-555555555555", "roles": ["role1","role2"], "assignee": "assignee_name", "planItemId": "99999999-8888-7777-6666-555555555555" } }, "content": { } } |
A mensagem deve estar dividida em duas partes. A primeira parte - atributo header - conterá informações de controle da mensagem. Segue descrição dos atributos:
Atributo | Obrigatório? | Descrição | |
---|---|---|---|
tenantId | S | Contem a identificação do cliente/instalação. Sugere-se que seja um identificador do tipo GUID e que o tenantID seja gerado pelo responsável pela autenticação dos microsserviços. | |
type | S | Indica o evento ou comando contido na mensagem. Para manter a consistência dos valores informados neste atributo, será utilizado o formato UpperCamelCase (ou Pascal Case). | |
generatedOn | S | Timestamp (data e hora) de geração da mensagem, seguindo o formato definido no Guia de Implementação de APIs. | |
processInfo | N | Contem atributos que serão usados no contexto de orquestração de serviços. Dependendo do tipo de workflow escolhido, pode-se ter preenchido um dos atributos abaixo:
|
A segunda parte - atributo content - será o conteúdo da mensagem propriamente dito. Sua estrutura depende de como o evento ou comando foi modelado pela área de negócio, por isso, sua estrutura não será detalhada neste documento.
Guia de implementação de API V2.0
Forum do Ryver sobre mensageria (team microsserviços)
|