Guia da Extensão #15 - ItoolsHub - Hub para integração com marketplaces e erps
Guia para utilização do itoolsHub para integração com os produtos e pedidos do Interago
Sumário
1. Introdução e links importantes
O iToolsHub é uma ferramenta de integração com marketplaces. O Interago pode enviar e receber produtos e estoque do Hub.
O site oficial do iToolsHub é o ittolshub.com.br, a ferramenta é da Bring Commerce.
Link para o painel do Itools
⚙️ Documentação no Postman da API
2. Como utilizar o ItoolsHub
2.1 Conta
Cada cliente que vai utilizar o iToolsHub precisa de uma conta. Ela é solicitada ao Roberto ou ao Caio primariamente por e-mail: caio@bring.com.br e roberto@bring.com.br.
Todas as contas abertas são faturadas na conta do Jonathan - jonathan@ecowebdesign.com.br
⚠️ É importante que todos os dados de conta esteja em nosso CRM, no respectivo cliente
2.2 Configuração no Interago
1) O site precisa ter a extensão #15 instalada
2) É necessário adicionar o id e token em ⚙️ Configurações
3) É necessário que a opção Sincronizar Produtos esteja ativa para utilizar a extensão.
4) Deixe ativa a opção Sincronizar Estoque para uso do estoque do iToolsHub, o qual é atualizado diariamente.
3. Como enviar as categorias e os produtos para o itoolsHub
3.1 Envio de categorias e produtos de uma vez (assíncrono)
1) Acesse a extensão 5 📦 Catálogo de Produtos
2) Vá em 🌎 Atualizar
3) Exclusivamente para os clientes que possuem a conta do iTools Ativa, a caixa Integração com o itoolsHub irá aparecer na tela
4) Utilize enviar categorias e Enviar Produtos e Estoque para o envio, respectivamente.
5) Acompanhe em Extensão #15 > 🛜 Status o andamento dos envios
4. Como funciona a dinâmica de atualização automática
4.1 Envio ao atualizar e publicar produto
Sempre que um produto é editado > Atualizar, ele é enviado para ser atualizado no iToolsHub automaticamente.
⚠️ O produto não é sincronizado ao criar o produto ou editar variações, precisa sempre Atualizar.
4.2 Ao deletar um produto ou remover variações
Ao remover produto, remover variação ou mesmo adicionar variações filhas, ordens de remoção são enviadas para o iToolsHub.
⚠️ Nenhum produto é deletado no iToolsHub, o envio da ordem é para alterar o status para inativo.
4.3 Adicionar, alterar ou deletar categorias
Sempre que uma categoria é adicionada, alterara ou deletada, é enviada a ordem de atualização para o iToolsHub. Assim como os produtos, as categorias não são deletadas, somente inativadas.
4.4 Atualização de estoque em pedidos efetuados
Sempre que um pedido é efetuado e a opção de sincronizar estoques está ativa, o Interago envia a ordem de redução de estoque para o iToolsHub e retorna o estoque atualizado para os produtos do Interago.
5. Atualizações manuais por meio da Extensão #15 📦 > SKUs
É possível solicitar atualizações manuais por meio da extensão #15 para os produtos de interesse, sem precisar atualizar tudo com o Atualizar do catálogo de produtos.
O objetivo dessa tela é acessar os SKUs do Interago divididos por produtos simples ou variações e assim comparar que está no Interago com o que está no iToolsHub. Ao selecionar o produto, é possível solicitar a atualização individual (produto a produto).
💡 É possível checar as filas de atualizações diretamente na Extensão #15 > Status, onde a fila é exibida com um tempo máximo para sua resolução total, caso haja itens na fila.
6. Importando produtos do iToolsHub para o Interago
Ainda na Extensão #15 > SKUs é possível Abrir as categorias e produtos para copiar ou importar para o Interago.
6.1 Copiando categorias
Ao selecionar uma categoria, abre-se a janela com seus respectivos produtos. Ao copiar Categoria, o nome da categoria é copiado para uma pasta desejada.
⚠️ Somente o nome é copiado e o Id da categoria no iToolsHub receberá o novo id do Interago, perdendo o Id original.
⚠️ Somente o nome da categoria é copiada, os produtos, não.
6.2 Copiando produtos (importando)
Na mesma tela do item acima, é possível importar produtos de 15 em 15. Ao selecionar os produtos conforme a imagem abaixo e clicar em Copiar Produtos, abre uma opção para escolher para qual pasta do Interago o produto será copiado.
⚠️ A cópia sempre cadastra produtos simples
⚠️ Todos os produtos irão para a pasta selecionada em copiar e não para as pastas respectivas do iToolsHub.
7. Característias técnicas importantes
7.1 Todo produto enviado para o iToolsHub se transforma em um produto simples
Se um produto com 5 variações, por exemplo, é enviado para o iToolsHub, ele se tornará 5 produtos diferentes no iToolsHub, por isso é importante que os SKUs estejam preenchidos corretamente.
7.2 Ao Atualizar um produto, o estoque sempre é enviado
Quando um produto é atualizado e publicado via edição de produto, o estoque sempre é enviado novamente. Se um produto possui estoque 2 no Interago e 5 no iToolsHub, ele será alterado para 2 no iToolsHub. ⚠️ Cuidado e consulte os estoques no iToolsHub antes de alterar e atualizar um produto.
7.3 Atualizar o catálogo inteiro não atualiza o iToolsHub
Quando a loja é atualizada em 🌎 Atualizar, o iToolsHub não é atualizado automaticamente. É necessário fazer essa atualização também em Atualizar, mas na Integração com o iToolsHub.
⚠️ É recomendado atualizar primeiro a loja e depois a integração com o iToolsHub para que o envio de preços seja atualizado corretamente.
7.4 O preço enviado é o do produto, e o preço promocional é o menor preço possível
Os preços enviados para o iToolsHub são o preço do produto, ou para variações, preço do produto somado do preço da variação e o preço promocional é o preço gerado após cálculos de descontos e armazenado em JSON na tabela de produtos.
7.5 A imagem usada é a do produto, em variações, também caso não exista uma
É enviado somente a imagem principal do produto. Os produtos gerados a partir de variações podem utilizar a imagem da variação. Caso a variação não tenha imagem, é usada a principal.
⚠️ Produtos sem imagens não são enviados para o iToolsHub.
8. Informações de desenvolvimento
- As rotinas utilizadas estão em /15/api/routines e são:
- createStockPile.php para criar as pilhas diárias de atualização de estoque. Os estoques são atualizados de 50 em 50 produtos. A rotina roda diariamente às 5h23 (horário de SP).
- proccessPileTasks.php é o script principal que invoca os métodos (funções) para cada finalidade, conforme descrito a seguir. O script é executado todos os dias a cada 3 minutos.
- createStockPile.php para criar as pilhas diárias de atualização de estoque. Os estoques são atualizados de 50 em 50 produtos. A rotina roda diariamente às 5h23 (horário de SP).
- O banco utilizado para gestão do iToolsHub é o iToolsHub, esquema junto com o admin_interago no mariaDB da AWS RDS.
- Os métodos utilizados são:
- addCatInd: Adição de novas categorias
- updateCatInd: update de novas categorias
- deleteCatInd: muda o status das categorias para 0
- ⚠️ createOrUpdateProductInd: Função para criar ou alterar um produto simples ou vários produtos (variações) conforme id do produto principal no Interago - é função principal de envio de produtos
- deleteProductInd: muda o status de um produto para 0
- deleteProductMass: muda o status de vários produtos para 0 - usado quando no Interago é somente um produto, mas por ter variações, são vários no iToolsHub
- getSimpleProductStock: utilizada para coletar os estoques lá no iToolsHub de produtos simples no Interago. Usada na rotina para atualizar o estoque.
- getVariationProductStock: utilizada para coletar os estoques lá no iToolsHub de produtos que são variações no Interago. Usada na rotina para atualizar o estoque.
- reduceSimpleProductStock: Utilizada ao finalizar pedidos para atualizar estoques
- reduceVariationproductStock: Utilizada ao finalizar pedidos para atualizar estoques de produtos que são variações
- getAndCopyCategory: Utilizada na tela de SKUs dentro da Extensão #15. Copia nomes de categorias para o Interago, mas atualiza o id da categoria no iToolsHub.
- getAndCopyProduct: Utilizada na tela de SKUs dentro da Extensão #15. Copia produtos do iToolsHub para o Interago.
- ⚠️ A tabela PileTasks possui as colunas de controle piletasksObject (int) e piletasksJson (varchar) para controle. Normalmente o piletasksObject é usada para o id do produto e cada função utiliza o piletasksJson da forma que é necessária para ela funcionar.
- Os retornos da PileTasks ocorrem na piletasksDoneStatus, normalmente com o método vem primeiro, separado por : e mensagem, por exemplo: POST: Success; quando trata-se de várias chamadas da API, o piletasksDoneStatus é concatenado com diversos retornos.