Histórico da Página
...
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 title Clique 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
...