O projeto de integração de dados entre a SwSoft e o Bling tem como objetivo a implantação de uma interface de conversação entre os servidores da SwSoft com as API's de dados do Bling para utilização do Software SwSoft por parte dos clientes do Bling.
Ao longo deste documento são descritos os processos utilizados e os dados que serão sincronizados e tratados dentro dos servidores da SwSoft a fim de reunir as informações necessárias para que o SwSoft consiga criar painéis, visões, dashboards, análises e estabelecer previsões que estarão disponíveis na plataforma com acesso controlado por usuário e senha dos clientes integrados.
A API V3 JÁ ESTÁ DISPONÍVELA API v2 foi descontinuada e não receberá mais atualizações. Acesse a documentação da API v3 As integrações API v2 que já estão configuradas, seguirão funcionando temporariamente. Realize a migração para a nova versão o mais breve possível. |
Modelo Operacional
A SwSoft disponibiliza para cada cliente uma base de dados única que contém todas as informações necessárias para o funcionamento do software SwSoft . Para cada base de dados são criados comandos de sincronização responsáveis por realizar requisições e consumir os retornos das API's da Bling . Estes comandos são controlados por um serviço instalado nos servidores da SwSoft que define os parâmetros da consulta e a hora que estes comandos serão executados.
Uma vez executado, o comando de sincronização faz uma requisição para a API da Bling com a chave de integração do cliente para um endereço de API que também estão armazenados na base de dados de cada cliente.
O retorno da requisição é processado nos servidores da SwSoft e a informação é tratada para ser inserida na base da dados do cliente na SwSoft.
Comunicação com o Bling
A SwSoft irá disponibilizar uma base de dados única para cada cliente integrado.
Nesta base de dados estarão contidas todas as informações necessárias para o funcionamento do software SwSoft, assim como as informações necessárias para a sincronização dos dados:
Hora de início para sincronização dos dados
Define a hora do dia que a sincronização dos dados terá início, não podendo ser executada antes e se necessário executada mais de uma vez após esta hora caso ocorre exceções na sincronização dos dados.
Data e hora da última sincronização bem-sucedida
Armazena a data e hora da última sincronização de dados bem-sucedida entre a base de dados do cliente e as API's do Bling. Esta data servirá de parâmetro nas próximas sincronizações para não haver consumo excessivo dos servidores da SwSoft e do Bling .
Comandos da sincronização
Os comandos de sincronização são responsáveis por fazer as requisições aos endereços das API's do Bling que neles estiverem cadastradas. Estes mesmos comandos devem conter os scripts necessários para tratar os retornos das requisições realizadas.
A SwSoft irá disponibilizar, também, um serviço instalado em seus servidores que será responsável por controlar o momento em que os comandos de sincronização deverão ser executados, obedecendo às configurações estabelecidas em cada base de dados.
No momento em que os comandos de sincronização são liberados para execução, este serviço irá lançar uma aplicação em back-end, executada nos servidores da SwSoft que irá executar em lote todos os comandos de sincronização cadastrados e ativos na base dados do cliente junto à SwSoft.
Cada comando possui um link de API referente à listagem dos dados necessários para sincronização. Este link contém a chave de integração do cliente, e quando possível, outros parâmetros de consulta. Tudo isso para que a informação seja filtrada, evitando o processamento excessivo dos servidores da SwSoft e do Bling. Com posse desta listagem, este executável que está sendo processado nos servidores da SwSoft decide quais as informações que serão necessárias para inserir ou atualizar os dados na base de dados do cliente na SwSoft. Os parâmetros para esta tomada de decisão também estão contidos no cadastro do comando de sincronização que está sendo executado.
Após a análise e com a lista de Id's necessárias para inserção/atualização dos dados, o executável faz uma nova requisição aos links das API's do Bling utilizando o ID de integração do cliente e o ID do registro que se deseja trazer os detalhes. Após a análise do retorno, o mesmo executável insere ou atualiza as informações na base de dados do cliente junto à SwSoft.
Este processo é repetido para todos os comandos de sincronização cadastrados na base de dados do cliente.
O fluxograma a seguir ilustra o modelo conceitual descrito.
Dados consumidos do Bling
Serão consumidos os seguintes dados da base do cliente junto ao Bling:
- Contatos
› Clientes
› Vendedores
› Fornecedores
https://bling.com.br/Api/v2/contatos/json/
https://bling.com.br/Api/v2/contato/{cpf_cnpj}/json/
-
Produtos e Serviços
https://bling.com.br/Api/v2/produtos/json/
https://bling.com.br/Api/v2/produto/{codigo}/json/
-
Vendas
https://bling.com.br/Api/v2/pedidos/json/
https://bling.com.br/Api/v2/pedido/{numero}/json/
Dados inseridos/atualizados no Bling
Nesta primeira versão de sincronização dos dados não serão inseridas ou atualizadas informações na base de dados da Bling.
Tela principal de acesso do SwSoft para um usuário do Bling