Objetivo
Este documento tem como objetivo explicar o funcionamento da integração de politica de desconto da rotina 561.
Pré-Requisitos e Restrições
- Necessário a instalação do serviço winthor-integracao-preco. Para realizar a instalação desse serviço, segue link com as devidas explicações:
Comece por aqui -> Parametrizações WTA
- A rotina 561 - Cadastrar Política de Desconto tem como objetivo possibilitar o cadastro de políticas de desconto. É utilizada quando a empresa tem interesse em conceder descontos em determinadas situações nos quais poderão ser delimitados por período de vigência, podendo ocorrer também por regiões, clientes, RCA's, supervisores, departamentos, seções ou produtos. Para mais informações 561 - Cadastrar Política de Desconto - DR
Integração
Totvs custom tabs box |
---|
tabs | Dados integrados com Winthor, Envio Parâmetros, Resposta da Requisição, Passo 04 |
---|
ids | passo1,passo2,passo3 |
---|
|
A integração consiste em enviar todas as regras de politica de desconto cadastradas na 561 por filial. Totvs custom tabs box items |
---|
default | yes |
---|
referencia | passo1 |
---|
| Os dados integrados são: Tag | Winthor | Tipo/ Tam | Ingles | Obs | codigoCampanha | pcdesconto.coddesconto | number(8,0) | campaignId |
| codigoFilial | pcdesconto.codfilial | varchar2(2) | branchId | pode ser nulo | numeroRegiao | pcdesconto.numregiao | number(4) | regionId |
| codigoProduto | pcdesconto.codprod | number(6,0) | productId |
| codigoBarras | pcdesconto.codauxiliar | number(20,0) | barCode |
| codigoProdutoPrincipal | pcdesconto.codprodprinc | number(6) | mainProductId |
| codigoPlanoPagamento | pcdesconto.codplpag | number(4) | paymentTermId |
| codigoGrupoRestricaoPlanoPagto | pcdesconto.codgrupo | number(10) | groupClientId |
| codigoPraca | pcdesconto.codpraca | number(4) | squareId |
| codigoRamoAtividade | pcdesconto.codativ | number(6) | branchActivityId |
| usaClientePrincipal | pcdesconto.utlizadescrede | varchar2(1) | useFeeClientNet |
| aplicaDescontoAutomatico | pcdesconto.aplicadesconto | varchar2(1) | taxApplied |
| origem | pcdesconto.origemped | varchar2(1) | orderOrigin | O - Todos | A - Varejo | codigoFornecedor | pcdesconto.codfornec | number(6) | supplierId |
| percentualTaxaFornecedor | pcdescontofornec.percdesc | number(10,4) | supplierFeePercentage |
| prioritaria | pcdesconto.prioritariageral | varchar2(1) | priority |
| usaProdutoPrincipal | pcdesconto.alteraptabela | varchar2(1) | useMainProductId | ativa a promoção para produtos principais | codigoCliente | pcdesconto.codcli | number(9) | clientId |
| codigoGrupoCliente | pcdesconto.codgrupo | number(10) | groupClientId |
| codigoRedeCliente | pcdesconto.codrede | number(4) | clientNetId |
| qtdInicial | pcdesconto.qtini | number(10,4) | startQtd |
| qtdFinal | pcdesconto.qtfim | number(10,4) | endQtd |
| dataInicio | pcdesconto.dtinicio | date | startDate |
| dataFim | pcdesconto.dtfim | date | endDate |
| percentualTaxa | pcdesconto.percdesc | number(10,4) | feePercentage | Se valor positivo é desconto, senão , acréscimo | percentualValue | pcdesconto.percdesc | number(10,4) | PercentageValue | Campo sem o Sinal de - ou + | tipo | Calculado | Inteiro | type | Tipo de aplicação sendo: 0 = desconto ,1 = acréscimo Se valor positivo é desconto=0 , senão - é acréscimo | situacao |
|
| situation |
| dataCadastro | pcdesconto.datalanc | date | registrationDate |
| dataUltimaAlteracao | pcdesconto.dataultalter | date | lastChangeDate |
| codigoRestricaoPlanoPagto | pcdesconto.codgruporest | number(9) | restrictionId |
| codigoTipoRestricaoPlanoPagto | pcdesconto.tipogruporest | varchar2(2) | restrictionTermTypeCode | 'CL' - Cliente | codigoDepartamento | pcdesconto.codepto |
|
|
| codigoSecao | pcdesconto.codsec |
|
|
| codigoCategoria | pcdesconto.codcategoria |
|
|
| codigoSubCategoria | pcdesconto.subcategoria |
|
|
| codigoMarca | pcdesconto.codmarca |
|
|
|
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo2 |
---|
| Exemplo do envio da requisição: Bloco de código |
---|
| 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. |
Bloco de código |
---|
| 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 |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo3 |
---|
| Exemplo JSON da resposta: Bloco de código |
---|
language | js |
---|
title | Body Response |
---|
| {
"first": false,
"items": [
{
"situation": "A",
"campaignId": 4899,
"branchId": "1",
"regionId": 0,
"productId": 1658,
"mainProductId": 0,
"paymentTermId": 1,
"groupClientId": 0,
"squareId": 0,
"branchActivityId": 0,
"useFeeClientNet": "N",
"taxApplied": "S",
"orderOrigin": "O",
"supplierId": 0,
"supplierFeePercentage": 0,
"priority": "N",
"useMainProductId": "N",
"clientId": 0,
"clientNetId": 0,
"startDate": "0024-11-06T00:00:00",
"endDate": "0025-11-06T00:00:00",
"feePercentage": -10,
"percentageValue": 10,
"type": 1,
"registrationDate": "2024-11-06T17:10:19",
"lastChangeDate": "0024-11-06T00:00:00",
"restrictionId": 1,
"restrictionTermTypeCode": "CL",
"codeDepartment": 0,
"codeSection": 0,
"codeCategory": 0,
"codeSubCategory": 0,
"brandcode": 0
}
],
"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 manter a integridade dos dados.