Lições aprendidas após um ano de Boleto Simples 3/5

O Boleto Simples é um sistema de cobrança que permite qualquer pessoa receber dinheiro usando boleto bancário sem precisar ter a carteira de cobrança no banco. Depois de um ano do produto lançado no mercado, compartilho nessa série de 5 posts os maiores aprendizados que eu tive. ## Aprendizado 3: Investir na API é fundamental

A API é um dos pontos mais estratégicos para o Boleto Simples hoje. É natural que ao fazer um sistema Software as a Service a gente faça uma API para que os desenvolvedores possam integrar as suas aplicações à nossa. É mais natural ainda que façamos uma API merda.

Fazer uma API ruim é muito fácil :) Principalmente quando o Product Owner não é programador. É simplesmente impossível que de cara ele priorize tempo o suficiente para o investimento na API de modo que ela fique realmente muito boa.

Se implementar métricas dá trabaho, desenvolver uma API, dá muito mais. Mais uma vez eu tive que me superar. No Cobre Grátis temos uma API. Posso dizer que ela é boa. Está em produção e tem muita gente usando. Mesmo sendo boa, ela não chega aos pés da API do Boleto Simples.

Uma boa API precisa ter:

  • Um bom sistema de autenticação, de preferência OAuth 2;
  • Implementar os vários fluxos possíveis do OAuth (Authorization flow, Client Credentials flow, Implicit grant);
  • Sistema de segurança, baseado em escopos;
  • Sistema de cache HTTP;
  • API throttling com regras de limite de requisição e informações no header da resposta;
  • Ambiente de sandbox para os desenvolvedores testarem as integrações;
  • Exemplo de código nas mais diversas linguagens de programação;
  • Bibliotecas de uso nas mais diversas linguagens de programação;
  • Referências de cada recurso, com modelo de dados e dicionário de dados;
  • Controle de eventos que acontecem dentro do sistema;
  • Sistema de webhooks que geram notificações para cada evento ocorrido;
  • Sistema de retentativa de entregas no Webhook;
  • Payloads bem definidos e documentados;
  • Interface para debug das requisições realizadas na interface do usuário;
  • Assinatura de segurança no cabeçalho das requisições;
  • Uma excelente documentação, descrevendo os formatos, convenções, bibliotecas, cada detalhe que está implementado;

A documentação da API do Boleto Simples tem quase tudo isso e está disponível em http://api.boletosimples.com.br/

Embora tenha 95% dos recursos citados acima, ela não está ainda do jeito que eu acho que deveria :)

Uma API impecável, incentiva os desenvolvedores a “brincarem” com o seu sistema e viabiliza a estratégia de parceria que é o assunto do próximo post.

Esse foi o terceiro aprendizado que eu escolhi compartilhar. Os outros foram:

Atendimento é tudo e Priorize o tracking das métricas.

Em seguida vou publicar os próximos aprendizados. Para ser notificado quando os próximos posts forem publicados, assine o RSS, ou me acompanhe no Twitter.

Abraço e até a próxima!