Objetivo

Este documento tem como objetivo explicar o funcionamento da integração de politica de desconto da rotina 561.

Pré-Requisitos e Restrições

Comece por aqui -> Parametrizações WTA

Integração


A API consiste em buscar as regras de politica de desconto cadastradas na 561.

Os dados integrados são: 

TagWinthorTipo/ TamJSONObs
codigoCampanhapcdesconto.coddescontonumber(8,0)campaignIdCódigo da campanha
codigoFilialpcdesconto.codfilialvarchar2(2)branchIdCódigo da filial 
numeroRegiaopcdesconto.numregiaonumber(4)regionIdCódigo da região
codigoProdutopcdesconto.codprodnumber(6,0)productIdCódigo do produto
codigoBarraspcdesconto.codauxiliarnumber(20,0)barCodeCódigo auxiliar
codigoProdutoPrincipalpcdesconto.codprodprincnumber(6)mainProductIdCódigo do produto principal
codigoPlanoPagamentopcdesconto.codplpagnumber(4)paymentTermIdCódigo do plano de pagamento
codigoGrupoRestricaoPlanoPagtopcdesconto.codgruponumber(10)groupClientId
codigoPracapcdesconto.codpracanumber(4)squareIdCódigo da praça
codigoRamoAtividadepcdesconto.codativnumber(6)branchActivityIdCódigo do ramo de atividade
usaClientePrincipalpcdesconto.utilizadescredevarchar2(1)useFeeClientNet
aplicaDescontoAutomaticopcdesconto.aplicadescontovarchar2(1)taxApplied
origempcdesconto.origempedvarchar2(1)orderOriginO - Todos | A - Varejo
codigoFornecedorpcdesconto.codfornecnumber(6)supplierIdCódigo do fornecedor 
percentualTaxaFornecedorpcdescontofornec.percdescnumber(10,4)supplierFeePercentage
prioritariapcdesconto.prioritariageralvarchar2(1)priority
usaProdutoPrincipalpcdesconto.alteraptabelavarchar2(1) useMainProductIdAtiva a promoção para produtos principais
codigoClientepcdesconto.codclinumber(9)clientId
codigoGrupoClientepcdesconto.codgruponumber(10)groupClientId
codigoRedeClientepcdesconto.codredenumber(4)clientNetId
qtdInicialpcdesconto.qtininumber(10,4)startQtd
qtdFinalpcdesconto.qtfimnumber(10,4)endQtd
dataIniciopcdesconto.dtiniciodatestartDateData de inicio da campanha
dataFimpcdesconto.dtfimdateendDateData de fim da campanha
percentualTaxapcdesconto.percdescnumber(10,4)feePercentageSe valor positivo é desconto, senão , acréscimo
percentualValuepcdesconto.percdescnumber(10,4)PercentageValueCampo sem o Sinal de - ou +
tipoCalculadoInteirotypeTipo de aplicação pcdesconto.percdesc sendo:   0 = desconto ,1 = acréscimo
Se valor positivo é desconto=0 , senão - é acréscimo
situacao
Stringsituation

I = Cadastro inativo 

A = Cadastro ativo

  • Para validar se uma política está válida, deverá verificar se a mesma não foi movida para o log (PCDESCONTOLOG).

dataCadastropcdesconto.datalancdateregistrationDateData de cadastro
dataUltimaAlteracaopcdesconto.dataultalterdatelastChangeDateUltima alteração
codigoRestricaoPlanoPagtopcdesconto.codgruporestnumber(9)restrictionId
codigoTipoRestricaoPlanoPagtopcdesconto.tipogruporestvarchar2(2)restrictionTermTypeCode'CL' - Cliente
codigoDepartamentopcdesconto.codeptoInteiro
Data de inicio da campanha
codigoSecaopcdesconto.codsecInteiro
Código da seção
codigoCategoriapcdesconto.codcategoriaInteiro
Código da categoria 
codigoSubCategoriapcdesconto.subcategoriaInteiro
Código da sub categoria
codigoMarcapcdesconto.codmarcaInteiro
Código da marca

Exemplo do envio da requisição:

method: 'GET',
url: '/winthor/precos/v1/politica-desconto'     -> Poderá informar todos os PARAMS abaixo.
page			 : 1					   - número de página
pageSize		 : 10					   - quantidade por página
lastChange  	 : 1900-01-01T00:00:00	   - data da última alteração
startDate        : 1900-01-01T00:00:00	 - data de inicio do pedido
endDate          : 1900-01-01T00:00:00	 - data de fim do pedido
id      		 : 0					   - Código da campanha  
branchId  		 : String				   - Código da Filial (lista separado por virgula)
regionId         : 0					     - Código da região (lista separado por virgula) 
productId        : 0					   - Código do produto (lista separado por virgula)
barCodeId        : 0					   - Código de barras 
suppierId        : 0					   - Código do fornecedor
active           : true/false			     - Somente cadastros ativos

Exemplo JSON da resposta:  

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