Gerando bitlink atravéz da API do Bitly

Gerar link curto é uma tarefa um tanto quanto rotineira em determinados casos. Por exemplo, nós do blog usamos links curtos para compartilhar nossas publicações nas rede sociais.

Bem, mas como fazer para gerar um link curto do Bitly via API e com um domínio customizado? Se você não reparou ainda, nossos links curtos são sempre com o domínio buteco.me, ao invéz do tão popular bit.ly. Se você se pergunta o porque de usar um outro domínio, bem a resposta é simples, isso ajuda na identidade visual de sua marca ou produto.

Antes de começar é necessário alguns itens:

Agora que você configurou a sua conta do Bitly, vamos entender e como fazer a geração de Bitlinks. Com o comando abaixo podemos gerar bilinks através do cURL:

curl https://api-ssl.bitly.com/v3/shorten?access_token=<TOKEN>&longUrl=<URL LONGA>&domain=<SEU DOMÍNIO>

E o resultado será algo assim:

{ “status_code”: 200, “status_txt”: “OK”, “data”: { “long_url”: “https://bitly.com/”, “url”: “http://buteco.me/1R8U2qo”, “hash”: “1R8U2qo”, “global_hash”: “mxkFBv”, “new_hash”: 0 } }

Na prática isto não é muito agradável, mas ajuda a entender para que URL devemos fazer o request para obter o link curto e como tratar o response. Se você deseja saber mais, visite a documentação da API do Bitly.

Agora vamos ao exemplo em Python, que facilita a geração de links curtos. Para facilitar o desenvolvimento, eu utilizei a biblioteca requests, uma das bibliotecas mais populares do Python. Confira abaixo:

O seu uso é bem simples, basta instanciar a classe e chamar o método shorten, como abaixo:

Bitly('TOKEN', 'DOMÍNIO').shorten('URL LONGA')

Como podemos observar no método shorten, fazemos uma requisição GET para a API do Bitly passando o domain, access_token, longURL e format. Após efetuar o request, esperamos que este tenha sucesso e retorne o código 200, junto com um payload JSON que contém a URL. Se o retorno for diferente de 200, isto indica algum erro, pode ser no request, no token ou própria indisponibilidade do Bitly. Geralmente o payload de erro inclui uma mensagem identificando o problema.

Por hoje é isso pessoal. Se você quer ajuda para fazer uso da API do Bitly em outra linguagem de programação deixe um comentário. 🙂