Interface de Programação de Aplicação, cuja sigla API provém do Inglês Application Programming Interface, é um conjunto de rotinas e padrões estabelecidos por um software.
O propósito das APIs é o de simplificar o desenvolvimento de programas e aplicações. Isso permite que o desenvolvedor possa utilizar os serviços fornecidos pelas APIs de seu interesse.
API Web
É um conjunto de interfaces no contexto de desenvolvimento Web, geralmente expresso nos formatos XML ou JSON. Atualmente a técnica mais utilizada é REST.
O que é REST?
Representational State Transfer (REST), em português Transferência Representacional de Estado, é um estilo de arquitetura de software que define um conjunto de restrições a serem usadas para a criação de web services (serviços Web).
Os Web services que estão em conformidade com o estilo arquitetural REST, denominados Web services RESTful .
RESTful
Para que uma API seja considerada do tipo RESTful, ela precisa está em conformidade com os seguintes critérios:
Ter uma arquitetura cliente/servidor formada por clientes, servidores e recursos, com solicitações gerenciadas por meio de HTTP.
Realizar comunicação cliente/servidor stateless. Isso significa que cada solicitação é separada e não conectada com outras, e que nenhuma informação do cliente é armazenada entre elas.
Armazenar dados em cache para otimizar as interações entre cliente e servidor.
Ter uma interface uniforme entre os componentes para que as informações sejam transferidas em um formato padronizado. Para tanto, é necessário que:
os recursos solicitados sejam identificáveis e estejam separados das representações enviadas ao cliente;
os recursos possam ser manipulados pelo cliente por meio da representação recebida com informações suficientes para tais ações;
as mensagens autodescritivas retornadas ao cliente contenham informações suficientes para descrever como processá-las;
hipermídia seja incorporada. Isso significa que após acessar um recurso, o cliente precisa ser capaz de usar hiperlinks para encontrar todas as demais ações disponíveis para ele no momento.
Ter um sistema em camadas que organiza os tipos de servidores (responsáveis pela segurança, pelo carregamento de carga e assim por diante) envolvidos na recuperação das informações solicitadas em hierarquias que o cliente não pode ver.
Possibilitar código sob demanda (opcional): a capacidade de enviar do servidor para o cliente um código executável quando solicitado, a fim de ampliar as funções do cliente.
Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!