Páginas filhas
  • APIs Integrações - Preço de Produto

Objetivo

Este documento tem como objetivo explicar o funcionamento da integração do Preço dos produtos.

Pré-Requisitos e Restrições

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

Comece por aqui -> Parametrizações WTA

    • De acordo com as parametrizações realizadas pela rotina 132, parâmetro 2277 - Tipo de precificação, é possível expor os preços pelas seguintes rotinas:

201 – Precificar Produto

Como precificar produtos pela rotina 201 - Precificar produtos

2017 – Precificação Por Embalagem.

Como precificar produtos pela rotina 2017 - Precificação por embalagem

  • Caso exista política de preço fixo cadastrada na rotina 357 que se aplique ao conjunto de dados informados (cliente, região, filial, produto, plano de pagamento, etc), o preço a ser exposto será o cadastrado na política.
  • A parametrização de venda por embalagem e preço de venda por embalagem será por filial.
  • Com o uso do Tipo de precificação Atacado será empregado o preço cadastrado da (Rotina 2017) -  Precificação Por Embalagem, gravando o campo (PCEMBALAGEM.PVENDAATAC).
  • Com o uso do Tipo de precificação Varejo será empregado o preço cadastrado da (Rotina 2017) -  Precificação Por Embalagem, gravando o campo (PCEMBALAGEM.PVENDA).
  • Com o uso do Tipo de precificação Padrão será empregado o preço cadastrado da (Rotina 201) -  Precificar Produto, gravando o campo (PCTABPR.PVENDA1).
  • Deve-se preencher o parâmetro 4257 – Código da região para preço CIASHOP (CODREGIAOPRECOCIASHOP) com a Região que será utilizada por Filial.

  • Caso parâmetro 4257 Não esteja preenchido, é utilizada a região informada no parâmetro 2832 – Número da região utilizada pelo e-commerce (REGIAOECOMMERCE).

  • Quando se tratar de produto de Origem Web e/ou E-commerce a API não irá calcular o preço de venda com Impostos. O preço de venda válido será sempre o preço vindo do E-commerce.
  • Quando o parâmetro 2277 - Tipo de Precificação  da rotina 132 estiver cadastrado como Atacado (A)  ou Varejo (V) e estiver sendo usado o preço por embalagem (preço cadastrado na rotina 2017), o retorno da requisição terá os atributos "offerPrice", "offerStartDate" e "offerEndDate", que correspondem respectivamente as colunas POFERTA, DTOFERTAINI e DTOFERTAFIM da tabela PCEMBALAGEM. Do contrário, se o parâmetro estiver como Padrão (P)  estes atributos retornarão 0 e vazio.
  • Deve-se preencher o campo ENVIAECOMMERCE no cadastro do produto (Rotina 203).
  • Deve-se preencher o campo USAECOMMERCE no cadastro da região (Rotina 519) para o envio dos preços dos itens em regiões de e-commerce.


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.

Integração


A integração consiste em enviar todo estoque disponível que serão utilizados no E-Commerce.

Os dados integrados são: 

API Winthor (Rotina 201)Winthor (Rotina 2017) - ATACADOWinthor (Rotina 2017) - VAREJO
branchIdPCEMBALAGEM.CODFILIALPCEMBALAGEM.CODFILIALPCEMBALAGEM.CODFILIAL
erpReferenceKeyPCTABPR.CODPRODPCTABPR.CODPRODPCTABPR.CODPROD
fixedPricePCPRODUT.PRECOFIXOPCPRODUT.PRECOFIXOPCPRODUT.PRECOFIXO
lastChangePCEMBALAGEM.DTULTALTPVENDAPCEMBALAGEM.DTULTALTPVENDAPCEMBALAGEM.DTULTALTPVENDA
origin20120172017
pricePCTABPR.PVENDA1PCEMBALAGEM.PVENDAATAC1PCEMBALAGEM.PVENDA

PCTABPR.PVENDA2PCEMBALAGEM.PVENDAATAC

PCTABPR.PVENDA3PCEMBALAGEM.PVENDAATAC

PCTABPR.PVENDA4PCEMBALAGEM.PVENDAATAC

PCTABPR.PVENDA5PCEMBALAGEM.PVENDAATAC

PCTABPR.PVENDA6PCEMBALAGEM.PVENDAATAC

PCTABPR.PVENDA7PCEMBALAGEM.PVENDAATAC
pricingIpiPCTABPR.VLIPIPCTABPR.VLIPIPCTABPR.VLIPI
pricingStPCTABPR.VLSTPCTABPR.VLSTPCTABPR.VLST
skuIdPCPRODUT.CODAUXILIAR, PCPRODUT.CODPRODPCPRODUT.CODAUXILIAR, PCPRODUT.CODPRODPCPRODUT.CODAUXILIAR, PCPRODUT.CODPROD
taxFigureIdPCTABPR.CODSTPCTABPR.CODSTPCTABPR.CODST
unitMultiplierPCEMBALAGEM.QTUNITPCEMBALAGEM.QTUNITPCEMBALAGEM.QTUNIT
gnreST campo calculado*campo calculado*campo calculado*
stcampo calculado*campo calculado*campo calculado*
calculationBaseFecpcampo calculado*campo calculado*campo calculado*
calculationBaseIpicampo calculado*campo calculado*campo calculado*
calculationBaseSTcampo calculado*campo calculado*campo calculado*
internalSTAliquotcampo calculado*campo calculado*campo calculado*
ipicampo calculado*campo calculado*campo calculado*
ipiAliquotcampo calculado*campo calculado*campo calculado*
externalSTAliquotcampo calculado*campo calculado*campo calculado*
fecpcampo calculado*campo calculado*campo calculado*
fecpAliquotcampo calculado*campo calculado*campo calculado*
offerPricePCEMBALAGEM.POFERTAPCEMBALAGEM.POFERTAPCEMBALAGEM.POFERTA
offerStartDatePCEMBALAGEM.DTOFERTAINIPCEMBALAGEM.DTOFERTAINIPCEMBALAGEM.DTOFERTAINI
offerEndDatePCEMBALAGEM.DTOFERTAFIMPCEMBALAGEM.DTOFERTAFIMPCEMBALAGEM.DTOFERTAFIM

Exemplo do envio da requisição:

URI
method: 'GET',
url: '/api/wholesale/v1/price/list'     -> Poderá informar todos os PARAMS abaixo.

OU

url: '/api/wholesale/v1/price/'         -> Passar os dados do produto e Filial, e opcionalmente o cliente e plano de pagamento.
Params
branchId  		 : 0					- Código da Filial  *requerido
customerId 		 : 0					- Código Cliente 
productSKUERPReferenceKey : 0       	- Código do Produto
providerId		 : 0					- Código do Fornecedor
departmentId	 : 0					- Código do Departamento
sectionId		 : 0					- Código da Seção
categoryId		 : 0					- Código da Categoria
subcategoryId	 : 0					- Código da SubCategoria
productSegmentId : 0					- Código do Segmento do produto
brandId			 : 0					- Código da Marca
paymentPlanId	 : 0					- Código do Plano de Pagamento
measuredUnit	 : string				- Unidade de medida
imported  		 : true/false			- Importado
callOrigin  	 : W					- Origem
order  			 : lastChange			- ordenação
lastChange  	 : 1900-01-01T00:00:00	- data da última alteração
page			 : 1					- número de página
pageSize		 : 10					- quantidade por página
multiRegionPrice : true/false           - Trazer as regiões configurados para o E-commerce (rotina 519) API list
useMultiplePricesPerProductPackage: true/false - Retornar os preços por embalagens 

Exemplo JSON da resposta:  

Body Response
{
    "first": false,
    "items": [
        {
            "branchId": "string",
            "calculationBaseFecp": 0,
            "calculationBaseIpi": 0,
            "calculationBaseST": 0,
            "erpReferenceKey": 0,
            "externalSTAliquot": 0,
            "fecp": 0,
            "fecpAliquot": 0,
            "fixedPrice": false,
            "internalSTAliquot": 0,
            "ipi": 0,
            "ipiAliquot": 0,
            "lastChange": "2021-07-23T15:25:19",
            "noTaxesPrice": 0,
            "origin": 201,
            "price": 129.25,
            "pricingIpi": 0,
            "pricingSt": 0.0,
            "skuId": "000-0",
            "st": 0,
            "taxFigureId": 10,
            "unitMultiplier": 0,
			"offerPrice": 0,
			"offerStartDate": "",
			"offerEndDate": "",
            "gnreST": false,
            "priceRegion": 1
         }
    ],
    "hasNext": false
}

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



  • Sem rótulos