Páginas filhas
  • APIs Integrações - Politica de desconto

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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
tabsDados integrados com Winthor, Envio Parâmetros, Resposta da Requisição, Passo 04
idspasso1,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
defaultyes
referenciapasso1

Os dados integrados são: 

TagWinthorTipo/ TamInglesObs
codigoCampanhapcdesconto.coddescontonumber(8,0)campaignId
codigoFilialpcdesconto.codfilialvarchar2(2)branchIdpode ser nulo
numeroRegiaopcdesconto.numregiaonumber(4)regionId
codigoProdutopcdesconto.codprodnumber(6,0)productId
codigoBarraspcdesconto.codauxiliarnumber(20,0)barCode
codigoProdutoPrincipalpcdesconto.codprodprincnumber(6)mainProductId
codigoPlanoPagamentopcdesconto.codplpagnumber(4)paymentTermId
codigoGrupoRestricaoPlanoPagtopcdesconto.codgruponumber(10)groupClientId
codigoPracapcdesconto.codpracanumber(4)squareId
codigoRamoAtividadepcdesconto.codativnumber(6)branchActivityId
usaClientePrincipalpcdesconto.utlizadescredevarchar2(1)useFeeClientNet
aplicaDescontoAutomaticopcdesconto.aplicadescontovarchar2(1)taxApplied
origempcdesconto.origempedvarchar2(1)orderOriginO - Todos | A - Varejo
codigoFornecedorpcdesconto.codfornecnumber(6)supplierId
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.dtiniciodatestartDate
dataFimpcdesconto.dtfimdateendDate
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 sendo:   0 = desconto ,1 = acréscimo
Se valor positivo é desconto=0 , senão - é acréscimo
situacao

situation
dataCadastropcdesconto.datalancdateregistrationDate
dataUltimaAlteracaopcdesconto.dataultalterdatelastChangeDate
codigoRestricaoPlanoPagtopcdesconto.codgruporestnumber(9)restrictionId
codigoTipoRestricaoPlanoPagtopcdesconto.tipogruporestvarchar2(2)restrictionTermTypeCode'CL' - Cliente
codigoDepartamentopcdesconto.codepto


codigoSecaopcdesconto.codsec


codigoCategoriapcdesconto.codcategoria


codigoSubCategoriapcdesconto.subcategoria


codigoMarcapcdesconto.codmarca


Totvs custom tabs box items
defaultno
referenciapasso2

Exemplo do envio da requisição:

Bloco de código
languagejs
titleURI
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
languagejs
titleParams
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
defaultno
referenciapasso3

Exemplo JSON da resposta:  

Bloco de código
languagejs
titleBody 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.