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: 

WinthorTipo/ TamTag JSONObs
pcdesconto.coddescontonumber(8,0)campaignIdCódigo da campanha
pcdesconto.codfilialvarchar2(2)branchIdCódigo da filial 
pcdesconto.numregiaonumber(4)regionIdCódigo da região
pcdesconto.codprodnumber(6,0)productIdCódigo do produto
pcdesconto.codauxiliarnumber(20,0)barCodeCódigo auxiliar
pcdesconto.codprodprincnumber(6)mainProductIdCódigo do produto principal
pcdesconto.codplpagnumber(4)paymentTermIdCódigo do plano de pagamento
pcdesconto.codgruponumber(10)groupClientId
pcdesconto.codpracanumber(4)squareIdCódigo da praça
pcdesconto.codativnumber(6)branchActivityIdCódigo do ramo de atividade
pcdesconto.utilizadescredevarchar2(1)useFeeClientNet
pcdesconto.aplicadescontovarchar2(1)taxApplied
pcdesconto.origempedvarchar2(1)orderOriginO - Todos | A - Varejo
pcdesconto.codfornecnumber(6)supplierIdCódigo do fornecedor 
pcdescontofornec.percdescnumber(10,4)supplierFeePercentage
pcdesconto.prioritariageralvarchar2(1)priority
pcdesconto.alteraptabelavarchar2(1) useMainProductIdAtiva a promoção para produtos principais
pcdesconto.codclinumber(9)clientId
pcdesconto.codgruponumber(10)groupClientId
pcdesconto.codredenumber(4)clientNetId
pcdesconto.qtininumber(10,4)startQtd
pcdesconto.qtfimnumber(10,4)endQtd
pcdesconto.dtiniciodatestartDateData de inicio da campanha
pcdesconto.dtfimdateendDateData de fim da campanha
pcdesconto.percdescnumber(10,4)feePercentageSe valor positivo é desconto, senão , acréscimo
pcdesconto.percdescnumber(10,4)PercentageValueCampo sem o Sinal de - ou +
CalculadoInteirotypeTipo de aplicação pcdesconto.percdesc sendo:   0 = desconto ,1 = acréscimo
Se valor positivo é desconto=0 , senão - é acréscimo

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).

pcdesconto.datalancdateregistrationDateData de cadastro
pcdesconto.dataultalterdatelastChangeDateUltima alteração
pcdesconto.codgruporestnumber(9)restrictionId
pcdesconto.tipogruporestvarchar2(2)restrictionTermTypeCode'CL' - Cliente
pcdesconto.codeptoInteiro
Data de inicio da campanha
pcdesconto.codsecInteiro
Código da seção
pcdesconto.codcategoriaInteiro
Código da categoria 
pcdesconto.subcategoriaInteiro
Código da sub categoria
pcdesconto.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.