Esta documentação tem como objetivo descrever como funciona o envio de estoque do ERP TOTVS Varejo Supermercados para o Shopify utilizando a plataforma TOTVS iPaaS como middleware de comunicação.
O iPaas consulta as marcas no ERP a partir do endpoint: GET SMPedidoVendaAPI/api/v1/Cadastros/ProdutoEstoque .
Utilizando as variáveis:
No Hub é necessário configurar a data de controle da integração e a página separadamente para Matriz e Filial.
Controle para matriz: https://hubecommerce.totvs.app/sync-control
Controle para Filiais: https://hubecommerce.totvs.app/sync-control-branch
Para que os estoques sejam enviados para as empresas corretas na plataforma do Shopify é necessário que no Hub e-ecommerce as filiais estejam cadastradas https://hubecommerce.totvs.app/branches
e para cada filial cadastrada, um estoque seja configurado.
https://hubecommerce.totvs.app/stock
Para o cadastro de um novo estoque é preciso criar o local no Shopify.
Após criado o local é possível identificar o código estoque E-Commerce gerado pelo Shopify para ser configurado no Hub.
Para o cadastro de estoque no Hub é preciso informar a filial criada no Hub, o nome do estoque, o código da empresa no ERP e o código gerado no Shopify.
Os códigos de estoque E-Commerce são validados no IPaaS. Somente serão integrados os estoques das filiais que estão configuradas corretamente com o código de estoque E-Commerce.
Para funcionamento é necessário ter o módulo web SmPedidoVendaAPI instalado a partir da versão 24.01.026 e 24.07.001 instalados no cliente.IMPORTANTE!
Regras para retornar os produtos do ERP.
Detalhamento do calculo de estoque enviado. (Dados buscados por empresa)
Estoque da loja + estoque do deposito - quantidade reservada - quantidade reservada recebimento - quantidade reservada fixa + estoque terceiro
Campos utilizados e suas respectivas referencias no ERP, Hub e na plataforma Shopify
Campo | ERP (linha Consinco) | Shopify |
Número empresa | mrl_produtoempresa.nroempresa | Hub: "companyId" |
Código da branch | mrl_produtoempresa.nroempresa | Hub: "branchId" |
Seq. Produto | mrl_produtoempresa.seqproduto | Hub: "erpReferenceKey" |
Data de criação | map_produto.dtahorinclusao | Hub: "erpCreateDate" |
Data de alteração | maior valor entre mrl_produtoempresa.dtahorultmovtoestq e mrl_produtoempresa.dtaalteracao | Hub: "erpLastChange" |
Código SKU | concatenação: "'P' + map_produto.seqproduto + 'E' + map_famembalagem.qtdembalagem" | Hub: "productSKUERPReferenceKey" |
Warehouse | mrl_produtoempresa.nroempresa | Hub: "warehouseERPReferenceKey" |
Ind. controle de estoque e-commerce | se indcontrolaestoqueecomm é 'N' enviado 'S' senão 'N' | Hub: "unlimitedQuantity" |
Data ultimo inventário | mrl_produtoempresa.dtaultinvfisico | Hub: "dateOnBalanceSystem" |
Estoque | mrl_produtoempresa.estqloja + mrl_produtoempresa.estqdeposito - mrl_produtoempresa.qtdreservadavda - mrl_produtoempresa.qtdreservadareceb - mrl_produtoempresa.qtdreservadafixa + mrl_local.finalidadeestoque | Hub: "quantity" Shopify: "available" |
Quantidade embalagem | map_famembalagem.qtdembalagem | Hub: "unitMultiplier" |
Quantidade pedido de venda | Nome da coluna na API: SalesOrderQuantity Valor fixo: 0 | Hub: "salesOrderQuantity" |
Quantidade de transações de saída | Nome da coluna na API: OutputTransactionQuantity Valor fixo: 0 | Hub: "outputTransactionQuantity" |
Quantidade de ordem de produção | Nome da coluna na API: ProductionOrderProgressQuantity Valor fixo: 0 | Hub: "productionOrderProgressQuantity" |
Warehouse e-commerce | mrl_produtoempresa.nroempresa | Hub: "WarehouseECommerceReferenceKey" |
Tipo de conversão | Nome da coluna na API: OperationConversionType Valor fixo: ' ' | Hub: "operationConversionType" |
Fator de conversão | map_produto.qtdmultiplovdaecommerce | Hub: "conversionFactor" |
Unidade de medida da embalagem | map_famembalagem.embalagem | Hub: "measurementUnitOrigin" |
Unidade de medida destino | Nome da coluna na API: MeasurementUnitDestiny Valor fixo: ' ' | Hub: "measurementUnitDestiny" |
Link: Detalhamento do fluxo