MANUAL DE LINGUAGEM DE PROMOÇÕES


PROMO 7.2




Índice


Finalidade e âmbito


Este manual tem como objetivo mostrar os passos para definir promoções via formato Json e depois importá-las via REST Service ou RabbitMQ. As informações aqui apresentadas também são válidas para o formato xml de promoções, nesse sentido é apresentado um exemplo operacional para que as definições das promoções possam ser obtidas em formato Json a partir dos mapas xml Promo.


Introdução

As promoções são importadas através do "Serviço de Importação de Promoções em Massa via REST" e você precisa receber as promoções no formato "Json". Para mais informações sobre este serviço, consulte o Manual de Integração de Serviços. Aqui, apenas referenciaremos a definição via Json especificamente. 



A formação do Json

A promoção Json tem os parâmetros da promoção e da operação a realizar no registo em questão. Os campos são:

CampoDetalhe
cirurgia

As operações que você deseja realizar. Eles podem ser: ( I: Inserir / U: Atualizar / R: Cancelar )

inhame

Nome da promoção

avaliarCondiçãoInCombo

Se a promoção tiver uma condição simples como parte do combo (consulte o Manual do Usuário, definição de Promoções: parâmetro "Avaliar condições no combo")

reportParticipants

Refere-se à opção de denunciar os participantes da promoção. Valores possíveis: "sempre", "não", "estoque" (desde 7.2)

código

O código da promoção.

conjuntos

Lista das referências aos conjuntos que definirão a condição e o benefício da promoção (mais detalhes em Json Sets).

doença

Definição de condições.

benefícios

Definição dos benefícios concedidos pela promoção.

Nota : Para a operação U ou R, é necessário inserir pelo menos um dos dois campos: nome ou código. Lembre-se de que se você enviar apenas o Código (código) da promoção, ele deve ser único, caso contrário, o sistema executará a ação indicada (U ou R) na primeira promoção que encontrar com esse código. Para mais detalhes, consulte as Notas no Manual do Usuário: "Campo de código-chave" e "Nome concatenado e código de promoção".


No exemplo a seguir, mostramos uma estrutura básica e incompleta de alguns dos campos mencionados, apenas para fins de referência:

Ejemplo Json
{    
	"operação": "eu",
	"nome": "2305 Promo wal1",
	"relatórioParticipantes": "falso",
	"sugerir": "não",
	"conjuntos": {
		"definir": []
	},
	"doença": {
	},
	"benefícios": {
	}
 }


Definir definição

Refere-se aos conjuntos de elementos que farão parte da condição e aos que formarão o conjunto da aplicação.

Os campos são:

CampoDetalhe

inhame

É o identificador único do conjunto. Este id será referenciado tanto nas condições quanto no conjunto de aplicações do benefício.

tipo

O código do elemento, seus possíveis valores são:

Valor

Descrição

cliente

Clientes

benefícios

benefício externo

cupom

cupons

eventos

eventos

item

Produtos

cartão de fidelidade

cartões de fidelidade

pagamento

Meios de pagamento

interseção

Crie um "E" para mais de uma condição

União

Crie um "OR" para mais de uma condição

Para o "tipo" de "interseção" e "união" você precisa colocar uma lista de conjuntos. Pode ter interseção dentro da união e união dentro da interseção.

atributos

É o código do Atributo dos elementos. Seus possíveis valores são:

Valor

Descrição

Digite o valor

código

Código (SKU)

item

preço unitário

Preço unitário

item

marca

Marca

item

fornecedores

Fornecedor

item

nível 1

Departamento

item

nível 2

Família

item

nível 3

Categoria

item

level4

Subcategoria

item

quantidade

Quantia

item

magnitude

Magnitude

item

xpreço

Preço total

item

todos

Aplica-se a TODOS

item

descontínuo

Descontínuo

item

baixa rotatividade

baixa rotatividade

item

keyProduct

Produto principal

item

eu ia

ir

cupom

tipo

Cara

cupom

quantidade

Quantia

cupom

quantia

Quantia

cupom

todos

Aplica-se a TODOS

cupom

eu ia

ir

cliente

tipo

Cara

cliente

pontos

Pontos

cliente

quantia

Equilíbrio

cliente

Montante restante

Montante restante

cliente

segmento

Segmento

cliente

profileCode

Perfil do cliente

cliente

creditCampaignCode

campanha de crédito

cliente

todos

Aplica-se a TODOS

cliente

resgatarPointsPriceFactor

resgatarPointsPriceFactor

cliente

eu ia

Número

eventos

tipo

Tipo de transação

eventos

valor

Valor

eventos

todos

Aplica-se a TODOS

eventos

eu ia

Código

pagamento

tipo

Cara

pagamento

banco

Banco

pagamento

plano

Plano

pagamento

prestações

quotas

pagamento

quantia

Quantia

pagamento

itemmount

Valor do item

pagamento

prefixo

Prefixo

pagamento

todos

Aplica-se a TODOS

pagamento

payCreditCampaign

campanha de crédito

pagamento

prefixGroup

Grupo de Prefixos

pagamento

bolso

Bolso

pagamento

eu ia

ir

benefícios

tipo

tipo de benefício

benefícios

quantia

Quantia

benefícios

tipo de benefício

tipo de benefício

benefícios

comparador

É o código do comparador dos atributos dos elementos. Seus possíveis valores são:

Valor

Descrição

Maior que

IDOSO

distinto

DISTINTO

Menor que

MENOR

em

IGUAL

valor

O valor


Segue abaixo um exemplo onde o conjunto é para todos os produtos com código igual a 111:

Ejemplo Json
"definir": {
 	"nome": "6171aabde830a52d9c434b95",
	"tipo": "artigo",
	"atributo": "código",
	"comparador": "Into",
	"valor": "111"
	}


Segue um exemplo onde o conjunto é para todos os produtos com nível 1 igual a madeira e a forma de pagamento sendo cartão:

Ejemplo 2 Json
"definir": [
                    {
                        "nome": "5feaf1324b10b84760e83f37",
                        "tipo": "artigo",
                        "atributo": "nível1",
                        "comparador": "Into",
                        "valor": "madeiras"
                    },
                    {
                        "nome": "5feaf13a4b10b84760e83f3a",
                        "tipo": "pagamento",
                        "atributo": "tipo",
                        "comparador": "Into",
                        "valor": "cartão"
                    }
          ]


O seguinte é um exemplo onde o "tipo" "união" é usado:

Ejemplo 3 Json
"definir": {
           "nome": "6171aabde830a52d9c434b95",
           "tipo": "união",
           "definir" :[
                     {
                         "tipo": "artigo",
                         "atributo": "nível1",
                         "comparador": "Into",
                         "valor": "madeiras"
                      },
                     {
                         "tipo": "pagamento",
                         "atributo": "tipo",
                         "comparador": "Into",
                         "valor": "cartão"
                      }
                   ]
         }  

Exemplo com uma condição simples:

Ejemplo Json
"doença": {
            "tipo": "básico",
            "nome": "Existe",
            "parâmetro": {
              "chave": "conjunto de uso",
              "valor": "60f5d150e830a518e0976625"
            }
          }

Detalhe dos campos:

CampoDetalhe

tipo

O tipo de condição. Seus valores são: (básico ou composto). "Basic" é que a promoção tem apenas uma condição (simples condition) e "composite" que é uma condição por composição ou um combo.

inhame

É o método da condição, seus valores são:

Valor

Descrição

Entre


DiaFrequência


SemanaFrequência


DiaMêsFrequência


DiaDoMêsFrequência


dia da semana


Dia mês


Igual Ou Mais Que


Mais do que


Igual Ou Menor Que


Menor que


PaymentTotalBeneficiedItems


existe


distinto

Distinto (somente transação)

cabeçalhos

EQUAL (somente em transações)

parâmetro

Eles são uma lista dos parâmetros da condição. Possui dois valores “chave” e “valor”. O elemento "chave" pode ter 2 valores:
      - "use-set" que se refere à lista do conjunto e seu valor é o mesmo que o "nome" do conjunto.

      - "atributo" com esta "Chave" o "valor" pode ter vários valores. Os valores de "vaule" além do valor real da condição são o código:

Com os elementos "Distinto" e "Cabeçalho" na condição com "Transação" seu "valor" é diferente da adição.


Os de transição são:

Valor

Descrição

subzona

sub zona

zona

Zona

formatar

formatar

cadeia de lojas

cadeia de lojas

Código da moeda

Código da moeda

canal

canal

loja

Loja

terminal

terminal


Os outros são (quando não são "Transação"):

Valor

Descrição

Digite o valor

código

Código (SKU)

Item

preço unitário

Preço unitário

Item

marca

Marca

Item

fornecedores

Fornecedor

item

nível 1

Departamento

item

nível 2

Família

item

nível 3

Categoria

item

level4

Subcategoria

item

quantidade

Quantia

item

magnitude

Magnitude

item

xpreço

Preço total

item

todos

Aplica-se a TODOS

item

descontínuo

Descontínuo

item

baixa rotatividade

baixa rotatividade

item

keyProduct

Produto principal

item

eu ia

ir

cupom

tipo

Cara

cupom

quantidade

Quantia

cupom

quantia

Quantia

cupom

todos

Aplica-se a TODOS

cupom

eu ia

ir

cliente

tipo

Cara

cliente

pontos

Pontos

cliente

quantia

Equilíbrio

cliente

Montante restante

Montante restante

cliente

segmento

Segmento

cliente

profileCode

Perfil do cliente

cliente

creditCampaignCode

campanha de crédito

cliente

todos

Aplica-se a TODOS

cliente

resgatarPointsPriceFactor

resgatarPointsPriceFactor

cliente

eu ia

Número

eventos

tipo

Tipo de transação

eventos

valor

Valor

eventos

todos

Aplica-se a TODOS

eventos

eu ia

Código

pagamento

tipo

Cara

pagamento

banco

Banco

pagamento

plano

Plano

pagamento

prestações

quotas

pagamento

quantia

Quantia

pagamento

itemmount

Valor do item

pagamento

prefixo

Prefixo

pagamento

todos

Aplica-se a TODOS

pagamento

payCreditCampaign

campanha de crédito

pagamento

prefixGroup

Grupo de Prefixos

pagamento

bolso

Bolso

pagamento

eu ia

ir

benefícios

tipo

tipo de benefício

benefícios

quantia

Quantia

benefícios

tipo de benefício

tipo de benefício

benefícios


Alguns exemplos quando usamos o atributo ( attribute ):

Note que tem sempre de ter um conjunto com o “tipo”, quando não for condição de uma “Transação”.

Exemplo de Json com transação 

[…]

 {

      "tipo": "básico",

       "nome": "Cabeçalho",

        "parâmetro": [

                                   {

                                     "chave": "atributo",

                                     "valor": "loja"

                                      },

                                      {

                                      "valor chave",

                                      "valor": "666"

                                       }

                                    ]

 }

[…]


Exemplo Json sem transação 
 

"definir": [

              {

                "nome": "61126855e830a505e41642a3",

                "tipo": "artigo"

              },
[...]

"tipo": "básico",

"nome": "EqualOrMoreThan",
"parâmetro": [

              {

                "chave": "conjunto de uso",

                "valor": "61126855e830a505e41642a3"

              },

              {

                "chave": "atributo",

                "valor": "xpreço"

              },

              {

                "valor chave",

                "valor": "1000"

              }

            ] 


Este exemplo mostra que existe uma condição simples com o preço total de todos os itens (SKU) com valor maior ou igual a 1000.


Exemplo de Condição Simples com dois conjuntos relacionados pela função lógica AND:

Ejemplo Json
"doença": {
            "tipo": "composto",
            "nome e",
            "doença": [
              {
                "tipo": "básico",
                "nome": "Existe",
                "parâmetro": {
                  "chave": "conjunto de uso",
                  "valor": "60f58668e830a518e09765d6"
                }
              },
              {
                "tipo": "básico",
                "nome": "Existe",
                "parâmetro": {
                  "chave": "conjunto de uso",
                  "valor": "60f58672e830a518e09765d9"
                }
              }
            ]
          }

Aqui estão os campos do exemplo acima:

CampoDetalhe

tipo

Tipo de condição. Seus valores são: (básico ou composto).

inhame

Esta é a operação na condição, seus possíveis valores são:

Operação

SIMPLES

E

OU

NÃO

E NÃO

OU NÃO

doença

Uma lista de condições.


Exemplo de combo limitado a 1 única instância composta por 1 produto e 1 pagamento variando entre 1300 e 1500:

Ejemplo Json
"definir": [
              {
                "nome": "60f089dee830a518e0976217",
                "tipo": "pagamento"
              },
              {
                "nome": "60f08bafe830a518e097621e",
                "tipo": "artigo"
              }
[....]
"combo": {
            "limite": "1",
            "componente-combo": [
              {
                "min": "1",
                "max": "1",
                "atributo": "quantidade",
                "conjunto de uso": "60f08bafe830a518e097621e"
              },
              {
                "min": "1300",
                "max": "1500",
                "atributo": "quantia do item",
                "conjunto de uso": "60f089dee830a518e0976217"
              }
            ]
          }

Detalhe dos campos utilizados no exemplo anterior:

CampoDetalhe

limite

Limite de vezes para ser agrupado

componente de combinação

Uma lista de componentes de combinação


Os campos dentro do combo-component são:

CampoDetalhe

min

quantidade mínima

máximo

quantidade máxima

atributos

São as Unidades de medida (diferenciam-se pelo tipo (type) e pelo set (use-set) )

Valor

Descrição

Digite o valor

quantidade

Quantia

item

magnitude

Magnitude

item

xpreço

Preço total

item

quantidade

Quantia

cupom

quantia

Quantia

cupom

pontos

Pontos

cliente

quantia

Equilíbrio

cliente

quantia

Quantia

pagamento

itemmount

Valor do item

pagamento

quantia

Quantia

cartão de fidelidade

conjunto de uso

É a relação com a lista de conjuntos.

critérios de ordem

É o critério de ordenação. Os valores possíveis são:

Valor

Nome

UmMenosCaro

Um mais barato por condição

MenosCaroPrimeiro

mais barato primeiro

UmMaisCaro

Mais um caro pelo estado

MaisCaroPrimeiro

O mais caro primeiro

atributo de equivalência

É o Atributo de equivalência (se houver). Os valores possíveis são:

Valor

Descrição

Digite o valor

preço unitário

Preço unitário

item

código

Código (SKU)

item

marca

Marca

item

fornecedores

Fornecedor

item

nível 1

Departamento

item

nível 2

Família

item

nível 3

Categoria

item

level4

Subcategoria

item

todos

Aplica-se a TODOS

item

descontínuo

Descontínuo

item

baixa rotatividade

baixa rotatividade

item

keyProduct

Produto principal

item

Código do produto

Código do produto

item

código de barras

Produto de barra de código

item

eu ia

ir

cupom

tipo

Cara

cupom

quantidade

Quantia

cupom

quantia

Quantia

cupom

todos

Aplica-se a TODOS

cupom

tipo

Cara

cliente

profileCode

Perfil do cliente

cliente

creditCampaignCode

campanha de crédito

cliente

eu ia

Código

pagamento

tipo

Cara

pagamento

banco

Banco

pagamento

plano

Plano

pagamento

prestações

quotas

pagamento

itemmount

Valor do item

pagamento

prefixo

Prefixo

pagamento

todos

Aplica-se a TODOS

pagamento

payCreditCampaign

campanha de crédito

pagamento

prefixGroup

Grupo de Prefixos

pagamento

bolso

Bolso

pagamento

tipo

Cara

cartão de fidelidade

contratos

Acordo

cartão de fidelidade

atributo de inequivalência


É o Atributo de inequivalência (se houver). Os valores possíveis são:

Valor

Descrição

Digite o valor

marca

Marca

item

código

Código (SKU)

item

preço unitário

Preço unitário

item

fornecedores

Fornecedor

item

nível 1

Departamento

item

nível 2

Família

item

nível 3

Categoria

item

level4

Subcategoria

item

quantidade

Quantia

item

magnitude

Magnitude

item

xpreço

Preço total

item

todos

Aplica-se a TODOS

item

descontínuo

Descontínuo

item

baixa rotatividade

baixa rotatividade

item

keyProduct

Produto principal

item

opção de resgate

opção de resgate

item

Código do produto

Código do produto

item

código de barras

Produto de barra de código

item

eu ia

ir

cupom

tipo

Cara

cupom

quantidade

Quantia

cupom

quantia

Quantia

cupom

todos

Aplica-se a TODOS

cupom

tipo

Cara

cliente

profileCode

Perfil do cliente

cliente

creditCampaignCode

campanha de crédito

cliente

eu ia

Código

pagamento

tipo

Cara

pagamento

banco

Banco

pagamento

plano

Plano

pagamento

prestações

quotas

pagamento

quantia

Quantia

pagamento

itemmount

Valor do item

pagamento

prefixo

Prefixo

pagamento

todos

Aplica-se a TODOS

pagamento

payCreditCampaign

campanha de crédito

pagamento

prefixGroup

Grupo de Prefixos

pagamento

bolso

Bolso

pagamento

tipo

Cara

cartão de fidelidade

contratos

Acordo

cartão de fidelidade


Benefício Json

O elemento “benefits” é um objeto que possui uma lista de benefícios (“benefit”) que a promoção possui com seus parâmetros particulares. Segue um exemplo com dois benefícios, um com Cupom Calculado e outro com Benefício Externo.

Ejemplo Json
"benefícios": {
		"benefício": [
		    {
				"instance": "CalculatedCouponApplicationBenefit",					
				"não": "60131bd5acb1e948c01a28a6",
				"parâmetro": [… Os parâmetros do benefício …],
				"elementos aplicados": {
					"conjunto de uso": {
						"nome": "60131abbacb1e948c01a2889"
					           }
				                     }
			  },
			{
				"instância": "Benefício externo",
				"não": "60131bf5acb1e948c01a28a8",
				"parâmetro": [ … Os parâmetros do lucro …],
				"elementos aplicados": {
					"conjunto de uso": {
						"nome": "60131abbacb1e948c01a2889"
					           }
				                    }
		 	 }
                ]
         }

Veja a seguir outro exemplo com um benefício da Wallet:

Ejemplo 2 Json
"benefícios": {
		  "benefício": {
			"instance": "WalletBenefit",
			"não": "6171aaaee830a52d9c434b91",
			"parâmetro": [ … Os parâmetros do benefício … ],
			"elementos aplicados": {
			  "use-set": {"nome": "6171aabde830a52d9c434b95"}
			                     }
                       }
             }


Cada benefício tem seu tipo (instância), seus parâmetros (parâmetro) e a quem aplica esse benefício (elementos-aplicados), este último é constituído para formar um único benefício. Seus campos são:

instância

São os códigos (código) do tipo de benefício. Estes são os possíveis valores desse campo:

Valor

Descrição

Cupom CalculadoBenefício do Aplicativo

Aplicação de cupom calculado

Carteira Benefício

Lucro da Carteira

DescontoPercentagemContrato

desconto de acordo

ResgatarPontosBenefício

Resgate de Pontos

BenefícioCupomCalculado

Cupom Calculado

Benefício de Resgate do Catálogo

Resgatar Pontos para Catálogo

ResgatarComOpçõesBenefício

Troca com Opções

Benefício Externo

Benefício externo

BancoReembolsoBenefício

saque bancário

PorcentagemLealdadeBenefício

porcentagem de fidelidade

GeralBenefício

Benefício geral

Presente Benefício

Presente

Plano de PagamentoBenefício

Plano de pagamento

CupomBenefício

Cupom

FatorLealdadeBenefício

Coeficiente de fidelidade

FidelidadeBenefício

pontos de fidelidade

PercentualDesconto

desconto percentual

Desconto Fixo

desconto fixo

Novo preço

Novo preço

não

É o id do banco de dados ao fazer as operações (U: Atualizar / R: Cancelar) é um campo obrigatório.

parâmetros

É a lista de parâmetros que os tipos de benefício possuem. Parâmetros que possuem todos os benefícios e outros que são exclusivos são mostrados aqui. A "chave" é exibida no campo "Código da chave". O campo "value" são os valores (os em branco são inseridos pelo usuário), alguns deles possuem valores predefinidos (Options values ​​(codes)) conforme abaixo.

Parâmetros gerais:

Valor das opções (códigos)

Código chave

Descrição


exibir mensagem


mensagem PDV


Mensagem TLOG


Coca-Cola + Batatas, leve as batatas de graça


mensagem da impressora


mensagem na impressora


conta


Conta contavél

{"code" : "mais barato primeiro","name" : "Mais barato primeiro"

}


Método de rateio


método de repartição 

{"code" : "mais caro primeiro","name" : "Mais caro primeiro"}


Método de rateio

método de repartição 

{"código" : "proporcional","nome" : "proporcional"}

Método de rateio

método de repartição 

{"code" : "preço-benefício","name" : "preço-benefício"

}

applicationPriceType


Aplicar em... 

{"code" : "original-price","name" : "Preço Original"}

applicationPriceType


Aplicar em... 

{"código" : "currículo","nome" : "Currículo"}

método de aplicação


Método de aplicação

{"código" : "lineByLine","nome" : "LineByLine"}

método de aplicação


Método de aplicação


inhame


O número da promoção é necessário ao fazer as operações (U: Atualizar / R: Cancelar )


Parâmetros exclusivos:

Código chaveObrigatórioDescriçãotipo de benefícioValor das opções (Código)Valor das opções (Nome)
quantidade externafalsoPreço informado pelo PDVNovo preço

novo preçofalsoO seguinte preço ($)Novo preço

unidadefalsoPara cada unidade deNovo preçoquantidadeQuantia
unidadefalsoPara cada unidade deNovo preçomagnitudeMagnitude
unidadefalsoPara cada unidade deNovo preçon / DTodos
valor de recuperaçãofalsoValor de RecuperaçãoNovo preço

tipo de recuperaçãofalsoTipo de RecuperaçãoNovo preçopPercentagem
tipo de recuperaçãofalsoTipo de RecuperaçãoNovo preçoparaquantia fixa
rateBCPfalsoRepartição entre os participantesNovo preço

quantiaverdadeiroO seguinte valor ($)desconto fixo

unidadefalsoPara cada unidade dedesconto fixoquantidadeQuantia
unidadefalsoPara cada unidade dedesconto fixomagnitudeMagnitude
unidadefalsoPara cada unidade dedesconto fixon / DTodos
valor de recuperaçãofalsoValor de Recuperaçãodesconto fixo

tipo de recuperaçãofalsoTipo de Recuperaçãodesconto fixopPercentagem
tipo de recuperaçãofalsoTipo de Recuperaçãodesconto fixoparaquantia fixa
rateBCPfalsoRepartição entre os participantesdesconto fixo

por centoverdadeiroA seguinte porcentagem (%)desconto percentual

unidadefalsoPara cada unidade dedesconto percentualquantidadeQuantia
unidadefalsoPara cada unidade dedesconto percentualmagnitudeMagnitude
unidadefalsoPara cada unidade dedesconto percentualn / DTodos
valor de recuperaçãofalsoValor de Recuperaçãodesconto percentual

tipo de recuperaçãofalsoTipo de Recuperaçãodesconto percentualpPercentagem
tipo de recuperaçãofalsoTipo de Recuperaçãodesconto percentualparaquantia fixa
rateBCPfalsoRepartição entre os participantesdesconto percentual

valorverdadeiroPontos de premiação (valor)pontos de fidelidade

tipoverdadeirodo tipopontos de fidelidade

unidadefalsoPara cada unidade depontos de fidelidadequantidadeQuantia
unidadefalsoPara cada unidade depontos de fidelidademagnitudeMagnitude
unidadefalsoPara cada unidade depontos de fidelidaden / DTodos
trxPointsLimitfalsoMáximo de pontos por transaçãopontos de fidelidade

valor de recuperaçãofalsoValor de Recuperaçãopontos de fidelidade

tipo de recuperaçãofalsoTipo de Recuperaçãopontos de fidelidadepPercentagem
tipo de recuperaçãofalsoTipo de Recuperaçãopontos de fidelidadeparaquantia fixa
ignorePaidInPointsfalsoIgnorar pago com pontospontos de fidelidade

tipoverdadeiroTipo de Prêmio PontosCoeficiente de fidelidade

fatorverdadeiroCom o seguinte fatorCoeficiente de fidelidade

trxPointsLimitfalsoMáximo de pontos por transaçãoCoeficiente de fidelidade

valor de recuperaçãofalsoValor de RecuperaçãoCoeficiente de fidelidade

tipo de recuperaçãofalsoTipo de RecuperaçãoCoeficiente de fidelidadepPercentagem
tipo de recuperaçãofalsoTipo de RecuperaçãoCoeficiente de fidelidadeparaquantia fixa
ignorePaidInPointsfalsoIgnorar pago com pontosCoeficiente de fidelidade

quantidadeverdadeiroCupons de premiação (quantidade)Cupom

cupãoverdadeirode tipo/identificadorCupom

InfoPosverdadeiroDados para o PDVCupom0nomeInfoPos0
InfoPosverdadeiroDados para o PDVCupom1nomeInfoPos1
InfoPosverdadeiroDados para o PDVCupom2nomeInfoPos2
valor de recuperaçãofalsoValor de RecuperaçãoCupom

tipo de recuperaçãofalsoTipo de RecuperaçãoCupompPercentagem
tipo de recuperaçãofalsoTipo de RecuperaçãoCupomparaquantia fixa
plano de pagamentoverdadeiroConceder o plano de pagamentoPlano de pagamento

plano de pagamentofalsoPlano de Pagamento VtolPlano de pagamento

tipoverdadeiroPor tipo de pagamentoPlano de pagamento

tratarverdadeiroCom meio de pagamentoPlano de pagamento

prestaçõesverdadeiroquotasPlano de pagamento

bancofalsoDo BancoPlano de pagamento

limitefalsoquantidade limitePlano de pagamento

prefixosfalsoPrefixoPlano de pagamento

por centofalsocom uma porcentagemPlano de pagamento

tipo de porcentagemfalsoDe (Desconto/Sobretaxa)Plano de pagamentoindistintoindistinto
tipo de porcentagemfalsoDe (Desconto/Sobretaxa)Plano de pagamentodescontosDesconto
tipo de porcentagemfalsoDe (Desconto/Sobretaxa)Plano de pagamentosobretaxaSobretaxa
parcelasToDisplayfalsoTaxas para mostrar no PDVPlano de pagamento

bolsofalsoBolsoPlano de pagamento

valor de recuperaçãofalsoValor de RecuperaçãoPlano de pagamento

tipo de recuperaçãofalsoTipo de RecuperaçãoPlano de pagamentopPercentagem
tipo de recuperaçãofalsoTipo de RecuperaçãoPlano de pagamentoparaquantia fixa
tipo de operação vtolfalsoOperationType VtolPlano de pagamento

quantidadeverdadeiroDar presentes (valor)Presente

código de presenteverdadeiroCom identificação de presentePresente

tipo de presenteverdadeiroe tipo de presentePresente

valor de recuperaçãofalsoValor de RecuperaçãoPresente

tipo de recuperaçãofalsoTipo de RecuperaçãoPresentepPercentagem






tipo de recuperaçãofalsoTipo de RecuperaçãoPresenteparaquantia fixa
quantidadeverdadeiroValor do benefício geralBenefício geral

em geralverdadeirocom identificaçãoBenefício geral

tipo geralverdadeiroe digiteBenefício geral

valor de recuperaçãofalsoValor de RecuperaçãoBenefício geral

tipo de recuperaçãofalsoTipo de RecuperaçãoBenefício geralpPercentagem
tipo de recuperaçãofalsoTipo de RecuperaçãoBenefício geralparaquantia fixa
por centoverdadeiroConceda uma porcentagem do preço em pontosporcentagem de fidelidade

tipoverdadeirodo tipoporcentagem de fidelidade

trxPointsLimitfalsoMáximo de pontos por transaçãoporcentagem de fidelidade

valor de recuperaçãofalsoValor de Recuperaçãoporcentagem de fidelidade

tipo de recuperaçãofalsoTipo de Recuperaçãoporcentagem de fidelidadepPercentagem
tipo de recuperaçãofalsoTipo de Recuperaçãoporcentagem de fidelidadeparaquantia fixa
ignorePaidInPointsfalsoIgnorar pago com pontosporcentagem de fidelidade

plano de pagamentoverdadeiroplano de pagamento bankRefoundBenefit-Grantsaque bancário

plano de pagamentofalsoPlano de Pagamento Vtolsaque bancário

tipoverdadeirobankRefoundBenefit-For tipo de pagamentosaque bancário

tratarverdadeirobankRefoundBenefit-Com meios de pagamentosaque bancário

prestaçõesverdadeirobankRefoundBenefit-Quotassaque bancário

bancofalsobankRefoundBenefit-Do bancosaque bancário

limitefalsobankRefoundBenefit-Amount limitsaque bancário

prefixosfalsobankRefoundBenefit-Prefixsaque bancário

por centoverdadeirobankRefoundBenefit-Com uma porcentagemsaque bancário

tipo de porcentagemfalsobankRefoundBenefit-De (Desconto/Sobretaxa)saque bancáriodescontosDesconto
bolsofalsobankRefoundBenefit-From pocketsaque bancário

valor de recuperaçãofalsoValor de Recuperaçãosaque bancário

tipo de recuperaçãofalsoTipo de Recuperaçãosaque bancáriopPercentagem
tipo de recuperaçãofalsoTipo de Recuperaçãosaque bancárioparaquantia fixa
tipo de operação vtolfalsoOperationType Vtolsaque bancário

tipoverdadeirodo tipoBenefício externo

valor de recuperaçãofalsoValor de RecuperaçãoBenefício externo

tipo de recuperaçãofalsoTipo de RecuperaçãoBenefício externopPercentagem






tipo de recuperaçãofalsoTipo de RecuperaçãoBenefício externoparaquantia fixa
rateBCPfalsoRepartição entre os participantesBenefício externo

valor de recuperaçãofalsoValor de RecuperaçãoTroca com Opções

tipo de recuperaçãofalsoTipo de RecuperaçãoTroca com OpçõespPercentagem
tipo de recuperaçãofalsoTipo de RecuperaçãoTroca com Opçõesparaquantia fixa
tipoverdadeiroTipo de ponto de troca de cartão por catálogoResgatar Pontos para Catálogo

valor de recuperaçãofalsoValor de RecuperaçãoResgatar Pontos para Catálogo

tipo de recuperaçãofalsoTipo de RecuperaçãoResgatar Pontos para CatálogopPercentagem
tipo de recuperaçãofalsoTipo de RecuperaçãoResgatar Pontos para Catálogoparaquantia fixa
rateBCPfalsoRepartição entre os participantesResgatar Pontos para Catálogo

cupãoverdadeiroCaraAplicação de cupom calculado

valor de recuperaçãofalsoValor de RecuperaçãoAplicação de cupom calculado

tipo de recuperaçãofalsoTipo de RecuperaçãoAplicação de cupom calculadopPercentagem
tipo de recuperaçãofalsoTipo de RecuperaçãoAplicação de cupom calculadoparaquantia fixa
rateBCPfalsoRepartição entre os participantesAplicação de cupom calculado

cupãoverdadeiroCaraCupom Calculado

quantidadeApplicationTypeverdadeiroTipo de aplicação de valorCupom CalculadopercentagemCupom calculado - aplicação do valor por percentual
quantidadeApplicationTypeverdadeiroTipo de aplicação de valorCupom Calculadoquantia fixaCupom calculado - aplicação do valor por valor fixo
quantidadeApplicationTypeverdadeiroTipo de aplicação de valorCupom Calculadoquantidade externaCupom calculado - aplicação de valor por valor externo
CalculadoCouponValueverdadeiroValor calculado da taxa do cupomCupom Calculado

quantidadeverdadeiroQuantiaCupom Calculado

valor de recuperaçãofalsoValor de RecuperaçãoCupom Calculado

tipo de recuperaçãofalsoTipo de RecuperaçãoCupom CalculadopPercentagem
tipo de recuperaçãofalsoTipo de RecuperaçãoCupom Calculadoparaquantia fixa
acumuleInSingleCouponfalsoAcumule a quantidade de benefícios em um único cupomCupom Calculado

tipoverdadeiroCaraResgate de Pontos

fatorverdadeiroCaraResgate de Pontos

valor de recuperaçãofalsoValor de RecuperaçãoResgate de Pontos

tipo de recuperaçãofalsoTipo de RecuperaçãoResgate de PontospPercentagem
tipo de recuperaçãofalsoTipo de RecuperaçãoResgate de Pontosparaquantia fixa
rateBCPfalsoRepartição entre os participantesResgate de Pontos

por centofalsocom uma porcentagemdesconto de acordo

unidadefalsoPara cada unidade dedesconto de acordoquantidadeQuantia
unidadefalsoPara cada unidade dedesconto de acordomagnitudeMagnitude
unidadefalsoPara cada unidade dedesconto de acordon / DTodos
balançadofalsoBalançadodesconto de acordosaldo1Saldo 1
balançadofalsoBalançadodesconto de acordosaldo2Saldo 2
valor de recuperaçãofalsoValor de Recuperaçãodesconto de acordo

tipo de recuperaçãofalsoTipo de Recuperaçãodesconto de acordopPercentagem
tipo de recuperaçãofalsoTipo de Recuperaçãodesconto de acordoparaquantia fixa
rateBCPfalsoRepartição entre os participantesdesconto de acordo

carteiraverdadeiroBolsaLucro da Carteira

LimitAmountverdadeiroLimiteLucro da Carteira

por centoverdadeiroPercentagemLucro da Carteira

elementos aplicados

É o Json do aplicativo da promoção


elementos aplicados

Os elementos-aplicados é a aplicação do benefício. É aplicado ao mais caro primeiro com base em 2 elementos.

Ejemplo Json
          "elementos aplicados": {
            "conjunto de uso": {
              "nome": "628bedd8a6c1d243c013421e",
              "critérios de pedido": "MaisCaroPrimeiro",
              "max": "2.0",
              "atributo": "quantidade",
              "min": "2,0"
            }
          }


Seus campos são:

CampoDetalhe

inhame

Referência a um conjunto

critérios de ordem

Estes são os critérios de ordenação, seus possíveis valores são:

Valor

Descrição

MaisCaroPrimeiro

O mais caro primeiro

MenosCaroPrimeiro

mais barato primeiro

máximo

É a aplicação máxima (valor)

min

É o desconto mínimo a aplicar

atributos

É a aplicação máxima (medida), seus valores possíveis são:

Valor

Descrição

quantidade

Quantia

magnitude

Magnitude

xpreço

Preço total


passos:

São Passos da definição de promoções escalonadas de um benefício.

Ejemplo Json
          "espantado": {
            "unidade": "quantidade",
            "staggeredStep": {
              "não": "629602c8a6c1d21bc8985ddb",
              "min": "1",
              "max": "1",
              "aplicarValor": "1"
            }
          }


Seus campos são:

unidade

É a Unidade Escalonada. Seus possíveis valores são:

Valor

Descrição

quantidade

Quantia

magnitude

Magnitude

xpreço

Preço total

StaggeredStep

É uma lista da definição das Etapas, seus campos são:

CampoDescrição

não

O número do banco de dados quando as operações são concluídas (U: Atualizar / R: Cancelar) é um dado obrigatório.

min

ocorrências mínimas

máximo

ocorrências máximas

aplicarValor

é o valor



exemplos

Exemplo 1:

Segue um exemplo onde uma nova promoção é inserida com uma condição simples e tem um benefício na carteira.

Ejemplo Json
{
    "companyId": "napse",
    "promoções": [
        {
		"operação": "eu",
		"nome": "2305 Promo wal1",
		"relatórioParticipantes": "falso",
		"sugerir": "não",
		"conjuntos": {
		  "definir": {
			"nome": "6171aabde830a52d9c434b95",
			"tipo": "artigo",
			"atributo": "código",
			"comparador": "Into",
			"valor": "111"
		  }
		},
		"doença": {
		  "tipo": "básico",
		  "nome": "Existe",
		  "parâmetro": {
			"chave": "conjunto de uso",
			"valor": "6171aabde830a52d9c434b95"
		  }
		},
		"benefícios": {
		  "benefício": {
			"instance": "WalletBenefit",
			"não": "6171aaaee830a52d9c434b91",
			"parâmetro": [
			  {
				"chave": "displayMessage",
				"value": "Promo Wal1"
			  },
			  {
				"chave": "mensagem da impressora",
				"value": "Promo Wal1"
			  },
			  {
				"chave": "TLOGMessage",
				"value": "Promo Wal1"
			  },
			  {
				"chave": "método de aplicação",
				"valor": "currículo"
			  },
			  {
				"chave": "Método de rateio",
				"valor": "proporcional"
			  },
			  {
				"chave": "aplicativoPriceType",
				"valor": "preço-benefício"
			  },
			  {
				"chave": "nome",
				"valor": "6171a7c5e830a52d9c434b89"
			  },
			  {
				"chave": "carteira",
				"valor": "w1"
			  },
			  {
				"chave": "limitAmount",
				"valor": "10"
			  },
			  {
				"chave": "por cento",
				"valor": "50"
			  }
			],
			"elementos aplicados": {
			  "use-set": {"nome": "6171aabde830a52d9c434b95"}
			}
		  }
		}
	  }
    ]
}


Exemplo 2:

O json a seguir mostra como uma promoção simples é inserida onde um cupom é concedido como benefício.

Ejemplo 1 Json
{
	"companyId": "napse",
	"promoções": [
        {
         "operação": "eu",
          "nome": "Importação de teste 01",
          "relatórioParticipantes": "falso",
          "sugerir": "não",
          "conjuntos": {
            "definir": {
              "nome": "setCond1",
              "tipo": "artigo",
              "atributo": "código",
              "comparador": "Into",
              "valor": "111"
            }
          },
          "doença": {
            "tipo": "básico",
            "nome": "Existe",
            "parâmetro": {
              "chave": "conjunto de uso",
              "valor": "setCond1"
            }
          },
          "benefícios": {
            "benefício": {
              "instance": "CouponBenefit",
              "não": "610ae160e830a528c4383a44",
              "parâmetro": [
                {
                  "chave": "displayMessage",
                  "value": "Teste de importação 01"
                },
                {
                  "chave": "mensagem da impressora",
                  "value": "Importação de teste 01 impressa"
                },
                {
                  "chave": "TLOGMessage",
                  "value": "Testar importação 01 tlog"
                },
                {
                  "chave": "método de aplicação",
                  "valor": "currículo"
                },
                {
                  "chave": "Método de rateio",
                  "valor": "proporcional"
                },
                {
                  "chave": "aplicativoPriceType",
                  "valor": "preço-benefício"
                },
                {
                  "chave": "nome",
                  "valor": "benefício01"
                },
                {
                  "chave": "quantidade",
                  "valor": "1"
                },
                {
                  "chave": "cupom",
                  "value": "tipcupelectm1"
                },
                {
                  "chave": "infoPos",
                  "valor": "0"
                },
                {
                  "chave": "valor de recuperação",
                  "valor": "0"
                },
                {
                  "chave": "tipo de recuperação",
                  "valor": ""
                }
              ],
              "elementos aplicados": {
                "use-set": {"nome": "setCond1"}
              }
            }
          }
        }
    ]
}

A imagem a seguir mostra a aparência do resumo da promoção no console Promo:


Exemplo 3:

Neste exemplo, é inserida uma promoção que possui uma condição simples e uma condição por composição (combo) e é dado como benefício um desconto de 100% em 1 produto batata. Essa promo seria: se você tiver 1 coca e 1 salgadinho, leve os salgadinhos de graça.

Ejemplo 2 Json
{
	"companyId": "napse",
	"promoções": [
		{
		  "operação": "eu",
          "nome": "Importação de teste 02",
          "relatórioParticipantes": "falso",
          "sugerir": "não",
          "conjuntos": {
            "definir": [
              {
                "nome": "setTest1",
                "tipo": "artigo",
                "atributo": "código",
                "comparador": "Into",
                "valor": "coca"
              },
              {
                "nome": "setTest2",
                "tipo": "artigo",
                "atributo": "código",
                "comparador": "Into",
                "valor": "batatas"
              },
              {
                "nome": "setTest3",
                "tipo": "artigo",
                "atributo": "código",
                "comparador": "Into",
                "valor": "batatas"
              }
            ]
          },
		  "doença": {
            "tipo": "básico",
            "nome": "Existe",
            "parâmetro": {
              "chave": "conjunto de uso",
              "valor": "setTest1"
            }
          },
          "combo": {
            "limite": "1",
            "componente-combo": [
              {
                "min": "1",
                "max": "1",
                "atributo": "quantidade",
                "use-set": "setTeste1"
              },
              {
                "min": "1",
                "max": "1",
                "atributo": "quantidade",
                "use-set": "setTeste2"
              }
            ]
          },
          "benefícios": {
            "benefício": {
              "instância": "PercentageDiscount",
              "parâmetro": [
                {
                  "chave": "displayMessage",
                  "value": "1Promo Coke+ Chips, chips grátis"
                },
                {
                  "chave": "mensagem da impressora",
                  "value": "1Promo Coca+ Chips, chips impressos grátis"
                },
                {
                  "chave": "TLOGMessage",
                  "value": "1Promo Coke+ Potatoes, batata grátis Tlog"
                },
                {
                  "chave": "método de aplicação",
                  "valor": "currículo"
                },
                {
                  "chave": "Método de rateio",
                  "valor": "proporcional"
                },
                {
                  "chave": "aplicativoPriceType",
                  "valor": "preço-benefício"
                },
                {
                  "chave": "nome",
                  "value": "ProfitTeste3"
                },
                {
                  "chave": "por cento",
                  "valor": "100"
                },
                {
                  "chave": "unidade",
                  "valor": "quantidade"
                },
                {
                  "chave": "valor de recuperação",
                  "valor": "0"
                },
                {
                  "chave": "tipo de recuperação",
                  "valor": ""
                },
                {
                  "chave": "prorataBCP",
                  "valor": "falso"
                }
              ],
              "elementos aplicados": {
                "conjunto de uso": {
                  "nome": "setTest3",
                  "max": "1,0",
                  "atributo": "quantidade"
                }
              }
            }
          }
        }
    ]
}

A imagem a seguir mostra a aparência do resumo da promoção no console Promo:


Exemplo 4:

No exemplo a seguir, você tem condições de intervalo de tempo, condições simples e condições de composição. Se efetuar a compra dentro do intervalo de datas e horas indicados e também cumprir a condição simples, que neste caso é um evento específico, e também cumprir a condição por composição indicada, terá um desconto de $ 2 em 1 produto com o código 0000118287.

Ejemplo 3 Json
{
	"companyId": "napse",
	"promoções": [
		  {
	      "operação": "eu",
          "nome": "Teste de importação 03",
          "código": "2237",
          "relatórioParticipantes": "falso",
          "sugerir": "sempre",
          "descriptor": "[REQPREV|CUPON_VIRTUAL_DELIVERY_1800_VITA_C]-PRM CUPON DELIVERY 1800 VITA C MK 03-30 NOV20",
          "conjuntos": {
            "definir": [
              {
                "nome": "setTest1",
                "tipo": "evento",
                "Valor do atributo",
                "comparador": "Into",
                "valor": "CUPON_VIRTUAL_DELIVERY_1800_VITA_C"
              },
              {
                "nome": "setTest2",
                "tipo": "artigo",
                "atributo": "código",
                "comparador": "Into",
                "valor": "0000118287"
              },
              {
                "nome": "setTest3",
                "tipo": "artigo",
                "atributo": "código",
                "comparador": "Into",
                "valor": "0000122033"
              },
              {
                "nome": "setTest4",
                "tipo": "artigo",
                "atributo": "código",
                "comparador": "Into",
                "valor": "0000118287"
              }
            ]
          },
          "doença": {
            "tipo": "composto",
            "nome e",
            "doença": [
              {
                "tipo": "composto",
                "nome e",
                "doença": {
                  "tipo": "básico",
                  "nome": "Existe",
                  "parâmetro": {
                    "chave": "conjunto de uso",
                    "valor": "setTest1"
                  }
                }
              },
              {
                "tipo": "básico",
                "nome": "Entre",
                "parâmetro": [
                  {
                    "chave": "atributo",
                    "valor": "data e hora"
                  },
                  {
                    "chave": "valor de",
                    "valor": "03/11/2020 00:00"
                  },
                  {
                    "chave": "valor para",
                    "valor": "30/12/2021 23:59"
                  }
                ]
              }
            ]
          },
          "combo": {
            "limite": "1",
            "componente-combo": [
              {
                "min": "1",
                "max": "1",
                "atributo": "quantidade",
                "atributo de equivalência": "código",
                "use-set": "setTeste2"
              },
              {
                "min": "3",
                "max": "3",
                "atributo": "quantidade",
                "atributo de equivalência": "código",
                "use-set": "setTeste3"
              }
            ]
          },
          "benefícios": {
            "benefício": {
              "instance": "FixedDiscount",
              "não": "603e80c7e830a523b48a0739",
              "parâmetro": [
                {
                  "chave": "displayMessage",
                  "valor": "CUPÃO PRM ENTREGA 1800 VITA C MK 03-30 NOV20"
                },
                {
                  "chave": "mensagem da impressora",
                  "value": "PRM CUPON DELIVERY 1800 VITA C MK 03-30 NOV20 impresso"
                },
                {
                  "chave": "TLOGMessage",
                  "value": "PRM CUPON DELIVERY 1800 VITA C MK 03-30 NOV20 tlog"
                },
                {
                  "chave": "método de aplicação",
                  "valor": "currículo"
                },
                {
                  "chave": "Método de rateio",
                  "valor": "proporcional"
                },
                {
                  "chave": "aplicativoPriceType",
                  "valor": "preço-benefício"
                },
                {
                  "chave": "nome",
                  "valor": "testeBenefício1"
                },
                {
                  "chave": "quantia",
                  "valor": "2"
                },
                {
                  "chave": "unidade",
                  "valor": "quantidade"
                },
                {
                  "chave": "valor de recuperação",
                  "valor": "0"
                },
                {
                  "chave": "tipo de recuperação",
                  "valor": ""
                }
              ],
              "elementos aplicados": {
                "conjunto de uso": {
                  "nome": "setTest4",
                  "max": "1,0",
                  "atributo": "quantidade"
                }
              }
            }
          }
        }
    ]
}

A imagem a seguir mostra a aparência do resumo da promoção no console Promo:


Exemplo 5:

No exemplo a seguir, é inserida uma promoção com condições simples onde indica que o código do produto deve ser igual a: a, b e c , e deve ter os seguintes tipos de formas de pagamento: VISA e as formas de pagamento devem ter o seguinte número de parcelas: 1, 2 ou 3. O benefício que será concedido será um plano de pagamento em 3 parcelas com a modalidade de pagamento VISA para os produtos a, b e c.

Ejemplo 4 Json
{
	"companyId": "napse",
	"promoções": [
		{
	      "operação": "eu",
          "nome": "Importação de teste 04",
          "relatórioParticipantes": "falso",
          "sugerir": "não",
          "conjuntos": {
            "definir": [
              {
                "nome": "setTest1",
                "tipo": "artigo",
                "atributo": "código",
                "comparador": "Into",
                "valor": "a,b,c"
              },
              {
                "nome": "setTest2",
                "tipo": "pagamento",
                "atributo": "tipo",
                "comparador": "Into",
                "valor": "VISO"
              },
              {
                "nome": "setTest3",
                "tipo": "pagamento",
                "atributo": "parcelas",
                "comparador": "Into",
                "valor": "1,2,3"
              }
            ]
          },
          "doença": {
            "tipo": "composto",
            "nome e",
            "doença": [
              {
                "tipo": "básico",
                "nome": "Existe",
                "parâmetro": {
                  "chave": "conjunto de uso",
                  "valor": "setTest1"
                }
              },
              {
                "tipo": "básico",
                "nome": "Existe",
                "parâmetro": {
                  "chave": "conjunto de uso",
                  "valor": "setTest2"
                }
              },
              {
                "tipo": "básico",
                "nome": "Existe",
                "parâmetro": {
                  "chave": "conjunto de uso",
                  "valor": "setTest3"
                }
              }
            ]
          },
          "benefícios": {
            "benefício": {
              "instance": "PaymentPlanBenefit",
              "parâmetro": [
                {
                  "chave": "displayMessage",
                  "value": "CodifMedioPago3Cuotas"
                },
                {
                  "chave": "mensagem da impressora",
                  "value": "CodifMedioPago3Cuotas"
                },
                {
                  "chave": "TLOGMessage",
                  "value": "CodifMedioPago3Cuotas"
                },
                {
                  "chave": "método de aplicação",
                  "valor": "currículo"
                },
                {
                  "chave": "Método de rateio",
                  "valor": "proporcional"
                },
                {
                  "chave": "aplicativoPriceType",
                  "valor": "preço-benefício"
                },
                {
                  "chave": "nome",
                  "valor": "teste de benefício1"
                },
                {
                  "chave": "plano de pagamento",
                  "valor": "1"
                },
                {
                  "Tipo de chave",
                  "valor": "VISO"
                },
                {
                  "chave": "concurso",
                  "valor": "1"
                },
                {
                  "chave": "parcelas",
                  "valor": "1,2,3"
                },
                {
                  "chave": "tipo de porcentagem",
                  "valor": "indistinto"
                },
                {
                  "chave": "valor de recuperação",
                  "valor": "0"
                },
                {
                  "chave": "tipo de recuperação",
                  "valor": ""
                }
              ],
              "elementos aplicados": {
                "use-set": {"name": "setTeste1"}
              }
            }
          }
        }
    ]
}

A imagem a seguir mostra a aparência do resumo da promoção no console Promo:


Exemplo 6:

No json a seguir é inserida uma promoção com uma condição simples onde indica que você deve comprar o produto 05935 e apresentar o tipo de cartão fidelidade 5. Você obterá como benefício: resgate de pontos para o tipo de cartão e produto mencionado , o fator de conversão será: para cada peso serão atribuídos 2 pontos.

Ejemplo 5 Json
{
	"companyId": "napse",
	"promoções": [
		{
	      "operação": "eu",
          "nome": "Importação de teste 05",
          "relatórioParticipantes": "falso",
          "sugerir": "não",
          "conjuntos": {
            "definir": [
              {
                "nome": "setTest01",
                "tipo": "artigo",
                "atributo": "código",
                "comparador": "Into",
                "valor": "05935"
              },
              {
                "nome": "setTest02",
                "tipo": "cartão de fidelidade",
                "atributo": "tipo",
                "comparador": "Into",
                "valor": "5"
              }
            ]
          },
          "doença": {
            "tipo": "composto",
            "nome e",
            "doença": [
              {
                "tipo": "básico",
                "nome": "Existe",
                "parâmetro": {
                  "chave": "conjunto de uso",
                  "valor": "setTest01"
                }
              },
              {
                "tipo": "básico",
                "nome": "Existe",
                "parâmetro": {
                  "chave": "conjunto de uso",
                  "valor": "setTest02"
                }
              }
            ]
          },
          "benefícios": {
            "benefício": {
              "instance": "RedeemPointsBenefit",
              "não": "60f586dce830a518e09765dd",
              "parâmetro": [
                {
                  "chave": "displayMessage",
                  "value": "Resgatar Pontos A"
                },
                {
                  "chave": "mensagem da impressora",
                  "value": "Resgatar Pontos A"
                },
                {
                  "chave": "TLOGMessage",
                  "value": "Resgatar Pontos A"
                },
                {
                  "chave": "método de aplicação",
                  "valor": "currículo"
                },
                {
                  "chave": "Método de rateio",
                  "valor": "proporcional"
                },
                {
                  "chave": "aplicativoPriceType",
                  "valor": "preço-benefício"
                },
                {
                  "chave": "nome",
                  "valor": "promoBenefício"
                },
                {
                  "Tipo de chave",
                  "valor": "5"
                },
                {
                  "fator chave",
                  "valor": "2"
                },
                {
                  "chave": "valor de recuperação",
                  "valor": "0"
                },
                {
                  "chave": "tipo de recuperação",
                  "valor": ""
                },
                {
                  "chave": "prorataBCP",
                  "valor": "falso"
                }
              ],
              "elementos aplicados": {
                "use-set": {"name": "setTeste01"}
              }
            }
          }
        }
    ]
}

A imagem a seguir mostra a aparência do resumo da promoção no console Promo:


Exemplo 7:

No exemplo a seguir, é inserida uma promoção com uma condição simples onde indica que o produto 05935 ou qualquer produto deve ser adquirido e como benefício podem ser trocados pontos no produto 05935 e levará 2 pontos para cada peso.

Ejemplo 6 Json
{
	"companyId": "napse",
	"promoções": [
		{
	      "operação": "eu",
          "nome": "Importação de teste 006",
          "relatórioParticipantes": "falso",
          "sugerir": "não",
          "conjuntos": {
            "definir": [
              {
                "nome": "setTest01",
                "tipo": "artigo",
                "atributo": "código",
                "comparador": "Into",
                "valor": "05935"
              },
              {
                "nome": "61126855e830a505e41642a3",
                "tipo": "artigo"
              },
            ]
          },
          "doença": {
            "tipo": "composto",
            "nome e",
            "doença": [
              {
                "tipo": "básico",
                "nome": "Existe",
                "parâmetro": {
                  "chave": "conjunto de uso",
                  "valor": "setTest01"
                }
              },
              {
                "tipo": "básico",
                "nome": "Existe",
                "parâmetro": [
				  {
                   "chave": "conjunto de uso",
                    "valor": "61126855e830a505e41642a3"
                  },
				  {
					"chave": "atributo",
					"valor": "xpreço"
				  },
				  {
					"valor chave",
					"valor": "1000"
				  }
				]
              }
            ]
          },
          "benefícios": {
            "benefício": {
              "instance": "RedeemPointsBenefit",
              "não": "60f586dce830a518e09765dd",
              "parâmetro": [
                {
                  "chave": "displayMessage",
                  "value": "Resgatar Pontos A"
                },
                {
                  "chave": "mensagem da impressora",
                  "value": "Resgatar Pontos A"
                },
                {
                  "chave": "TLOGMessage",
                  "value": "Resgatar Pontos A"
                },
                {
                  "chave": "método de aplicação",
                  "valor": "currículo"
                },
                {
                  "chave": "Método de rateio",
                  "valor": "proporcional"
                },
                {
                  "chave": "aplicativoPriceType",
                  "valor": "preço-benefício"
                },
                {
                  "chave": "nome",
                  "valor": "promoBenefício"
                },
                {
                  "Tipo de chave",
                  "valor": "5"
                },
                {
                  "fator chave",
                  "valor": "2"
                },
                {
                  "chave": "valor de recuperação",
                  "valor": "0"
                },
                {
                  "chave": "tipo de recuperação",
                  "valor": ""
                },
                {
                  "chave": "prorataBCP",
                  "valor": "falso"
                }
              ],
              "elementos aplicados": {
                "use-set": {"name": "setTeste01"}
              }
            }
          }
        }
   ]
}

A imagem a seguir mostra a aparência do resumo da promoção no console Promo:


Exemplo 8:

Neste exemplo é inserida uma promoção com uma condição simples onde indica que você pode levar qualquer produto e na condição por composição indica que você deve levar 2 vestidos e terá 100% de desconto em 1 batata.

Ejemplo 7 Json
{
	"companyId": "napse",
	"promoções": [
		{
	      "operação": "eu",
          "nome": "Importação de teste 07",
          "relatórioParticipantes": "falso",
          "sugerir": "não",
          "conjuntos": {
            "definir": [
              {
                "nome": "setTest1",
                "tipo": "artigo"
              },
              {
                "nome": "setTest2",
                "tipo": "artigo",
                "atributo": "código",
                "comparador": "Into",
                "valor": "vestido"
              },
              {
                "nome": "setTest3",
                "tipo": "artigo",
                "atributo": "código",
                "comparador": "Into",
                "valor": "batatas"
              }
            ]
          },
          "doença": {
            "tipo": "básico",
            "nome": "Existe",
            "parâmetro": {
              "chave": "conjunto de uso",
              "valor": "setTest1"
            }
          },
          "combo": {
            "limite": "1",
            "componente de combinação": {
              "min": "2",
              "max": "2",
              "atributo": "quantidade",
              "use-set": "setTest2"
            }
          },
          "benefícios": {
            "benefício": {
              "instância": "PercentageDiscount",
              "não": "611183a0e830a505e4164209",
              "parâmetro": [
                {
                  "chave": "displayMessage",
                  "value": "1Promo Coke+ Chips, chips grátis"
                },
                {
                  "chave": "mensagem da impressora",
                  "value": "1Promo Coke+ Chips, chips grátis"
                },
                {
                  "chave": "TLOGMessage",
                  "value": "1Promo Coke+ Chips, chips grátis"
                },
                {
                  "chave": "método de aplicação",
                  "valor": "currículo"
                },
                {
                  "chave": "Método de rateio",
                  "valor": "proporcional"
                },
                {
                  "chave": "aplicativoPriceType",
                  "valor": "preço-benefício"
                },
                {
                  "chave": "nome",
                  "valor": "611183a0e830a505e416420b"
                },
                {
                  "chave": "por cento",
                  "valor": "100"
                },
                {
                  "chave": "unidade",
                  "valor": "quantidade"
                },
                {
                  "chave": "valor de recuperação",
                  "valor": "0"
                },
                {
                  "chave": "tipo de recuperação",
                  "valor": ""
                },
                {
                  "chave": "prorataBCP",
                  "valor": "falso"
                }
              ],
              "elementos aplicados": {
                "conjunto de uso": {
                  "nome": "setTest3",
                  "max": "1,0",
                  "atributo": "quantidade"
                }
              }
            }
          }
        }
    ]
}

A imagem a seguir mostra a aparência do resumo da promoção no console Promo:


Exemplo 9:

Este exemplo mostra como inserir uma promoção com condição de intervalo de tempo e condições simples: comprando qualquer produto, apresentando um cupom tipo tc26, o cliente deve ser tipo vip e pertencer ao segmento abc1, deve pagar com forma de pagamento tipo VISA e ter um cartão fidelidade tipo 6, a compra deve ser feita no Terminal 081 e deve pertencer à Zona Norte. Se todas essas condições forem atendidas, serão concedidos os seguintes benefícios: troca de cupom calculado, será dado um benefício externo, troca com opções, troca de pontos de catálogo, desconto fixo de $ 200, desconto de acordo de 10%, desconto de 50 % de desconto, um novo desconto de preço, uma troca de pontos, um benefício geral, um coeficiente de fidelidade, um cupom tipo tc26 será concedido,

Ejemplo 8 Json
{
	"companyId": "napse",
	"promoções": [
		{
		"operação": "eu",
		"name": "Teste de importação 08",
		"código": "Teste de importação 08",
		"relatórioParticipantes": "falso",
		"sugerir": "não",
		"conjuntos": {
			"definir": [{
					"nome": "setTest1",
					"tipo": "artigo"
				},
				{
					"nome": "setTest2",
					"tipo": "cupom",
					"atributo": "tipo",
					"comparador": "Into",
					"valor": "tc26"
				},
				{
					"nome": "setTest3",
					"tipo": "cliente",
					"atributo": "tipo",
					"comparador": "Into",
					"valor": "vip"
				},
				{
					"nome": "setTest4",
					"tipo": "cliente",
					"atributo": "segmento",
					"comparador": "Into",
					"valor": "abc1"
				},
				{
					"nome": "setTest5",
					"tipo": "pagamento",
					"atributo": "tipo",
					"comparador": "Into",
					"valor": "visto"
				},
				{
					"nome": "setTest6",
					"tipo": "cartão de fidelidade",
					"atributo": "tipo",
					"comparador": "Into",
					"valor": "6"
				}
			]
		},
		"doença": {
			"tipo": "composto",
			"nome e",
			doença: [{
					"tipo": "composto",
					"nome e",
					doença: [{
							"tipo": "composto",
							"nome e",
							doença: [{
									"tipo": "composto",
									"nome e",
									doença: [{
											"tipo": "básico",
											"nome": "Existe",
											"parâmetro": {
												"chave": "conjunto de uso",
												"valor": "setTest1"
											}
										},
										{
											"tipo": "básico",
											"nome": "Existe",
											"parâmetro": {
												"chave": "conjunto de uso",
												"valor": "setTest2"
											}
										},
										{
											"tipo": "básico",
											"nome": "Existe",
											"parâmetro": {
												"chave": "conjunto de uso",
												"valor": "setTest3"
											}
										},
										{
											"tipo": "básico",
											"nome": "Existe",
											"parâmetro": {
												"chave": "conjunto de uso",
												"valor": "setTest4"
											}
										},
										{
											"tipo": "básico",
											"nome": "Existe",
											"parâmetro": {
												"chave": "conjunto de uso",
												"valor": "setTest5"
											}
										},
										{
											"tipo": "básico",
											"nome": "Existe",
											"parâmetro": {
												"chave": "conjunto de uso",
												"valor": "setTest6"
											}
										}
									]
								},
								{
									"tipo": "básico",
									"nome": "Cabeçalho",
									"parâmetro": [{
											"chave": "atributo",
											"valor": "terminal"
										},
										{
											"valor chave",
											"valor": "081"
										}
									]
								}
							]
						},
						{
							"tipo": "básico",
							"nome": "Cabeçalho",
							"parâmetro": [{
									"chave": "atributo",
									"valor": "zona"
								},
								{
									"valor chave",
									"valor": "norte"
								}
							]
						}
					]
				},
				{
					"tipo": "composto",
					"nome e",
					doença: [{
							"tipo": "básico",
							"nome": "Entre",
							"parâmetro": [{
									"chave": "atributo",
									"valor": "tempo"
								},
								{
									"chave": "valor de",
									"valor": "02:00"
								},
								{
									"chave": "valor para",
									"valor": "23:00"
								}
							]
						},
						{
							"tipo": "básico",
							"nome": "Entre",
							"parâmetro": [{
									"chave": "atributo",
									"valor": "data e hora"
								},
								{
									"chave": "valor de",
									"valor": "28/01/2021 00:00"
								},
								{
									"chave": "valor para",
									"valor": "31/10/2021 23:59"
								}
							]
						}
					]
				}
			]
		},
		"benefícios": {
			"benefício": [
			    {
					"instance": "CalculatedCouponApplicationBenefit",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"chave": "cupom",
							"valor": "tc19"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instância": "Benefício externo",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"Tipo de chave",
							"valor": "compensação"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instance": "RedeemWithOptionsBenefit",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					},
					"opções de resgate": {
						"redeemOption": {
							"benefitToApplyOptionCode": "fixedDiscount",
							"forEachUnit": "quantidade",
							"pontos obrigatórios": "1000",
							"applyValue": "100",
							"tipo de cartão": "6",
							"cardPoints": "100"
						}
					}
				},
				{
					"instance": "CatalogRedeemBenefit",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"Tipo de chave",
							"valor": "6"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instance": "FixedDiscount",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"chave": "quantia",
							"valor": "200"
						},
						{
							"chave": "unidade",
							"valor": "quantidade"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instância": "ContractPercentageDiscount",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"chave": "por cento",
							"valor": "10"
						},
						{
							"chave": "unidade",
							"valor": "quantidade"
						},
						{
							"chave": "equilíbrio",
							"valor": "saldo1"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instância": "PercentageDiscount",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"chave": "por cento",
							"valor": "50"
						},
						{
							"chave": "unidade",
							"valor": "quantidade"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instância": "NovoPreço",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"chave": "valorexterno",
							"valor": "falso"
						},
						{
							"chave": "novo preço",
							"valor": "300"
						},
						{
							"chave": "unidade",
							"valor": "quantidade"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instance": "RedeemPointsBenefit",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"Tipo de chave",
							"valor": "6"
						},
						{
							"fator chave",
							"valor": "10"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instância": "Benefício Geral",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"chave": "quantidade",
							"valor": "10"
						},
						{
							"chave": "geral",
							"valor": "33"
						},
						{
							"chave": "tipo geral",
							"valor": "geral"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instance": "FactorLoyaltyBenefit",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"Tipo de chave",
							"valor": "6"
						},
						{
							"fator chave",
							"valor": "10"
						},
						{
							"chave": "trxPointsLimit",
							"valor": "100"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instance": "CouponBenefit",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"chave": "quantidade",
							"valor": "1"
						},
						{
							"chave": "cupom",
							"valor": "tc26"
						},
						{
							"chave": "infoPos",
							"valor": "0"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instância": "CupomBenefício Calculado",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"chave": "cupom",
							"valor": "tc19"
						},
						{
							"chave": "quantidadeApplicationType",
							"valor": "porcentagem"
						},
						{
							"key": "calculatedCouponValue",
							"valor": "10"
						},
						{
							"chave": "quantidade",
							"valor": "100"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instância": "PercentLealtyBenefit",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"chave": "por cento",
							"valor": "10"
						},
						{
							"Tipo de chave",
							"valor": "6"
						},
						{
							"chave": "trxPointsLimit",
							"valor": "200"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instância": "Benefício de presente",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"chave": "quantidade",
							"valor": "1"
						},
						{
							"chave": "presente",
							"valor": "caixa grande1"
						},
						{
							"chave": "tipo de presente",
							"valor": "caixa grande"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				},
				{
					"instância": "BankRefundBenefit",
					"parâmetro": [{
							"chave": "displayMessage",
							"valor": "superPromox"
						},
						{
							"chave": "mensagem da impressora",
							"valor": "superPromox"
						},
						{
							"chave": "TLOGMessage",
							"valor": "superPromox"
						},
						{
							"chave": "método de aplicação",
							"valor": "currículo"
						},
						{
							"chave": "Método de rateio",
							"valor": "proporcional"
						},
						{
							"chave": "aplicativoPriceType",
							"valor": "preço-benefício"
						},
						{
							"chave": "nome",
							"valor": "60131a84acb1e948c01a2883"
						},
						{
							"chave": "plano de pagamento",
							"valor": "agora18"
						},
						{
							"Tipo de chave",
							"valor": "crédito"
						},
						{
							"chave": "concurso",
							"valor": "visto"
						},
						{
							"chave": "parcelas",
							"valor": "18"
						},
						{
							"chave": "banco",
							"valor": "santander"
						},
						{
							"chave": "valor limite",
							"valor": "200000"
						},
						{
							"chave": "por cento",
							"valor": "10"
						},
						{
							"chave": "tipo de porcentagem",
							"valor": "desconto"
						},
						{
							"chave": "bolso"
						},
						{
							"chave": "valor de recuperação",
							"valor": "0"
						},
						{
							"chave": "tipo de recuperação"
						}
					],
					"elementos aplicados": {
						"conjunto de uso": {
							"nome": "setTest1"
						}
					}
				}
			]
		}

	}]
}

A imagem a seguir mostra a aparência do resumo da promoção no console Promo:

 



Etapas para importar uma promoção que está em um mapa xml para o console Promo


Uma boa prática quando começamos a fazer o Json é pegar uma promoção de um mapa existente ou defini-lo no console e obter o mapa em formato xml para convertê-lo no Json equivalente e assim poder entender por comparação e depois fazer para outros. mídia.

Esta seção detalha um procedimento proposto para converter um mapa xml existente para o Json que é esperado como entrada para o serviço de importação de promoções.

1. Importando uma promoção de um mapa .xml

Dado o seguinte map.xml

mapa xml

<?xml versão="1.0" codificação="UTF-8"?>

<promo-engine start-date="19/05/2022 00:00" end-date="26/05/2022 23:59" map-version="1" sugerem="não">

<parameter key="Log" value="true" />

<parameter key="LogConfigurationFile" value="logrsca.xml" />

<parameter key="LogConfigurationCategory" value="com.synthesis.promo" />

<parameter key="Descriptors" value="descriptor.properties" />

<parameter key="DAOConfigurationFeatures" value="com.synthesis.promo.engine.dao.ConfigurationFeatures" />

<parameter key="EvaluationAlgorithmClass" value="com.synthesis.promo.engine.evaluation.InStepsAlgorithm" />

<promoções>

<promotion nro="62867033c9512b0184381178" name="Promoções com limites 1" code="30" className="com.synthesis.promo.engine.promotion.ModularPromotion" reportParticipants="false" sugerem="not">

<conjuntos>

<set name="62867340c9512b01843811b5" type="item" attribute="code" comparator="Into" value="111" />

</conjuntos>

<tipo de condição="composto" nome="E">

<condição tipo="básico" nome="Existe">

<parameter key="use-set" value="62867340c9512b01843811b5" />

</condição>

<condição tipo="básico" nome="Cabeçalho">

<parameter key="attribute" value="store" />

<parâmetro chave="valor" valor="napse,napse2" /> </condição>

</condição> <benefícios>

<benefit instance="FixedDiscount" number="628670c9c9512b018438117f">

<parameter key="displayMessage" value="Promoções com limites 1" />

<parameter key="printerMessage" value="Promoções com limites 1" />

<parameter key="TLOGMessage" value="Promoções com limites 1" />

<parameter key="applicationMethod" value="resume" />

<parameter key="prorationMethod" value="proportional" />

<parameter key="applicationPriceType" value="benefited-price" />

<parameter key="hasLimit" value="true" />

<parameter key="name" value="62867033c9512b0184381178" />

<chave do parâmetro="quantia" valor="300" />

<parâmetro chave="unidade" valor="quantidade" />

<parameter key="prorateBCP" value="false" />

<parameter key="recoveryValue" value="0" />

<parameter key="recoveryType" value="" />

<elementos-aplicados>

<use-set name="62867340c9512b01843811b5" /> </applied-elements>

</benefício>

</benefícios>

</promoção>

</promoções>

<algoritmo de avaliação>

<etapa>

<nome da função="TODOS">

<nome da função="SIMPLES">

<promotion-usage name="Promoções com limites 1" /> </function>

</função>

</step>

</evaluation-algorithm> </promo-engine>


Apenas a seção do bloco <promotion ….> deve ser copiada , conforme a imagem a seguir:


XML -> Bloco de promoção

<promotion nro="62867033c9512b0184381178" name="Promoções com limites 1" code="30" className="com.synthesis.promo.engine.promotion.ModularPromotion" reportParticipants="false" sugerem="not">

<conjuntos>

<set name="62867340c9512b01843811b5" type="item" attribute="code" comparator="Into" value="111" />

</conjuntos>

<tipo de condição="composto" nome="E">

<condição tipo="básico" nome="Existe">

<parameter key="use-set" value="62867340c9512b01843811b5" />

</condição>

<condição tipo="básico" nome="Cabeçalho">

<parameter key="attribute" value="store" />

<parâmetro chave="valor" valor="napse,napse2" /> </condição>

</condição> <benefícios>

<benefit instance="FixedDiscount" number="628670c9c9512b018438117f">

<parameter key="displayMessage" value="Promoções com limites 1" />

<parameter key="printerMessage" value="Promoções com limites 1" />

<parameter key="TLOGMessage" value="Promoções com limites 1" />

<parameter key="applicationMethod" value="resume" />

<parameter key="prorationMethod" value="proportional" />

<parameter key="applicationPriceType" value="benefited-price" />

<parameter key="hasLimit" value="true" />

<parameter key="name" value="62867033c9512b0184381178" />

<chave do parâmetro="quantia" valor="300" />

<parâmetro chave="unidade" valor="quantidade" />

<parameter key="prorateBCP" value="false" />

<parameter key="recoveryValue" value="0" />

<parameter key="recoveryType" value="" />

<elementos-aplicados>

<use-set name="62867340c9512b01843811b5" /> </applied-elements>

</benefício>

</benefícios>

</promoção>


2. Como converter o xml para json

Em seguida, acesse o site https://www.oxygenxml.com/xml_json_converter.html , para converter o xml para o formato json.

Cole o xml no campo XML e gere o Json pressionando o botão de seta ( -> ).


Isso produzirá a seguinte saída, da qual deve ser copiado apenas o que está dentro de "promoção": { marcado em azul , conforme mostrado no exemplo a seguir:

JSON gerado

{

"promoção": {

"não": "62867033c9512b0184381178",

"name": "Promoções com limites 1",

"código": "30",

"className": "com.synthesis.promo.engine.promotion.ModularPromotion", "reportParticipants": "false",

"sugerir": "não",

"conjuntos": {

"definir": {

"nome": "62867340c9512b01843811b5",

"tipo": "artigo",

"atributo": "código",

"comparador": "Into",

"valor": "111"

}

},

"doença": {

"tipo": "composto",

"nome e",

"doença": [

{

"tipo": "básico",

"nome": "Existe",

"parâmetro": {

"chave": "conjunto de uso",

"valor": "62867340c9512b01843811b5"

}

},

{

"tipo": "básico",

"nome": "Cabeçalho",

"parâmetro": [

{

"chave": "atributo",

"valor": "loja"

},

{

"valor chave",

"valor": "napse,napse2"

}

]

}

]

},

"benefícios": {

"benefício": {

"instance": "FixedDiscount",

"não": "628670c9c9512b018438117f",

"parâmetro": [

{

"chave": "displayMessage",

"value": "Promoções com limites 1"

},

{

"chave": "mensagem da impressora",

"value": "Promoções com limites 1"

},

{

"chave": "TLOGMessage",

"value": "Promoções com limites 1"

},

{

"chave": "método de aplicação",

"valor": "currículo"

},

{

"chave": "Método de rateio",

"valor": "proporcional"

},

{

"chave": "aplicativoPriceType",

"valor": "preço-benefício"

},

{

"chave": "hasLimit",

"valor": "verdadeiro"

},

{

"chave": "nome",

"valor": "62867033c9512b0184381178"

},

{

"chave": "quantia",

"valor": "300"

},

{

"chave": "unidade",

"valor": "quantidade"

},

{

"chave": "prorataBCP",

"valor": "falso"

},

{

"chave": "valor de recuperação",

"valor": "0"

},

{

"chave": "tipo de recuperação",

"valor": ""

}

],

"elementos aplicados": {

"use-set": {"nome": "62867340c9512b01843811b5"}

}

}

}

}

}


3. Como enviar o json obtido através do serviço Massive Promotions Import para o console Promo

Uma vez que todo o conteúdo marcado em azul tenha sido copiado, o formato padrão de importação da promoção deve ser atualizado. Por exemplo:

  • Você precisará colar o conteúdo copiado dentro após a “operação”: I, conforme a imagem a seguir.


Isso fornece a seguinte saída com o formato de importação já completo e pronto para uso do POSTMAN:

Resultado JSON da Importação da Promoção

O conteúdo colado é marcado em azul

{

"companyId":"napse",

"promoções": [

{

"operação":"eu",

"não": "62867033c9512b0184381178",

"name": "Promoções com limites 1",

"código": "30",

"className": "com.synthesis.promo.engine.promotion.ModularPromotion", "reportParticipants": "false",

"sugerir": "não",

"conjuntos": {

"definir": {

"nome": "62867340c9512b01843811b5",

"tipo": "artigo",

"atributo": "código",

"comparador": "Into",

"valor": "111"

}

},

"doença": {

"tipo": "composto",

"nome e",

"doença": [ {

"tipo": "básico",

"nome": "Existe",

"parâmetro": {

"chave": "conjunto de uso",

"valor": "62867340c9512b01843811b5"

}

},

{

"tipo": "básico",

"nome": "Cabeçalho",

"parâmetro": [

{

"chave": "atributo",

"valor": "loja"

},

{

"valor chave",

"valor": "napse,napse2"

}

]

}

]

},

"benefícios": {

"benefício": {

"instance": "FixedDiscount",

"não": "628670c9c9512b018438117f",

"parâmetro": [

{

"chave": "displayMessage",

"value": "Promoções com limites 1"

},

{

"chave": "mensagem da impressora",

"value": "Promoções com limites 1"

},

{

"chave": "TLOGMessage",

"value": "Promoções com limites 1"

},

{

"chave": "método de aplicação",

"valor": "currículo"

},

{

"chave": "Método de rateio",

"valor": "proporcional"

},

{

"chave": "aplicativoPriceType",

"valor": "preço-benefício"

},

{

"chave": "hasLimit",

"valor": "verdadeiro"

},

{

"chave": "nome",

"valor": "62867033c9512b0184381178"

},

{

"chave": "quantia",

"valor": "300"

},

{

"chave": "unidade",

"valor": "quantidade"

},

{

"chave": "prorataBCP",

"valor": "falso"

},

{

"chave": "valor de recuperação",

"valor": "0"

},

{

"chave": "tipo de recuperação",

"valor": ""

}

],

"elementos aplicados": {

"use-set": {"nome": "62867340c9512b01843811b5"}

}

}

}

}

]

}


Importando o json do POSTMAN:



4. Resultado

Promo importado e criado com sucesso no console Promo:





  • Sem rótulos