freeCodeCamp/guide/portuguese/computer-science/what-is-an-api/index.md

57 lines
3.5 KiB
Markdown

---
title: What is an API
localeTitle: O que é uma API?
---
## O que é uma API?
API significa Application Programming Interface. As APIs ocultam a complexidade dos desenvolvedores, estendem os sistemas aos parceiros, organizam o código e tornam os componentes reutilizáveis. Não se preocupe com o AP, apenas foque no I. Uma API é uma interface. Você usa interfaces o tempo todo. Um sistema operacional de computador é uma interface. Botões em um elevador são uma interface. Um pedal de gás em um carro é uma interface.
Uma interface fica no topo de um sistema complicado e simplifica certas tarefas, um intermediário que evita que você precise conhecer todos os detalhes do que está acontecendo sob o capô. Uma API da web é o mesmo tipo de coisa. Ele fica no topo de um serviço da web, como o Twitter ou o YouTube, e simplifica certas tarefas para você. Ele traduz suas ações em detalhes técnicos para o sistema de computador na outra extremidade.
Se você já programou em uma linguagem orientada a objetos como Java ou C ++, uma API é bastante semelhante ao conceito de uma classe. Quando chamamos um método em um objeto (como `.toString()` ), não nos importamos com COMO o objeto está produzindo o resultado, tudo o que nos interessa é a string que obtemos no final. Uma chamada para uma API funciona da mesma maneira. Por exemplo, quando fazemos uma chamada para a API do Facebook para recuperar a foto do perfil de um usuário, não nos importamos com a forma como as informações são recuperadas do servidor. Acabamos de fazer a solicitação à API, deixar que ela lide com toda a complicada lógica de recuperação e obter nossa foto no final de tudo.
## Por que as APIs são úteis?
Ter acesso a uma API geralmente significa ter acesso a uma grande quantidade de dados organizados. O gatekeeper desses dados fornece uma permissão de desenvolvedor (na forma de uma _chave de API_ ) para consultar um servidor em busca de informações. Se a solicitação for bem-sucedida, o servidor responderá com uma mensagem semelhante a esta:
```javascript
{
"coord": {
"lon":139,
"lat":35
},
"wind": {
"speed":7.31,
"deg":187.002
},
"rain": {
"3h":0
},
"clouds": {
"all":92
}
}
```
Fonte: [API Open Weather](https://openweathermap.org/current)
No exemplo acima, um desenvolvedor fez uma solicitação para o tempo atual em uma latitude e longitude específicas, e o servidor respondeu com um _objeto JSON_ sobre vento, chuva e nuvens para esse local. Os serviços que você usa todos os dias são feitos com toneladas de ciclos de solicitação e resposta como este.
**Aqui estão as 10 principais APIs para iniciantes**
1. Dropbox: https://www.dropbox.com/developers
2. Google Maps: https://developers.google.com/maps/web/
3. Twitter: https://dev.twitter.com/docs
4. YouTube: https://developers.google.com/youtube/v3/getting-started
5. Soundcloud: http://developers.soundcloud.com/docs/api/guide#playing
6. Listra: https://stripe.com/docs/tutorials/checkout
7. Instagram: http://instagram.com/developer/
8. Twilio: https://www.twilio.com/docs
9. Yelp: http://www.yelp.com/developers/getting\_started
10. Facebook: https://developers.facebook.com/docs/facebook-login/login-flow-for-web
#### Mais Informações:
* [API para não programadores](https://schoolofdata.org/2013/11/18/web-apis-for-non-programmers/)
* [Wikipedia](https://en.wikipedia.org/wiki/Application_programming_interface)
* [Médio](https://medium.com/girl-geeks/top-10-apis-for-beginners-4d3c43be9386)