Como a API decide o que uma nota gera
As modalidades da campanha e as regras de geração que transformam nota cadastro story ou comunidade em chance
O que e?
É o motor que decide, a cada cadastro, quantas chances o participante recebe e de que tipo. Quem manda são duas configurações: a modalidade habilitada na campanha e as regras de geração vinculadas a ela. A tela onde isso é configurado está no artigo de regras de geração do painel — aqui está o que o sistema faz depois que alguém salvou aquela tela.
Como funciona?
Modalidades e regras
A modalidade separa os dois lados da premiação. Cada prêmio pertence a uma modalidade (Sorteio ou Posição premiada), e é isso que impede pagar uma posição premiada com prêmio de sorteio, ou o contrário. Cupom e Pontos não geram ganhador, então não têm prêmio próprio.
Dentro de cada modalidade, as regras ativas são lidas e somadas. Duas regras de uma chance a cada R$ 50 rendem quatro chances numa nota de R$ 200. A conta é por modalidade: o Sorteio e a Posição premiada da mesma nota são calculados separadamente, cada um com as suas regras.
O efeito de "acelerar" com um produto se faz com uma regra de base Produto somada às outras regras da modalidade. Os antigos campos de produtos aceleradores da regra de geração foram removidos — o motor nunca os lia.
A série fica na modalidade Sorteio
A série — o formato do número da sorte — é escolhida na modalidade Sorteio, e não mais na regra de geração. Ela é obrigatória no Sorteio, recusada nas outras modalidades e não pode ser trocada depois do primeiro número gerado. Os detalhes estão no artigo de número da sorte e séries.
A configuração é conferida na hora de configurar
O processador só lê regras ativas. Regra inativa é como se não existisse — e é exatamente por isso que a configuração é conferida na hora de configurar, e não na hora da nota. A API recusa estas situações, para qualquer papel e sem confirmação possível:
- modalidade sem nenhuma regra ativa (lista vazia e lista só com regra inativa são recusadas separadamente, porque são erros diferentes para quem lê);
- desativar ou excluir uma regra que está em uso por alguma campanha — a mensagem diz em quais campanhas e modalidades ela está. Vale mesmo que a modalidade tenha outra regra ativa;
- Sorteio sem série, série fora do Sorteio e troca da série depois do primeiro número;
- remover da campanha o Sorteio que já gerou número;
- duas regras com saldo na mesma modalidade;
- saldo marcado nas bases que não têm o que acumular: Produto, Story, Cadastro, Comunidade e Pontos por produto;
- trocar a base, ou desligar o saldo, de uma regra em que alguém já acumulou saldo.
O motivo dessa dureza é concreto: antes, uma configuração incompleta deixava a campanha sem gerar nada e sem erro para ninguém. O erro aparecia semanas depois, na conferência de uma nota que não gerou número.
Alterar com a campanha no ar
A regra de geração é um cadastro reutilizável e vive longe da campanha: a mesma regra pode estar em várias campanhas, e quem a edita no cadastro não vê quem depende dela. Por isso tudo o que o motor lê exige o papel Master e confirmação explícita quando a campanha está em andamento — vale para editar a regra e para trocar quais regras a modalidade usa —, e tudo fica no histórico da regra. Livre é só o nome, que é exibição e não entra no cálculo.
"Em andamento" quer dizer dentro do período, pelo dia do fuso de Brasília — a mesma pergunta que o validador da nota faz para aceitá-la. Campanha fora do período não exige Master, porque a regra nova não muda o resultado de nada.
Tirar uma modalidade da campanha
Tirar uma modalidade da campanha é recusado quando algo depende dela: posição premiada ativa e não distribuída, prêmio daquela modalidade ou ganhador registrado nela. A mensagem diz quantos há de cada.
O Sorteio que já gerou número não sai, nem para o Master. A série da modalidade é o único lugar que diz em que formato os números já emitidos estão; sem ela, a campanha ficaria com números órfãos e não haveria como readicionar o Sorteio. A mensagem orienta a criar uma campanha nova.
Como explicar ao cliente?
A mecânica da promoção não mora na tela: mora na regra de geração, e o que vale é o conjunto de regras ativas de cada modalidade. Três coisas o cliente precisa ouvir antes de pedir uma mudança com a campanha no ar.
A alteração vale só para frente. Nada é recalculado para trás — quem já recebeu chance pela regra antiga continua com ela, e só as notas cadastradas depois seguem a regra nova.
Só o Master do cadastro consegue salvar, confirmando um aviso que nomeia as campanhas afetadas. Isso é de propósito: é o registro de que a decisão foi do cliente.
E, se o cliente compartilha a mesma regra entre campanhas, a mudança chega em todas elas.
Há também o que não muda nem com o Master: a série do Sorteio, depois do primeiro número, e a remoção do Sorteio de uma campanha que já gerou número. Para isso o caminho é uma campanha nova.
Possiveis falhas, causas e solucoes
- Falha: a campanha está no ar e não gera chance nenhuma.
- Possivel causa: a modalidade ficou sem regra ativa, ou todas as regras dela estão inativas.
- Como orientar: abra as modalidades e regras da campanha e confira se existe pelo menos uma regra ativa na modalidade. A própria tela recusa salvar essa configuração e nomeia a regra inativa.
- Quando escalar: se houver regra ativa configurada e as notas continuarem sem gerar chance, acionar o time de desenvolvimento urgentemente e abrir issue no Jira (projeto DEV) com as evidências.
- Falha: a nota do participante foi recusada inteira na modalidade de sorteio.
- Possivel causa: a modalidade Sorteio está sem série. Sem o formato do número a nota inteira cai, e o participante perde junto a posição premiada daquela nota. A configuração atual não deixa salvar o Sorteio sem série, então isso só acontece em campanha configurada antes dessa trava.
- Como orientar: defina a série na modalidade Sorteio da campanha.
- Quando escalar: se a série estiver definida e a recusa continuar, acionar o time de desenvolvimento urgentemente e abrir issue no Jira (projeto DEV) com as evidências.
- Falha: o operador não consegue desativar ou excluir uma regra.
- Possivel causa: a regra está em uso por alguma campanha. A recusa é absoluta e vale mesmo que a modalidade tenha outra regra ativa.
- Como orientar: leia a mensagem, que diz em quais campanhas e modalidades a regra está, e desvincule-a de lá primeiro. Excluir deixa a regra inativa em vez de apagá-la, então os dois caminhos caem na mesma recusa.
- Quando escalar: não é falha. Só escalar se a mensagem apontar campanha que de fato não usa a regra.
- Falha: o operador não consegue tirar uma modalidade da campanha.
- Possivel causa: existe posição premiada ativa e não distribuída, prêmio daquela modalidade ou ganhador registrado nela. No caso do Sorteio, a campanha também pode já ter gerado número.
- Como orientar: a mensagem diz o que impede. Resolva o que depende da modalidade antes de tirá-la. Se for o Sorteio com número gerado, não há o que resolver: a remoção é recusada para qualquer papel, e o caminho é uma campanha nova.
- Quando escalar: não é falha. Só escalar se a contagem da mensagem não corresponder ao que a campanha tem.
- Falha: o operador não consegue trocar a série do Sorteio.
- Possivel causa: a campanha já gerou o primeiro número. A troca é recusada até para o Master.
- Como orientar: explique que a série fica travada a partir do primeiro número, para a campanha não ter números em dois formatos.
- Quando escalar: não é falha. Só escalar se a campanha ainda não tiver nenhum número gerado.
- Falha: o operador recebe recusa ao alterar a regra e a mensagem fala em pedir ao Master.
- Possivel causa: a campanha está dentro do período e alterar o que o motor lê exige o papel Master com confirmação.
- Como orientar: explique que a trava é proposital e oriente a pedir a alteração ao Master do cadastro do cliente.
- Quando escalar: só escalar se o próprio Master receber a mesma recusa.
Exemplo de resposta pronta
Olá! A quantidade de chances que uma compra gera vem das regras de geração ativas de cada modalidade da campanha, e elas somam entre si. Se a sua campanha já está no período, qualquer alteração nessas regras precisa ser feita pelo Master do seu cadastro e vale somente para as compras cadastradas a partir dali — nada é recalculado para trás, então quem já recebeu chance pela regra anterior continua com ela. Toda alteração fica registrada no histórico da própria regra, com o que mudou, quem mudou e quando. Se a mesma regra estiver em mais de uma campanha sua, a mudança chega em todas elas.
Quando escalar?
Acione o time de desenvolvimento urgentemente e abra issue no Jira (projeto DEV) com as evidências quando a campanha tiver regra ativa configurada e parar de gerar chances, quando notas forem recusadas sem causa identificável na configuração, quando o histórico da regra não registrar uma alteração que de fato aconteceu, quando o próprio Master receber recusa de permissão, quando a troca de série for recusada numa campanha sem número gerado, ou quando a recusa de remoção de modalidade apontar dependências que a campanha não tem. Anexe o nome da campanha, o nome da regra, a modalidade e a mensagem exibida.
Artigos relacionados
Como o operador configura o que transforma nota cadastro story ou comunidade em chance e onde fica a série do sorteio
Como o operador cria a campanha no painel e o que cada bloco do formulário decide
Os dois conjuntos de teto que a API aplica e por que um aceita a nota e o outro barra o prêmio
Como a API monta o número da sorte a partir da série da modalidade Sorteio e por que ele é aleatório