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

Clonar produto

Duplica um produto, com opções, características, imagens, tags, faixas de preço, variações e relacionados, e devolve a cópia para você ajustar.

Use esta operação para criar um produto parecido com outro sem recadastrar tudo: uma caneca em outra cor, um item de uma mesma linha, um modelo para a equipe preencher. O clone copia os dados do produto original (nome, descrição, preço, estoque, dimensões, categorias, SEO e regras de quantidade) e, conforme as opções que você enviar, também os itens ligados a ele.

A clonagem cria um produto novo a partir de um produto que já existe.

O clone nasce com algumas diferenças em relação ao original, e elas são de propósito:

  • O nome ganha o sufixo (Copy) e o slug é gerado a partir dele (com -2, -3 em caso de repetição).
  • O SKU fica vazio, porque o SKU é único na loja. Defina um novo com Alterar produto.
  • O status é R (aguardando aprovação), com o intended_status do original guardado. O clone não aparece na loja até alguém aprová-lo ou você enviar status: "A" no PUT.
  • As contagens (visualizações, vendas, avaliações) começam do zero.
  • O estoque é copiado (quantity igual ao do original). Ajuste antes de ativar, para não contar o mesmo estoque duas vezes.
POST/api/v1/admin/products/{id}/cloneAdmin

Clona um produto

Autenticação: Authorization: Bearer <token> de um usuário administrador com o privilégio manage_catalog. O corpo é opcional.

Path parameters

iduuidobrigatório
UUID do produto a clonar.

Corpo da requisição

clone_optionsboolean
Copia as opções do produto (campos que o cliente preenche na compra) e os valores delas.
clone_featuresboolean
Copia os valores de características (marca, cor, material...).
clone_imagesboolean
Copia as imagens.
clone_tagsboolean
Copia as tags.
clone_price_tiersboolean
Copia as faixas de preço por quantidade.
clone_variationsboolean
Copia as variações (produtos filhos).
clone_relationsboolean
Copia os produtos relacionados, cross-sell e acessórios.
Sem corpo copia tudo; com corpo só copia o que você ligar

Se você não envia corpo (ou envia um JSON inválido), todas as opções valem true e o clone leva tudo. Se você envia um objeto, cada flag que você omitir vale false: {} clona só os dados básicos do produto, sem imagens, opções ou qualquer outro item. Liste explicitamente o que quer copiar.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/products/0497b6a8-c868-43be-ac21-2abddd24cd3c/clone" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"clone_images": true, "clone_features": true, "clone_price_tiers": true}'

Resposta

201Produto clonado
json
{
  "product": {
    "id": "302a9a40-f4ca-4d84-bcf3-b9c0c4b0272f",
    "display_id": 10665,
    "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
    "category_id": "7ebc648d-6091-4511-8ea2-f86f7b3b4dd9",
    "name": "Caneca Esmaltada 350 ml (Copy)",
    "slug": "caneca-esmaltada-350-ml-copy",
    "price": 4990,
    "track_inventory": true,
    "quantity": 12,
    "status": "R",
    "intended_status": "A",
    "approval_status": "pending",
    "created_at": "2026-10-11T21:08:12.410552Z",
    "updated_at": "2026-10-11T21:08:12.410552Z",
    "images": [],
    "price_tiers": []
  },
  "original_name": "Caneca Esmaltada 350 ml",
  "cloned_name": "Caneca Esmaltada 350 ml (Copy)"
}

Exemplo abreviado: o objeto product traz todos os campos descritos em Consultar produto.

Campos da resposta

productobject
O produto novo, com os mesmos campos de Consultar produto. Note sku ausente, status: "R" e approval_status: "pending".
original_namestring
Nome do produto original.
cloned_namestring
Nome do clone (original mais (Copy)).

Erros

StatusQuandoCorpo
401Sem credenciais ou token expirado{"error":"invalid or expired token"}
403Usuário sem o privilégio manage_catalog{"error":"insufficient privileges","required":"manage_catalog"}
404O produto não existe ou está na lixeira{"error":"product not found"}
429Limite de requisições{"error":"rate limit exceeded","detail":"too many requests, please try again later"}
500{id} que não é UUID (por limitação conhecida, não é 400), ou falha interna{"error":"failed to clone product","detail":"o valor \"abc\" não é um uuid válido. Corrija o campo e reenvie."}

Falhas ao copiar um item ligado (por exemplo, as imagens) não derrubam a chamada: o produto é criado e o erro fica só no registro do servidor. Confira o clone antes de ativá-lo.

Fluxo recomendado

Clone, depois ajuste o essencial em um único PUT: novo sku, name, price e quantity, e status: "A" quando estiver pronto. Enquanto o clone está em R, ele fica fora da loja e da busca.

Veja também

  • Alterar produto
  • Criar produto
  • Consultar produto
  • Variações e opções
Anterior
Categorias do produto
Próxima
Ligar a um mestre
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também