Skip to main content
POST
/
{alias}
/
pricing
/
progressive-discounts
Criar desconto progressivo
curl --request POST \
  --url https://api.dooki.com.br/v2/{alias}/pricing/progressive-discounts \
  --header 'Content-Type: application/json' \
  --header 'User-Secret-Key: <api-key>' \
  --header 'User-Token: <api-key>' \
  --data '
{
  "min_value": 0,
  "max_value": 100,
  "percent": 5,
  "start_at": "2025-06-01 00:00:00",
  "end_at": "2025-08-10 00:00:00",
  "active": true,
  "restrictions": {
    "include": {
      "products_ids": [
        123
      ],
      "brands_ids": [
        123
      ],
      "collections_ids": [
        123
      ],
      "categories_ids": [
        123
      ]
    }
  },
  "exclude": {
    "products_ids": [
      123
    ],
    "brands_ids": [
      123
    ],
    "collections_ids": [
      123
    ],
    "categories_ids": [
      123
    ]
  }
}
'
import requests

url = "https://api.dooki.com.br/v2/{alias}/pricing/progressive-discounts"

payload = {
    "min_value": 0,
    "max_value": 100,
    "percent": 5,
    "start_at": "2025-06-01 00:00:00",
    "end_at": "2025-08-10 00:00:00",
    "active": True,
    "restrictions": { "include": {
            "products_ids": [123],
            "brands_ids": [123],
            "collections_ids": [123],
            "categories_ids": [123]
        } },
    "exclude": {
        "products_ids": [123],
        "brands_ids": [123],
        "collections_ids": [123],
        "categories_ids": [123]
    }
}
headers = {
    "User-Token": "<api-key>",
    "User-Secret-Key": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'POST',
  headers: {
    'User-Token': '<api-key>',
    'User-Secret-Key': '<api-key>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    min_value: 0,
    max_value: 100,
    percent: 5,
    start_at: '2025-06-01 00:00:00',
    end_at: '2025-08-10 00:00:00',
    active: true,
    restrictions: {
      include: {
        products_ids: [123],
        brands_ids: [123],
        collections_ids: [123],
        categories_ids: [123]
      }
    },
    exclude: {
      products_ids: [123],
      brands_ids: [123],
      collections_ids: [123],
      categories_ids: [123]
    }
  })
};

fetch('https://api.dooki.com.br/v2/{alias}/pricing/progressive-discounts', 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/progressive-discounts",
  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([
    'min_value' => 0,
    'max_value' => 100,
    'percent' => 5,
    'start_at' => '2025-06-01 00:00:00',
    'end_at' => '2025-08-10 00:00:00',
    'active' => true,
    'restrictions' => [
        'include' => [
                'products_ids' => [
                                123
                ],
                'brands_ids' => [
                                123
                ],
                'collections_ids' => [
                                123
                ],
                'categories_ids' => [
                                123
                ]
        ]
    ],
    'exclude' => [
        'products_ids' => [
                123
        ],
        'brands_ids' => [
                123
        ],
        'collections_ids' => [
                123
        ],
        'categories_ids' => [
                123
        ]
    ]
  ]),
  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/progressive-discounts"

	payload := strings.NewReader("{\n  \"min_value\": 0,\n  \"max_value\": 100,\n  \"percent\": 5,\n  \"start_at\": \"2025-06-01 00:00:00\",\n  \"end_at\": \"2025-08-10 00:00:00\",\n  \"active\": true,\n  \"restrictions\": {\n    \"include\": {\n      \"products_ids\": [\n        123\n      ],\n      \"brands_ids\": [\n        123\n      ],\n      \"collections_ids\": [\n        123\n      ],\n      \"categories_ids\": [\n        123\n      ]\n    }\n  },\n  \"exclude\": {\n    \"products_ids\": [\n      123\n    ],\n    \"brands_ids\": [\n      123\n    ],\n    \"collections_ids\": [\n      123\n    ],\n    \"categories_ids\": [\n      123\n    ]\n  }\n}")

	req, _ := http.NewRequest("POST", 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.post("https://api.dooki.com.br/v2/{alias}/pricing/progressive-discounts")
  .header("User-Token", "<api-key>")
  .header("User-Secret-Key", "<api-key>")
  .header("Content-Type", "application/json")
  .body("{\n  \"min_value\": 0,\n  \"max_value\": 100,\n  \"percent\": 5,\n  \"start_at\": \"2025-06-01 00:00:00\",\n  \"end_at\": \"2025-08-10 00:00:00\",\n  \"active\": true,\n  \"restrictions\": {\n    \"include\": {\n      \"products_ids\": [\n        123\n      ],\n      \"brands_ids\": [\n        123\n      ],\n      \"collections_ids\": [\n        123\n      ],\n      \"categories_ids\": [\n        123\n      ]\n    }\n  },\n  \"exclude\": {\n    \"products_ids\": [\n      123\n    ],\n    \"brands_ids\": [\n      123\n    ],\n    \"collections_ids\": [\n      123\n    ],\n    \"categories_ids\": [\n      123\n    ]\n  }\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.dooki.com.br/v2/{alias}/pricing/progressive-discounts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["User-Token"] = '<api-key>'
request["User-Secret-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"min_value\": 0,\n  \"max_value\": 100,\n  \"percent\": 5,\n  \"start_at\": \"2025-06-01 00:00:00\",\n  \"end_at\": \"2025-08-10 00:00:00\",\n  \"active\": true,\n  \"restrictions\": {\n    \"include\": {\n      \"products_ids\": [\n        123\n      ],\n      \"brands_ids\": [\n        123\n      ],\n      \"collections_ids\": [\n        123\n      ],\n      \"categories_ids\": [\n        123\n      ]\n    }\n  },\n  \"exclude\": {\n    \"products_ids\": [\n      123\n    ],\n    \"brands_ids\": [\n      123\n    ],\n    \"collections_ids\": [\n      123\n    ],\n    \"categories_ids\": [\n      123\n    ]\n  }\n}"

response = http.request(request)
puts response.read_body
{
  "id": 123,
  "active": true,
  "min_value": 123,
  "max_value": 100,
  "percent": 5,
  "min_quantity": 123,
  "accumulate": true,
  "expired": true
}

Authorizations

User-Token
string
header
required
User-Secret-Key
string
header
required

Path Parameters

alias
string
required

Alias da loja

Body

application/json

Representa uma requisição de desconto progressivo

min_value
number<float>
required
Example:

0

max_value
number<float>
required
Example:

100

percent
number<float>
required
Example:

5

start_at
string<date-time>
required

Data e hora de início

Example:

"2025-06-01 00:00:00"

end_at
string<date-time>
required

Data e hora de término

Example:

"2025-08-10 00:00:00"

active
boolean
Example:

true

restrictions
object
exclude
object

Response

Desconto progressivo criado com sucesso

Representa um desconto progressivo

id
integer
active
boolean
min_value
number<float>
max_value
number<float>
Example:

100

percent
number<float>
Example:

5

min_quantity
integer
accumulate
boolean
expired
boolean