cURL
curl --request POST \
--url https://api.cakto.com.br/public_api/products/{id}/duplicate/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cakto.com.br/public_api/products/{id}/duplicate/"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cakto.com.br/public_api/products/{id}/duplicate/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cakto.com.br/public_api/products/{id}/duplicate/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.cakto.com.br/public_api/products/{id}/duplicate/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.post("https://api.cakto.com.br/public_api/products/{id}/duplicate/")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.cakto.com.br/public_api/products/{id}/duplicate/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
{
"id": "cd287b31-d4b7-4e94-858a-66e05ce2f4a2",
"name": "Product Name Example",
"image": "https://example-image-url.com/image.png",
"description": "Description example",
"price": 15,
"type": "unique",
"contentDeliveries": [
"cakto",
"telegram",
"discord"
],
"emailAccessLink": null,
"salesPage": "https://example-sales-page.com.br/product-page",
"status": "active",
"paymentMethods": [
"applepay",
"boleto",
"credit_card",
"googlepay",
"pix"
],
"category": {
"id": "0673d296-1802-45e0-bc93-112f7514dddb",
"name": "Animais e Plantas"
}
}{
"detail": "As credenciais de autenticação não foram fornecidas."
}Produtos
Duplicar Produto
Cria uma cópia de um produto existente
POST
/
public_api
/
products
/
{id}
/
duplicate
/
cURL
curl --request POST \
--url https://api.cakto.com.br/public_api/products/{id}/duplicate/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cakto.com.br/public_api/products/{id}/duplicate/"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cakto.com.br/public_api/products/{id}/duplicate/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cakto.com.br/public_api/products/{id}/duplicate/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.cakto.com.br/public_api/products/{id}/duplicate/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.post("https://api.cakto.com.br/public_api/products/{id}/duplicate/")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.cakto.com.br/public_api/products/{id}/duplicate/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
{
"id": "cd287b31-d4b7-4e94-858a-66e05ce2f4a2",
"name": "Product Name Example",
"image": "https://example-image-url.com/image.png",
"description": "Description example",
"price": 15,
"type": "unique",
"contentDeliveries": [
"cakto",
"telegram",
"discord"
],
"emailAccessLink": null,
"salesPage": "https://example-sales-page.com.br/product-page",
"status": "active",
"paymentMethods": [
"applepay",
"boleto",
"credit_card",
"googlepay",
"pix"
],
"category": {
"id": "0673d296-1802-45e0-bc93-112f7514dddb",
"name": "Animais e Plantas"
}
}{
"detail": "As credenciais de autenticação não foram fornecidas."
}Escopo
write products
Notas
- O produto duplicado recebe um novo Id único
- As relações são duplicadas com novos IDs: ofertas, checkouts, links, order bumps, entregas de conteúdo, métodos de pagamento e pixels de rastreamento
- Pixels vinculados a afiliados não são copiados
- O nome recebe o sufixo
- Cópia(ex.:Curso de Fotografia - Cópia) - O produto duplicado herda o
statusdo produto original — se o original estiver inativo, a cópia também estará - As métricas de vendas da cópia começam zeradas
- Você pode modificar qualquer aspecto do produto duplicado após a criação
Fluxo recomendado:
- Duplique o produto usando este endpoint
- Imediatamente atualize o nome e outros detalhes específicos
- Verifique e ajuste ofertas, preços e configurações conforme necessário
- Teste o checkout antes de promover o produto
Authorizations
Token de autenticação do tipo Bearer {access_token}, onde {access_token} é o token obtido no fluxo de autenticação.
Path Parameters
Response
Corpo da resposta status 200
Nome do produto
Maximum string length:
255Imagem do produto
Descrição do produto
Preço do produto
Id dos métodos de entrega de conteúdo disponíveis
Id dos métodos de pagamento disponíveis
Categoria do produto
Show child attributes
Show child attributes
Identificador único do produto
Maximum string length:
255Moeda do produto
BRL- RealEUR- EuroMXN- Peso MexicanoPEN- Sol PeruanoUSD- DólarCLP- Peso ChilenoCOP- Peso ColombianoARS- Peso ArgentinoBOB- BolivianoUYU- Peso Uruguayo
Available options:
BRL, EUR, MXN, PEN, USD, CLP, COP, ARS, BOB, UYU Tipo de venda do produto, ex.: venda única, assinatura...
unique- Pagamento únicosubscription- Assinatura recorrente
Available options:
unique, subscription Link a ser enviado por e-mail para acesso ao conteúdo após a compra
Maximum string length:
2048Link da página de vendas do produto
Maximum string length:
2048Status atual do produto
active- Ativowaiting_config- Aguardando Configuraçãoblocked- Bloqueadodeleted- Deletado
Available options:
active, waiting_config, blocked, deleted Was this page helpful?