VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa

Operações em lote

Como alterar centenas de registros de uma vez com segurança: simular, confirmar, acompanhar a tarefa e desfazer.

Quando você precisa mudar muitos registros de uma vez ("aumentar 10% o preço de uma categoria", "desativar todas as promoções vencidas"), fazer uma chamada por registro é lento e arriscado. As operações em lote resolvem isso com um fluxo de quatro passos: simular, confirmar, acompanhar e, se for preciso, desfazer.

Esta seção documenta o lote genérico (POST /bulk/apply), o acompanhamento das tarefas (/bulk-jobs), o desfazer (/bulk-undo) e o acompanhamento de importações de arquivos (/import-jobs).

Pontos-chave
  • Todo lote começa por uma simulação: você manda o mesmo pedido com "simulate": true e recebe a contagem, uma amostra do antes e depois e um confirm_token. Executar sem o token responde 428.
  • O confirm_token vale 70 minutos, serve só para aquele pedido, daquela loja e daquele usuário, e falha se o recorte cresceu desde a simulação.
  • A partir de 50 registros a execução vira uma tarefa em segundo plano (202) que você acompanha. Abaixo disso, a resposta já traz o resultado (200).
  • Cada registro passa pela mesma rota de edição de sempre, com o seu token: permissões, validações e auditoria valem como numa edição manual. O lote nunca faz o que você não poderia fazer registro a registro.
  • Quase todo lote pode ser desfeito, enquanto o retrato guardado existir.

Como funciona

Simular→Confirmar→Tarefa roda→Acompanhar→Desfazer (opcional)
  1. Simular

    Chame a rota com o corpo completo e "simulate": true. Nada é gravado. A resposta traz total, sample (antes e depois de alguns registros), avisos e o confirm_token.

  2. Mostrar ao usuário e confirmar

    Mostre o total e a amostra a quem decide. Se aprovado, repita o mesmo corpo, sem simulate, com confirm_token.

  3. Acompanhar

    Com 50 registros ou mais, a resposta é 202 com um job. Leia o andamento em GET /bulk-jobs/{id} ou pelo stream de eventos.

  4. Desfazer, se preciso

    O lote devolve um undo_id. POST /bulk-undo/{id} (também com simulação e confirmação) restaura os valores anteriores.

Estados de uma tarefa

statusSignificado
queuedNa fila: outra tarefa da mesma sessão ainda está rodando.
runningEm execução. processed e percent avançam.
doneTerminou. Veja affected e failed.
failedParou por erro. O motivo está em error.
interruptedO servidor reiniciou no meio. Os registros já tratados ficam como estão.

Conceitos-chave

Dinheiro em centavos

Nos filtros e nas mudanças, preços são inteiros em centavos (10000 é R$ 100,00). Um filtro price_max: 100 pega até R$ 1,00.

Resultado parcial não é sucesso

Um lote pode alterar parte dos registros e falhar em outros. A resposta traz affected, failed (lista dos que falharam, com o motivo) e partial_failure: true. Confira sempre failed antes de dar o lote como concluído.

Fila por sessão

Tarefas iniciadas na mesma sessão (a mesma sessão do painel) rodam uma por vez, na ordem de confirmação, para que "aumente o preço" e "zere o estoque" não se atropelem.

Endpoints

Método e caminhoPara que serveAutenticaçãoPágina
POST /api/v1/admin/bulk/applyAplica a rota de um registro a muitosadministradorLote genérico
GET /api/v1/admin/bulk-jobsLista tarefas recentesadministradorTarefas
GET /api/v1/admin/bulk-jobs/{id}Estado de uma tarefaadministradorTarefas
GET /api/v1/admin/bulk-jobs/{id}/streamAndamento em tempo realadministradorTarefas
GET /api/v1/admin/bulk-undoLista lotes que podem ser desfeitosadministradorDesfazer
POST /api/v1/admin/bulk-undo/{id}Desfaz um loteadministradorDesfazer
GET /api/v1/admin/import-export/fields/{entity}Campos de importação de um tipoadministradorImportações
GET /api/v1/admin/import-jobs/{id}/progressAndamento de uma importaçãoadministradorImportações
POST /api/v1/admin/import-jobs/{id}/cancelCancela uma importaçãoadministradorImportações

Erros comuns

  • Executar sem simular. 428 simulate_required. Simule primeiro e reenvie com o confirm_token.
  • Mudar o corpo entre a simulação e a execução. O token é amarrado ao pedido: 409 confirm_token_invalid.
  • Filtrar preço em reais. O filtro espera centavos. Simule e leia a amostra antes de confirmar.
  • Dar o lote por feito sem ler failed. Lotes parciais voltam 200 ou 202.
  • Mandar GET em route. O lote só escreve: POST, PUT, PATCH ou DELETE.
  • Esperar desfazer para sempre. Um lote já desfeito responde 409 already undone.

Próximos passos

Lote genérico
O corpo da requisição, filtros e mudanças.
Tarefas
Acompanhar o progresso.
Desfazer
Restaurar um lote.
Anterior
Perguntas de produto
Próxima
Lote genérico
Nesta página
  • Como funciona
  • Estados de uma tarefa
  • Conceitos-chave
  • Dinheiro em centavos
  • Resultado parcial não é sucesso
  • Fila por sessão
  • Endpoints
  • Erros comuns
  • Próximos passos