O que é uma API? 

Uma Interface de Programação de Aplicações é uma coleção de informações padronizadas estabelecida por um software que possibilita a utilização de suas funcionalidades por outros aplicativos. Com as informações persistidas em uma especificação de API, é possível enviar ou receber dados de uma aplicação sem que seja necessário entrar nos detalhes da implementação deste programa.

É de grande interesse para a TOTVS que aplicações externas consigam se comunicar com seus produtos de maneira facilitada. Por meio da implementação de uma API, é possível que outras aplicações obtenham dados internos dos produtos TOTVS, apenas enviando uma requisição HTTP para o endereço devidamente descrito na especificação da API.

Para descrever uma API, se faz necessária uma especificação padronizada. O padrão utilizado para a construção das APIs TOTVS é o OpenAPI 3.0, o qual descreve um formato para definição de toda a API. Essa especificação é que define como serão evidenciados os endpoints e seus métodos, parâmetros de operações de entrada e saída, métodos de autenticação, metadados (tais como informações gerais, contato, licença e termos de uso), entre outros.

Criação de uma API

<Tópico pendente de informação>

 As regras para o desenvolvimento 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.

Diferenciação entre API e Schema

Uma API não deve ser confundida com um schema. As APIs são contratos responsáveis por definir os métodos e caminhos que permitem a comunicação entre dois pontos. São as APIs que trazem informações relevantes sobre as trocas de dados entre uma aplicação e um produto TOTVS, definindo os moldes das mensagens trafegadas. Já o schema é a mensagem padronizada propriamente dita. Traz consigo uma forma de apresentar dados e seus tipos, permitindo a posterior transmissão de informações. Definições mais apuradas sobre os schemas podem ser encontradas na documentação sobre as mensagens padronizadas TOTVS.

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 desenvolvido o portal API Reference, onde todas as APIs desenvolvidas pelos segmentos TOTVS podem ser encontradas.

O que é a propriedade "x-totvs"

<Tópico pendente de informação>


O objetivo do x-totvs é evidenciar informações pertinenetes aos produtos TOTVS.

Vincula o arquivo OpenAPI aos produtos TOTVS. Informações necessárias. Mostrar os campos, preenchimento de cada um, etc.

Implementação de APIs com Mensagem Padronizada

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

<Tópico pendente de informação>

O API reference tira os dados do json da api. Ir no api reference e identificar se o produto ta la, dentro dos x-totvs

Editar "x-totvs" da API

<Tópico pendente de informação>

Caso a api já exista mas não para seu produto, significa que você precisa aadaptar a API ao seu produto.

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