CONTEÚDO

  1. Visão Geral
  2. Regras de utilização no Totvs Ipass
  3. Regras de utilização do ERP
  4. Dicionário de Campos
  5. Acompanhamento das cargas no Hubecommerce
  6. Links úteis


01. VISÃO GERAL

Esta documentação tem como objetivo descrever como funciona a integração de envio de Pedidos de Venda da plataforma de E-commerce Shopify para o ERP TOTVS Varejo Supermercados,  utilizando a plataforma TOTVS iPaaS como middleware de comunicação.
 

02. REGRAS DE UTILIZAÇÃO NO TOTVS IPASS

O fluxo de integração via Ipass, contempla a seguinte estrutura, o Pedido de Venda vindo do Shopify é recepcionado no Ipass via webhook, para envio dos dados do pedido do ERP para o Hub, após inserção no mesmo, o Ipass seguirá no fluxo de montagem e validação do pedido, onde atenderá premissas como confirmação de pagamento, para que este siga o processo de integração, após este este passo, o Ipass seguirá para o recepcionamento do pedido no ERP onde este será feito via API SmPedidoVenda/api/v1/PedidoVenda, onde ao atender as regras de negócio do ERP, o pedido terá sua integração concluída.

Especificações e configurações para envio da carga de Pedido de Venda do Shopify para o ERP:




03. REGRAS DE UTILIZAÇÃO DO ERP


04. 
DICIONÁRIO DE CAMPOS

Campos utilizados no fluxo de integração de pedidos do Shopify para o Hub.

Campo

ERP (Linha Consinco)

SeqProduto

Refere-se ao Código do Produto no ERP, localizado em Cadastros > Aba Produto >  Produto > Aba Geral > Campo: Código (Código do Produto).
Tipo Campo: Integer.

NroEmpresa

Parâmetros > Parâmetros >  Empresa> Aba Geral > Empresa (max_empresa.nroempresa)
Tipo Campo: Integer.

DtaHorInclusao

Será um Default com a data 01-Jan-2000. 
Tipo Campo: date-time.

DtaHorAlteracao

Data e Hora de alteração no Cadastro de produto (mrl_prodempseg.dtaalteracao), ou a última data e hora de alteração do preço da embalagem no Cadastro de família em Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: Data Alteração (map_famembalagem.dtahoraltembpreco), caso não tenha alterações, retornará como default a mesma data utilizada no campo DtaHorInclusao.
Tipo Campo: date-time.

Ativo

Indica status de Ativo do SKU, variando entre ativo que é enviado como true e inativo que é enviado como false. 
A regra de status deste campo é referente à 3 informações, descritas abaixo:

  • Status da embalagem, na família . (Map_Famembalagem.Status)
  • Status de venda do produto de acordo com sua embalagem, no cadastro de produto (Mrl_Prodempseg.Statusvenda)
  • Status de Integração de produto com o E-Commerce, no cadastro de produto . (Map_Produto.Indintegraecommerce)

As informações estão detalhadas no tópico 3 - Regras de Utilização no ERP
Tipo Campo: Boolean.

IndKit

Refere-se à associação de produtos similares, caso exista, para o SKU à ser integrado. Recebe as opções S e N, respectivamente Sim ou Não.
Tipo Campo: String

Embalagem

Embalagem no Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: Embalagem, concatenado com o campo Quantidade em Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: *Quantidade. 
Exemplo: Embalagem UN(unitária), e quantidade 1, sendo assim, o valor de measurementUnit será UN-1

Campo Tipo: String.

CodAcesso

Refere-se ao campo Códigos, localizando em Cadastros > Aba Produto >  Produto > Aba Códigos > Campo: Código,
lembrando que nesta mesma grid, o campo Tipo, deverá estar selecionado como EAN/UCC.
Campo Tipo: String.

RefFabricante

Referência do Fabricante(map_produto.reffabricante), localizado em Cadastros > Aba Produto >  Produto > Aba Geral > Campo: Referência do Fabricante.
Campo Tipo: String.

NroSegmento

Utilizada para obtenção do segmento em que será utilizado para busca do SKU no ERP, ao qual será enviado ao Shopify.
Parâmetros > Aba Dealer >  Segmento > Campo: Código.
Campo Tipo: Integer.

NroDivisao

Utilizado para a obtenção da Divisão em que será utilizado para busca do SKU no ERP, ao qual será enviado ao Shopify.
Parâmetros > Aba Parâmetros >  Divisão > Campo: Número.
Campo Tipo: Integer.

Fields

Utilizado para filtrar os campos aos quais deseja que retorne no Response do endpoint em questão, ao executá-lo.
Exemplo
Ao passar os nomes dos campos name, productskuid, lastchange, isactive, de acordo com a imagem à seguir.

A API retornará no response apenas os campos mencionados em Fields, conforme demonstrado abaixo:

Campo Tipo: String.

Order 

Campo responsável pela ordenação da consulta retornada pela API.
Exemplo: Caso queira retornar a consulta de acordo com a ordem cronológica do campo lastchange, basta colocar o nome do campo referido, em Order.

Campo Tipo: String.

Page

Paginação para busca das informações de SKU no ERP.
Campo Tipo: Integer.

PageSize

Utilizada para definir o número máximo de registros que poderão ser retornados por página em uma requisição para retorno das informações de SKU do ERP, as quais serão enviadas ao Shopify.
Campo Tipo: Integer.


Campos utilizados no fluxo de integração de pedidos do Hub para o ERP, , através do endpoint GET SmPedidoVenda/api/v1/Cadastros/ProdutoSku, e suas respectivas referências no Hub e no ERP.

Campo

ERP (Linha Consinco)

Shopify

productSKUId

Cadastros > Aba Produto >  Produto > Aba Geral > Campo: Código (Código do Produto) concatenado com a quantidade da embalagem do produto (map_produto.seqproduto e map_famembalagem.qtdembalagem). Porém, terão as identificações P antes do SeqProduto, e E antes de QtdEmbalagem.
Exemplo: SeqProduto 919 e QtdEmbalagem 12, sendo assim, o ProductSkuId será P919E12

Hub: “erpReferenceKey”

Shopify: sku

createDate

Será um Default com a data 01-Jan-2000.

Hub: “createDate”

Shopify: created_at

lastChange

Última Data e Hora de alteração no Cadastro de produto (mrl_prodempseg.dtaalteracao), ou a última data e hora de alteração do preço da embalagem no Cadastro de família em Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: Data Alteração (map_famembalagem.dtahoraltembpreco), caso não tenha alterações, retornará como default a mesma data utilizada no campo createDate.

Hub: “lastChange”

Shopify: updated_at

name

Refere-se ao campo Nome Produto E-Commerce, localizado em Cadastros > Aba Produto >  Produto > Aba E-Commerce > Campo: Nome Produto E-Commerce (prod.nomeprodutoecomm), ou então, caso este campo não esteja preenchido, pois, é opcional no cadastro do produto, é utilizado o campo Descrição Reduzida em Cadastros > Aba Produto >  Produto > Aba Geral > Campo: Descrição Reduzida (map_produto.descreduzida).

Hub: “name”

Shopify: title

width

Largura da embalagem no Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: Largura (cm).

Hub: “width

Shopify: não existe

realWidth

Largura da embalagem no Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: Largura (cm).

Hub: “realWidth

Shopify: não existe

weightKg

Peso bruto da embalagem no Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: Peso Bruto (kg).

Hub: “weightKg

Shopify: weight

RealWeightKg

Peso bruto da embalagem no Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: Peso Bruto (kg).

Hub: “RealWeightKg”

Shopify: weight

length

Profundidade da embalagem no Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: Profund. (cm).

Hub: “length

Shopify: não existe

realLength

Profundidade da embalagem no Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: Profund. (cm).

Hub: “realLength

Shopify: não existe

height

Altura da embalagem no Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: Altura (cm).

Hub: “height

Shopify: não existe

realHeight

Altura da embalagem no Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: Altura (cm).

Hub: “realHeight

Shopify: não existe

unitMultiplier

Caso no cadastro da família do produto, esta, esteja selecionada como pesável em Cadastros > Aba Família >  Família > Aba Geral > Características > Campo: É pesável, será utilizado o campo Múltiplo de Venda localizado em Cadastros > Aba Produto >  Produto > Aba E-Commerce > Campo: Múltiplo de Venda (map_produto.qtdmultiplovdaecommerce), ou caso não tenha valor atribuído para este campo, será utilizado o valor default 1.00, como unidade de multiplicação.

Hub: “unitMultiplier

Shopify: não existe


measurementUnit

Embalagem no Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: Embalagem, concatenado com o campo Quantidade em Cadastro de família, em Cadastros > Aba Família >  Família> Aba Embalagens > Campo: *Quantidade. 
Exemplo: Embalagem UN(unitária), e quantidade 1, sendo assim, o valor de measurementUnit será UN-1

Hub: “measurementUnit

Shopify: weight_unit
Observação: No shopify as unidades disponíveis para utilização são: lb, oz, kg e g.


manufacturer

Referência do Fabricante(map_produto.reffabricante), localizado em Cadastros > Aba Produto >  Produto > Aba Geral > Campo: Referência do Fabricante.

Hub: “manufacturer

Shopify: não existe


productRootTitle

Refere-se ao campo Nome Produto E-Commerce, localizado em Cadastros > Aba Produto >  Produto > Aba E-Commerce > Campo: Nome Produto E-Commerce (prod.nomeprodutoecomm), ou então, caso este campo não esteja preenchido, pois, é opcional no cadastro do produto, é utilizado o campo Descrição Reduzida em Cadastros > Aba Produto >  Produto > Aba Geral > Campo: Descrição Reduzida (map_produto.descreduzida).

Hub: “productRootTitle

Shopify: option1


companyId

Será nulo, pois, no conceito de SKU para integração shopify, não será tratado com diferenciais por empresa, e sim no âmbito geral de integração, porém, caso houvesse, este campo seria responsável pelo campo nroempresa, localizado em Parâmetros > Parâmetros >  Empresa> Aba Geral > Empresa (max_empresa.nroempresa).

Hub: “companyId

Shopify: não existe


branchId

Será nulo, pois, no conceito de SKU para integração shopify, não será tratado com diferenciais por empresa, e sim no âmbito geral de integração, porém, caso houvesse, este campo seria responsável pelas empresas filiais, representado pelo campo nroempresa, localizado em Parâmetros > Parâmetros >  Empresa> Aba Geral > Empresa (max_empresa.nroempresa).

Hub: “branchId

Shopify: não existe


isAvaiable

Enviado como default true.

Hub: “isAvaiable

Shopify: não existe


price

Este preço será o valor default caso não tenha tabela de preço para o produto. O preço é definido por produto, segmento e quantidade da embalagem.

Hub: “price

Shopify: price


listPrice

Será enviado como default 0, pois não será enviada uma lista de preço pelo SKU.

Hub: “listPrice

Shopify: presentment_prices


modalType

Será enviado como nulo, pois, não é utilizado tanto no HubEcommerce, quanto, no Shopify.

Hub: “modalType

Shopify: não mapeado


modalId

Será enviado como 0, pois, não é utilizado tanto no HubEcommerce, quanto, no Shopify.

Hub: “modalId

Shopify: não existe


cubicWeight

Será enviado como 0, pois, não é utilizado tanto no HubEcommerce, quanto, no Shopify.

Hub: “cubicWeight

Shopify: não existe



commercialConditionId

Será enviado como 0, pois, não é utilizado tanto no HubEcommerce, quanto, no Shopify.

Hub: “commercialConditionId

Shopify: não existe



groupCode

Será enviado como nulo, pois, não é utilizado tanto no HubEcommerce, quanto, no Shopify.

Hub: “groupCode

Shopify: não existe


inventoryItemId

Será enviado como nulo, pois este campo é originado e populado pelo Shopify, após o retorno da integração. Refere-se ao número de identificação deste produto no inventário da plataforma Shopify. Após a integração do SKU no Shopify, o campo inventoryItemId do HubEcommerce é atualizado, recebendo o valor de inventory_item_id do Shopify.

Observação: Este campo não deve ter valor retornado ao ERP; é apenas um controle entre o HubEcommerce e o Shopify.

Hub: “inventoryItemId

Shopify: inventory_item_id


disableStock

Enviado como default false.

Hub: “disableStock

Shopify: não existe


updateBrand

Enviado como default false.

Hub: “updateBrand”

Shopify: não existe


productRootId

Refere-se ao Código do Produto no ERP, localizado em Cadastros > Aba Produto >  Produto > Aba Geral > Campo: Código (Código do Produto).

Hub: “productRootERPReferenceKey”

Shopify: não existe
Observações: O código do produto no ERP propriamente dito não é levado até a plataforma Shopify, apenas até o Hub. Entretanto, existe um equivalente ao código do produto no ERP, que será o código do produto no Shopify. Este código corresponde ao campo product_id no Shopify, que é retornado para o Hub através do campo productRootECommerceReferenceKey do Hub.


rewardValue

Enviado como default 0, pois não é utilizado no processo de integração ao Shopify.

Hub: “rewardValue”

Shopify: não existe


isActive

Indica status de Ativo do SKU, variando entre ativo que é enviado como true e inativo que é enviado como false. 
A regra de status deste campo é referente à 3 informações, descritas abaixo:

  • Status da embalagem, na família . (Map_Famembalagem.Status)
  • Status de venda do produto de acordo com sua embalagem, no cadastro de produto (Mrl_Prodempseg.Statusvenda)
  • Status de Integração de produto com o E-Commerce, no cadastro de produto . (Map_Produto.Indintegraecommerce)

As informações estão detalhadas no tópico 3 - Regras de Utilização no ERP


Hub: “isActive”

Shopify: não existe


isKit

Refere-se à associação de produtos similares, caso exista, para o SKU à ser integrado. Retornando true caso exista, e false, caso não exista.

Hub: “isKit”

Shopify: não existe


listOfEAN

Refere-se ao campo Códigos, localizando em Cadastros > Aba Produto >  Produto > Aba Códigos > Campo: Código,
lembrando que nesta mesma grid, o campo Tipo, deverá estar selecionado como EAN/UCC.

Hub: “listOfBarCode”
Observação: Neste campo é retornado um array, retornando uma lista de códigos EAN, caso existam.

Shopify: barcode




05. ACOMPANHAMENTO DAS CARGAS NO HUBECOMMERCE

         Painel de monitoramento: https://hubecommerce.totvs.app/product-sku

06. LINKS ÚTEIS

         Link: Detalhamento do fluxo