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.

...

Totvs custom tabs box
tabsDados integrados com Winthor, Envio Parâmetros, Resposta da Requisição, Passo 04
idspasso1,passo2,passo3

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

Totvs custom tabs box items
defaultyes
referenciapasso1

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)groupClientIdCódigo do Grupo de Cliente cadastrado na Rotina 3311
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)supplierFeePercentagePercentual de desconto aplicado ao fornecedor na Rotina 4161
pcdesconto.prioritariageralvarchar2(1)priorityForçar Aplicação de Política Prioritária
pcdesconto.alteraptabelavarchar2(1) useMainProductIdAtiva a promoção para produtos principais
pcdesconto.codclinumber(9)clientIdCódigo do Cliente
pcdesconto.codgruponumber(10)groupClientId
pcdesconto.codredenumber(4)clientNetIdCódigo da rede
pcdesconto.qtininumber(10,4)startQtdQuantidade inicial 
pcdesconto.qtfimnumber(10,4)endQtdQuantidade final
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

String

active

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)restrictionIdCódigo do Grupo de Cliente cadastrado na Rotina 3311
pcdesconto.tipogruporestvarchar2(2)restrictionTermTypeCode'CL' - Cliente
pcdesconto.codeptoInteirocodeDepartmentData de inicio da campanha
pcdesconto.codsecInteirocodeSectionCódigo da seção
pcdesconto.codcategoriaInteirocodeCategoryCódigo da categoria 
pcdesconto.subcategoriaInteirocodeSubCategoryCódigo da sub categoria
pcdesconto.codmarcaInteiro

brandcode

Código da marca


Sobre a Resposta da Requisição na apresentação dos seguintes campos listados: 

SkuId

  • Se o campo PCDESCONTO.CODAUXILIAR estiver preenchido, o retorno será formado por:
    PCPRODUT.CODAUXILIAR + "-" + PCEMBALAGEM.CODPROD,
    onde PCPRODUT é obtido pela busca: PCPRODUT.CODPROD = PCEMBALAGEM.CODPROD.
  • Se o campo PCDESCONTO.CODPROD estiver preenchido, o retorno será:
    PCPRODUT.CODAUXILIAR + "-" + PCDESCONTO.CODPROD,
    onde PCPRODUT é obtido pela busca: PCPRODUT.CODPROD = PCDESCONTO.CODPROD.

PackingId

  • Quando o campo PCDESCONTO.CODAUXILIAR estiver preenchido, o retorno será:
    PCDESCONTO.CODAUXILIAR + "-" + PCEMBALAGEM.CODPROD.

AllPackages

    • Se PCDESCONTO.CODAUXILIAR estiver preenchido, o retorno será false.
    • Se PCDESCONTO.CODAUXILIAR não estiver preenchido, o retorno será true.


Regras para entender os campos de desconto e acréscimo

  1. Campo percdesc (taxa de desconto ou acréscimo)

    • Valores positivos: Representam desconto.
      Exemplo: 10,0000 significa um desconto de 10%.
    • Valores negativos: Representam acréscimo.
      Exemplo: -10,0000 significa um acréscimo de 10%.
  2. Campo percentageValue (valor da porcentagem)

    • Mostra somente o número, sem sinal de positivo (+) ou negativo (-).
      Exemplo: Se o valor for 10,0000, ele pode ser um desconto ou acréscimo, dependendo de como o sistema interpretar.
  3. Campo type (tipo de aplicação)

    • Indica se o valor é desconto ou acréscimo:
      • 0: É um desconto.
      • 1: É um acréscimo.

Como tudo funciona junto:

    • Se o número no campo percdesc for positivo, ele será tratado como um desconto e o type será 0.
    • Se o número no campo percdesc for negativo, ele será tratado como um acréscimo e o type será 1.
Totvs custom tabs box items
defaultno
referenciapasso2

Exemplo do envio da requisição:

Bloco de código
languagejs
titleURI
method: 'GET',
url: '/winthor/precos/v1/politica-desconto'     -> Poderá informar todos os PARAMS abaixo.
Bloco de código
languagejs
titleParams
page			 : 1					   - número deda página (se não informar, assume o padrão)
pageSize		 : 10					   - quantidade de registros por página (se não informar, assume o padrão)
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. caso não informado trazer todos
branchId  		 : String				   - Código da Filial (lista separado por virgula). Não obrigatório. Se for nulo, tratar como 99
regionId         : 0					     - Código da região (lista separado por virgula), caso não informado trazer todos
productId        : 0					   - Código do produto (lista separado por virgula), caso não informado trazer todos
barCodeId        : 0					   - Código de barras, caso não informado trazer todos
suppierId        : 0					   - Código do fornecedor, caso não informado trazer todos 
active           : true/false			     - Somente cadastros ativos

, caso não informado trazer todos  
Totvs custom tabs box items
defaultno
referenciapasso3

Exemplo JSON da resposta:  

Bloco de código
languagejs
titleBody Response
{
    "first": false,
    "items": [
        {
            "situationactive": "Atrue",
            "campaignId": 4899,
            "branchId": "1",
            "regionId": 0,             
			"productId": 2996,
            "skuId": "7899917123826-2996",
            "productIdbarCode": 16587899917123826,
            "packingId": "7899917123826-2996",             
			"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-06T0006T23:0059:0059",
            "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
}

...