O que é uma API afinal?

Quando a mídia começa a atribuir a uma tecnologia o sucesso de alguns negócios, como se a tecnologia em si fosse uma droga milagrosa, isso gera ondas de curiosidade. Investidores, concorrentes na linha de negócio e entusiastas começam a pesquisar sobre a tal droga milagrosa procurando saber como ela funciona ou como ela pode beneficiá-los em seus negócios ou investimentos.

Acredito que a melhor maneira de explicar o que são APIs seja provocar o leitor a imaginá-las como uma alternativa para troca de informação que substitui uma tela de sistema, um formulário web ou um aplicativo.

Quando se discute um sistema a maioria das pessoas imagina que a sua interação com ele se dará através de uma tela com campos e botões. Essa intuição está instalada em você porque por anos toda tecnologia concebida e oferecida foi desenhada para ser usada por um humano. Independentemente do que estivesse ocorrendo por trás dos bastidores do software, era sempre um usuário humano que tradicionalmente o operava. E esse usuário via-de-regra consumia ou alimentava dados numa tela que havia sido projetada para tornar a interação mais fácil, agradável e eficiente possível.

Em alguns setores, há algum tempo, havia uma dependência grande de ‘digitadores’ para entrada de dados e, não raro, criavam-se métricas de performance cruzando toques por minuto versus volume de erros para se identificar os melhores dentre eles. Mas então por que atualmente não existe mais tanta dependência com esse papel de ficar digitando dados em sistemas? E a resposta é justamente o assunto dessa página: APIs.

Imagine que esses mesmos dados que antes eram digitados hoje são consumidos de um software por outro software. Nesse caso, as preocupações com a interface de entrada de dados são completamente diferentes.

Afinal, softwares não precisam de telas, campos ou botões para se comunicarem. A maneira como essa comunicação se dá é justamente através de APIs.

Uma API, portanto, tem a mesma função que uma interface de usuário (tela, formulário ou aplicativo), porém, é um canal voltado para ser usado por software em vez de um ser humano. E é por isso que as APIs são corriqueiramente explicadas como uma tecnologia que permite que sistemas conversem entre si. Um paralelo que reforça tanto a importância das API quanto sua função está em compará-las com tomadas de parede. Já parou para refletir que os plugues elétricos têm padrões diferentes dependendo da parte do mundo onde foram instalados? E do mesmo modo sua voltagem e amperagem também podem variar de um local para outro. Contudo, uma vez que você tome conhecimento das especificações técnicas para instalação elétrica da localidade você pode assumir que todas as tomadas da região seguirão o mesmo padrão. Vencida essa etapa de descoberta, portanto, torna-se fácil selecionar em que tipo de plug, voltagem e amperagem seus eletrodomésticos precisam operar para funcionarem na região. E você terá aprendido a consumir o serviço de energia elétrica, oferecido na região, para qualquer finalidade.

Application Programming Interface (API) é justamente a especificação técnica que descreve como um software deve se comportar para se comunicar com outro software. E é tão poderosa porque qualquer um que conheça a especificação técnica e seja capaz de segui-la, conforme declarada, poderá usar o serviço oferecido pela API - ou seja, lhe bastará criar sua API e publicá-la para que qualquer cliente ou fornecedor possa usufruir dos seus serviços se seguirem sua especificação.

E por que estamos te contanto isso?

Em um único projeto é possível integrar todos os sistemas que já possuam APIs expostas e com isso gerar economia com mão-de-obra e com ambiente tecnológico. Além disso, é possível reduzir o tempo total entre os processos internos e aumentar a escalabilidade e competitividade do seu negócio.

Enquanto soluções SaaS oferecem na medida certa o serviço que o seu negócio precisa a connexio apoia seu negócio para que você não perca a liberdade de escolha e possa usufruir, dos serviços que escolher, sem ter que trabalhar com planilhas ou contar com entrada de dados manuais e retrabalho.