Ürün Ekle
Yeni bir ürün oluşturur. Zorunlu alanlar: ürün adı, kategori, marka ve fiyat. Kategori/marka ID veya ad olarak gönderilebilir (eksik adlar otomatik oluşturulur).
İstek Gövdesi Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name | string | Evet* | Ürün adı (veya translations kullanın) |
category / category_id | string / int | Evet | Kategori adı veya ID |
brand / brand_id | string / int | Evet | Marka adı veya ID |
price | float | Evet* | Satış fiyatı (veya doviz_price) |
cost | float | Hayır | Maliyet fiyatı |
old_price | float | Hayır | Liste / üzeri çizili fiyat |
stock | integer | Hayır | Stok miktarı |
active | integer | Hayır | 1 veya 0 |
barcode | string | Hayır | Barkod |
stock_code | string | Hayır | SKU / stok kodu |
description_html | string | Hayır | HTML açıklama |
short_description | string | Hayır | Kısa metin |
vat | float | Hayır | KDV oranı |
doviz | string | Hayır | try, usd, eur, xau |
doviz_price | float | Hayır | Döviz cinsinden fiyat |
cargo_day | integer | Hayır | Kargo günü |
label | string | Hayır | Ürün etiketi |
desi | float | Hayır | Desi / hacimsel ağırlık |
translations | object | Hayır | Dil koduna göre çok dilli alanlar |
variations | array | Hayır | Varyant satırları (sku, options, price, stock) |
Not: Oluşturma sonrası görselleri
POST /products/{id}/image ile yükleyin. Başarı durumunda HTTP durumu 201'dir.
PHP
<?php
$baseUrl = 'https://example.com/api/v1';
$apiKey = 'YOUR_API_KEY';
function apiRequest(string $method, string $url, string $apiKey, ?array $data = null): array
{
$ch = curl_init();
$headers = [
'X-API-Key: ' . trim($apiKey),
'Accept: application/json',
];
if ($data !== null) {
$headers[] = 'Content-Type: application/json';
}
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => $method,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_SSL_VERIFYPEER => true,
]);
if ($data !== null) {
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data, JSON_UNESCAPED_UNICODE));
}
$response = curl_exec($ch);
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
$decoded = json_decode((string) $response, true);
return [
'http_code' => $httpCode,
'curl_error' => $error,
'response' => is_array($decoded) ? $decoded : $response,
];
}
// Multi-language product with variations
$payload = [
'translations' => [
'tr' => [
'name' => 'Pamuklu Tişört',
'slug' => 'pamuklu-tisort',
'description_html' => '<p>Yumuşak kumaş</p>',
],
'en' => [
'name' => 'Cotton T-Shirt',
'slug' => 'cotton-t-shirt',
'description_html' => '<p>Soft fabric</p>',
],
],
'category' => 'Test Category',
'brand' => 'Test Brand',
'cost' => 50,
'price' => 199.99,
'stock' => 15,
'active' => 1,
'barcode' => '86991233322',
'stock_code' => 'fs123',
'variations' => [
[
'sku' => 'TSH-RED-M',
'barcode' => '8690000001001',
'options' => [
'Color' => 'Red',
'Size' => 'M',
],
'price' => 249.90,
'stock' => 12,
'active' => true,
],
],
];
$result = apiRequest('POST', $baseUrl . '/products', $apiKey, $payload);
$productId = (int) ($result['response']['data']['id'] ?? 0);
print_r($result);
cURL
# Simple create (category / brand by name)
curl -s -X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "Omega 3 Balık Yağı 90 Kapsül",
"category": "Vitamin & Takviye",
"brand": "Nutrof",
"price": 249.90,
"old_price": 299.90,
"stock": 50,
"active": 1,
"barcode": "8690000000888",
"stock_code": "OMEGA3-90",
"description_html": "<p>90 kapsül, soğuk sıkım.</p>"
}' \
"https://example.com/api/v1/products"
# Multi-language + variations
curl -s -X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"translations": {
"tr": { "name": "Pamuklu Tişört", "slug": "pamuklu-tisort", "description_html": "<p>Yumuşak kumaş</p>" },
"en": { "name": "Cotton T-Shirt", "slug": "cotton-t-shirt", "description_html": "<p>Soft fabric</p>" }
},
"category": "Test Category",
"brand": "Test Brand",
"cost": 50,
"price": 199.99,
"stock": 15,
"active": 1,
"barcode": "86991233322",
"stock_code": "fs123",
"variations": [
{
"sku": "TSH-RED-M",
"barcode": "8690000001001",
"options": { "Color": "Red", "Size": "M" },
"price": 249.90,
"stock": 12,
"active": true
}
]
}' \
"https://example.com/api/v1/products"
Örnek Yanıt (JSON)
{
"success": true,
"message": "Ürün eklendi",
"lang": "tr",
"data": {
"id": 6,
"name": "Pamuklu Tişört",
"slug": "pamuklu-tisort",
"price": 199.99,
"stock": 15,
"active": 1,
"barcode": "86991233322",
"stock_code": "fs123",
"category_name": "Test Category",
"brand_name": "Test Brand",
"has_variations": true
}
}