cURL
curl --request GET \
--url https://api.cakto.com.br/public_api/products/{id}/bumps/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cakto.com.br/public_api/products/{id}/bumps/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
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 => "GET",
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}/bumps/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.cakto.com.br/public_api/products/{id}/bumps/")
.header("Authorization", "Bearer <token>")
.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>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"count": 123,
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2",
"results": [
{
"product": "<string>",
"id": "<string>",
"referencePrice": 123,
"offer": "<string>",
"cta": "<string>",
"title": "<string>",
"description": "<string>",
"position": -1,
"showImage": true
}
]
}{
"detail": "As credenciais de autenticação não foram fornecidas."
}{
"detail": "Não encontrado."
}Order Bumps
Listar Order Bumps do Produto
Consulte as ofertas adicionais exibidas no checkout de um produto. Use este endpoint para listar, auditar e planejar as ofertas complementares que aumentam o valor médio do pedido.
GET
/
public_api
/
products
/
{id}
/
bumps
/
cURL
curl --request GET \
--url https://api.cakto.com.br/public_api/products/{id}/bumps/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cakto.com.br/public_api/products/{id}/bumps/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
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 => "GET",
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}/bumps/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.cakto.com.br/public_api/products/{id}/bumps/")
.header("Authorization", "Bearer <token>")
.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>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"count": 123,
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2",
"results": [
{
"product": "<string>",
"id": "<string>",
"referencePrice": 123,
"offer": "<string>",
"cta": "<string>",
"title": "<string>",
"description": "<string>",
"position": -1,
"showImage": true
}
]
}{
"detail": "As credenciais de autenticação não foram fornecidas."
}{
"detail": "Não encontrado."
}Escopo
read products
O que é um Order Bump?
Order bump é uma oferta complementar exibida no checkout, logo antes do pagamento. O cliente adiciona o produto extra com um único clique, sem sair da página de compra. É uma das formas mais simples de aumentar o ticket médio sem criar novos funis de vendas.Aumente o ticket médio
Venda produtos complementares no momento em que o cliente já está decidido a comprar.
Baixo atrito
O cliente adiciona com um clique. Sem redirecionamentos, sem novos checkouts.
Custo zero de aquisição
Você não gasta mais em tráfego. A venda acontece para quem já está comprando.
Testes rápidos
Troque ofertas, ajuste preços e copy para descobrir o que converte mais.
Quando usar cada endpoint
| Endpoint | Ação | Quando usar |
|---|---|---|
GET /products/{id}/bumps/ | Listar | Para ver todas as ofertas adicionais de um produto e auditar posições. |
POST /products/{id}/bumps/ | Criar | Para adicionar uma nova oferta complementar ao checkout. |
POST /products/{id}/bumps/position_update/ | Reordenar | Para mudar a ordem de exibição dos order bumps no checkout. |
GET /bumps/{id}/ | Consultar | Para obter os detalhes completos de um order bump específico. |
PUT /bumps/{id}/ | Atualizar | Para alterar oferta, preço, copy ou imagem de um bump existente. |
DELETE /bumps/{id}/ | Remover | Para desativar uma oferta que não está convertendo. |
Casos de uso
Vender produtos complementares
Vender produtos complementares
Vende um curso de fotografia? Ofereça um kit de presets como order bump. O cliente compra o principal e adiciona o complemento em segundos.
Criar upgrades instantâneos
Criar upgrades instantâneos
Ofereça a versão premium, com aulas extras ou suporte prioritário, diretamente no checkout. Quem já vai comprar o básico pode querer o upgrade imediato.
Aumentar a recorrência
Aumentar a recorrência
Para assinaturas, use o order bump para oferecer um segundo acesso ou um plano anual com desconto no momento da adesão.
Testar ofertas sem risco
Testar ofertas sem risco
Crie dois ou três order bumps com produtos diferentes e acompanhe qual gera mais vendas adicionais. Ajuste conforme os resultados.
Boas práticas
Ofereça o complemento certo. O order bump deve ter relação direta com o produto principal. Ofertas genéricas convertem menos.
Preço acessível. Order bumps com valor entre 30% e 50% do produto principal costumam converter melhor.
Copy clara. Use títulos e descrições curtas que explicam o benefício em uma linha. Exemplo: “Leve também o workbook por R$ 19,90”.
Order bumps são exibidos na ordem definida pelo campo
position. Use o endpoint de atualizar posições para controlar qual oferta aparece primeiro no checkout.Authorizations
Token de autenticação do tipo Bearer {access_token}, onde {access_token} é o token obtido no fluxo de autenticação.
Path Parameters
Query Parameters
Número de resultados a serem retornados por página.
Which field to use when ordering the results.
Número da página a ser retornada.
A search term.
Was this page helpful?