O que é uma API?


A rede da sua empresa e/ou os seus dispositivos pessoais incluem diferentes aplicações. A maioria delas precisa de comunicar entre si para trocar dados e funcionar normalmente. Tudo isto é possível graças às API.

what_is_api

Para que serve uma API?

A interface de programação aplicativa («application programming interface», ou API, em inglês), permite que várias aplicações e serviços troquem dados.

Dispõe de funcionalidades que, graças a uma linguagem de programação, permitem lançar pedidos de acesso aos serviços de uma aplicação para a outra. Esta tecnologia simplifica muito o desenvolvimento das aplicações. Ao trocarem dados, dispõem do que necessitam para o seu bom funcionamento. A sua utilização tornou-se incontornável nos últimos dez anos. Sem elas, muitos sites e aplicações web não existiriam.

Porquê utilizar uma API?

A principal vantagem de uma API é a poupança de tempo. Um programador não precisa de saber como a API é implementada, pois limita-se a utilizar a interface como um canal de comunicação entre várias aplicações ou programas.

As vantagens da API são as seguintes:

  • A simplificação dos processos. Tem acesso às informações das aplicações a partir de uma única interface.
  • Uma precisão acrescida das aplicações e funcionalidades suplementares para estas últimas. Por exemplo, pode ligar um serviço de geolocalização a uma aplicação de aluguer de bicicletas elétricas, a fim de encontrar a mais próxima de si.
  • Uma segurança reforçada dos dados em trânsito, tornada possível através da implementação de tokens, de assinaturas eletrónicas ou ainda da encriptação TLS (Transport Layer Security).

Quais são os diferentes tipos de API?

As API são definidas de forma diferente em função da sua acessibilidade, da sua utilização e da forma como um programador as utiliza. No entanto, podemos distinguir quatro grandes famílias de API.

  • A API interna, ou API privada,é a forma que mais se privilegia na rede interna de uma empresa. Por exemplo, permite-lhe ligar um software de gestão do armazém ao sistema integrado de gestão empresarial (ERP). Como não está exposta ao público, em geral não beneficia de uma segurança elevada. No entanto, esta situação está a evoluir: a proteção das ferramentas informáticas nas empresas começa a abranger todos os programas utilizados.
  • A API externa, ou API pública, está aberta a todos. Pode ser utilizada por qualquer programador terceiro. Atenção: embora o seu nome inglês, «Open API», possa causar confusão, ela nem sempre está ligada a uma tecnologia open source. A sua principal vantagem consiste em dar acesso a um grande número de linguagens de programação, facilitando a interligação dos serviços. As medidas de segurança de uma API pública são, por definição, limitadas. Isto implica que uma empresa deve refletir sobre a exposição dos seus dados se pretender utilizá-la.
  • A API parceira assemelha-se a uma API interna, oferecendo a possibilidade de conceder direitos de acesso a programadores ou a prestadores externos. Por exemplo, se uma empresa recorrer a uma agência para tratar do seu site, pode fornecer-lhe identificadores e autorizações específicos.
  • A API compósita é mais complexa. Tem geralmente várias interfaces de programação destinadas a utilizações específicas. É frequentemente utilizada como uma solução de gestão de outras API interligadas.

Como funciona uma API?

Uma API possui uma estrutura e regras que permitem às aplicações e aos programas comunicarem eficazmente. Atua entre a aplicação e o servidor web, e age como um canal de transferência de dados entre os sistemas.

A sua ação processa-se geralmente da seguinte forma:

  1. Uma aplicação ou um programa efetua um pedido. Este será transmitido ao servidor web através do URI (Uniform Resource Identifier).
  2. Depois de validar o pedido, a API transfere-o para o servidor web (ou para o programa externo, se for caso disso).
  3. A seguir, o servidor web envia a resposta à API.
  4. A API devolve finalmente as informações recebidas à aplicação que fez o pedido.

Note, no entanto, que o tipo de dados transferidos pode depender do serviço web utilizado. Ainda assim, os pedidos e as respostas são sempre transmitidos pela API. Além disso, o seu design permite-lhe ser usada por um ser humano ou por um computador, o que lhe confere flexibilidade.

É possível adicionar etapas de segurança neste processo. Tendo em conta o papel de canal intermediário da API, é a etapa ideal para definir uma autenticação. Por exemplo, pode adicionar palavras-passe, verificações dos cabeçalhos HTTPS, cookies, etc. Esta medida deve ser privilegiada no âmbito da manipulação de dados sensíveis (como dados bancários, administrativos ou privados).

O que é uma API de ponte?

Trata-se de uma ferramenta que lhe permite gerir as diferentes API. A maior parte das API internas ou privadas recorre a esta solução por razões de segurança e de desempenho. Como mencionado anteriormente, uma API recebe um pedido e transmite uma resposta. Mas, neste caso de uso, a realidade é mais complexa.

Para uma empresa, é importante incluir parâmetros de segurança, de monitorização e/ou de restrição. Se dispõe de vários microsserviços, pode haver um grande número de pedidos a gerir simultaneamente. É por esta razão que a API de ponte constitui uma vantagem não negligenciável. Permite-lhe um melhor controlo dos fluxos de dados que circulam entre as API, mas também entre as API e os serviços.

A história dos protocolos API

A utilização das API democratizou-se nos últimos 10 anos. O seu funcionamento adaptou-se, por isso, às aplicações mais recentes. Criaram-se vários protocolos para responder a esta evolução.

  • O SOAP (Simple Object Access Protocol) é um protocolo baseado em XML. O seu objetivo é facilitar a transferência de informações entre aplicações e programas que funcionam em linguagens e ambientes diferentes. Isto é possível através de protocolos SMTP e HTTP. Trata-se do protocolo API mais antigo.
  • O XML-RPC é um protocolo baseado num tipo específico de formato XML. Foi desenvolvido depois do SOAP, mas é considerado mais simples e mais eficiente em termos de largura de banda.
  • O JSON-RPC é semelhante ao protocolo XML-RPC no seu funcionamento. No entanto, baseia-se no formato JSON e não no XML. É considerado simples e permite transmitir apenas uma resposta a pedidos complexos.
  • O REST é mais um conjunto de regras sobre a arquitetura de uma API do que um verdadeiro protocolo. Para que uma API seja REST — fala-se então de RESTful API —, deve respeitar um conjunto de critérios pré-definidos. O objetivo deste «caderno de encargos de uma API» é facilitar a criação e a integração de aplicações.

Atualmente, a maioria das API online são API REST. Estas regras permitiram criar API mais leves e mais simples de utilizar. São particularmente adaptadas à IoT (Internet of Things, ou Internet dos Objetos) e às aplicações móveis.

A API SOAP e a API REST

É preciso recordar que se trata de dois elementos diferentes. Em primeiro lugar, o SOAP é um protocolo, enquanto o REST é uma arquitetura. Além disso, embora ambos tenham por objetivo facilitar a criação de API, não estão sujeitos às mesmas regras.

Ao elaborar normas e padrões de criação, permitiram aos programadores uma simplificação no intercâmbio e na utilização de API. Quando a sua utilização se democratizou, o SOAP pretendia criar um padrão de pedidos e de formatos de mensagens para facilitar as trocas de dados. Isto permitiu uma melhor comunicação entre as aplicações, apesar de linguagens ou de ambientes de programação diferentes.

O REST, por sua vez, baseia-se em seis grandes princípios de criação de API. Estes últimos são mais fáceis de seguir do que um protocolo restritivo. É em parte por essa razão que a maioria das API é hoje essencialmente RESTful.

As API na OVHcloud

A fim de permitir a maior margem de manobra possível, todos os nossos serviços são compatíveis com uma API. Assim, poderá interligá-los facilmente.

De modo a criar os seus projetos web, disponibilizamos a API OVHcloud. Consiste numa ferramenta segura que respeita os seus dados pessoais, à semelhança do resto das nossas soluções.

A nossa API permite-lhe:

  • gerir as soluções OVHcloud (administração, atualização, acompanhamento);
  • criar e aperfeiçoar aplicações próprias;
  • automatizar certas tarefas e otimizar funções.

Precisa de ajuda? Não hesite em consultar os nossos manuais.