Versões comparadas

Chave

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

...

 As regras para o desenvolvimento de especificações de APIs estão especificadas no nosso Guia de Implementação de APIs.

...

Todas as APIs já desenvolvidas podem ser encontradas em nosso repositório do GitHub.

Falar sobre apiTotvsBase


(informação) Retornar ao Fluxograma de Criação de Integrações

...

Caso a API já exista, porém não para o produto desejado pelo usuário, significa que há necessidade de adaptar a API o arquivo OpenAPI para que o produto em questão passe a ser especificado.

<Tópico pendente de informação>

Adicionar novo produto, especificação de adapters etc etc

Para tal, é necessário adicionar ao arquivo JSON da especificação da API novos objetos dentro do array "productInformation" nas propriedades x-totvs, na info e nos verbos dos paths.

Seguindo os exemplos apresentados anteriormente, a adição de um novo produto se daria da seguinte forma no cabeçalho (info):

Bloco de código
languagejs
titleExemplo
collapsetrue
(...)

"info": {

		"description": "API para informações de Unidade de Medida para Unidade de Medida TOTVS",

		"version": "2.000",

		"title": "UnitOfMeasure",

		"contact": {

			"name": "T-Talk",

			"url": "api.totvs.com.br",

			"email": "[email protected]"

		},

		"x-totvs": {

			"messageDocumentation": {

				"name": "UnitOfMeasure",

				"description": "Cadastro de Unidade de Medida",

				"segment": "Serviços"

			},

			"productInformation": [

				{

					"product": "Protheus",

					"contact": "[email protected]",

					"description": "Cadastro de Unidade de Medida",

					"adapter": "QIES030.prw"

				},

				{

					"product": "Logix",

					"contact": "[email protected]",

					"description": "Cadastro de Unidade de Medida",

					"adapter": ""

				},
				{


					"product": "NovoProdutoTOTVS",


					"contact": "[email protected]",


					"description": "Cadastro de Unidade de Medida para NovoProdutoTOTVS",


					"adapter": "modeloDoAdpter"
				}
			]

		}

	}
(...)


Já para adição nos paths, o novo produto deve ser adicionado em cada um dos caminhos e verbos em que há cobertura pelo adapter. O exemplo para adição em apenas um verbo em um path pode ser visualizado abaixo:


Bloco de código
languagejs
titleExemplo
collapsetrue
(...)

"paths": {

		"/UnitOfMeasures": {

			"get": {

				"tags": [

					"UnitOfMeasures"

				],

				"summary": "Retorna lista de Unidade de Medida",

				"x-totvs": {

					"productInformation": [

						{

							"product": "Protheus",

							"available": true,

							"note": "Este verbo esta disponivel com todos os parametros",

							"minimalVersion": "12.1.21"

						},

						{

							"product": "Logix",

							"available": true,

							"note": "Este verbo esta disponivel com todos os parametros",

							"minimalVersion": "12.1.23"

						},
						{

							"product": "NovoProdutoTOTVS",

							"available": true,

							"note": "Alguma nota caso seja necessário",

							"minimalVersion": "12.1.23"


						}

					]

				}

(...)


Vale lembrar que, seguindo o Fluxograma de Criação de Integrações, é necessário também checar se o JsonSchema utilizado pela API já está configurado para o produto em questão. Caso não esteja, é necessário editar o x-totvs também do schemadeve ser adicionado no info, nos paths e também schema 

(informação) Clique aqui para retornar ao Fluxograma de Criação de Integrações

...