curl --request POST \
--url https://api.cakto.com.br/public_api/products/{id}/bumps/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"product": "<string>",
"id": "<string>",
"referencePrice": 123,
"offer": "<string>",
"cta": "<string>",
"title": "<string>",
"description": "<string>",
"position": -1,
"showImage": true
}
'import requests
url = "https://api.cakto.com.br/public_api/products/{id}/bumps/"
payload = {
"product": "<string>",
"id": "<string>",
"referencePrice": 123,
"offer": "<string>",
"cta": "<string>",
"title": "<string>",
"description": "<string>",
"position": -1,
"showImage": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
product: '<string>',
id: '<string>',
referencePrice: 123,
offer: '<string>',
cta: '<string>',
title: '<string>',
description: '<string>',
position: -1,
showImage: true
})
};
fetch('https://api.cakto.com.br/public_api/products/{id}/bumps/', 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}/bumps/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'product' => '<string>',
'id' => '<string>',
'referencePrice' => 123,
'offer' => '<string>',
'cta' => '<string>',
'title' => '<string>',
'description' => '<string>',
'position' => -1,
'showImage' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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}/bumps/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"product\": \"<string>\",\n \"id\": \"<string>\",\n \"referencePrice\": 123,\n \"offer\": \"<string>\",\n \"cta\": \"<string>\",\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"position\": -1,\n \"showImage\": true\n}"
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.post("https://api.cakto.com.br/public_api/products/{id}/bumps/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"product\": \"<string>\",\n \"id\": \"<string>\",\n \"referencePrice\": 123,\n \"offer\": \"<string>\",\n \"cta\": \"<string>\",\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"position\": -1,\n \"showImage\": true\n}")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.cakto.com.br/public_api/products/{id}/bumps/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"product\": \"<string>\",\n \"id\": \"<string>\",\n \"referencePrice\": 123,\n \"offer\": \"<string>\",\n \"cta\": \"<string>\",\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"position\": -1,\n \"showImage\": true\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
{
"product": "<string>",
"id": "<string>",
"referencePrice": 123,
"offer": "<string>",
"cta": "<string>",
"title": "<string>",
"description": "<string>",
"position": -1,
"showImage": true
}Criar Order Bump
Adicione uma oferta complementar ao checkout de um produto. Escolha a oferta, defina o preço de referência e a copy que será exibida no momento da compra.
curl --request POST \
--url https://api.cakto.com.br/public_api/products/{id}/bumps/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"product": "<string>",
"id": "<string>",
"referencePrice": 123,
"offer": "<string>",
"cta": "<string>",
"title": "<string>",
"description": "<string>",
"position": -1,
"showImage": true
}
'import requests
url = "https://api.cakto.com.br/public_api/products/{id}/bumps/"
payload = {
"product": "<string>",
"id": "<string>",
"referencePrice": 123,
"offer": "<string>",
"cta": "<string>",
"title": "<string>",
"description": "<string>",
"position": -1,
"showImage": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
product: '<string>',
id: '<string>',
referencePrice: 123,
offer: '<string>',
cta: '<string>',
title: '<string>',
description: '<string>',
position: -1,
showImage: true
})
};
fetch('https://api.cakto.com.br/public_api/products/{id}/bumps/', 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}/bumps/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'product' => '<string>',
'id' => '<string>',
'referencePrice' => 123,
'offer' => '<string>',
'cta' => '<string>',
'title' => '<string>',
'description' => '<string>',
'position' => -1,
'showImage' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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}/bumps/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"product\": \"<string>\",\n \"id\": \"<string>\",\n \"referencePrice\": 123,\n \"offer\": \"<string>\",\n \"cta\": \"<string>\",\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"position\": -1,\n \"showImage\": true\n}"
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.post("https://api.cakto.com.br/public_api/products/{id}/bumps/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"product\": \"<string>\",\n \"id\": \"<string>\",\n \"referencePrice\": 123,\n \"offer\": \"<string>\",\n \"cta\": \"<string>\",\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"position\": -1,\n \"showImage\": true\n}")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.cakto.com.br/public_api/products/{id}/bumps/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"product\": \"<string>\",\n \"id\": \"<string>\",\n \"referencePrice\": 123,\n \"offer\": \"<string>\",\n \"cta\": \"<string>\",\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"position\": -1,\n \"showImage\": true\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
{
"product": "<string>",
"id": "<string>",
"referencePrice": 123,
"offer": "<string>",
"cta": "<string>",
"title": "<string>",
"description": "<string>",
"position": -1,
"showImage": true
}Escopo
write products
Quando usar
Use este endpoint quando quiser:- Adicionar um produto complementar ao checkout
- Criar uma nova oferta de upgrade ou adicional
- Incluir uma segunda opção de compra para quem já está na página de pagamento
Campos importantes
| Campo | Descrição | Dica |
|---|---|---|
offer | Id da oferta que será exibida | A oferta deve estar ativa e pertencer ao mesmo produto |
referencePrice | Preço de referência exibido | Use para mostrar desconto ou valor original riscado |
cta | Texto do botão | Ex: “Sim, quero adicionar!” |
title | Título do order bump | Ex: “Workbook exclusivo” |
description | Descrição curta | Uma linha com o benefício principal |
position | Ordem de exibição | Menor valor aparece primeiro no checkout |
showImage | Exibe imagem da oferta | Recomendado para produtos visuais |
offer deve existir e estar vinculada ao mesmo produto. Caso contrário, a API retornará erro 400.400 com { "detail": "Oferta já cadastrada como order bump deste produto." }.Authorizations
Token de autenticação do tipo Bearer {access_token}, onde {access_token} é o token obtido no fluxo de autenticação.
Path Parameters
Body
Produto que será oferecido como order bump
Identificador único do order bump no sistema
40Oferta que será oferecida como order bump
Texto do botão de call to action do order bump
255Título do order bump
255Descrição do order bump
Posição na qual o order bump será exibido no checkout
-2147483648 <= x <= 2147483647Indica se a imagem do order bump será exibida no checkout
Response
Produto que será oferecido como order bump
Identificador único do order bump no sistema
40Oferta que será oferecida como order bump
Texto do botão de call to action do order bump
255Título do order bump
255Descrição do order bump
Posição na qual o order bump será exibido no checkout
-2147483648 <= x <= 2147483647Indica se a imagem do order bump será exibida no checkout
Was this page helpful?