curl --request PUT \
--url https://api.dooki.com.br/v2/{alias}/pricing/combos/{id} \
--header 'Content-Type: application/json' \
--header 'User-Secret-Key: <api-key>' \
--header 'User-Token: <api-key>' \
--data '
{
"active": true,
"name": "Combo Verão 2025",
"products_ids": [
123456,
789012
],
"discount_type": "p",
"discount_value": 10,
"start_at": "2025-06-01 00:00:00",
"end_at": "2025-07-31 23:59:59",
"accumulate": true
}
'import requests
url = "https://api.dooki.com.br/v2/{alias}/pricing/combos/{id}"
payload = {
"active": True,
"name": "Combo Verão 2025",
"products_ids": [123456, 789012],
"discount_type": "p",
"discount_value": 10,
"start_at": "2025-06-01 00:00:00",
"end_at": "2025-07-31 23:59:59",
"accumulate": True
}
headers = {
"User-Token": "<api-key>",
"User-Secret-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'User-Token': '<api-key>',
'User-Secret-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
active: true,
name: 'Combo Verão 2025',
products_ids: [123456, 789012],
discount_type: 'p',
discount_value: 10,
start_at: '2025-06-01 00:00:00',
end_at: '2025-07-31 23:59:59',
accumulate: true
})
};
fetch('https://api.dooki.com.br/v2/{alias}/pricing/combos/{id}', 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.dooki.com.br/v2/{alias}/pricing/combos/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'active' => true,
'name' => 'Combo Verão 2025',
'products_ids' => [
123456,
789012
],
'discount_type' => 'p',
'discount_value' => 10,
'start_at' => '2025-06-01 00:00:00',
'end_at' => '2025-07-31 23:59:59',
'accumulate' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"User-Secret-Key: <api-key>",
"User-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dooki.com.br/v2/{alias}/pricing/combos/{id}"
payload := strings.NewReader("{\n \"active\": true,\n \"name\": \"Combo Verão 2025\",\n \"products_ids\": [\n 123456,\n 789012\n ],\n \"discount_type\": \"p\",\n \"discount_value\": 10,\n \"start_at\": \"2025-06-01 00:00:00\",\n \"end_at\": \"2025-07-31 23:59:59\",\n \"accumulate\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("User-Token", "<api-key>")
req.Header.Add("User-Secret-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.dooki.com.br/v2/{alias}/pricing/combos/{id}")
.header("User-Token", "<api-key>")
.header("User-Secret-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"active\": true,\n \"name\": \"Combo Verão 2025\",\n \"products_ids\": [\n 123456,\n 789012\n ],\n \"discount_type\": \"p\",\n \"discount_value\": 10,\n \"start_at\": \"2025-06-01 00:00:00\",\n \"end_at\": \"2025-07-31 23:59:59\",\n \"accumulate\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dooki.com.br/v2/{alias}/pricing/combos/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["User-Token"] = '<api-key>'
request["User-Secret-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"active\": true,\n \"name\": \"Combo Verão 2025\",\n \"products_ids\": [\n 123456,\n 789012\n ],\n \"discount_type\": \"p\",\n \"discount_value\": 10,\n \"start_at\": \"2025-06-01 00:00:00\",\n \"end_at\": \"2025-07-31 23:59:59\",\n \"accumulate\": true\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"active": true,
"accumulate": true,
"name": "Combo test",
"description": "<string>",
"products_ids": [
123
],
"discount_type": "p",
"discount_value": 10,
"expired": true,
"total_products": 123,
"start_at": {
"date": "2000-08-17 10:24:24",
"timezone_type": 3,
"timezone": "America/Sao_Paulo"
},
"end_at": {
"date": "2000-08-17 10:24:24",
"timezone_type": 3,
"timezone": "America/Sao_Paulo"
},
"created_at": {
"date": "2000-08-17 10:24:24",
"timezone_type": 3,
"timezone": "America/Sao_Paulo"
},
"updated_at": {
"date": "2000-08-17 10:24:24",
"timezone_type": 3,
"timezone": "America/Sao_Paulo"
}
}Atualizar combo de produtos
Atualiza os detalhes de um combo de produtos específico
curl --request PUT \
--url https://api.dooki.com.br/v2/{alias}/pricing/combos/{id} \
--header 'Content-Type: application/json' \
--header 'User-Secret-Key: <api-key>' \
--header 'User-Token: <api-key>' \
--data '
{
"active": true,
"name": "Combo Verão 2025",
"products_ids": [
123456,
789012
],
"discount_type": "p",
"discount_value": 10,
"start_at": "2025-06-01 00:00:00",
"end_at": "2025-07-31 23:59:59",
"accumulate": true
}
'import requests
url = "https://api.dooki.com.br/v2/{alias}/pricing/combos/{id}"
payload = {
"active": True,
"name": "Combo Verão 2025",
"products_ids": [123456, 789012],
"discount_type": "p",
"discount_value": 10,
"start_at": "2025-06-01 00:00:00",
"end_at": "2025-07-31 23:59:59",
"accumulate": True
}
headers = {
"User-Token": "<api-key>",
"User-Secret-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'User-Token': '<api-key>',
'User-Secret-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
active: true,
name: 'Combo Verão 2025',
products_ids: [123456, 789012],
discount_type: 'p',
discount_value: 10,
start_at: '2025-06-01 00:00:00',
end_at: '2025-07-31 23:59:59',
accumulate: true
})
};
fetch('https://api.dooki.com.br/v2/{alias}/pricing/combos/{id}', 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.dooki.com.br/v2/{alias}/pricing/combos/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'active' => true,
'name' => 'Combo Verão 2025',
'products_ids' => [
123456,
789012
],
'discount_type' => 'p',
'discount_value' => 10,
'start_at' => '2025-06-01 00:00:00',
'end_at' => '2025-07-31 23:59:59',
'accumulate' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"User-Secret-Key: <api-key>",
"User-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dooki.com.br/v2/{alias}/pricing/combos/{id}"
payload := strings.NewReader("{\n \"active\": true,\n \"name\": \"Combo Verão 2025\",\n \"products_ids\": [\n 123456,\n 789012\n ],\n \"discount_type\": \"p\",\n \"discount_value\": 10,\n \"start_at\": \"2025-06-01 00:00:00\",\n \"end_at\": \"2025-07-31 23:59:59\",\n \"accumulate\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("User-Token", "<api-key>")
req.Header.Add("User-Secret-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.dooki.com.br/v2/{alias}/pricing/combos/{id}")
.header("User-Token", "<api-key>")
.header("User-Secret-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"active\": true,\n \"name\": \"Combo Verão 2025\",\n \"products_ids\": [\n 123456,\n 789012\n ],\n \"discount_type\": \"p\",\n \"discount_value\": 10,\n \"start_at\": \"2025-06-01 00:00:00\",\n \"end_at\": \"2025-07-31 23:59:59\",\n \"accumulate\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dooki.com.br/v2/{alias}/pricing/combos/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["User-Token"] = '<api-key>'
request["User-Secret-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"active\": true,\n \"name\": \"Combo Verão 2025\",\n \"products_ids\": [\n 123456,\n 789012\n ],\n \"discount_type\": \"p\",\n \"discount_value\": 10,\n \"start_at\": \"2025-06-01 00:00:00\",\n \"end_at\": \"2025-07-31 23:59:59\",\n \"accumulate\": true\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"active": true,
"accumulate": true,
"name": "Combo test",
"description": "<string>",
"products_ids": [
123
],
"discount_type": "p",
"discount_value": 10,
"expired": true,
"total_products": 123,
"start_at": {
"date": "2000-08-17 10:24:24",
"timezone_type": 3,
"timezone": "America/Sao_Paulo"
},
"end_at": {
"date": "2000-08-17 10:24:24",
"timezone_type": 3,
"timezone": "America/Sao_Paulo"
},
"created_at": {
"date": "2000-08-17 10:24:24",
"timezone_type": 3,
"timezone": "America/Sao_Paulo"
},
"updated_at": {
"date": "2000-08-17 10:24:24",
"timezone_type": 3,
"timezone": "America/Sao_Paulo"
}
}Body
Dados para criação ou atualização de um combo de produtos
Status do combo
true
Nome do combo
3"Combo Verão 2025"
IDs dos produtos que compõem o combo
[123456, 789012]
Tipo de desconto (p: percentual, v: valor fixo)
p, v "p"
Valor do desconto
10
Data e hora de início
"2025-06-01 00:00:00"
Data e hora de término
"2025-07-31 23:59:59"
Indica se o desconto acumula com outras promoções
true
Response
Combo atualizado com sucesso
Conjunto de produtos que recebe desconto quando comprados juntos.
ID do combo.
Indica se o combo está ativo.
Indica se o desconto do combo pode ser acumulado com outras promoções da loja.
Nome do combo, com até 100 caracteres.
"Combo test"
Descrição do combo. Devolvida como nula quando não preenchida.
IDs dos produtos que compõem o combo.
Tipo de desconto (p para percentual, v para valor)
p, v Valor do desconto do combo: percentual quando discount_type for p, ou valor em reais quando for v.
10
Indica se a data de término do combo já passou.
Quantidade de produtos vinculados ao combo.
Data e hora no formato de objeto devolvido pelo PHP, com o fuso horário em que foi registrada.
Show child attributes
Show child attributes
Data e hora no formato de objeto devolvido pelo PHP, com o fuso horário em que foi registrada.
Show child attributes
Show child attributes
Data e hora no formato de objeto devolvido pelo PHP, com o fuso horário em que foi registrada.
Show child attributes
Show child attributes
Data e hora no formato de objeto devolvido pelo PHP, com o fuso horário em que foi registrada.
Show child attributes
Show child attributes
Was this page helpful?