Objetivo

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

Pré-Requisitos e Restrições

Comece por aqui -> Parametrizações WTA

Rotina 292: Cadastrar embalagens

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

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

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?

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?


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.



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.



Integração


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

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
widthpcprodut.largura
weightKgpcprodut.pesobruto
lengthpcprodut.comprimento
heightpcprodut.altura
volumepcprodut.volume
rawMaterialBasicBasketProductIdpcformprod.codprodacab
rawMaterialBasicBasketQuantitypcformprod.qtprodmp
branchIdpcformprod.codfilial



Requisição para listar SKUs


method: 'GET',
url: '/api/purchases/v1/skus/'   -> retorno da lista de SKUs


Parâmetros:

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


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:

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



Exemplo JSON da resposta:  

{
    "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