Versões comparadas

Chave

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

...

  • type: Indica o tipo de dado do campo, mais detalhes consultar o tópico Tipos de dados padrão.
  • description: é importante que a descrição esteja bem detalhada, lembre-se que para o analista que está propondo um campo, o objetivo deste campo é sempre muito óbvio, porém próximos analistas do mesmo produto ou até analistas de outros produtos sempre terão dificuldade caso o campo não esteja bem documentado.
  • x-totvs: propriedade customizada com a documentação referente ao campo em cada produto Totvs. 

Padrão de nomenclatura

Os nomes dos campos na mensagem única devem respeitar as regras a seguir:

...

Bloco de código
titleExemplo
"BankCode": {
  "description": "Código do banco",
  "type": "integer",
  "format": "int32"
}

Long

typeinteger

...

Bloco de código
titleExemplo
"BankCode": {
  "description": "Código do banco",
  "type": "integer",
  "format": "int64"
}

Float

typenumber

...

Bloco de código
titleExemplo
"UnitsPerHour": {
  "type": "number",
  "format": "float"
}

Double

...

Bloco de código
titleExemplo
"CreditLimit":{
  "type":"number",
  "format":"double"
}

Propriedades de validação

...

Campos que se repetem poderão apresentar um padrão diferente, consulte o tópico Criando criando listas de valores e elementos para  para mais informações.

Havendo a necessidade de validação da presença ou não de informação na mensagem, este controle deve ser feito no próprio adapter.

...

Não existe a necessidade de criar a mensagem Manufacturer (supondo que contém apenas Código + Descrição). Estes dados deverão ser enviados na mensagem de Item.

Exemplo

Mensagem Item

   Code

   Description

   ManufacturerCode

   ManufacturerDescription


Âncora
valores_fixos
valores_fixos
Campos com valores fixos

...

Porém, há casos em que um campo em um produto é composto por uma lista fixa de valores, enquanto em outro produto esses valores podem ser cadastrados dinamicamente. Exemplo: Tipo do documento no Logix é fixo; no Protheus é pre-cadastrado e permite alterar; no Datasul é fixo e no RM é totalmente cadastrável. Para estes casos leia o tópico Conflito entre valores fixos e valores cadastráveis.

Bloco de código
languagejs
titleExemplo
"SubscriptionType": {
	"type": "string",
	"example": "1",
	"description": "Tipo de inscrição",
	"enum": ["1",
	"2",
	"3",
	"4"],
	"x-totvs": [{
		"product": "protheus",
		"field": "SM0.M0_TPINSC",
		"required": false,
		"type": "Char",
		"length": "1",
		"available": true,
		"canUpdate": false,
		"note": "1=CEI;2=CNPJ;3=CPF;4=INCRA"
	}]
}

...