API | Bling - Autenticação
Bling API Introdução Bem-vindo ao Bling Developers! Neste repositório você irá encontrar toda a documentação necessária para integrar com o Bling. Por meio da nossa API é possível consumir recursos do Bling para atender as necessidades da sua empresa/clientes. Estruturada no padrão REST, onde você poderá utilizar métodos GET, POST, PUT, PATCH e DELETE, por meio de autenticação OAuth 2.0. A organização dessa documentação contempla informações sobre o Bling, o conceito de API e como utilizá-la. Sobre o Bling O Bling é um ERP que facilita a emissão de notas fiscais e boletos, além de realizar integrações nativas com plataformas de e-commerce, marketplaces e logísticas, tais como por API. Com o Bling é possível gerenciar todo o processo de compra e venda dos produtos de maneira facilitada, bem como possuir relatórios que auxiliam na análise e gestão empresarial. O que é API API (Application Programming Interface) é um conjunto de protocolos e ferramentas que facilitam a integração entre softwares e permitem que uma solução se comunique com outros produtos e serviços sem precisar acessar a interface gráfica da solução diretamente, tudo isso através do que chamamos de interface. O intuito de uma API é a troca de dados entre sistemas implementados em diferentes tecnologias que utilizam o mesmo protocolo de comunicação. No Bling, usamos a API para integrar as nossas soluções com nossos parceiros, sendo possível criar processos de automatização, atualização ou análise de registros, criação de novos aplicativos e uma vasta gama de soluções podem ser criadas para facilitar a vida dos nossos clientes. Para quem é destinada a API A API é pública e está disponível para quem deseja estender as funcionalidades já existentes no Bling, podendo criar plugins ou componentes em sistemas próprios. A utilização da API permite a realização de operações de forma independente, visto que os recursos do Bling serão controlados pelo cliente da API, podendo utilizar a API para implementar soluções próprias. Padrão REST No Bling, usamos um padrão de arquitetura para a API chamado de REST (Representational State Transfer). O REST ignora os detalhes da implementação do componente e a sintaxe de protocolo visando focar nos papéis dos componentes, nas restrições sobre sua interação e na sua interpretação de elementos de dados significativos. Ou seja, o usuário deve fazer uma requisição HTTP para algum endpoint disponível para solicitar, enviar ou modificar dados do sistema, então o endpoint de API transfere uma informação do estado do recurso ao solicitante. Essa informação é entregue via HTTP utilizando um formato de mensagem do tipo JSON. Exemplo de requisição, abaixo: GET https://api.bling.com.br/Api/v3/produtos Resposta do servidor: Cada requisição consiste em um método HTTP, um Header, uma URI e um Body que são explicados a seguir: O método HTTP diferencia a ação que o usuário deseja realizar pela API, sendo eles:
  • GET: Ação para obter uma ou mais entidades
  • POST: Ação para criar uma entidade ou executar uma ação
  • PUT: Ação para atualizar todos os dados de uma entidade
  • PATCH: Ação para atualizar parcialmente os dados de uma entidade
  • DELETE: Ação para remover uma entidade
Header: É o cabeçalho da requisição, as informações enviadas no header podem ser utilizadas para o servidor interpretar a requisição. Exemplo: Content-Type: application/json.
URI: Define o caminho onde a requisição irá ocorrer, por exemplo, em uma requisição para obtenção dos dados de produtos, a URI seria: /Api/v3/produtos.
Body: É o corpo da requisição, nele são informados os dados que serão enviados para o sistema e também são retornadas as informações da resposta de uma requisição.
Autenticação Fundamentos Dentro dos fundamentos da segurança entre redes, a API dispõe de regras que assegurem a confidencialidade, a integridade e a acessibilidade das informações disponíveis:
  • Confidencialidade: É a estrita regra de manter uma autorização através de uma autenticação de acesso ao recurso.
  • Integridade: Assegura que os dados não poderão ser alterados sem as devidas permissões, ou que os dados não sejam visualizados em conta diferente a qual está solicitando o uso ao recurso.
  • Acessibilidade: Permite a cada usuário uma disponibilidade de acesso sem prejudicar o serviço que por consequência afeta todos os outros usuários dos nossos recursos. Mantemos as informações dos nossos usuários seguras pela utilização de HTTPS e por tokens gerados por aplicativos OAuth.
OAuth e tokens de acesso OAuth 2.0 é um protocolo de autorização utilizado para permitir que aplicativos de terceiros tenham acesso limitado aos recursos dos usuários do sistema, no qual o sistema detentor dos dados do usuário fica encarregado de realizar a autenticação e, por fim, após a aprovação deste usuário, conceder a autorização para o aplicativo acessar os seus recursos. Descubra como criar seus aplicativos e gerar os tokens de acesso através do fluxo de autorização. Em resumo, quando um usuário autoriza determinado aplicativo a acessar os seus recursos, este aplicativo conseguirá obter os tokens necessários para realizar as requisições e acessar o recurso. Veja abaixo como utilizar o Bearer token gerado pelos aplicativos OAuth. Como utilizar os tokens O tipo de token fornecido pelo protocolo OAuth é o Bearer, portanto, utilize o esquema "Bearer" de autenticação HTTP, inserindo a chave de acesso no cabeçalho da requisição, veja o formato abaixo. GET /Api/v3/[caminho_da_api_desejada] Host: https://api.bling.com.br
Header: Authorization: Bearer [access_token]
Abaixo contempla um exemplo de uma requisição cURL para a API de contatos. Possíveis erros e exceções com relação ao uso destes tokens são tratados aqui.