Versões comparadas

Chave

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

...

Ao criar uma especificação de API TOTVS, é necessário preciso ter em mente que existem alguns métodos padrão  types e parameters padronizados previamente criados pela TTALK., armazenados no arquivo totvsApiTypesBase.jsonCom isso, esses endpoints parameters não precisam ser implementados , apenas propriamente referenciados.nos endpoints, mas sim propriamente referenciados na própria especificação de API. O exemplo a seguir traz um trecho da API CustomerVendor v1, mostrando como é feita essa referenciação.

Bloco de código
languagejs
titleExemplo
collapsetrue
	"paths": {

		"/customerVendor": {

			"get": {

				"tags": [

					"customerVendor"

				],

				"summary": "Retorna todos Clientes/Fornecedores",

				"x-totvs": {

					"productInformation": [

						{

							"product": "Protheus",

							"available": true,

							"note": "Este verbo não está diponível no protheus. Utilize a consulta CustomerVendorEntity",

							"minimalVersion": "12.1.21"

						}

					]

				},

				"description": "Retorna todos clientes e/ou fornecedores",

				"operationId": "getcustomerVendor",

				"parameters": [

					{

						"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Authorization"

					},

					{

						"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Fields"

					},

					{

						"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Order"

					},

					{

						"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Page"

					},

					{

						"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/PageSize"

					}

				],

				"responses": {

					"200": {

						"description": "Operação realizada com sucesso",

						"content": {

							"application/json": {

								"schema": {

									"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/CustomerVendor_2_006.json#/definitions/PagedCustomerVendors"

								}

							}

						}

					},

					"400": {

						"description": "Erro na requisição!",

						"content": {

							"application/json": {

								"schema": {

									"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/definitions/ErrorModel"

								}

							}

						}

					}






(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 o arquivo OpenAPI para que o produto em questão passe a ser especificado. 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 o mesmo exemplo da API apresentado na seção 3.4.1, a adição de um novo produto se daria da seguinte forma no cabeçalho (info):

...