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

  • 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 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.excluidoenviaecommerce
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.volumepesobruto
realLengthpcembalagem.comprimento
realHeightpcembalagem.altura
sectionId
merchandiseTypepcprodut.tipomerc
unitMultiplierpcembalagem.qtunit
widthpcembalagempcprodut.largura
weightKgpcembalagempcprodut.volumepesobruto
lengthpcembalagempcprodut.comprimento
heightpcembalagempcprodut.altura
volumepcprodut.volume
rawMaterialBasicBasketProductIdpcformprod.codprodacab
rawMaterialBasicBasketQuantitypcformprod.qtprodmp
brandIdbranchIdpcformprod.codfilial



Totvs custom tabs box items
defaultno
referenciapasso2
Exemplo do envio da requisição:

Requisição para listar SKUs


Bloco de código
languagejs
method:  'GET',
url:  '/api/purchases/v1/skus/'   -> retorno da lista, inserindo os parâmetros conforme abaixo.

		OU 

url: '/api/purchases/v1/skus/id/{código auxiliar}/branchId/{código da filial}'  -> retorno da embalagem informada na própria requisição.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
}

...