pablosanches/bling-sdk

This package is abandoned and no longer maintained. No replacement package was suggested.

SDK não oficial de integração com o Bling

v1 2022-09-22 15:33 UTC

This package is auto-updated.

Last update: 2023-08-22 17:40:28 UTC


README

Esta SDK foi desenvolvida com intuito de facilitar a integração de alguns módulos do Bling. Você pode acessar a documentação oficial do Bling neste link.

Índice

Instalação

Para instalar a SDK você pode usar o comando

composer require pablosanches/bling-sdk

ou você pode adicionar diretamente no seu composer.json

require": {  
  "pablosanches/bling-sdk": "*"
},

Configuração

Para incluir a biblioteca em seu projeto, basta fazer o seguinte:

<?php
require('vendor/autoload.php');

$bling = new PabloSanches\Bling::client('seu-token');

Caso você queria fazer as integrações de multiloja do Bling, você pode inicializar a biblioteca da seguinte forma:

<?php
require('vendor/autoload.php');

$bling = new PabloSanches\Bling::client('seu-token', 'id-da-loja-fornecido-pelo-bling');

E então, você pode poderá utilizar o cliente para fazer requisições ao Pagar.me, como nos exemplos abaixo.

Limites

Esta SDK segue todos os limites impostos pelo Bling de acordo com a documentação abaixo: Link da documentação.

Esta SDK também já consta com um sistema de paginação transparente, logo não é preciso se preocupar, todos os endpoints que utilizam o método GET já contém um sistema de paginação automático que retornará todos os registros de forma uniforma e transparente.

Funcionalidades

Campos customizados

Nesta seção será explicado como utilizar os campos customizados do Bling nesta SDK. Link da documentação.

Criando um campo customizado

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$retorno = $bling
		->campo_customizado()
		->insert($payload);
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Atualizando um campo customizado

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$retorno = $bling
		->campo_customizado()
		->update($payload);
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Deletando um campo customizado

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$retorno = $bling
		->campo_customizado($idCampoCustomizado)
		->delete();
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Retornando todos os campos customizados de um determinado módulo

Para retornar todos os campos customizados de um módulo em específico, basta seguir o exemplo abaixo: Link da documentação.

<?php
try {
	$modulo = 'Vendas';
	$retorno = $bling
		->campo_customizado($modulo)
		->fetch();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Retornando todos os campos customizados

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$retorno = $bling
		->campo_customizado()
		->fetchAll();
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Categoria

Nesta seção será explicado como utilizar as categorias do Bling nesta SDK. Link da documentação.

Criando uma nova categoria

Para criar uma nova categoria do bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$payload = array(); // Dados da categoria
	$retorno = $bling
		->categoria()
		->insert($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Atualizando uma categoria

Para atualizar uma categoria do bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$payload = array(); // Dados da categoria
	$idCategoria = 123;
	$retorno = $bling
		->categoria($idCategoria)
		->update($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Deletando uma categoria

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$retorno = $bling
		->categoria($idCategoria)
		->delete();
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Retornando todos as categorias

Para retornar todas as categorias do bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$retorno = $bling
		->categoria()
		->fetchAll();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Retornando uma categoria em específico

Para retornar os dados de uma categoria em específico no bling, basta para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$idCategoria = 123;
	$retorno = $bling
		->categoria($idCategoria)
		->fetch();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Categoria Loja

Nesta seção será explicado como utilizar os vínculos de multilojas de categorias do Bling nesta SDK. Link da documentação.

Para trabalhar com funcionalidades "multiloja", você precisa configurar seu cliente da SDK com o token e o id da loja fornecido pela configuração de integrações do Bling.

<?php
require('vendor/autoload.php');

$token = 'seu-token';
$idLojaVinculo = 123123;
$bling = new PabloSanches\Bling::client($token, $idLojaVinculo);

Criando um novo vínculo de categorias

Para criar um novo vínculo de categoria, basta seguir o exemplo abaixo: Link da documentação.

<?php
try {
	$idCategoria = 123;
	$payload = array();
	$retorno = $bling
		->categoria_loja($idCategoria)
		->insert($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Atualizando um vínculo de categorias

Para atualizar um vínculo de categoria basta você seguir o exemplo abaixo: Link da documentação.

<?php
try {
	$idCategoria = 123;
	$payload = array();
	$retorno = $bling
		->categoria_loja($idCategoria)
		->update($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Deletando um vínculo de categorias

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$retorno = $bling
		->categoria_loja($idCategoria)
		->delete();
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Buscando todos os vínculos de categoria

Para buscar todos os vínculos de categoria criados no bling, basta seguir o exemplo abaixo: Link da documentação.

<?php
try {
	$retorno = $bling
		->categoria_loja()
		->fetchAll();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Buscando um vínculos em específico de categoria

Para buscar um vínculo específico de categoria no bling, basta seguir o exemplo abaixo: Link da documentação.

<?php
try {
	$idCategoria = 123;
	$retorno = $bling
		->categoria_loja($idCategoria)
		->fetch();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Contato

Nesta seção será explicado como utilizar a funcionalidade de contatos do Bling nesta SDK. Link da documentação.

Criando um novo contato

Para criar um novo contato no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$payload = array(); // Dados do contato
	$retorno = $bling
		->contato()
		->insert($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Atualizando um contato

Para atualizar um contato no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$idContato = 123;
	$payload = array(); // Dados do contato
	$retorno = $bling
		->contato($idContato)
		->update($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Deletando um contato

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$retorno = $bling
		->contato($idContato)
		->delete();
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Buscando todos os contatos cadastrados no Bling

Para buscar todos os contatos cadastrados no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$retorno = $bling
		->contato()
		->fetchAll();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Buscando um contato em específico no Bling

Para buscar um contato em específico no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$retorno = $bling
		->contato($idContato)
		->fetch();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Depósito

Nesta seção será explicado como utilizar a funcionalidade de depósitos do Bling nesta SDK. Link da documentação.

Criando um novo contato

Para criar um novo depósito no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$payload = array(); // Dados do depósito
	$retorno = $bling
		->deposito()
		->insert($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Atualizando um depósito

Para criar um novo depósito no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$idDeposito = 123;
	$payload = array(); // Dados do depósito
	$retorno = $bling
		->deposito($idDeposito)
		->update($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Deletando um depósito

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$retorno = $bling
		->deposito($idDeposito)
		->delete();
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Buscando todos os depósitos cadastrados no Bling

Para buscar todos os depósitos cadastrados no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$retorno = $bling
		->deposito()
		->fetchAll();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Buscando um depósito em específico no Bling

Para buscar um contato em específico no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$retorno = $bling
		->deposito($idDeposito)
		->fetch();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Nota Fiscal

Nesta seção será explicado como utilizar a funcionalidade de nota fiscal do Bling nesta SDK. Link da documentação.

Criando uma nova nota fiscal

Para inserir uma nota fiscal no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$payload = array(); // Dados da nota fiscal
	$retorno = $bling
		->nota_fiscal()
		->insert($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Atualizando uma nota fiscal

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$retorno = $bling
		->nota_fiscal($idNotaFiscal)
		->delete();
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Deletando uma nota fiscal

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$retorno = $bling
		->nota_fiscal($idNotaFiscal)
		->delete();
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Buscando todas as notas fiscais cadastradas no Bling

Para buscar todos os depósitos cadastrados no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$retorno = $bling
		->nota_fiscal()
		->fetchAll();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Buscando uma nota fiscal específica no bling

Para buscar um contato em específico no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$numero = 123;
	$serie = 1;
	$retorno = $bling
		->nota_fiscal($numero, $serie)
		->fetch();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Pedido

Nesta seção será explicado como utilizar a funcionalidade de pedidos do Bling nesta SDK. Link da documentação.

Criando um novo pedido

Para criar um novo pedido no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$payload = array(); // Dados do pedido
	$retorno = $bling
		->pedido()
		->insert($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Atualizando um pedido

Para atualizar um pedido no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$idPedido = 123;
	$payload = array(); // Dados do pedido
	$retorno = $bling
		->pedido($idDeposito)
		->update($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Deletando um pedido

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$retorno = $bling
		->pedido($idPedido)
		->delete();
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Buscando todos os pedidos cadastrados no Bling

Para buscar todos os pedidos cadastrados no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$retorno = $bling
		->pedido()
		->fetchAll();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Buscando um pedido em específico no Bling

Para buscar um pedido em específico no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$retorno = $bling
		->pedido($idPedido)
		->fetch();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Produto

Nesta seção será explicado como utilizar a funcionalidade de produtos do Bling nesta SDK. Link da documentação.

Criando um novo produto

Para criar um novo produto no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$payload = array(); // Dados do produto
	$retorno = $bling
		->produto()
		->insert($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Atualizando um produto

Para atualizar um produto no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$idProduto = 123;
	$payload = array(); // Dados do produto
	$retorno = $bling
		->produto($idProduto)
		->update($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Deletando um produto

Para atualizar um produto no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$idProduto = 123;
	$retorno = $bling
		->produto($idProduto)
		->delete();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Buscando todos os produtos cadastrados no Bling

Para buscar todos os produtos cadastrados no bling para seguir o exemplo abaixo. Link da documentação.

Caso o cliente desta SDK tenha cido inicializada com os dados de multiloja, automaticamente todos os produtos retornaram com seus vínculos caso existam.

<?php
try {
	$retorno = $bling
		->produto()
		->fetchAll();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Buscando um produto em específico no Bling

Para buscar um pedido em específico no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$retorno = $bling
		->produto($idProduto)
		->fetch();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Produto Loja

Nesta seção será explicado como utilizar os vínculos de multilojas de produtos do Bling nesta SDK. Link da documentação.

Para trabalhar com funcionalidades "multiloja", você precisa configurar seu cliente da SDK com o token e o id da loja fornecido pela configuração de integrações do Bling.

<?php
require('vendor/autoload.php');

$token = 'seu-token';
$idLojaVinculo = 123123;
$bling = new PabloSanches\Bling::client($token, $idLojaVinculo);

Criando um novo vínculo de produto

Para criar um novo vínculo de categoria, basta seguir o exemplo abaixo: Link da documentação.

<?php
try {
	$idProduto = 123;
	$payload = array();
	$retorno = $bling
		->produto_loja($idProduto)
		->insert($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Atualizando um vínculo de produto

Para atualizar um vínculo de produto basta você seguir o exemplo abaixo: Link da documentação.

<?php
try {
	$idProduto = 123;
	$payload = array();
	$retorno = $bling
		->produto_loja($idProduto)
		->update($payload);
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Deletando um vínculo de produto

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$retorno = $bling
		->produto_loja($idProduto)
		->delete();
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Buscando todos os vínculos de produto

Para buscar todos os vínculos de produto criados no bling, basta seguir o exemplo abaixo: Link da documentação.

<?php
try {
	$retorno = $bling
		->produto_loja()
		->fetchAll();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Buscando um vínculos em específico de produto

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$retorno = $bling
		->produto_loja()
		->fetchAll();
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Situação

Nesta seção será explicado como utilizar a funcionalidade de situações do Bling nesta SDK. Link da documentação.

Criando uma nova situaçao

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$payload = array();
	$retorno = $bling
		->situacao()
		->insert($payload);
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Atualizando uma situação

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$payload = array();
	$retorno = $bling
		->situacao($idSituacao)
		->update($payload);
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Deletando uma situação

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$payload = array();
	$retorno = $bling
		->situacao($idSituacao)
		->delete();
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Buscando todos as situações de um módulo

Para buscar todas as situações de um módulo no bling para seguir o exemplo abaixo. Link da documentação.

<?php
try {
	$retorno = $bling
		->situacao('Venda')
		->fetchAll();
} catch (\Exception $e) {
	var_dump($e->getMessage());
}

Buscando uma situação em específico no Bling

Esta funcionalidade não foi disponibilizado pela API do Bling, logo quando você tentar executar esta ação você receberá uma exception dizendo que este endpoint está indisponível.

<?php
try {
	$payload = array();
	$retorno = $bling
		->situacao($idSituacao)
		->fetch();
} catch (InvalidEndpointException $e) {
	var_dump($e->getMessage()); // Esta funcionalidade está indisponível.
}

Enjoy it ;)