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

Lote

Importa uma lista de redirecionamentos de uma vez ou altera, em lote, os que já existem.

Uma rota, dois usos: importar uma lista nova (a migração de uma loja antiga, por exemplo) e aplicar uma ação sobre redirecionamentos já cadastrados. Exige o módulo SEO ativo.

Importar uma lista

POST/api/v1/admin/seo/redirects/bulkAdmin

Importa vários redirecionamentos numa transação

O modo padrão. Cada item segue as regras de Criar redirecionamento: formato dos caminhos, achatamento de cadeias, old_path existente é atualizado. A importação é transacional: se um item for inválido, ou formar um ciclo, nenhum é gravado e a mensagem diz qual item falhou. Cadeias entre itens do mesmo lote também são achatadas.

Corpo da requisição

redirectsarrayobrigatório

Lista de redirecionamentos. Cada item:

old_pathstringobrigatório
Caminho antigo, começando com /.
new_pathstringobrigatório
Destino: /..., http:// ou https://.
status_codeintegerpadrão: 301
301302
Tipo. Outro valor vira 301.
activebooleanpadrão: true
Se já nasce valendo.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/seo/redirects/bulk" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"redirects":[{"old_path":"/camiseta-a","new_path":"/produtos/camiseta-basica"},{"old_path":"/camiseta-b","new_path":"/produtos/camiseta-basica","status_code":302}]}'
200Importação concluída
json
{ "status": "ok", "imported": 2 }

Campos da resposta

statusstring
Sempre ok em caso de sucesso.
importedinteger
Quantidade de redirecionamentos gravados (criados ou atualizados).

Alterar os existentes em lote

O mesmo endereço aceita ações sobre redirecionamentos já cadastrados, sempre em dois passos de segurança (simular e confirmar). O corpo é diferente do da importação. Atenção: o servidor só entra neste modo quando o corpo traz simulate: true, um confirm_token ou um filter. Um corpo só com action e ids é tratado como importação, não importa nada e responde {"status":"ok","imported":0}.

Corpo da requisição (modo de ação)

actionstringobrigatório
activatedeactivateset_status_codedelete
Ação a aplicar.
idsarray
Ids dos redirecionamentos alvo (UUIDs). Repita a mesma lista na simulação e na confirmação.
status_codeinteger
301302
Obrigatório em set_status_code.
simulateboolean
true só simula: devolve a contagem e uma amostra, sem alterar nada.
confirm_tokenstring
Token devolvido pela simulação. Sem ele, a execução é recusada.
  1. Simule
    Envie o corpo com simulate: true. A resposta traz total, uma amostra (sample), um confirm_token e a validade (expires_at, cerca de 2 horas).
  2. Confirme
    Repita o mesmo corpo, sem simulate, com o confirm_token. A resposta traz affected, failed e total_requested. Lotes grandes podem rodar em segundo plano e responder 202 com o job.
200Simulação
json
{
  "simulate": true,
  "action": "deactivate",
  "description": "Desativar redirecionamentos",
  "total": 2,
  "sample": [],
  "confirm_token": "eyJ0IjoiZGZl...",
  "expires_at": "2026-10-11T23:09:45Z",
  "async": false,
  "by": "filter"
}

Erros

StatusQuandoCorpo
400Corpo inválido; item com caminho fora do formato, igual, ou que forma ciclo (nada é gravado){"error":"failed to import redirects","detail":"invalid redirect x: old_path must start with /"}
401Sem token ou token expirado{"error":"missing authorization header"}
403Módulo SEO desativado{"error":"module_disabled","module":"seo"}
400Ação desconhecida, status_code fora de 301 e 302 ou filtro inválido no modo de ação{"error":"invalid_filter","detail":"..."}
409Confirmação com token de outro pedido, ou cujo alvo cresceu desde a simulação{"error":"confirm_token_invalid","detail":"..."}
428Confirmação sem simulação prévia{"error":"simulate_required","detail":"..."}
O lote atualiza em silêncio

Se um old_path da lista já existe, o redirecionamento é sobrescrito, inclusive o destino. Em migrações, importe sempre em um ambiente de teste primeiro, ou liste os existentes antes de importar.

Veja também

  • Redirecionamentos
  • Visão geral
Anterior
Redirecionamentos
Próxima
Slug por idioma
Nesta página
  • Importar uma lista
  • Exemplo de requisição
  • Alterar os existentes em lote
  • Erros
  • Veja também