Páginas filhas
  • APIs Integrações - Embalagem/SKU

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Objetivo

Este documento tem como objetivo explicar o funcionamento da integração da Embalagem.

Pré-Requisitos e Restrições

  • A embalagem deve estar com o campo Envia para E-commerce (enviaecommece) marcado igual Sim.

Integração

  • Necessário a instalação do serviço winthor-compras-produto. Para realizar a instalação desse serviço, segue link com as devidas explicações:

Comece por aqui -> Parametrizações WTA

  • A embalagem deve possuir o código EAN parametrizado no cadastro do produto (Rotina 203), campo CODAUXILIAR.

Image Added

  • Os valores dos campos ("realHeight", "realLength", "realWeightKg", "realWidth") são correspondentes as rotinas 292 ou 2014.

Rotina 292: Cadastrar embalagens

Os campos em destaque representam os campos descritos acima da rotina 292

Image Added

Caso tenha dúvidas de como utilizar a rotina 292, segue link abaixo para apoio:

Como parametrizar o processo de inclusão de embalagem na rotina 292?

Rotina 2014: Cadastro de embalagens

Os campos em destaque representam os campos descritos acima da rotina 2014

Image Added

Caso tenha dúvidas de como utilizar a rotina 2014, segue link abaixo para apoio:

Como realizar o cadastro de embalagem por meio da rotina 2014?

  • Os valores dos campos ("Height", "Length", "WeightKg", "Width", "Volume") são correspondentes as rotinas 203 ou 282.

Caso tenha dúvidas de como utilizar a rotina 203, segue link abaixo para apoio:

Como realizar cadastros nas rotinas 202, 203, 302?

Caso tenha dúvidas de como utilizar a rotina 282, segue link abaixo para apoio:

Como realizar o cadastro de Produto Armazenagem na rotina 282?


Aviso
titleImportante

Quando não houver preenchimento do campo DATA, exemplo (data de cadastro, data de alteração), nossas APIs retornará por padrão a informação "1900-01-01T00:00:00".

Caso necessário, realizar o ajuste nos cadastros para que a API apresente a data desejada.

Recomendamos marcar como não o parâmetro 4591 - Permite editar o do código auxiliar do cadastro de embalagem da rotina 2014 (PERMTEDITCODAUX2014) na rotina 132 para não editar o CodAuxiliar do produto. 

Desta forma não incorre o risco de alterar um produto e perder a referencia no Ecommerce e não receber pedidos por exemplo.

Neste cenário deverá ser criado uma nova embalagem e nova associação de produto além de desabilitar o produto\sku antigo no Sistema de ecommerce.


Image Added


Quando enviar o parâmetro na useAllPackages="Y" (Parâmetro não obrigatório) na URL e  o parâmetro da rotina 132 FIL_UTILIZAVENDAPOREMBALAGEM= Sim a API retornará todas as embalagens dos produtos que estiverem com o campo "Envia" marcados das rotina 292/2014.

A API também retornará o campo active=true/false conforme o campo ativo desta rotina.



Image Added

Integração


Totvs custom tabs box
tabsDados integrados com Winthor, Envio Parâmetros, Resposta da Requisição, Passo 04
idspasso1,passo2,passo3

A integração consiste em enviar todas as embalagens que serão utilizados no E-Commerce.

Totvs custom tabs box items
defaultyes
referenciapasso1

Os dados integrados são: 

SKUPCEMBALAGEM
Retorno APICampos Banco Winthor
idpcembalagem.codauxiliar
lastChangepcembalagem.dtultalt
createDatepcprodut.dtcadastro
brandIdpcprodut.codmarca
categoryIdpcprodut.codcategoria
webDepartmentIdpcprodut.coddeptoweb
webSectionIdpcprodut.codsecaoweb
webCategoryIdpcprodut.codcategoriaweb
webSubcategoryIdpcprodut.codsubcategoriaweb
description2pcprodut.descricao2
description3pcprodut.descricao3
description4pcprodut.descricao4
description5pcprodut.descricao5
description6pcprodut.descricao6
description7pcprodut.descricao7
departmentIdpcprodut.codepto
isActivepcembalagem.

...

enviaecommerce
isAvaiablepcembalagem.excluido
isKit
listOfEANpcembalagem.codauxiliar
namepcembalagem.embalagem
nameproductpcprodut.descricao
pricepcembalagem.pvenda
productRootIdpcembalagem.codprod
productSKUIdpcembalagem.codauxiliar + pcembalagem.codprod
productOriginalSKUId

pcembalagem.codauxiliaranterior + pcembalagem.codprod 

Obs. Caso o codauxiliaranterior não esteja preenchido, será retornado o codauxiliar;

Obs 2. O codauxiliaranterior é o campo destinado a armazenar o valor original do código auxiliar da embalagem, em caso de alteração do mesmo.

realWidthpcembalagem.largura
realWeightKgpcembalagem.

...

pesobruto
realLengthpcembalagem.comprimento
realHeightpcembalagem.altura
sectionId
merchandiseTypepcprodut.tipomerc
unitMultiplierpcembalagem.qtunit
width

...

pcprodut.largura
weightKg

...

pcprodut.

...

pesobruto
length

...

pcprodut.comprimento
height

...

pcprodut.altura
volumepcprodut.volume
rawMaterialBasicBasketProductIdpcformprod.codprodacab
rawMaterialBasicBasketQuantitypcformprod.qtprodmp

...

branchIdpcformprod.codfilial



Totvs custom tabs box items
defaultno
referenciapasso2

Requisição para listar SKUs


Bloco de código
languagejs
method: 'GET',
url: '/api/purchases/v1/skus/'   -> retorno da lista de SKUs


Parâmetros:

Bloco de código
languagejs
titleParams
companyId	   : 1 					    - campo requerido
lastChange     : 1900-01-01T00:00:00	- Informar data da última alteração (opcional)
page		   : 1						- Informar número de página (opcional)
pageSize	   : 10					    - Informar quantidade por página (opcional)
branchId	   : 1						- Informar o código da filial
useAllPackages : N						- retorna embalagens do produto cadastradas e ativas (Y= Sim N= Não) (opcional)
callOrigin	   : W 					    - retorna embalagens de acordo com o campo enviaEcommerce (W equivale a "enviaEcommerce" = S, W equivale a "enviaEcommerce" = N)(opcional)
productId      : 1						- Informar o código do produto (opcional)

Quando o parâmetro 2291 FIL_UTILIZAVENDAPOREMBALAGEM da rotina 132 estiver como Sim e passar na URL o parâmetro useAllPackages=Y a API irá retornar todas as embalagens do produto cadastradas na rotinas de cadastro de embalagens 292 e 2014

Obs: o parâmetro useAllPackages não é obrigatório.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

Requisição para buscar SKU por ID


Bloco de código
languagejs
url: '/api/purchases/v1/skus/id/{código auxiliar}/branchId/{código da filial}'  -> retorno da embalagem de acordo com o código auxiliar e filial.

Parâmetros:

Bloco de código
languagejs
titleParams
callOrigin	: W ou A 					 - retorna embalagens de acordo com o campo enviaEcommerce (W equivale a "enviaEcommerce" = S, W equivale a "enviaEcommerce" = N)(opcional)



Totvs custom tabs box items
defaultno
referenciapasso3

Exemplo JSON da resposta:  

Bloco de código
languagejs
titleBody Response
{
    "active": false,
    "avaiable": false,
    "kit": false,
    "brandId": 0,
    "categoryId": 0,
    "webDepartmentId": 0,
    "webSectionId": 0,
    "webCategoryId": 0,
    "webSubcategoryId  ": 0,
    "createDate": "2012-01-01T00:00:00",
    "departmentId": 0,
    "description2": "string",
    "description3": "string",
    "description4": "string",
    "description6": "string",
    "description7": "string",
    "height": 0,
    "id": 0,
    "isActive": false,
    "isAvaiable": false,
    "isKit": false,
    "lastChange": "2021-07-23T15:25:19",
    "length": 0,
    "listOfEAN": [
        0
    ],
    "name": "string",
    "nameProduct": "string",
    "price": 0,
    "productRootId": 0,
    "productSKUId": "000-0",
    "productOriginalSKUId": "000-0",     
    "realHeight": 0,
    "realLength": 0,
    "realWeightKg": 0,
    "realWidth": 0,
    "sectionId": 0,
    "merchandiseType": "string",
    "unitMultiplier": 0,
    "volume": 0,
    "weightKg": 0,
    "width": 0
}

Para que seja realizada uma nova integração atualizando um registro já integrado, o sistema verifica a data de última atualização do registro. Portanto, ao realizar alguma alteração no registro, ele será encaminhado novamente para a view para manter a integridade dos dados do ERP com o E-commerce Page TreerootIntegração Pedidos de Vendas