Versões comparadas

Chave

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

...

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

Explicaremos mais o x-totvs. Mais detalhes sobre construção de APIs podem ser encontrados em Implementação de APIs com Mensagem Padronizada#Defini%C3%A7%C3%A3odaAPIeseusEndpoints

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

...

  • x-totvs dentro da "info":

    O exemplo a seguir é um trecho da API UnitOfMeasure v2.

Bloco de código
(...)


"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": ""

				}

			]

		}

	}
(...)

A propriedade "messageDocumentation" do "x-totvs" traz informações sobre a própria API.

    • name: título da API;
    • description: descrição da API;
    • segment: segmento da TOTVS pelo qual aquela API foi implementada.

 Já a propriedade "productInformation" traz informações sobre os produtos TOTVS.

    • product: produto ao qual aquela aquelas informações do "productInformation" se referem.;
    • contact: e-mail para contato com quem desenvolveu aquela API naquele determinado produto.;
    • description: descrição da API para aquele determinado produto;
    • adapter: adapter que se comunica com aquela determinada API;
    • A propriedade "productInformation" poderia ter ainda a tag helpUrl, que contém um link para a documentação daquela API para aquele produto, caso haja.


  • x-totvs dentro dos

    métodos/

    verbos dos "paths"

    O exemplo a seguir também é um trecho da API UnitOfMeasure v2.

    Expandir
    titleClique para ver
    Bloco de código
    (...)
    
    
    "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"
    
    						}
    
    					]
    
    				}
    
    
    
    (...)

Diferentemente dos x-totvs da "info",  a propriedade "messageDocumentation" não está presente nos x-totvs dos "paths".

Já a propriedade "productInformation" traz informações sobre os produtos TOTVS.

    • product: produto ao qual aquelas informações do "productInformation" se referem;
    • available: campo booleano que indicia de o verbo esta implementado no produto;
    • note: observações sobre o verbo referente ao produto, como regras especificas;
    • minimalVersion: a versão minima na qual o verbo foi implementado no produto.

Identificar se o produto a ser integrado já está definido na documentação da API

...