Skip to main content
PUT
/
{alias}
/
catalog
/
skus
/
{id}
Atualizar SKU
curl --request PUT \
  --url https://api.dooki.com.br/v2/{alias}/catalog/skus/{id} \
  --header 'Content-Type: application/json' \
  --header 'User-Secret-Key: <api-key>' \
  --header 'User-Token: <api-key>' \
  --data @- <<EOF
{
  "product_id": 123,
  "sku": "<string>",
  "price_cost": 123,
  "price_sale": 123,
  "weight": 123,
  "height": 123,
  "width": 123,
  "length": 123,
  "quantity_managed": true,
  "availability": 123,
  "availability_soldout": 123,
  "blocked_sale": true,
  "variations_values_ids": "['Amarelo', 'Azul', 'M', 'P']",
  "id": 123,
  "token": "<string>",
  "erp_id": 123,
  "barcode": "<string>",
  "allow_sell_without_customization": true,
  "price_discount": 123,
  "order": 123,
  "customizations_ids": "[1,2,3]",
  "current_stock": [
    {
      "stock_id": 123,
      "quantity": 123,
      "min_quantity": 123,
      "availability": 123,
      "availability_soldout": 123
    }
  ],
  "images": [
    {
      "url": "https://www.site.com/image1.jpg"
    }
  ]
}
EOF
import requests

url = "https://api.dooki.com.br/v2/{alias}/catalog/skus/{id}"

payload = {
"product_id": 123,
"sku": "<string>",
"price_cost": 123,
"price_sale": 123,
"weight": 123,
"height": 123,
"width": 123,
"length": 123,
"quantity_managed": True,
"availability": 123,
"availability_soldout": 123,
"blocked_sale": True,
"variations_values_ids": "['Amarelo', 'Azul', 'M', 'P']",
"id": 123,
"token": "<string>",
"erp_id": 123,
"barcode": "<string>",
"allow_sell_without_customization": True,
"price_discount": 123,
"order": 123,
"customizations_ids": "[1,2,3]",
"current_stock": [
{
"stock_id": 123,
"quantity": 123,
"min_quantity": 123,
"availability": 123,
"availability_soldout": 123
}
],
"images": [{ "url": "https://www.site.com/image1.jpg" }]
}
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({
product_id: 123,
sku: '<string>',
price_cost: 123,
price_sale: 123,
weight: 123,
height: 123,
width: 123,
length: 123,
quantity_managed: true,
availability: 123,
availability_soldout: 123,
blocked_sale: true,
variations_values_ids: '[\'Amarelo\', \'Azul\', \'M\', \'P\']',
id: 123,
token: '<string>',
erp_id: 123,
barcode: '<string>',
allow_sell_without_customization: true,
price_discount: 123,
order: 123,
customizations_ids: '[1,2,3]',
current_stock: [
{
stock_id: 123,
quantity: 123,
min_quantity: 123,
availability: 123,
availability_soldout: 123
}
],
images: [{url: 'https://www.site.com/image1.jpg'}]
})
};

fetch('https://api.dooki.com.br/v2/{alias}/catalog/skus/{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}/catalog/skus/{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([
'product_id' => 123,
'sku' => '<string>',
'price_cost' => 123,
'price_sale' => 123,
'weight' => 123,
'height' => 123,
'width' => 123,
'length' => 123,
'quantity_managed' => true,
'availability' => 123,
'availability_soldout' => 123,
'blocked_sale' => true,
'variations_values_ids' => '[\'Amarelo\', \'Azul\', \'M\', \'P\']',
'id' => 123,
'token' => '<string>',
'erp_id' => 123,
'barcode' => '<string>',
'allow_sell_without_customization' => true,
'price_discount' => 123,
'order' => 123,
'customizations_ids' => '[1,2,3]',
'current_stock' => [
[
'stock_id' => 123,
'quantity' => 123,
'min_quantity' => 123,
'availability' => 123,
'availability_soldout' => 123
]
],
'images' => [
[
'url' => 'https://www.site.com/image1.jpg'
]
]
]),
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}/catalog/skus/{id}"

payload := strings.NewReader("{\n \"product_id\": 123,\n \"sku\": \"<string>\",\n \"price_cost\": 123,\n \"price_sale\": 123,\n \"weight\": 123,\n \"height\": 123,\n \"width\": 123,\n \"length\": 123,\n \"quantity_managed\": true,\n \"availability\": 123,\n \"availability_soldout\": 123,\n \"blocked_sale\": true,\n \"variations_values_ids\": \"['Amarelo', 'Azul', 'M', 'P']\",\n \"id\": 123,\n \"token\": \"<string>\",\n \"erp_id\": 123,\n \"barcode\": \"<string>\",\n \"allow_sell_without_customization\": true,\n \"price_discount\": 123,\n \"order\": 123,\n \"customizations_ids\": \"[1,2,3]\",\n \"current_stock\": [\n {\n \"stock_id\": 123,\n \"quantity\": 123,\n \"min_quantity\": 123,\n \"availability\": 123,\n \"availability_soldout\": 123\n }\n ],\n \"images\": [\n {\n \"url\": \"https://www.site.com/image1.jpg\"\n }\n ]\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}/catalog/skus/{id}")
.header("User-Token", "<api-key>")
.header("User-Secret-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"product_id\": 123,\n \"sku\": \"<string>\",\n \"price_cost\": 123,\n \"price_sale\": 123,\n \"weight\": 123,\n \"height\": 123,\n \"width\": 123,\n \"length\": 123,\n \"quantity_managed\": true,\n \"availability\": 123,\n \"availability_soldout\": 123,\n \"blocked_sale\": true,\n \"variations_values_ids\": \"['Amarelo', 'Azul', 'M', 'P']\",\n \"id\": 123,\n \"token\": \"<string>\",\n \"erp_id\": 123,\n \"barcode\": \"<string>\",\n \"allow_sell_without_customization\": true,\n \"price_discount\": 123,\n \"order\": 123,\n \"customizations_ids\": \"[1,2,3]\",\n \"current_stock\": [\n {\n \"stock_id\": 123,\n \"quantity\": 123,\n \"min_quantity\": 123,\n \"availability\": 123,\n \"availability_soldout\": 123\n }\n ],\n \"images\": [\n {\n \"url\": \"https://www.site.com/image1.jpg\"\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.dooki.com.br/v2/{alias}/catalog/skus/{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 \"product_id\": 123,\n \"sku\": \"<string>\",\n \"price_cost\": 123,\n \"price_sale\": 123,\n \"weight\": 123,\n \"height\": 123,\n \"width\": 123,\n \"length\": 123,\n \"quantity_managed\": true,\n \"availability\": 123,\n \"availability_soldout\": 123,\n \"blocked_sale\": true,\n \"variations_values_ids\": \"['Amarelo', 'Azul', 'M', 'P']\",\n \"id\": 123,\n \"token\": \"<string>\",\n \"erp_id\": 123,\n \"barcode\": \"<string>\",\n \"allow_sell_without_customization\": true,\n \"price_discount\": 123,\n \"order\": 123,\n \"customizations_ids\": \"[1,2,3]\",\n \"current_stock\": [\n {\n \"stock_id\": 123,\n \"quantity\": 123,\n \"min_quantity\": 123,\n \"availability\": 123,\n \"availability_soldout\": 123\n }\n ],\n \"images\": [\n {\n \"url\": \"https://www.site.com/image1.jpg\"\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "id": 123,
  "product_id": 123,
  "seller_id": 123,
  "sku": "SKU-TEST-API",
  "token": "<string>",
  "erp_id": "01-753-Rose",
  "blocked_sale": false,
  "barcode": "barcode-test",
  "title": "Produto X - Variação 030303 Amarelo",
  "allow_sell_without_customization": true,
  "price_cost": 123,
  "price_sale": 123,
  "price_discount": 123,
  "combinations": [
    "<string>"
  ],
  "weight": 123,
  "height": 123,
  "width": 123,
  "length": 123,
  "quantity_managed": true,
  "availability": 123,
  "availability_soldout": 123,
  "order": 123,
  "variations": [
    {
      "name": "<string>",
      "id": 123,
      "value": "<string>",
      "value_id": 123
    }
  ],
  "days_availability_formated": "<string>",
  "total_in_stock": 123,
  "total_orders": 123,
  "image_reference_sku_id": 123,
  "purchase_url": "<string>",
  "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"
  },
  "customizations": {
    "data": [
      {
        "id": 123,
        "name": "Primeira Letra",
        "price": 123,
        "description": "Descrição",
        "type": "select",
        "required": true,
        "allowed_values": "<string>",
        "max_chars": 1,
        "products_ids": [
          123
        ],
        "values": "['A', 'B', 'C', 'D']"
      }
    ]
  }
}
Envie somente os campos obrigatórios e os que deseja alterar, para reduzir validações desnecessárias. Caso não envie um campo, o mesmo será mantido com o valor atual.

Authorizations

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

Path Parameters

alias
string
required

Alias da loja

id
integer
required

ID do SKU

Body

application/json

Representa os dados necessários para criar ou atualizar um SKU

product_id
integer
required
sku
string
required
Maximum string length: 40
price_cost
number<float>
required
price_sale
number<float>
required
weight
number<float>
required
height
number<float>
required
width
number<float>
required
length
number<float>
required
quantity_managed
boolean
required
availability
integer
required
availability_soldout
integer
required
blocked_sale
boolean
required
variations_values_ids
string[]
required
Example:

"['Amarelo', 'Azul', 'M', 'P']"

id
integer
token
string
erp_id
integer
barcode
string
allow_sell_without_customization
boolean
price_discount
number<float>
order
integer
customizations_ids
integer[]
Example:

"[1,2,3]"

current_stock
object[]

Informações de estoque do SKU. Pode ser enviado como um único objeto ou um array de objetos.

images
object[]

Response

SKU atualizado com sucesso

id
integer

ID do SKU

product_id
integer

ID do produto ao qual o SKU pertence

seller_id
integer

ID do vendedor

sku
string

Código do SKU

Example:

"SKU-TEST-API"

token
string

Token único do SKU

erp_id
string

ID do SKU no ERP

Example:

"01-753-Rose"

blocked_sale
boolean

Vendas bloqueadas

Example:

false

barcode
string

Código de barras do SKU

Example:

"barcode-test"

title
string

Título completo do SKU

Example:

"Produto X - Variação 030303 Amarelo"

allow_sell_without_customization
boolean

Permite vender sem personalização obrigatória

Example:

true

price_cost
number<float>

Preço de custo do SKU

price_sale
number<float>

Preço de venda do SKU

price_discount
number<float>

Preço com desconto aplicado

combinations
string[]

Combinações de variações associadas ao SKU

weight
number<float>

Peso do SKU em kg

height
number<float>

Altura do SKU em cm

width
number<float>

Largura do SKU em cm

length
number<float>

Comprimento do SKU em cm

quantity_managed
boolean

Indica se o controle de estoque está habilitado

Example:

true

availability
integer

Quantidade disponível em estoque

availability_soldout
integer

Quantidade disponível mesmo após esgotado

order
integer

Ordem de exibição do SKU para a página de produtos

variations
object[]

Lista de variações do produto

days_availability_formated
string

Disponibilidade formatada em dias

total_in_stock
integer

Quantidade total em estoque

stock_status
enum<string>

Status do estoque

Available options:
in_stock,
out_of_stock,
low_stock
total_orders
integer

Número total de pedidos realizados

image_reference_sku_id
integer

ID do SKU de referência da imagem

purchase_url
string<url>

URL para a compra do produto

created_at
object
updated_at
object
customizations
object

Personalizações do produto