Versões comparadas

Chave

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

...

  • A definição do InternalId é obrigatória no modelo da transação, seja em XML Schema, seja em modelo OpenAPI (Swagger)Json Schema. Ou seja, os atributos correspondentes ao InternalId devem ser modelados, mesmo que, inicialmente, o contexto de uso seja apenas client-to-server. O motivo é manter a consistência do modelo de dados, quando, futuramente, for utilizado no outro contexto.
  • O uso (preenchimento) do InternalId é obrigatório no contexto server-to-server e opcional no contexto client-to-server.

...

Para a documentação da transação no arquivo de definição OpenAPIJson Schema, há regras para a mensagem e para os campos, conforme abaixo:

...

O exemplo a seguir mostra a modelagem da transação CostCenterBranch, versão 2.000001, usando o padrão Json Schema, considerando a obrigatoriedade da definição de InternalIds, mas não o seu uso. Ou seja, os campos de InternalId não são marcados como requeridos.

...

Bloco de código
languagejs
{
	"$schema": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/events/branch_2_001.json#",

	"info": {
		"description": "Contrato de Mensagem Padronizada para a entidade filial (Branch) para produtos TOTVS",
		"version": "2.001",
		"title": "Branch",
		"contact": {
			"name": "T-Talk",
			"url": "API.Totvs.com.br",
			"email": "[email protected]"
		},
		"x-totvs": {
			"transactionMessageDocumentation": {
				"subType": "event",
				"businessContentType": {
					"type": "object",
					"$ref": "#/definitions/BranchType"
				},
				"returnContentType": {
					"type": "object",
					"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/ListOfInternalId_1_000.json#/definitions/ReturnContentWithModelType"
				}
			},
			"messageDocumentation": {
				"name": "Branch",
				"description": "Filial",
				"segment": "FrameWork"
			},
			"productInformation": {
				"protheus": {
					"contact": "[email protected]",
					"description": "Cadastro de Filial",
					"adapter": "apcfg230i.prw",
					"helpUrl": "link aqui"
				}
			}
		}
	},

	"definitions": {		
		"BranchType": {
			"type": "object",
			"properties": {
				"CompanyCode": {
					"type": "string",
					"example": "D",
					"description": "Código da Empresa",
					"x-totvs": {
						"protheus": {
							"Field": "XX8.XX8_CODIGO",
							"Required": false,
							"Type": "Char",
							"length": "12",
							"avialable": true,
							"canUpdate": false
						}
					}
				},
		          		"DescriptioninternalId": {
					"type            "description": "stringInternalId da entidade",
					"example            "type": "Filial São Paulo 1string",
					"descriptionexample": "Descrição01",
					"x-totvs": {
						"protheus": {
							"Field": "XX8.XX8_CODIGO",
							"Required": false,
							"Type": "Char",
							"length": "100",
							"avialable": true,
							"canUpdate": false
						}
					}
		        },
				"Description": {
					"type": "string",
					"example": "Filial São Paulo 1",
					"description": "Descrição",
					"x-totvs": {
						"protheus": {
							"Field": "XX8.XX8_NOME",
							"Required": false,
							"Type": "Char",
							"length": "100",
							"avialable": true,
							"canUpdate": false
						}
					}
				},
				"Code": {
					"type": "string",
					"example": "D SP 01",
					"description": "Filial/Codigo Unidade",
					"x-totvs": null
				},
				(...)
			},
			"required":["CompanyCode"]
		}
	}
}