Histórico da Página
...
Ao criar uma especificação de API TOTVS, é preciso ter em mente que existem alguns types e parameters padronizados previamente criados pela TTALK, armazenados no arquivo totvsApiTypesBase.json. Com isso, esses parameters não precisam ser implementados nos endpoints, mas sim propriamente referenciados na própria especificação de API.
O exemplo a seguir traz um trecho da API do arquivo OpenAPI CustomerVendor v1, mostrando como é feita ocorre essa referenciação.
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
(...) "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" } } } } (...) |
Aviso |
---|
Ao referenciar qualquer arquivo do GitHub, tenha certeza que está obtendo o link apenas com o JSON e não o da árvore de arquivos. Para isso, ao entrar na página do arquivo desejado, clique em "Raw" e só então copie o link da página com o arquivo JSON. |
Para maiores informações sobre uso dos cabeçalhos padronizados, visite nosso Guia de APIs.
Sinta-se à vontade para navegar por nossas APIs, tanto pelo API Reference quanto pelo nosso repositório do GitHub, e observar como estão referenciados seus respectivos parameters!
Retornar ao Fluxograma de Criação de Integrações
...
Anteriormente era possível que o schema fosse incluso diretamente na API, porém essa regra foi modificada. Para aprimorar a reusabilidade dos schemas, agora os arquivos JSON devem ser separados em API e JsonSchema. Esse modelo possibilita a utilização do protocolo transactions sem que haja a necessidade do desenvolvimento de uma API, caso essa configuração seja suficiente para suprir a necessidade e interesse do desenvolvedor. Como vantagem adicional, uma mesma API pode ser utilizada de formas diferentes, alterando somente o schema o qual ela faz referência.
Para uma melhor apresentação visual das APIs, foi criado o portal API Reference, onde todas as APIs desenvolvidas pelos segmentos TOTVS e aprovadas pelo comitê podem ser encontradas.
3.4 A propriedade "x-totvs"
...