Voltar para artigos
API PremifyIntermediarioAtualizado em 30 de out. de 2026

Importações lote e desfazer

Por que o registro repetido é ignorado e por que o desfazer é tudo ou nada

#api-premify#regras-de-negocio#campanha

O que e?

São duas coisas que o atendimento costuma confundir, e elas se comportam de forma oposta:

  • a importação por arquivo de cadastros (bloqueios, lojas, produtos, redes) e de posições premiadas, que é parcial: as linhas válidas entram e as recusadas vêm com o motivo;
  • o vínculo em lote de produtos e lojas com a campanha, que é tudo ou nada.

E, por cima das duas, o desfazer, que é sempre tudo ou nada.

Como funciona?

A importação por arquivo é parcial

As linhas válidas são gravadas e cada recusa volta com o motivo, identificada pela linha física do arquivo. As regras comuns a todas as importações:

  • registro que já existe é ignorado, nunca atualizado, e conta como ignorado. O repetido dentro do próprio arquivo também. Um cadastro já em uso não muda porque alguém reenviou uma planilha;
  • a regra é a mesma do cadastro manual. Não existe validação que só a importação faça, e a mensagem de recusa é a mesma do cadastro à mão;
  • nenhuma mensagem repete a célula. O arquivo traz CPF e e-mail, e o relatório vai para a tela. O arquivo não é guardado nem registrado em log — só o nome dele;
  • há uma linha de exemplo marcada no modelo. Ela é descartada antes de qualquer validação, informada nos avisos e deixada fora das contagens. O operador pode mantê-la no arquivo.

O desfazer é tudo ou nada

Gravando ao menos um registro, a importação registra um lote, e só os registros efetivamente gravados apontam para ele. O registro ignorado, que já existia, nunca é do lote e nunca é removido por ele.

O lote pode ser desfeito inteiro, e o desfazer falha se algum registro dele já estiver em uso. O que conta como "em uso" muda por tipo:

  • bloqueio: impede se estiver vinculado a alguma campanha. Remover o vínculo junto liberaria em silêncio quem estava barrado numa campanha em andamento. A mensagem diz quantos estão vinculados;
  • loja: impede se estiver vinculada a campanha ou se houver nota fiscal dela. A nota é auditoria;
  • produto: impede se estiver vinculado a campanha, se houver item de nota com ele, ou se alguma regra de geração o exigir. A nota é auditoria; a regra é o motor;
  • rede: impede por nove referências diferentes — loja, campanha, prêmio, produto de campanha, posição premiada, registro de participante, nota fiscal, escopo de visibilidade de usuário e outra importação. A conferência é feita pelo sistema, e não só pelo banco, porque duas dessas referências sumiriam em silêncio;
  • posição premiada: impede se alguma posição do lote estiver em uso, pelo mesmo critério da exclusão de posição.

Um detalhe que gera dúvida: a posição editada à mão depois da importação continua sendo do lote e sai junto no desfazer.

Desfeito, o lote não é apagado: ele fica como auditoria, com quem desfez e quando.

O vínculo em lote é tudo ou nada

As rotas de lote existem por desempenho: numa migração de cliente de referência, cada campanha tem cerca de 3.157 produtos e 465 lojas, e antes o painel disparava uma requisição por item. Hoje três mil produtos entram em cerca de 1,2 segundo.

As regras do lote de vínculo:

  • exatamente uma forma de seleção por chamada, itens sem repetição e teto de 10.000 itens. As formas são a lista de itens escolhidos, "todos os ativos" e, só para lojas, "todas de uma rede";
  • já vinculado não é erro. Ele é contado como ignorado, e a resposta vem com sucesso inclusive quando nada entrou. Repetir o lote é inofensivo, o que permite reenviar sem medo depois de um erro de rede;
  • inativo não é recusado. O vínculo de um item nunca conferiu se o produto ou a loja está ativo, e o lote mantém a paridade — criar a regra só no lote faria a mesma ação passar por um caminho e falhar pelo outro. O filtro de inativo é seletor ("todos os ativos"), não validação;
  • tudo ou nada: a lista inteira é montada e validada pelas mesmas regras do vínculo de um item só, antes de qualquer gravação. Um item recusado derruba a lista toda;
  • a situação é obrigatória ao desvincular loja. Sem ela, um "todas" apagaria junto os bloqueios da aba de não participantes, que são registros de outra natureza e não foram o que o operador pediu para remover.

Dois lotes iguais e simultâneos enfileiram: o segundo relê o que o primeiro gravou e devolve tudo como ignorado.

Uma atenção de nomenclatura: em produtos, a rede é parâmetro do vínculo — o produto só vale naquela rede. Em lojas ela é seletor — "todas as lojas daquela rede". São coisas diferentes, e o campo tem nome diferente justamente para não confundir.

Como explicar ao cliente?

Importar por arquivo é parcial: o que vale entra, o que não vale volta com o motivo e o número da linha. O cliente não precisa ter o arquivo perfeito antes de tentar.

O que costuma surpreender é o ignorado: registro que já existe não é atualizado pela importação. Reenviar uma planilha corrigida não corrige o cadastro que já está lá — ela só acrescenta o que falta. Para corrigir um cadastro existente, o caminho é a edição.

Sobre o desfazer: ele é tudo ou nada, e falha se algum item do lote já estiver sendo usado. A mensagem diz quantos estão. Isso é proteção: desfazer parcialmente deixaria a campanha num estado que ninguém pediu. E o que foi ignorado na importação original nunca sai no desfazer, porque nunca foi daquele lote.

Sobre o vínculo em lote: ele é o oposto — ou tudo entra, ou nada entra. Reenviar o mesmo lote é seguro: o que já está vinculado aparece como ignorado e nada é duplicado.

E um cuidado com a importação de posições premiadas, que tem regra própria: o arquivo é recusado inteiro quando a rede não corresponde ao escopo da campanha, e cada linha com a marcação de premiável vazia ou não reconhecida é recusada.

Possiveis falhas, causas e solucoes

  • Falha: o cliente reenviou a planilha corrigida e os dados antigos continuam errados.
  • Possivel causa: registro que já existe é ignorado, nunca atualizado. A importação só acrescenta.
  • Como orientar: explique que a importação não atualiza cadastro existente. Para corrigir, use a edição do cadastro, ou desfaça o lote anterior (se nada estiver em uso) e importe de novo.
  • Quando escalar: não é falha.
  • Falha: o operador não consegue desfazer uma importação.
  • Possivel causa: algum registro daquele lote já está em uso. A mensagem diz quantos.
  • Como orientar: leia a mensagem, que nomeia o impedimento por tipo. No caso de rede, há nove referências possíveis. Resolva o uso ou mantenha o lote.
  • Quando escalar: não é falha. Só escalar se a mensagem apontar uso que de fato não existe.
  • Falha: o operador desfez o lote e alguns registros ficaram.
  • Possivel causa: aqueles registros já existiam antes da importação e foram ignorados por ela, então nunca pertenceram ao lote.
  • Como orientar: explique que o desfazer remove só o que aquela importação gravou. Os ignorados precisam ser removidos pela tela do cadastro.
  • Quando escalar: não é falha.
  • Falha: o operador desfez o lote de posições e uma posição que ele havia editado à mão saiu junto.
  • Possivel causa: a posição editada depois da importação continua pertencendo ao lote.
  • Como orientar: explique o comportamento antes de desfazer. Se aquela posição precisa ficar, cadastre-a de novo à mão depois do desfazer.
  • Quando escalar: não é falha.
  • Falha: o vínculo em lote de produtos falhou inteiro por causa de um item.
  • Possivel causa: o lote é tudo ou nada. Um item recusado derruba a lista antes de qualquer gravação.
  • Como orientar: a mensagem aponta o item problemático. Corrija ou retire-o da seleção e reenvie. Reenviar é seguro.
  • Quando escalar: se a mensagem não identificar o item, abrir issue no Jira (projeto DEV) com as evidências.
  • Falha: o operador tentou vincular mais de dez mil itens de uma vez e não conseguiu.
  • Possivel causa: o teto por chamada é de dez mil itens.
  • Como orientar: divida a seleção em partes. Repetir e reenviar é inofensivo, porque o que já está vinculado aparece como ignorado.
  • Quando escalar: não é falha.
  • Falha: o operador desvinculou lojas e os bloqueios de não participantes desapareceram.
  • Possivel causa: a desvinculação exige a situação justamente para isso não acontecer. Se aconteceu, a situação pode ter sido informada como a dos bloqueios.
  • Como orientar: confira qual situação foi usada na desvinculação. Só os vínculos daquela situação saem.
  • Quando escalar: se a situação informada não era a dos bloqueios, acionar o time de desenvolvimento urgentemente e abrir issue no Jira (projeto DEV) com as evidências.
  • Falha: a importação de posições premiadas foi recusada.
  • Possivel causa: a rede não corresponde ao escopo da campanha (o arquivo inteiro cai), alguma linha está com a marcação de premiável vazia ou não reconhecida, ou o layout é antigo.
  • Como orientar: baixe o modelo da própria tela. O arquivo traz data, posição e premiável — o prêmio e a rede saem do formulário. Confira a coluna de premiável linha por linha.
  • Quando escalar: se o arquivo seguir o modelo e a recusa continuar, abrir issue no Jira (projeto DEV) com as evidências.

Exemplo de resposta pronta

Olá! A importação por arquivo funciona de forma parcial: o que estiver válido é cadastrado e o que não estiver volta no relatório com o motivo e o número da linha, então não é necessário ter o arquivo perfeito antes de enviar. Um ponto importante: registros que já existem são ignorados, não atualizados — reenviar uma planilha corrigida acrescenta o que falta, mas não corrige o que já está cadastrado; para isso usamos a edição. E o "desfazer" de uma importação é tudo ou nada: ele é recusado se algum item daquele lote já estiver em uso, e a mensagem informa quantos estão. Os registros que foram ignorados na importação nunca saem no desfazer, porque não pertencem àquele lote.

Quando escalar?

Acione o time de desenvolvimento urgentemente e abra issue no Jira (projeto DEV) com as evidências quando a recusa do desfazer apontar uso que não existe, quando a falha do vínculo em lote não identificar o item problemático, quando a desvinculação de lojas remover registros de outra situação, quando o arquivo seguir o modelo baixado da tela e continuar recusado, ou quando um lote desfeito deixar registros que ele gravou. Anexe o nome da campanha, o tipo da importação, o arquivo de referência sem dados pessoais, o relatório exibido e a mensagem.

Artigos relacionados

Painel AdminIntermediario
Histórico de importações e desfazer

Como funciona o lote de importação e por que o desfazer é tudo ou nada

#painel-admin#campanhas#operacao
Atualizado em 30 de out. de 2026
Painel AdminIntermediario
Cadastros de lojas redes e produtos

Os catálogos globais do cliente e as regras de documento e chave que o painel exige

#painel-admin#campanhas#operacao
Atualizado em 30 de out. de 2026
API PremifyIntermediario
Posição premiada e o pool de prêmios

Como a API distribui as posições premiadas e por que vale-brinde é o nome comercial dessa modalidade

#api-premify#regras-de-negocio#campanha
Atualizado em 30 de out. de 2026