API é um acrônimo que deriva da expressão Application Programming Interface que, traduzida para o português, pode ser compreendida como uma interface entre aplicativo e programação. Ou seja, se a interface de um sistema é criada para que o usuário final consiga utilizá-la, a API serve para que um sistema consiga se comunicar e utilizar as funcionalidades de outro sistema, sem conhecimento ou intervenção dos usuários.
As APIs operam como um conjunto de normas, que possibilita a comunicação entre plataformas através de uma série de padrões e protocolos que permitem a construção de softwares, aplicativos, programas e plataformas diversas de maneira mais simples e prática, facilitando a vida dos desenvolvedores. Além de construir softwares, as APIs podem potencializar o uso da plataforma agregando novas informações ao sistema.
Para dar um exemplo disso, imagine quando você entra em um restaurante, senta na sua mesa, a primeira coisa que você faz é pegar o menu e ver os pratos. O menu contém o que o chefe pode preparar. Você escolhe o prato e chama o garçom para que ele entregue o pedido na cozinha. Diante disso, o que te interessa é que o prato chegue na sua mesa pronto e gostoso.
Como ele vai ser preparado, ou seja, todo o processo de preparação, não te interessa. Queremos que ele chegue bem feito e comível.
Dentro desse contexto, a API seria o garçom, ele pega o seu pedido e leva ao chefe que por sua vez prepara o prato, que retorna a mão do garçom pronto para que você consuma. A API recebe o seu pedido e devolve a informação da maneira que você pediu, não precisando informar como chegou até aquela resposta.
As APIs podem ser utilizadas em praticamente todos os contextos de desenvolvimento de softwares, e em qualquer tipo de software.
Caso um desenvolvedor queira criar um aplicativo de fotos para Android, por meio da API do sistema operacional, ele poderá ter acesso à câmera do celular sem ter a necessidade de criar uma nova interface de câmera do zero.
A função de uma API é, basicamente, facilitar e simplificar o trabalho de desenvolvedores, além de oferecer um padrão para a criação de novas plataformas. Com o uso das APIs, não é necessário criar códigos personalizados para cada função que um programa for executar, simplificando a criação de novos aplicativos, softwares e plataformas em geral.
Além disso, as APIs também possuem papel fundamental quando o assunto é segurança, já que também são capazes de bloquear acesso e permissões a dados de software e hardware que algumas aplicações não devem ter acesso.
Existem várias empresas que disponibilizam seus códigos e instruções para serem usados em outros sites da maneira mais conveniente para seus usuários.
APIs públicas
A API é exposta para todos. Terceiros podem desenvolver aplicações que interajam com a sua API e isso pode se tornar uma fonte de inovação.
APIs particulares
A API é usada apenas internamente. APIs particulares oferecem às empresas um maior controle.
APIs parceiros
A API é compartilhada com parceiros de negócios. Isso pode fornecer fluxos de receita adicionais sem comprometer a qualidade.
Vantagens de usar API para desenvolvedores
Com suas APIs públicas você pode:
E como as APIs podem fazer tudo isso?
O compartilhamento de APIs pode ter efeitos positivos. Cada parceria amplia o reconhecimento da sua marca para além dos esforços de marketing da sua empresa. Abrir a tecnologia como as APIs públicas, pode estimular os desenvolvedores que se interessem pelo seu negócio, a criar um ecossistema de aplicações com base na sua API. Quanto mais pessoas usam sua tecnologia, maior é a sua chance de gerar novos negócios.
Tornar a tecnologia pública pode gerar resultados novos e inesperados para o seu negócio. Às vezes, esses resultados revolucionam setores inteiros e podem mudar fundamentalmente a maneira de fazer negócios.
Com as APIs públicas e em parceria, você pode se beneficiar dos esforços criativos de uma comunidade muito maior do que a sua equipe interna de desenvolvedores. Novas ideias podem surgir de qualquer lugar.
Quando uma empresa de software tem a intenção de que outros criadores de software desenvolvam aplicações associadas ao seu serviço, um dos caminhos que ela pode tomar é tornar sua API pública.
As APIs remotas foram projetadas para interagir por meio de uma rede de comunicações. Quando falamos remota, estamos dizendo que os recursos que essa API utiliza estão em algum lugar fora do computador que faz a solicitação. Como a rede de comunicações mais usada é a Internet, grande parte das APIs são desenhadas com base em padrões da web. Mas vale lembrar, nem todas as APIs remotas são web, mas é possível afirmar que, em geral, as APIs web são remotas.
As APIs web normalmente usam o protocolo HTTP para mensagens de solicitação e fornecem uma definição da estrutura das mensagens de resposta.
As mensagens de resposta, em grande parte dos casos, têm o formato de arquivo XML ou JSON. Tanto XML quanto JSON são formatos de preferência porque apresentam os dados de forma simplificada, o que facilita a manipulação por outras aplicações.
Quando a gente pensa em como vai ser a arquitetura dessas APIs, damos de frente com duas especificações, SOAP ou REST.
O protocolo chamado Simple Object Access Protocol, SOAP foi desenvolvido para ajudar a padronizar a troca de informações: As APIs projetadas com SOAP usam sempre o XML como formato de mensagem e recebem solicitações por HTTP ou SMTP. Por ser um protocolo independente, o SOAP facilita o compartilhamento de informações por aplicações executadas em ambientes diferentes ou escritos em linguagens diferentes.
APIs que adotam as restrições de arquitetura da REST são chamadas de APIs RESTful. A REST é fundamentalmente diferente do SOAP: o SOAP é um protocolo e a REST é um estilo arquitetural. Isso implica com que não haja um padrão oficial para APIs REST web.
A maior vantagem do protocolo REST é sua flexibilidade. O desenvolvedor pode optar pelo formato mais adequado para as mensagens do sistema de acordo com sua necessidade específica. Os formatos mais comuns são JSON, XML e texto puro, mas em teoria qualquer formato pode ser usado.
Agora que você já entendeu um pouco mais sobre as APIs, aqui na Legiti usamos APIs REST em vários contextos. Internamente, utilizamos APIs para facilitar a comunicação entre os nossos microserviços, mas também temos uma API pública para promover a integração com a plataforma dos nossos clientes. Nossas APIs são enxutas, mas altamente adaptáveis, o que economiza tempo e simplifica o processo sem perder o contexto crucial da sua empresa para fornecer as melhores decisões possíveis.
Nossa API pública serve para duas funções: primeiro, ela permite que nossos clientes enviem dados do sistema deles em alto volume e com baixa latência. Com esses dados, criamos uma representação holística e única da lógica de negócios para cada um dos nossos clientes. A segunda função é disponibilizar nosso modelo de machine learning (treinado nos dados coletados via nossa API) para nossos clientes pedirem avaliações da probabilidade de fraude dos pedidos entrando no sistema deles. Através da nossa API, permitimos que o nosso sistema se comunique automaticamente com os sistemas dos nossos clientes para combater fraude sem a necessidade de intervenção humana.
Nossa API é segurada com autenticação de JWT, que garante que só um cliente conhecido pode mandar dados e solicitar avaliações de fraude da Legiti. Isso também garante que nenhum outro mau ator possa mandar dados errôneos, para enganar nosso sistema fingindo ser algum outro cliente da Legiti.
No link você consegue se aprofundar sobre o processo de integração da Legiti, nossa documentação tem muita coisa interessante, vem dar uma olhadinha! https://docs.legiti.com/integracao/overview