Skip to main content

Command Palette

Search for a command to run...

API ( Application Programming Interface )

oque é uma API? pra que serve

Updated
•5 min read•View as Markdown
API ( Application Programming Interface )
G

I am a developer from brazil

O que é API?

API é uma interface utilizada para fornecer serviços através de protocolos e conexões com outros sistemas sem se preocupar com implementação.

normalmente fornece uma documentação de uso e consegue realizar a troca de informações através de regras que precisam ser seguidas para que a comunicação seja feita corretamente entre dois sistemas.

image.png

Pra que servem as APIs?

as APIs chegaram para fornecer melhor arquiteturas de software, desempenho, inovação e fornecimento de dados.

  • De forma Privada
    Através de um API por exemplo você pode melhorar a questão de gerenciamento de aplicação dentro da sua empresa, dividindo as responsabilidades de partes de software.

  • De forma Pública
    Oferecer informações de um serviço de sua empresa através de um API na nuvem para empresas parceiras sem abrir mão do controle e da segurança na sua aplicação.

Além de ser uma solução econômica é flexível com a possibilidade de utilização especifica e maleável do lado do cliente, como por exemplo adicionar novas funcionalidades em cima da sua API.

Podemos também consumir APIs terceiras em nossa aplicação e facilitar o processo de implementação de um novo serviço, por exemplo dentro de nossa aplicação podemos fazer uso de uma API dos correios para calculo de frete, ou mesmo outras integrações como realizar a reserva em um hotel e realizar o pagamento diretamente da aplicação.

Benefícios

  • melhor economia de tempo
  • maior facilidade em implementações e inovações.
  • mantem o design do código limpo ao utilizar.

image.png

Politicas de Lançamento de APIs

  • API privada - Tem como objetivo servir a própria infraestrutura, assim simplificando a arquitetura do sistema.

  • API compartilhada - É de acesso controlável para empresas parceiras, permitindo assim melhorias de acordo com seus respectivos softwares, gerando assim maior fluxo de receita sem comprometer a qualidade.

  • API pública - É de acesso publico pois permite que terceiros quaisquer façam uso e até desenvolvam novas ideias em cima da API, gerando assim uma nova fonte de inovação.

image.png

Podemos utilizar qualquer linguagem ou biblioteca para criar uma API, e definir uma especificação OpenAPI ou então configuração com gRPC api.

Por Que Expor a API? ( Inovação com API )

o compartilhamento de APIs ( compartilhadas ou públicas ) pode ter efeitos positivos, desenvolvedor podem começar a criar e utilizar todo um ecossistema de aplicações em volta da sua API, obtendo assim uma nova fonte de inovação e também aumentando o alcance da marca, quanto mais uso mais a chance de gerar novo negócios.

APIs Remotas e APIs Internas

o significados de APIs remotas é basicamente a utilização de recursos que estão em outro computador com comunicação através de redes.

Como a maior rede utilizada é a internet logo a maior parte das APIs remotas inegavelmente são as Web APIs, porém essa não é a única parte.

podemos por exemplo citar APIs que são utilizadas por desenvolvedor de apps desktop, neste caso ele pode por exemplo utilizar uma API integrada do SO, o próprio windows possui muitas APIs como por exemplo utilização de permissões, gerenciador de pastas, dispositivos e etc...

API x API Rest

As APIs Rest são utilizadas em contexto Web e precisam implementar o Protocolo HTTP especificamente a versão 1.1, desta forma poderá disponibilizar e organizar melhor o gerenciamento das aplicações utilizando métodos como GET, PUT, DELETE, POST, HEAD e muito outros.

API Rest é um assunto extenso e que vale a pena ser estudado, neste caso teremos um artigo só para este design de arquitetura.

O que são Endpoints?

Endpoint é a extremidade de um canal de comunicação, desta forma pode ser descrito como a URL que o serviço expõe para utilização.

um endpoint possui características que podem ser chamadas de A, B, C

  • A - Address = indica o endereço do serviço disponibilizado.

  • B - Binding = indica de que forma o serviço pode ser acessado.

  • C - Contract = indica o que pode ser visto em um serviço.

o Google Cloud Endpoints por exemplo implementa, monitora, protege, gerencia e analisa APIs terceiras com a mesma estrutura usada pelo google.

image.png

Segurança em APIs

Comunicação

a conexão de entre nossas APIs deve utilizar o SSL , oque significa que tanto as requisições quanto as respostas estarão sendo criptografadas, e justamente sabemos da utilização do SSL em um site quando temos um cadeado na URL que estamos acessando.

image.png

Autenticação

faz com que possamos nos certificar e validar se o usuário que está requisitando as informações tem acesso para aquele tipo de conteúdo, e o modelo mais comum e moderno hoje em dia é a verificação da autenticação através de Tokens, que é uma string com caracteres enviados na hora da requisição, aparentemente aleatórios mas que possuem informações encryptadas e a validação é feita exatamente como uma senha, o assunto sobre segurança em APIs e Sistemas é de fato um assunto para nos aprofundarmos posteriormente em outro artigo.

Consumo de uma API ( Retorno )

o tipo de informação retornada vai de acordo com cada aplicação, os mais utilizados são XMLe JSON ( o mais usado ), por serem leves e de fácil compreendimento humano são os mais utilizados entre troca de informações na comunicação de uma API, hoje em dia aplicações por padrão já tem soluções para conversões de JSON para Estrutura de Dados ou Primitivos e vice e versa.

JSON exemplo:

image.png

XML exemplo:

image.png

Resumo

Como pudemos ver uma API pode servir tanto para melhorarmos a arquitetura da nossa aplicação, quanto para consumo de serviços ou de disponibilização deles para terceiros, além disso hoje em dia estamos em uma era em que estamos utilizando APIs mesmo sem saber através de objetos/dispositivos inteligentes conectados a nuvem como um smart watch.