curl --request POST \
--url https://api.quickbutik.com/v1/products \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "My white tee!",
"sku": "T-SHIRT123",
"is_giftcard": true,
"description": "<p><strong>This is so so cool!</strong> Heee</p>",
"price": 299,
"before_price": 399,
"purchase_price": 69,
"tax_rate": 123,
"weight": 400,
"stock": 1,
"disable_minusqty": "1",
"gtin": "<string>",
"headcategory_id": 123,
"headcategory_name": "T-shirts",
"visible": 1,
"images": {},
"metadata": {},
"preorder": 1,
"permanent_redirect_from_url": "<string>",
"skipIfDuplicate": true,
"variants": {
"sync": [
{
"variant_option1_name": "Color",
"variant_option1_value": "Red",
"variant_option2_name": "Size",
"variant_option2_value": "Large",
"variant_option3_name": "<string>",
"variant_option3_value": "<string>",
"variant_option4_name": "<string>",
"variant_option4_value": "<string>",
"variant_option5_name": "<string>",
"variant_option5_value": "<string>",
"sku": "<string>",
"price": 123,
"purchase_price": 123,
"qty": 123,
"qty_location": "<string>",
"before_price": 123,
"gtin": "<string>",
"supplier_sku": "<string>",
"weight": 123,
"images": [
{}
]
}
],
"add": [
{
"variant_option1_name": "Color",
"variant_option1_value": "Red",
"variant_option2_name": "Size",
"variant_option2_value": "Large",
"variant_option3_name": "<string>",
"variant_option3_value": "<string>",
"variant_option4_name": "<string>",
"variant_option4_value": "<string>",
"variant_option5_name": "<string>",
"variant_option5_value": "<string>",
"sku": "<string>",
"price": 123,
"purchase_price": 123,
"qty": 123,
"qty_location": "<string>",
"before_price": 123,
"gtin": "<string>",
"supplier_sku": "<string>",
"weight": 123,
"preorder": 1,
"images": [
{}
]
}
]
}
}
'import requests
url = "https://api.quickbutik.com/v1/products"
payload = {
"title": "My white tee!",
"sku": "T-SHIRT123",
"is_giftcard": True,
"description": "<p><strong>This is so so cool!</strong> Heee</p>",
"price": 299,
"before_price": 399,
"purchase_price": 69,
"tax_rate": 123,
"weight": 400,
"stock": 1,
"disable_minusqty": "1",
"gtin": "<string>",
"headcategory_id": 123,
"headcategory_name": "T-shirts",
"visible": 1,
"images": {},
"metadata": {},
"preorder": 1,
"permanent_redirect_from_url": "<string>",
"skipIfDuplicate": True,
"variants": {
"sync": [
{
"variant_option1_name": "Color",
"variant_option1_value": "Red",
"variant_option2_name": "Size",
"variant_option2_value": "Large",
"variant_option3_name": "<string>",
"variant_option3_value": "<string>",
"variant_option4_name": "<string>",
"variant_option4_value": "<string>",
"variant_option5_name": "<string>",
"variant_option5_value": "<string>",
"sku": "<string>",
"price": 123,
"purchase_price": 123,
"qty": 123,
"qty_location": "<string>",
"before_price": 123,
"gtin": "<string>",
"supplier_sku": "<string>",
"weight": 123,
"images": [{}]
}
],
"add": [
{
"variant_option1_name": "Color",
"variant_option1_value": "Red",
"variant_option2_name": "Size",
"variant_option2_value": "Large",
"variant_option3_name": "<string>",
"variant_option3_value": "<string>",
"variant_option4_name": "<string>",
"variant_option4_value": "<string>",
"variant_option5_name": "<string>",
"variant_option5_value": "<string>",
"sku": "<string>",
"price": 123,
"purchase_price": 123,
"qty": 123,
"qty_location": "<string>",
"before_price": 123,
"gtin": "<string>",
"supplier_sku": "<string>",
"weight": 123,
"preorder": 1,
"images": [{}]
}
]
}
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'My white tee!',
sku: 'T-SHIRT123',
is_giftcard: true,
description: '<p><strong>This is so so cool!</strong> Heee</p>',
price: 299,
before_price: 399,
purchase_price: 69,
tax_rate: 123,
weight: 400,
stock: 1,
disable_minusqty: '1',
gtin: '<string>',
headcategory_id: 123,
headcategory_name: 'T-shirts',
visible: 1,
images: {},
metadata: {},
preorder: 1,
permanent_redirect_from_url: '<string>',
skipIfDuplicate: true,
variants: {
sync: [
{
variant_option1_name: 'Color',
variant_option1_value: 'Red',
variant_option2_name: 'Size',
variant_option2_value: 'Large',
variant_option3_name: '<string>',
variant_option3_value: '<string>',
variant_option4_name: '<string>',
variant_option4_value: '<string>',
variant_option5_name: '<string>',
variant_option5_value: '<string>',
sku: '<string>',
price: 123,
purchase_price: 123,
qty: 123,
qty_location: '<string>',
before_price: 123,
gtin: '<string>',
supplier_sku: '<string>',
weight: 123,
images: [{}]
}
],
add: [
{
variant_option1_name: 'Color',
variant_option1_value: 'Red',
variant_option2_name: 'Size',
variant_option2_value: 'Large',
variant_option3_name: '<string>',
variant_option3_value: '<string>',
variant_option4_name: '<string>',
variant_option4_value: '<string>',
variant_option5_name: '<string>',
variant_option5_value: '<string>',
sku: '<string>',
price: 123,
purchase_price: 123,
qty: 123,
qty_location: '<string>',
before_price: 123,
gtin: '<string>',
supplier_sku: '<string>',
weight: 123,
preorder: 1,
images: [{}]
}
]
}
})
};
fetch('https://api.quickbutik.com/v1/products', 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.quickbutik.com/v1/products",
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([
'title' => 'My white tee!',
'sku' => 'T-SHIRT123',
'is_giftcard' => true,
'description' => '<p><strong>This is so so cool!</strong> Heee</p>',
'price' => 299,
'before_price' => 399,
'purchase_price' => 69,
'tax_rate' => 123,
'weight' => 400,
'stock' => 1,
'disable_minusqty' => '1',
'gtin' => '<string>',
'headcategory_id' => 123,
'headcategory_name' => 'T-shirts',
'visible' => 1,
'images' => [
],
'metadata' => [
],
'preorder' => 1,
'permanent_redirect_from_url' => '<string>',
'skipIfDuplicate' => true,
'variants' => [
'sync' => [
[
'variant_option1_name' => 'Color',
'variant_option1_value' => 'Red',
'variant_option2_name' => 'Size',
'variant_option2_value' => 'Large',
'variant_option3_name' => '<string>',
'variant_option3_value' => '<string>',
'variant_option4_name' => '<string>',
'variant_option4_value' => '<string>',
'variant_option5_name' => '<string>',
'variant_option5_value' => '<string>',
'sku' => '<string>',
'price' => 123,
'purchase_price' => 123,
'qty' => 123,
'qty_location' => '<string>',
'before_price' => 123,
'gtin' => '<string>',
'supplier_sku' => '<string>',
'weight' => 123,
'images' => [
[
]
]
]
],
'add' => [
[
'variant_option1_name' => 'Color',
'variant_option1_value' => 'Red',
'variant_option2_name' => 'Size',
'variant_option2_value' => 'Large',
'variant_option3_name' => '<string>',
'variant_option3_value' => '<string>',
'variant_option4_name' => '<string>',
'variant_option4_value' => '<string>',
'variant_option5_name' => '<string>',
'variant_option5_value' => '<string>',
'sku' => '<string>',
'price' => 123,
'purchase_price' => 123,
'qty' => 123,
'qty_location' => '<string>',
'before_price' => 123,
'gtin' => '<string>',
'supplier_sku' => '<string>',
'weight' => 123,
'preorder' => 1,
'images' => [
[
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$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.quickbutik.com/v1/products"
payload := strings.NewReader("{\n \"title\": \"My white tee!\",\n \"sku\": \"T-SHIRT123\",\n \"is_giftcard\": true,\n \"description\": \"<p><strong>This is so so cool!</strong> Heee</p>\",\n \"price\": 299,\n \"before_price\": 399,\n \"purchase_price\": 69,\n \"tax_rate\": 123,\n \"weight\": 400,\n \"stock\": 1,\n \"disable_minusqty\": \"1\",\n \"gtin\": \"<string>\",\n \"headcategory_id\": 123,\n \"headcategory_name\": \"T-shirts\",\n \"visible\": 1,\n \"images\": {},\n \"metadata\": {},\n \"preorder\": 1,\n \"permanent_redirect_from_url\": \"<string>\",\n \"skipIfDuplicate\": true,\n \"variants\": {\n \"sync\": [\n {\n \"variant_option1_name\": \"Color\",\n \"variant_option1_value\": \"Red\",\n \"variant_option2_name\": \"Size\",\n \"variant_option2_value\": \"Large\",\n \"variant_option3_name\": \"<string>\",\n \"variant_option3_value\": \"<string>\",\n \"variant_option4_name\": \"<string>\",\n \"variant_option4_value\": \"<string>\",\n \"variant_option5_name\": \"<string>\",\n \"variant_option5_value\": \"<string>\",\n \"sku\": \"<string>\",\n \"price\": 123,\n \"purchase_price\": 123,\n \"qty\": 123,\n \"qty_location\": \"<string>\",\n \"before_price\": 123,\n \"gtin\": \"<string>\",\n \"supplier_sku\": \"<string>\",\n \"weight\": 123,\n \"images\": [\n {}\n ]\n }\n ],\n \"add\": [\n {\n \"variant_option1_name\": \"Color\",\n \"variant_option1_value\": \"Red\",\n \"variant_option2_name\": \"Size\",\n \"variant_option2_value\": \"Large\",\n \"variant_option3_name\": \"<string>\",\n \"variant_option3_value\": \"<string>\",\n \"variant_option4_name\": \"<string>\",\n \"variant_option4_value\": \"<string>\",\n \"variant_option5_name\": \"<string>\",\n \"variant_option5_value\": \"<string>\",\n \"sku\": \"<string>\",\n \"price\": 123,\n \"purchase_price\": 123,\n \"qty\": 123,\n \"qty_location\": \"<string>\",\n \"before_price\": 123,\n \"gtin\": \"<string>\",\n \"supplier_sku\": \"<string>\",\n \"weight\": 123,\n \"preorder\": 1,\n \"images\": [\n {}\n ]\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.quickbutik.com/v1/products")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"My white tee!\",\n \"sku\": \"T-SHIRT123\",\n \"is_giftcard\": true,\n \"description\": \"<p><strong>This is so so cool!</strong> Heee</p>\",\n \"price\": 299,\n \"before_price\": 399,\n \"purchase_price\": 69,\n \"tax_rate\": 123,\n \"weight\": 400,\n \"stock\": 1,\n \"disable_minusqty\": \"1\",\n \"gtin\": \"<string>\",\n \"headcategory_id\": 123,\n \"headcategory_name\": \"T-shirts\",\n \"visible\": 1,\n \"images\": {},\n \"metadata\": {},\n \"preorder\": 1,\n \"permanent_redirect_from_url\": \"<string>\",\n \"skipIfDuplicate\": true,\n \"variants\": {\n \"sync\": [\n {\n \"variant_option1_name\": \"Color\",\n \"variant_option1_value\": \"Red\",\n \"variant_option2_name\": \"Size\",\n \"variant_option2_value\": \"Large\",\n \"variant_option3_name\": \"<string>\",\n \"variant_option3_value\": \"<string>\",\n \"variant_option4_name\": \"<string>\",\n \"variant_option4_value\": \"<string>\",\n \"variant_option5_name\": \"<string>\",\n \"variant_option5_value\": \"<string>\",\n \"sku\": \"<string>\",\n \"price\": 123,\n \"purchase_price\": 123,\n \"qty\": 123,\n \"qty_location\": \"<string>\",\n \"before_price\": 123,\n \"gtin\": \"<string>\",\n \"supplier_sku\": \"<string>\",\n \"weight\": 123,\n \"images\": [\n {}\n ]\n }\n ],\n \"add\": [\n {\n \"variant_option1_name\": \"Color\",\n \"variant_option1_value\": \"Red\",\n \"variant_option2_name\": \"Size\",\n \"variant_option2_value\": \"Large\",\n \"variant_option3_name\": \"<string>\",\n \"variant_option3_value\": \"<string>\",\n \"variant_option4_name\": \"<string>\",\n \"variant_option4_value\": \"<string>\",\n \"variant_option5_name\": \"<string>\",\n \"variant_option5_value\": \"<string>\",\n \"sku\": \"<string>\",\n \"price\": 123,\n \"purchase_price\": 123,\n \"qty\": 123,\n \"qty_location\": \"<string>\",\n \"before_price\": 123,\n \"gtin\": \"<string>\",\n \"supplier_sku\": \"<string>\",\n \"weight\": 123,\n \"preorder\": 1,\n \"images\": [\n {}\n ]\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.quickbutik.com/v1/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"My white tee!\",\n \"sku\": \"T-SHIRT123\",\n \"is_giftcard\": true,\n \"description\": \"<p><strong>This is so so cool!</strong> Heee</p>\",\n \"price\": 299,\n \"before_price\": 399,\n \"purchase_price\": 69,\n \"tax_rate\": 123,\n \"weight\": 400,\n \"stock\": 1,\n \"disable_minusqty\": \"1\",\n \"gtin\": \"<string>\",\n \"headcategory_id\": 123,\n \"headcategory_name\": \"T-shirts\",\n \"visible\": 1,\n \"images\": {},\n \"metadata\": {},\n \"preorder\": 1,\n \"permanent_redirect_from_url\": \"<string>\",\n \"skipIfDuplicate\": true,\n \"variants\": {\n \"sync\": [\n {\n \"variant_option1_name\": \"Color\",\n \"variant_option1_value\": \"Red\",\n \"variant_option2_name\": \"Size\",\n \"variant_option2_value\": \"Large\",\n \"variant_option3_name\": \"<string>\",\n \"variant_option3_value\": \"<string>\",\n \"variant_option4_name\": \"<string>\",\n \"variant_option4_value\": \"<string>\",\n \"variant_option5_name\": \"<string>\",\n \"variant_option5_value\": \"<string>\",\n \"sku\": \"<string>\",\n \"price\": 123,\n \"purchase_price\": 123,\n \"qty\": 123,\n \"qty_location\": \"<string>\",\n \"before_price\": 123,\n \"gtin\": \"<string>\",\n \"supplier_sku\": \"<string>\",\n \"weight\": 123,\n \"images\": [\n {}\n ]\n }\n ],\n \"add\": [\n {\n \"variant_option1_name\": \"Color\",\n \"variant_option1_value\": \"Red\",\n \"variant_option2_name\": \"Size\",\n \"variant_option2_value\": \"Large\",\n \"variant_option3_name\": \"<string>\",\n \"variant_option3_value\": \"<string>\",\n \"variant_option4_name\": \"<string>\",\n \"variant_option4_value\": \"<string>\",\n \"variant_option5_name\": \"<string>\",\n \"variant_option5_value\": \"<string>\",\n \"sku\": \"<string>\",\n \"price\": 123,\n \"purchase_price\": 123,\n \"qty\": 123,\n \"qty_location\": \"<string>\",\n \"before_price\": 123,\n \"gtin\": \"<string>\",\n \"supplier_sku\": \"<string>\",\n \"weight\": 123,\n \"preorder\": 1,\n \"images\": [\n {}\n ]\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"success": 1,
"variants": [
{}
],
"notices": [
"<string>"
]
}{
"code": 404,
"error": "Resource not found"
}{
"code": 404,
"error": "Resource not found"
}{
"code": 404,
"error": "Resource not found"
}Create products
Create and add products to store
curl --request POST \
--url https://api.quickbutik.com/v1/products \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "My white tee!",
"sku": "T-SHIRT123",
"is_giftcard": true,
"description": "<p><strong>This is so so cool!</strong> Heee</p>",
"price": 299,
"before_price": 399,
"purchase_price": 69,
"tax_rate": 123,
"weight": 400,
"stock": 1,
"disable_minusqty": "1",
"gtin": "<string>",
"headcategory_id": 123,
"headcategory_name": "T-shirts",
"visible": 1,
"images": {},
"metadata": {},
"preorder": 1,
"permanent_redirect_from_url": "<string>",
"skipIfDuplicate": true,
"variants": {
"sync": [
{
"variant_option1_name": "Color",
"variant_option1_value": "Red",
"variant_option2_name": "Size",
"variant_option2_value": "Large",
"variant_option3_name": "<string>",
"variant_option3_value": "<string>",
"variant_option4_name": "<string>",
"variant_option4_value": "<string>",
"variant_option5_name": "<string>",
"variant_option5_value": "<string>",
"sku": "<string>",
"price": 123,
"purchase_price": 123,
"qty": 123,
"qty_location": "<string>",
"before_price": 123,
"gtin": "<string>",
"supplier_sku": "<string>",
"weight": 123,
"images": [
{}
]
}
],
"add": [
{
"variant_option1_name": "Color",
"variant_option1_value": "Red",
"variant_option2_name": "Size",
"variant_option2_value": "Large",
"variant_option3_name": "<string>",
"variant_option3_value": "<string>",
"variant_option4_name": "<string>",
"variant_option4_value": "<string>",
"variant_option5_name": "<string>",
"variant_option5_value": "<string>",
"sku": "<string>",
"price": 123,
"purchase_price": 123,
"qty": 123,
"qty_location": "<string>",
"before_price": 123,
"gtin": "<string>",
"supplier_sku": "<string>",
"weight": 123,
"preorder": 1,
"images": [
{}
]
}
]
}
}
'import requests
url = "https://api.quickbutik.com/v1/products"
payload = {
"title": "My white tee!",
"sku": "T-SHIRT123",
"is_giftcard": True,
"description": "<p><strong>This is so so cool!</strong> Heee</p>",
"price": 299,
"before_price": 399,
"purchase_price": 69,
"tax_rate": 123,
"weight": 400,
"stock": 1,
"disable_minusqty": "1",
"gtin": "<string>",
"headcategory_id": 123,
"headcategory_name": "T-shirts",
"visible": 1,
"images": {},
"metadata": {},
"preorder": 1,
"permanent_redirect_from_url": "<string>",
"skipIfDuplicate": True,
"variants": {
"sync": [
{
"variant_option1_name": "Color",
"variant_option1_value": "Red",
"variant_option2_name": "Size",
"variant_option2_value": "Large",
"variant_option3_name": "<string>",
"variant_option3_value": "<string>",
"variant_option4_name": "<string>",
"variant_option4_value": "<string>",
"variant_option5_name": "<string>",
"variant_option5_value": "<string>",
"sku": "<string>",
"price": 123,
"purchase_price": 123,
"qty": 123,
"qty_location": "<string>",
"before_price": 123,
"gtin": "<string>",
"supplier_sku": "<string>",
"weight": 123,
"images": [{}]
}
],
"add": [
{
"variant_option1_name": "Color",
"variant_option1_value": "Red",
"variant_option2_name": "Size",
"variant_option2_value": "Large",
"variant_option3_name": "<string>",
"variant_option3_value": "<string>",
"variant_option4_name": "<string>",
"variant_option4_value": "<string>",
"variant_option5_name": "<string>",
"variant_option5_value": "<string>",
"sku": "<string>",
"price": 123,
"purchase_price": 123,
"qty": 123,
"qty_location": "<string>",
"before_price": 123,
"gtin": "<string>",
"supplier_sku": "<string>",
"weight": 123,
"preorder": 1,
"images": [{}]
}
]
}
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'My white tee!',
sku: 'T-SHIRT123',
is_giftcard: true,
description: '<p><strong>This is so so cool!</strong> Heee</p>',
price: 299,
before_price: 399,
purchase_price: 69,
tax_rate: 123,
weight: 400,
stock: 1,
disable_minusqty: '1',
gtin: '<string>',
headcategory_id: 123,
headcategory_name: 'T-shirts',
visible: 1,
images: {},
metadata: {},
preorder: 1,
permanent_redirect_from_url: '<string>',
skipIfDuplicate: true,
variants: {
sync: [
{
variant_option1_name: 'Color',
variant_option1_value: 'Red',
variant_option2_name: 'Size',
variant_option2_value: 'Large',
variant_option3_name: '<string>',
variant_option3_value: '<string>',
variant_option4_name: '<string>',
variant_option4_value: '<string>',
variant_option5_name: '<string>',
variant_option5_value: '<string>',
sku: '<string>',
price: 123,
purchase_price: 123,
qty: 123,
qty_location: '<string>',
before_price: 123,
gtin: '<string>',
supplier_sku: '<string>',
weight: 123,
images: [{}]
}
],
add: [
{
variant_option1_name: 'Color',
variant_option1_value: 'Red',
variant_option2_name: 'Size',
variant_option2_value: 'Large',
variant_option3_name: '<string>',
variant_option3_value: '<string>',
variant_option4_name: '<string>',
variant_option4_value: '<string>',
variant_option5_name: '<string>',
variant_option5_value: '<string>',
sku: '<string>',
price: 123,
purchase_price: 123,
qty: 123,
qty_location: '<string>',
before_price: 123,
gtin: '<string>',
supplier_sku: '<string>',
weight: 123,
preorder: 1,
images: [{}]
}
]
}
})
};
fetch('https://api.quickbutik.com/v1/products', 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.quickbutik.com/v1/products",
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([
'title' => 'My white tee!',
'sku' => 'T-SHIRT123',
'is_giftcard' => true,
'description' => '<p><strong>This is so so cool!</strong> Heee</p>',
'price' => 299,
'before_price' => 399,
'purchase_price' => 69,
'tax_rate' => 123,
'weight' => 400,
'stock' => 1,
'disable_minusqty' => '1',
'gtin' => '<string>',
'headcategory_id' => 123,
'headcategory_name' => 'T-shirts',
'visible' => 1,
'images' => [
],
'metadata' => [
],
'preorder' => 1,
'permanent_redirect_from_url' => '<string>',
'skipIfDuplicate' => true,
'variants' => [
'sync' => [
[
'variant_option1_name' => 'Color',
'variant_option1_value' => 'Red',
'variant_option2_name' => 'Size',
'variant_option2_value' => 'Large',
'variant_option3_name' => '<string>',
'variant_option3_value' => '<string>',
'variant_option4_name' => '<string>',
'variant_option4_value' => '<string>',
'variant_option5_name' => '<string>',
'variant_option5_value' => '<string>',
'sku' => '<string>',
'price' => 123,
'purchase_price' => 123,
'qty' => 123,
'qty_location' => '<string>',
'before_price' => 123,
'gtin' => '<string>',
'supplier_sku' => '<string>',
'weight' => 123,
'images' => [
[
]
]
]
],
'add' => [
[
'variant_option1_name' => 'Color',
'variant_option1_value' => 'Red',
'variant_option2_name' => 'Size',
'variant_option2_value' => 'Large',
'variant_option3_name' => '<string>',
'variant_option3_value' => '<string>',
'variant_option4_name' => '<string>',
'variant_option4_value' => '<string>',
'variant_option5_name' => '<string>',
'variant_option5_value' => '<string>',
'sku' => '<string>',
'price' => 123,
'purchase_price' => 123,
'qty' => 123,
'qty_location' => '<string>',
'before_price' => 123,
'gtin' => '<string>',
'supplier_sku' => '<string>',
'weight' => 123,
'preorder' => 1,
'images' => [
[
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$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.quickbutik.com/v1/products"
payload := strings.NewReader("{\n \"title\": \"My white tee!\",\n \"sku\": \"T-SHIRT123\",\n \"is_giftcard\": true,\n \"description\": \"<p><strong>This is so so cool!</strong> Heee</p>\",\n \"price\": 299,\n \"before_price\": 399,\n \"purchase_price\": 69,\n \"tax_rate\": 123,\n \"weight\": 400,\n \"stock\": 1,\n \"disable_minusqty\": \"1\",\n \"gtin\": \"<string>\",\n \"headcategory_id\": 123,\n \"headcategory_name\": \"T-shirts\",\n \"visible\": 1,\n \"images\": {},\n \"metadata\": {},\n \"preorder\": 1,\n \"permanent_redirect_from_url\": \"<string>\",\n \"skipIfDuplicate\": true,\n \"variants\": {\n \"sync\": [\n {\n \"variant_option1_name\": \"Color\",\n \"variant_option1_value\": \"Red\",\n \"variant_option2_name\": \"Size\",\n \"variant_option2_value\": \"Large\",\n \"variant_option3_name\": \"<string>\",\n \"variant_option3_value\": \"<string>\",\n \"variant_option4_name\": \"<string>\",\n \"variant_option4_value\": \"<string>\",\n \"variant_option5_name\": \"<string>\",\n \"variant_option5_value\": \"<string>\",\n \"sku\": \"<string>\",\n \"price\": 123,\n \"purchase_price\": 123,\n \"qty\": 123,\n \"qty_location\": \"<string>\",\n \"before_price\": 123,\n \"gtin\": \"<string>\",\n \"supplier_sku\": \"<string>\",\n \"weight\": 123,\n \"images\": [\n {}\n ]\n }\n ],\n \"add\": [\n {\n \"variant_option1_name\": \"Color\",\n \"variant_option1_value\": \"Red\",\n \"variant_option2_name\": \"Size\",\n \"variant_option2_value\": \"Large\",\n \"variant_option3_name\": \"<string>\",\n \"variant_option3_value\": \"<string>\",\n \"variant_option4_name\": \"<string>\",\n \"variant_option4_value\": \"<string>\",\n \"variant_option5_name\": \"<string>\",\n \"variant_option5_value\": \"<string>\",\n \"sku\": \"<string>\",\n \"price\": 123,\n \"purchase_price\": 123,\n \"qty\": 123,\n \"qty_location\": \"<string>\",\n \"before_price\": 123,\n \"gtin\": \"<string>\",\n \"supplier_sku\": \"<string>\",\n \"weight\": 123,\n \"preorder\": 1,\n \"images\": [\n {}\n ]\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.quickbutik.com/v1/products")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"My white tee!\",\n \"sku\": \"T-SHIRT123\",\n \"is_giftcard\": true,\n \"description\": \"<p><strong>This is so so cool!</strong> Heee</p>\",\n \"price\": 299,\n \"before_price\": 399,\n \"purchase_price\": 69,\n \"tax_rate\": 123,\n \"weight\": 400,\n \"stock\": 1,\n \"disable_minusqty\": \"1\",\n \"gtin\": \"<string>\",\n \"headcategory_id\": 123,\n \"headcategory_name\": \"T-shirts\",\n \"visible\": 1,\n \"images\": {},\n \"metadata\": {},\n \"preorder\": 1,\n \"permanent_redirect_from_url\": \"<string>\",\n \"skipIfDuplicate\": true,\n \"variants\": {\n \"sync\": [\n {\n \"variant_option1_name\": \"Color\",\n \"variant_option1_value\": \"Red\",\n \"variant_option2_name\": \"Size\",\n \"variant_option2_value\": \"Large\",\n \"variant_option3_name\": \"<string>\",\n \"variant_option3_value\": \"<string>\",\n \"variant_option4_name\": \"<string>\",\n \"variant_option4_value\": \"<string>\",\n \"variant_option5_name\": \"<string>\",\n \"variant_option5_value\": \"<string>\",\n \"sku\": \"<string>\",\n \"price\": 123,\n \"purchase_price\": 123,\n \"qty\": 123,\n \"qty_location\": \"<string>\",\n \"before_price\": 123,\n \"gtin\": \"<string>\",\n \"supplier_sku\": \"<string>\",\n \"weight\": 123,\n \"images\": [\n {}\n ]\n }\n ],\n \"add\": [\n {\n \"variant_option1_name\": \"Color\",\n \"variant_option1_value\": \"Red\",\n \"variant_option2_name\": \"Size\",\n \"variant_option2_value\": \"Large\",\n \"variant_option3_name\": \"<string>\",\n \"variant_option3_value\": \"<string>\",\n \"variant_option4_name\": \"<string>\",\n \"variant_option4_value\": \"<string>\",\n \"variant_option5_name\": \"<string>\",\n \"variant_option5_value\": \"<string>\",\n \"sku\": \"<string>\",\n \"price\": 123,\n \"purchase_price\": 123,\n \"qty\": 123,\n \"qty_location\": \"<string>\",\n \"before_price\": 123,\n \"gtin\": \"<string>\",\n \"supplier_sku\": \"<string>\",\n \"weight\": 123,\n \"preorder\": 1,\n \"images\": [\n {}\n ]\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.quickbutik.com/v1/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"My white tee!\",\n \"sku\": \"T-SHIRT123\",\n \"is_giftcard\": true,\n \"description\": \"<p><strong>This is so so cool!</strong> Heee</p>\",\n \"price\": 299,\n \"before_price\": 399,\n \"purchase_price\": 69,\n \"tax_rate\": 123,\n \"weight\": 400,\n \"stock\": 1,\n \"disable_minusqty\": \"1\",\n \"gtin\": \"<string>\",\n \"headcategory_id\": 123,\n \"headcategory_name\": \"T-shirts\",\n \"visible\": 1,\n \"images\": {},\n \"metadata\": {},\n \"preorder\": 1,\n \"permanent_redirect_from_url\": \"<string>\",\n \"skipIfDuplicate\": true,\n \"variants\": {\n \"sync\": [\n {\n \"variant_option1_name\": \"Color\",\n \"variant_option1_value\": \"Red\",\n \"variant_option2_name\": \"Size\",\n \"variant_option2_value\": \"Large\",\n \"variant_option3_name\": \"<string>\",\n \"variant_option3_value\": \"<string>\",\n \"variant_option4_name\": \"<string>\",\n \"variant_option4_value\": \"<string>\",\n \"variant_option5_name\": \"<string>\",\n \"variant_option5_value\": \"<string>\",\n \"sku\": \"<string>\",\n \"price\": 123,\n \"purchase_price\": 123,\n \"qty\": 123,\n \"qty_location\": \"<string>\",\n \"before_price\": 123,\n \"gtin\": \"<string>\",\n \"supplier_sku\": \"<string>\",\n \"weight\": 123,\n \"images\": [\n {}\n ]\n }\n ],\n \"add\": [\n {\n \"variant_option1_name\": \"Color\",\n \"variant_option1_value\": \"Red\",\n \"variant_option2_name\": \"Size\",\n \"variant_option2_value\": \"Large\",\n \"variant_option3_name\": \"<string>\",\n \"variant_option3_value\": \"<string>\",\n \"variant_option4_name\": \"<string>\",\n \"variant_option4_value\": \"<string>\",\n \"variant_option5_name\": \"<string>\",\n \"variant_option5_value\": \"<string>\",\n \"sku\": \"<string>\",\n \"price\": 123,\n \"purchase_price\": 123,\n \"qty\": 123,\n \"qty_location\": \"<string>\",\n \"before_price\": 123,\n \"gtin\": \"<string>\",\n \"supplier_sku\": \"<string>\",\n \"weight\": 123,\n \"preorder\": 1,\n \"images\": [\n {}\n ]\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"success": 1,
"variants": [
{}
],
"notices": [
"<string>"
]
}{
"code": 404,
"error": "Resource not found"
}{
"code": 404,
"error": "Resource not found"
}{
"code": 404,
"error": "Resource not found"
}Authorizations
Basic Authentication with API Keys
The Quickbutik API uses Basic Authentication where you use your API key as both the username and password.
How it works:
- Format your credentials as
api_key:api_key(using the SAME API key for both username and password) - Base64 encode the formatted string
- Include in the Authorization header as:
Authorization: Basic ENCODED_STRING
Example:
- API Key:
sk_live_abc123 - Formatted:
sk_live_abc123:sk_live_abc123 - Base64 Encoded:
c2tfbGl2ZV9hYmMxMjM6c2tfbGl2ZV9hYmMxMjM= - Header:
Authorization: Basic c2tfbGl2ZV9hYmMxMjM6c2tfbGl2ZV9hYmMxMjM=
cURL Example:
curl https://api.quickbutik.com/v1/orders -u your_api_key:your_api_key
All API requests must be made over HTTPS. Requests made over HTTP will be rejected.
API keys can be generated in the Quickbutik Control Panel under Settings → API.
Body
Product title
"My white tee!"
Article Number (SKU)
"T-SHIRT123"
Mark this product as a gift card. Requires the gift card app to be active for the shop.
true
Product description. Accepts HTML
"<p><strong>This is so so cool!</strong> Heee</p>"
Price
299
Compare price
399
Purchase price (excl. vat)
69
VAT percent (%)
Weight (in grams)
400
Stock quantity
1
Stock: Disable minus quantity?
"1"
EAN-number / GTN (Global Trade Item Number)
Optional: Category id if a product should be placed into a specific category
Optional: Category name if product should be placed into a new category
"T-shirts"
Visibility in store
1
Object with numeric string keys containing image objects. Each key represents an image position/index.
Show child attributes
Show child attributes
Custom metadata for the product
Show child attributes
Show child attributes
Assign a preorder option to this product by its ID. Set to null or 0 to leave it as a regular product.
Use GET /v1/settings/preorders to retrieve the list of valid preorder option IDs for your store.
1
URL to create a permanent redirect from (for SEO purposes)
Skip creation if product with same SKU already exists
Product variants configuration
Show child attributes
Show child attributes