Blog

Postado em em 25 de dezembro de 2021

API no Python – O que é e Como Criar Sua Própria API?

Nessa aula vamos te mostrar o o que é uma API no Python e como você pode criar sua própria API para seus projetos!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber a planilha que usamos na aula no seu e-mail, preencha:

Resumo

Nessa aula nós vamos te mostrar o que é uma API (Application Programming Interface) que é uma Interface de Programação de Aplicativos.

Nada mais é do que um programa/aplicativo que vai permitir uma troca ou obtenção de informações.

Muitas empresas utilizam para facilitar a obtenção ou troca de informações, como por exemplo o Facebook.

Quando você faz o login ou se cadastra em algum site utilizando o Facebook, você está utilizando uma API para que o site em questão possa obter informações da sua conta para concluir o seu login/cadastro no site.

O que você vai aprender nessa aula:

Como Usar API com Python

É muito provável que você já tenha ouvido falar em API, mas você sabe o que é isso e sabe como utiliza?

Se não sabe, pode ficar tranquilo que nessa aula nós vamos te explicar ela funciona e como acessar uma delas com Python!

Curioso para saber o que é isso que tanta gente fala? Então vamos ao próximo tópico!

O Que é uma API?

API é uma sigla do inglês que significa Application Programming Interface que traduzindo seria uma Interface de Programação de Aplicativos.

Mas o que isso quer dizer? Isso quer dizer que vamos ter um programa que vai nos ajudar a obter informações. Como assim?

Vamos a um exemplo prático! Você conhece o Facebook, certo? Então você já deve ter notado que existem vários sites por exemplo que te permitem utilizar o Facebook como forma de login, sem cadastro nenhum!

Começou a entender? O que o Facebook fez foi uma programa para que esse site possa obter algumas informações suas para te cadastrar no site sem que você tenha que digitar.

Então sempre que você faz o login com Facebook já deve ter visto que ele fala que o site precisa da informação x, da informação y e da informação z!

Isso quer dizer que está acontecendo uma obtenção de informações, mas é claro que o site não vai poder obter tudo que ele quiser da sua conta.

Ele só vai ter acesso ao que o Facebook disponibilizou dentro do código de programação dessa API, então eles vão definir as informações que serão obtidas ou trocadas!

Então além da vantagem de fazer essa troca ou disponibilização de informação, a empresa que criou faz com que as pessoas utilizem mais sua plataforma.

Você mesmo já deve ter escolhido fazer o seu cadastro/login com Facebook em algum site só para não ter que passar por todas as etapas, não é mesmo?

Nós temos 2 tipos de API, a API pública e uma onde o usuário tem que fazer um cadastro/login ou até mesmo pagar para poder não só ter acesso a informações, como para enviar informações.

Por exemplo a API do Twilio (já temos um vídeo aqui no canal falando sobre ela, basta clicar aqui), permite com que você cadastre na plataforma e te permite utilizar uma API para enviar SMS para outras pessoas.

Agora que já vimos bastante teoria, vamos a prática! Lembrando que para essa aula nós vamos utilizar o Jupyter (Pacote Anaconda)!

Para o exemplo dessa aula vamos utilizar uma API de cotações de moedas (Usamos o awesome api: https://docs.awesomeapi.com.br/) onde vamos utilizar um link de requisição da API.

Essa é uma API pública, que permite com que o usuário consuma informações, ou seja, não vamos enviar informações, só receber.

import requests
import json

# esse link pode mudar se os donos da API mudarem
cotacoes = requests.get("https://economia.awesomeapi.com.br/last/USD-BRL,EUR-BRL,BTC-BRL")
cotacoes_dic = cotacoes.json()
cotacoes_dolar = cotacoes_dic['USDBRL']['bid']
print(cotacao_dolar)

Esse é o código que vamos utilizar para obter a cotação do dólar por exemplo, usando o link de requisição.

OBS: É importante instalar as bibliotecas requests e json para obter as informações do site e para conseguir ler os dicionários no formato json que são um formato um pouco diferente do dicionário que temos no Python.

Pronto! Depois disso você já consegue obter a cotação do dólar, euro ou bitcoin. Viu como existem APIs que são simples de serem utilizadas e podem te ajudar bastante?

Como Criar API no Python

Agora eu quero te mostrar como você pode criar a sua própria API no Python!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Como Criar API com Python

Nós já falamos aqui no blog sobre APIs, mas você sabe como criar API no Python?

Na verdade, como criar a sua própria API no Python? Hoje eu vou te ensinar como você vai poder fazer isso para utilizar em outros códigos.

Como Criar API no Python

Para essa aula nós vamos utilizar o Replit que é uma plataforma para criar e testar suas APIs.

Depois de criar sua conta gratuita no site já vamos poder começar com a criação de API no Python.

Criando a API no Replit

Dentro da sua conta, você vai poder clicar em + Create Repl, em seguida vai poder selecionar a linguagem que no nosso caso será Python e por fim dar um nome para a criação.

Editor de Python do Replit

Depois de criar, você vai notar que já tem um editor de Python e não vai precisar fazer o deploy do seu código para que outras pessoas possam utilizar.

Isso quer dizer que não vai precisar colocar em um servidor, mas caso precise do código rodando 24 horas por dia durante 7 dias da semana você terá que buscar um servidor para isso.

Para demonstrar o nosso exemplo, vamos utilizar a biblioteca pandas e a biblioteca flask (que é um framework para construção de sites).

OBS: Nós até temos uma aula sobre criação de sites com flask caso você tenha interesse!

Para instalar essas bibliotecas dentro desse ambiente é muito fácil, basta ir em Packages e depois escrever o nome da biblioteca que deseja instalar.

Instalando as bibliotecas que serão utilizadas no código

Feito isso basta clicar no + que a biblioteca será instalada. Agora podemos fazer a construção do código.

Vai ser um código simples, mas é para te mostrar como você pode criar a sua própria API no Python.

import pandas as pd

tabela = pd.read_csv('advertising.csv')
total_vendas = tabela['Vendas'].sum()
print(total_vendas)

Como você deve saber, em uma API nós não vamos passar informações críticas aos usuários, ou seja, nesse caso não vamos disponibilizar a nossa base de dados completa.

Vamos apenas informar qual é o total de vendas da nossa base de dados, até porque assim não mostraremos nenhuma informação crítica ou que possa oferecer algum risco.

import pandas as pd
from flask import Flask, jsonify

app = Flask(__name__)

# Construir as funcionalidades
@app.route('/')
def homepage():
	return 'A API está no ar'

@app.route('/pegarvendas')
def pegarvendas():
	tabela = pd.read_csv('advertising.csv')
	total_vendas = tabela['Vendas'].sum()
	resposta = {'total_vendas': total_vendas}
	return jsonify(resposta)

# Roda a nossa API
app.run(host='0.0.0.0')

Aqui já temos a nossa API mais completa já utilizando o flask que é para a criação de páginas no Python.

Então aqui vamos ter a nossa API que vai retornar o total de vendas apenas, sem trazer informações da base de dados ou qualquer outra informação crítica.

OBS: O comando jsonify é para que o Python consiga transformar essa resposta em json que é como se fosse um dicionário.

OBS 2: Dentro do comando app.run (que é para rodar o nosso código) nós vamos inserir o host=’0.0.0.0’ para que o Replit nos dê um link de fato onde está o nosso site ao invés de ter apenas aqueles números quando criamos o site no flask.

Dessa forma vamos poder utilizar o seu editor de Python por exemplo (do seu computador) para testar se essa API já está funcionando e se conseguimos fazer a requisição do total de vendas.

import requests

linl = 'https://minhaapi.lirahashtag.repl.co/pegarvendas'

requisicao = requests.get(link)

print(requisicao)
print(requisicao.json())

dicionario = requisicao.json()

print(dicionario['total_vendas'])
Criação de API com Python

Aqui nós já temos a nossa requisição sendo trazida diretamente da nossa API, dessa forma o usuário não vai ter acesso as informações da base de dados, somente o que for disponibilizado para ele.

IMPORTANTE: Como estamos utilizando um ambiente gratuito para criar a nossa API você terá que deixar o código rodando dentro dele para que consiga fazer suas requisições, mas de tempos em tempos ele vai parar por conta da própria plataforma. Você pode pagar para utilizar esse servidor ou fazer o deploy do seu código em um servidor oficial, isso nós mostramos na aula de criação de sites com flask.

Conclusão

Nessa aula eu te mostrei o que é uma API, como usá-la e como você pode criar a sua própria API dentro do Python.

Dessa forma você pode criar sua API para fornecer apenas informações específicas sem que os usuários consigam ver além do que foi liberado para eles.

Dessa forma o usuário só vai ter acesso ao que foi disponibilizado e nada além disso!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?