# Documentação Integração Bling ERP Premium Opencart
Documentação oficial do Módulo [**Integração Bling ERP Premium Opencart**](https://www.codemarket.com.br/produto/integracao-bling-erp-premium-opencart), ensinando como Configurar e usar.
A primeira instalação da melhoria é feita pela nossa equipe.
**Demostração dos novos recursos da versão 2.0 do Bling ERP para Opencart, agora com suporte a Categorias e Status de Filtros dos Pedidos**
## Importante
Importante sempre informar SKU único nos Produtos e Opções.
O Bling usa o SKU como referência, semelhante a um ID do Produto, se estiver sem ele e importar novamente o Produto, o Bling vai cadastrar um novo se estiver sem SKU.
O SKU precisa ser único por Produto e por Opções, caso precise de um gerador para facilitar, indicamos o Módulo:
[Gerador Automático - URL Amigável, SKU e Modelo dos Produtos para Opencart](https://www.codemarket.com.br/produto/gerador-automatico-url-amigavel-sku-e-modelo-dos-produtos-para-opencart)
## Instalação
**Aprenda passo a passo como Instalar e demostração de alguns recursos do Bling ERP**
**Estes passos são o resumo do que nossa equipe faz ao instalar a integração em sua loja Opencart:**
1. Cadastrar a Loja em Minha Conta → Lojas se não estiver cadastrada
2. Instalar o Painel Codemarket e verificar a instalação, se não tiver instalado antes
3. Gerar a Licença de uso para a Loja
4. Subir os arquivos da melhoria da sua versão do Opencart pelo FTP/SFTP
5. Em Extensões → Modificações → Clicar no ícone azul para atualizar o cache das Modificações
6. No Bling ERP criar o usuário da API e validar a comunicação com a Loja.
7. Clique no ícone da engrenagem no Bling ERP → Sistema → [Usuários e usuário API](https://www.bling.com.br/usuarios.php#list) → Cique em INCLUIR USUÁRIO do lado direito
8. Escolha USUÁRIO API , informe um Nome e E-mail e clique em GERAR, anote a API Key Gerada e salve no Painel da melhoria no campo API key Bling
9. Marque as Permissões de preferência todas as opções e depois clique em SALVAR
10. Clique no ícone da engrenagem no Bling ERP → Integrações → Configurações de integração com lojas virtuais e marketplaces → Plataformas → Escolha Opencart
11. Informe o nome Nome do canal de venda, recomendamos o nome da Loja - Opencart
12. Na URL do canal de venda informe a URL da Loja, exemplo: https://www.seusite.com.br, troque seusite pelo domínio do seu site
13. No Secret key informe a chave Chave de Segurança Rest API cadastrada no Painel da melhoria
14. Clique em TESTAR e depois do sucesso em SALVAR
15. Pronto melhoria instalada, agora basta usar
**Obs:** importante a loja não estar em manutenção e não ter bloqueio da Hospedagem ou WAF/CDN para pegar a melhoria, pois o Bling precisa conseguir se comunicar com a API que está na loja para o seu funcionamento.
Precisa ter pelo menos 1 Produto cadastro na Loja para pegar a verificação do Bling ERP.
## Importando dados Produtos API V2
Recurso para importar dados adicionais para o Bling ERP, no momento serve para importar as Imagens, GTIN/EAN, NCM, CEST, Localização, Observação e URL do Produto para o Bling ERP.
Interessante ser usado este recurso, após Importar/Sincronizar Produtos do Opencart para o Bling ERP, pode ser rodado manualmente a URL ou por Cron Job.
**URL para rodar:**
https://www.seusite.com.br/index.php?route=feed/rest_api/updateProdutoBlingApiV2&key=sua_key
**Troque:**
**seusite.com.br** pelo endereço do seu site
**sua_key** pela Chave de Segurança Rest API informada no Painel da melhoria
A URL acima é montada também no Painel da melhoria em Dicas e Cron Job para facilitar.
**Comando Cron Job:**
wget -q -O - 'https://www.seusite.com.br/index.php?route=feed/rest_api/updateProdutoBlingApiV2&key=sua_key' >/dev/null 2>&1
Recomendado rodar no Cron Job a cada 5-10 minutos ou conforme o tempo médio que costuma Importar os Produtos do Opencart para o Bling, pode se preferir rodar manualmente também a URL após importar novos Produtos.
Após rodado, a melhoria limpa o cache da lista de Produtos a ser rodado, logo só roda se tiver Produtos adicionados/atualizados novos, assim otimiza o seu uso.
Cada produto tem um intervalo de 330ms/0.33s, devido o limite de 3 chamadas por segundo do Bling ERP, logo se tem 3 Produtos para enviar as imagens, vai levar pelo menos 1s + o tempo da API do Bling.
## Sincronizando o Status do Pedido Automáticamente - Bling -> Opencart
A partir da versão 1.5 da melhoria, pode sincronizar os Status do Pedido com base na Situação do Pedido no Bling ERP.
Este recurso é feito com o recurso de Callback do Bling, que se comunica com o novo recurso da API, quando uma Situação do Pedido muda no Bling.
**URL do Callback:**
https://www.seusite.com.br/index.php?route=feed/rest_api/callbackOrder&key=sua_key
**Troque:**
**seusite.com.br** pelo endereço do seu site
**sua_key** pela Chave de Segurança Rest API informada no Painel da melhoria
A URL acima é montada também no Painel da melhoria em Dicas e Cron Job para facilitar.
**Passos:**
* Logue no Bling ERP
* Acesse Home → Preferências → Integrações → Configurações de integração com lojas virtuais e marketplaces
* Escolha Bling API, informe o Nome desejado em Nome do canal de venda
* Clique em Callbacks e configure como a imagem abaixo, trocando apenas a URL do Callback no número 4:
![Configuração Callback Situação Pedido Bling ERP](https://www.codemarket.com.br/image/artigos/doc-bling-erp-premium-opencart/codemarket-bling-erp-opencart-bling-callback-pedido.png)
Pronto, agora após mudanças na Situação do Pedido a loja vai ser notificada e alterado o Status do Pedido se não foi ainda usado o Status.
## Sincronizando o Estoque dos Produtos Automáticamente - Bling -> Opencart
A partir da versão 1.8 da melhoria, pode sincronizar o Estoque dos Produtos do Bling ERP para o Opencart.
Este recurso é feito com o recurso de Callback do Bling, que se comunica com o novo recurso da API, quando o estoque de um Produto muda no Bling.
A URL acima é montada também no Painel da melhoria em Dicas e Cron Job para facilitar.
**URL do Callback:**
https://www.seusite.com.br/index.php?route=feed/rest_api/callbackStock&key=sua_key
**Troque:**
**seusite.com.br** pelo endereço do seu site
**sua_key** pela Chave de Segurança Rest API informada no Painel da melhoria
**Passos:**
* Logue no Bling ERP
* Acesse Home → Preferências → Integrações → Configurações de integração com lojas virtuais e marketplaces
* Escolha Bling API, informe o Nome desejado em Nome do canal de venda
* Em Callbacks no Tipo de retorno no callback escolha JSON
* Callback de estoque marque como Ativado e informe a URL criada acima, depois clique em SALVAR
Pronto, agora após mudanças no estoque dos Produtos no Bling a loja vai ser notificada e altera o estoque dos Produtos conforme a notificação do Bling ERP.
## Configuração
* Logar no Administrador do Opencart
* Configurar em Extensões → Extensões → Módulos Premium, clicando no ícone de Configurar na linha da melhoria.
Vai abrir o Painel da melhoria, configure como desejado, evite mexer na parte das chaves/tokens e na parte do SKU deixe code_sku se estiver usando nossa melhoria de Opções e o Opencart Oficial do Opencart.com.
Imagens da tela de Configuração:
![Tela de Configuração da melhoria Bling ERP Premium Opencart - Configuração Inicial](https://www.codemarket.com.br/image/artigos/doc-bling-erp-premium-opencart/codemarket-bling-erp-opencart-painel-configuracao-inicial.png)
![Tela de Configuração da melhoria Bling ERP Premium Opencart - Personalizações e Campos Extras](https://www.codemarket.com.br/image/artigos/doc-bling-erp-premium-opencart/codemarket-bling-erp-opencart-painel-configuracao-personalizacoes.png)
**Vídeo ensinando a Configurar:**
## Uso da integração
Todo uso da integração é feito com a interação dentro do Bling ERP, após estar logado.
Logo primeiro precisa logar no Bling ERP: https://www.bling.com.br/login .
**Suporta dois recursos essenciais:**
- Importar Pedidos
- Importar/Exportar Produtos, recomendo importar da Loja → Bling
### Como importar Pedidos
- Entre em Vendas → Pedidos de venda multilojas
- Em Selecione seu canal de venda, escolha sua loja Opencart
- No lado esquerdo tem um ícone de um Filtro, pode abrir ele se desejar usar os Filtros
- Clique em Visualizar para ver os Pedidos
- Clique em Importar no Pedido que deseja importar
- Após importado o Pedido fica em Vendas → Pedidos de Venda
### Configurar o Produto para o uso do Código/SKU
Configuração obrigatória, por padrão a maioria já está com está configuração como padrão.
- No menu do topo no lado direito, clique no ícone da engrenagem
- Depois ao lado esquerdo em Cadastros → Configurações de produtos
- No **Código do produto** selecione Manual
- No final da página clique em Salvar
### Configurar imagem dos Produtos no Bling ERP
No Bling ERP pode configurar para as imagens serem baixadas no Bling, ocupando espaço ou ser adicionada apenas a URL da imagem usada na Loja.
- No menu do topo no lado direito, clique no ícone da engrenagem
- Depois ao lado esquerdo em Integrações → Configurações para lojas virtuais
- No **Na importação/Exportação de produtos para Lojas Virtuais e Marketplaces, considerar** tem duas opções:
Imagens armazenadas no Bling: Escolha para Armazenar as imagens no Bling
URL de Imagens Externas: Escolha para só salvar a URL da imagem no Bling, boa opção para economizar o espaço do Bling
Tempo de validade das imagens:
- No **Validade das Imagens quando vinculadas e expostas externamente (API e/ou Exportação via Integração)** escolha o tempo desejado para a validade das imagens importadas.
Por padrão pode escolher 1 mês (30 dias) até 1 ano (365 dias), recomendo configurar para 1 ano
### Como importar Produtos para o Bling
Entre em Cadastros → Produtos, aqui onde vai fazer toda interação com os produtos, como importar, exportar e sincronizar estoque e preços.
Para importar os Produtos da sua Loja Opencart para o Bling, no menu do lado direito clique em **Importar Produtos Multilojas**, vai abrir um Modal, em Selecione o canal de venda escolha a sua Loja Opencart, defina a faixa inicial e final da data de cadastro dos Produtos a serem importados e clique em **Importar**.
Aguarde alguns segundos, após o Processo deve aparecer os Produtos, recomendamos fazer o processo anterior novamente, pois dependendo da velocidade, que o Bling leva para salvar os Produtos, pode não ter chego as imagens e outros recursos enviados pela API v2.
### Como importar os Produtos do Bling para o Opencart
Na tela de Cadastros → Produtos, clique marque o Produto ou Produtos que deseja enviar para a sua Loja Opencart, no menu do lado direito, clique em Exportar produtos multiloja.
Em Selecione a loja que deseja utilizar para esta operação, escolha a Loja Opencart e no Selecione o Deposito que deseja utilizar para esta operação escolha o Deposito usado.
Clique em Exportar e aguarde alguns segundos, pronto deve ter exportados os Produtos do Bling para o Opencart com sucesso.
No Painel da melhoria Configurar o Importar Produto - Bling -> Loja para o tipo desejado e também em Importar Imagens - Bling -> Loja se deseja ou não importar as imagens do Bling para o Opencart.
#### Importando um Produto Variação no Bling para o Opencart como Opção no Opencart
No Painel da Configuração em Importar Produto - Bling -> Opencart escolha: Importar Produto Variação como Opção no Produto Pai
Recurso adicionado a partir da versão 1.8 da integração.
Com isso um Produto Variação no Bling pode ser cadastrado como Opção de um Produto Pai/Principal na sua Loja Opencart caso envie o Produto do Bling -> Opencart .
Podendo agora ao importar um Produto Variação adicionar como Opção, Produto Normal ou não importar para a Loja.
Importante o Produto Variação no Bling estar no Padrão: Título do Produto Nome:Valor
Onde o Nome é o Nome da Opção previamente cadastrada na sua Loja, por exemplo: Tamanho, Cor ou outro nome desejado, tem que ser idêntico ao Nome da Opção
Valor: Valor da Opção, tem que estar Cadastrado na Opção na sua Loja Opencart, por exemplo: P, M, G, GG, 35, 36, 37, 38, 39, Azul, Verde, Vermelho, Branco, Cinza, Amarelo, Rosa e outros valores possíveis, tem que ser idêntico ao Valor da Opção.
**Exemplos certos:**
Camiseta Azul Tamanho:M
Camiseta Verde Tamanho:P
Calça Cor:Verde
Título do Produto Nome:Valor
**Exemplos errados:**
Camiseta Tamanho:M;Cor:Azul - Vai cadastrar apenas a Opção Tamanho M, pois só pode ter 1 Opção por Produto Variação devido termos que salvar o SKU/Código único
Camiseta Tamanhp;M - Errado devido o uso do ; no lugar do :
### Como sincronizar Estoque e Preços dos Produtos
Aprenda a sincronizar o Estoque e Preços do Bling para o Opencart.
Importante: No ícone do Carrinho Verde da listagem dos Produtos, fica o Preço do Produto passado para a Loja, caso queira mudar o Preço para uma Loja/Plataforma precisa mudar nele, clicando nele, depois em Exibir e alterando o Preço.
O Preço Promocional o Bling envia da mesma forma, que o Preço, porém troca o Preço por ele, logo se preencher ele, vai ficar no lugar do Preço na sua loja.
- Acesse Cadastros → Produtos
- Selecione o Produto ou Produtos que deseje sincronizar
**Sincronizar os estoques:**
- No menu do lado direito, clique em Sincronizar estoque do sistema na loja virtual
- Escolha em Selecione a loja que deseja utilizar para esta operação a Loja Opencart
- Escolha em Selecione o Deposito que deseja utilizar para esta operação o Deposito usado
- Clique em Sim e Aguarde alguns segundos
**Sincronizar os preços:**
- No menu do lado direito, clique em Sincronizar preços do sistema na lojas virtual
- Escolha em Selecione a loja que deseja utilizar para esta operação a Loja Opencart
- Clique em Sim e Aguarde alguns segundos
### Erro na Importação/exportação ou sincronização dos Produtos
Em caso de erro na Importação/exportação ou sincronização dos preços e estoques, o Bling pode remover o ID do Produto.
Se o produto já estava em sua Loja Opencart e relacionado no Bling, importante verificar n ícone do Carrinho Verde da listagem dos Produto, clicando em Exibir, se o ID na Loja continua com o ID do Produto na Loja, caso esteja 0, precisa ser adicionado o ID do Produto certo, caso contrário ao importar/exportar, o Bling vai criar um Produto novo nele ou na sua loja Opencart.
A partir da versão 1.5 da nossa integração, usamos o SKU do Produto para descobrir o ID dele na Loja, assim evita o detalhe acima, porém ainda é muito importante o ID do Produto correto no Bling para sincronizar o Estoque e Preços.