Objetivo
Este documento tem como objetivo explicar o funcionamento da integração de Produtos.
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
Para realizar o cadastro de produtos no WinThor, acesse o link abaixo:
Como realizar o cadastro de produtos no WinThor?
O produto cadastrado deve estar com o campo Enviar para E-commerce igual a Sim.
Como Realizar Gerenciamento de Produtos pela rotina 2009? (Opcional)
Caso necessite que o preduto retorne os campos "webDepartmentId", "webSectionId", "webCategoryId" e "webSubcategoryId", o produto cadastrado deve estar com os campos da aba Web preenchidos para que sejam apresentados do retorno da API.
Importante
- O produto precisa estar vinculado a uma categoria.
- A categoria precisa estar previamente integrada ao e-commerce, caso contrário a integração não ocorrerá.
Caso tenha dúvidas, acessar o link abaixo:
Como realizar o cadastro de categoria no WinThor?
- A marca precisa estar previamente integrada ao e-commerce, caso contrário a integração não ocorrerá.
Caso tenha dúvidas, acessar o link abaixo:
Importante
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.
Integração
A integração consiste em enviar todos produtos que serão utilizados no E-Commerce.
Os dados integrados são:
PRODUCT | PCPRODUT |
---|---|
API | Referência Winthor |
id | pcprodut.codprod |
name | pcprodut.descricao |
categoryId | pcprodut.codcategoria |
webDepartmentId | pcprodut.coddeptoweb |
webSectionId | pcprodut.codsecaoweb |
webCategoryId | pcprodut.codcategoriaweb |
webSubcategoryId | pcprodut.codsubcategoriaweb |
brandId | pcprodut.codmarca |
linkId | pcprodut.linkid |
isVisible | pcprodut.enviaecommerce |
description | pcprodut.nomeecommerce |
descriptionShort | pcprodut.descricao1 |
releaseDate | pcprodut.dtcadastro |
keywords | pcpalavraschave.descricao |
title | pcprodut.descricao |
isActive | pcprodut.dtexclusao |
supplierId | pcprodut.codfornec |
showWithoutStock | pcprodut.exibesemestoqueecommerce |
pcprodfilial.liststoreid | |
adWordsRemarketingCode | pcprodut.codadwords |
lomadeeCampaignCode | pcprodut.codcamplomadee |
lastChange | pcprodut.dtultalter |
technicalInformation | pcprodut.informacoestecnicas |
technicalData | pcprodut.dadostecnicos |
idoriginal | pcprodut.numoriginal |
description | pcprodut.nomeecommerce |
merchandiseType | pcprodut.tipomerc |
sectionId | pcprodut.codsec |
departmentId | pcprodut.codepto |
rawMaterialBasicBasketProductId | pcformprod.codprodacab |
rawMaterialBasicBasketQuantity | pcformprod.qtprodmp |
brandId | pcformprod.codfilial |
realHeight3 | pcprodut.Alturam3 |
width3 | pcprodut.larguram3 |
length3 | pcprodut.comprimentom3 |
realWeightKg: | pcprodut.pesobruto |
netWeightKg: | pcprodut.pesoliq |
subcategoryId: | pcprodut.codsubcategoria |
subcategoryDescription | pcsubcategoria.subcategoria |
productionLineId | pcprodut.codlinhaprod |
productionLineDescription | pclinhaprod.descricao |
volume | pcprodut.volume |
factoryId | pcprodut.codfab |
description1 | pcprodut.descricao1 |
description2 | pcprodut.descricao2 |
description3 | pcprodut.descricao3 |
description4 | pcprodut.descricao4 |
description5 | pcprodut.descricao5 |
description6 | pcprodut.descricao6 |
resale | pcprodut.revenda |
observation2 | pcprodut.obs2 |
exceptionMercosulId | pcprodut.codncmex |
colorId | pcprodut.codcor |
gridId | pcprodut.codgrade |
gridSize | pcprodut.colunagrade |
barCode | pcprodut.codauxiliar |
unity | pcprodut.unidade |
Exemplo do envio da requisição:
method: 'GET', url: '/api/purchases/v1/products/' -> Será apresentada a lista de produtos OU url: '/api/purchases/v1/products/{Código do produto}' -> Apresenta o produto indicado.
order : 0 - Informar ordenação branchId : 0 - Informar a filial lastChange : 1900-01-01T00:00:00 - Informar data da última alteração page : 1 - Informar número de página pageSize : 10 - Informar quantidade por página callOrigin : W - Origem padrão para e-commerce
Exemplo JSON da resposta:
{ "first": false, "items": [ { "name": "string", "active": true, "visible": true, "brandId": 0, "categoryId": 0, "description": "", "description1": "string", "description2": "string", "description3": "string", "description4": "string", "description5": "string", "description6": "string", "description7": "string", "descriptionShort": "string", "ecommerceTitle": "string", "id": 0, "isActive": true, "isVisible": true, "lastChange": "2021-07-23T15:25:19", "length3": 0, "NCM": "string", "exceptionMercosulId": "string", "webDepartmentId": 0, "webSectionId": 0, "webCategoryId": 0, "webSubcategoryId ": 0, "netWeightKg": 0, "observation": "string", "observation2": "string", "principalProductId": 0, "productionLineDescription": "string", "productionLineId": 0, "productSKUId": "000-0", "realHeight3": 0, "realWeightKg": 0, "releaseDate": "2012-01-01T00:00:00", "sectionId": 0, "showWithoutStock": false, "subcategoryDescription": "string", "subcategoryId": 0, "supplierDescription": "string", "supplierId": 0, "technicalData": "", "technicalInformation": "", "merchandiseType": "string", "title": "string", "volume": 0, "width3": 0, "resale": "string", "colorId": 0, "gridId": 0, "gridSize": 0, "barCode": 0, "unity": "string" } ], "hasNext": true }
Demonstração utilizando o Postman para realizar as requisições na API.
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 de produtos, ele será encaminhado novamente para a view para manter a integridade dos dados do ERP com o E-commerce.