...
Por isso, ficou definido que deverá existir para cada campo que possua um InternalId, um nome único entre todos os produtos. Este nome será sempre “Nome da Mensagem”.
...
title | Exemplo |
---|
...
...
...
...
...
...
...
...
...
...
...
Informações | ||
---|---|---|
| ||
Este padrão é válido para o retorno do de/para por parte do aplicativo destino. Nos casos em que é necessário trafegar na mensagem um InternalId que representa uma chave estrangeira, o padrão adotado deve ser Nome da Mensagem + "InternalId", conforme descrito mais adiante. |
...
Toda mensagem de evento (quando for UpSert) deverá conter em seu conteúdo de retorno "ReturnContent" campos de InternalId para armazenar a chave interna do gerador do evento e a chave interna gerada no recebedor do evento. A necessidade disso é para que o recebedor da mensagem de evento e o gerador da mensagem de evento tenham conhecimento da chave interna gerada em cada produto. O fluxo abaixo exemplifica este funcionamento, para o cenário de inclusão de um novo Cliente.
Desta forma, a tag "ReturnContent" da mensagem (ainda utilizando RefundReason_1_000.json como exemplo) seria construída da seguinte forma:
Bloco de código | ||||
---|---|---|---|---|
| ||||
(...) "ReturnContentType": { "type": "object", "properties": { "ListOfInternalId": { "type": "array", "items": { "$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/types/ListOfInternalId_1_000.json#/definitions/ListOfInternalIdType", "type": "object" } } } } |
...
Bloco de código | ||
---|---|---|
| ||
Adapter da mensagem Item AdapterItem.Get_InternalId(cod_empresa, cod_filial, item) Retorna Empresa + “|” + Filial + “|” + Código Uso: AdapterItem.Get_InternalId(50,10,123456) = “50|10|123456” AdapterItem.Get_InternalId_Value(InternalId, Campo) Retorna <retorna o valor correspondente a posição de “Campo”> Uso: AdapterItem.Get_InternalId_Value(“50|10|123456”,”cod_empresa”) == “123456” |
...