API referansı · Ürünler
Ürün görsellerini güncelle (ürün kodu ile)
Ürünün görsel listesini (en fazla 12) ve isteğe bağlı olarak varyant görsellerini tamamen değiştirir; UpdateProductImages ile aynı şekilde çalışır.
https://out.stockmount.com/api/Product/UpdateProductImagesByCode
Ürün ProductId ile; ProductId 1'den küçükse Code + ProductSourceId ile bulunur. UpdateProductImages ve UpdateProductImagesByCode aynı kodu çalıştırır ve aynı alanları kabul eder; aralarında davranış farkı yoktur.
Her çağrı tek bir ürünü günceller; birden fazla ürünü aynı çağrıda gönderemezsiniz.
Görsel listesi tamamen değiştirilir: istekte olmayan mevcut görseller silinir, yeni görseller eklenir ve ürünün 1–12 numaralı görsel alanları istekteki sıraya göre yeniden yazılır. Kullanılmayan alanlar boşaltılır.
İlk öğeden sonraki bir öğede ne Url ne Base64 varsa çağrı 99999 ile başarısız olur.
Base64 görseller StockMount görsel sunucusuna yüklenir ve kayıtlı adres http:// ile başlar. Yükleme başarısız olursa görsel boş adresle kaydedilir ve hata dönmez.
Bu çağrı görsel biçimini veya protokolü kontrol etmez. Bazı pazaryerleri ilan gönderiminde http(s) dışındaki adresleri veya .webp görselleri reddeder (70016, 70015); bu hatalar bu çağrıda değil, pazaryeri gönderiminde görünür.
Varyant görsellerinin kaydedilip kaydedilmediği yanıta yansımaz: varyant görseli kaydedilemese de Result: true dönebilir.
Bu çağrı pazaryeri güncellemesi kuyruğa almaz. Görseller "elle düzenlendi" olarak işaretlenir; böylece ürün kaynağından (XML/feed) yapılan sonraki aktarımlar bu görselleri ezmez.
Uygulama bu uç nokta için ayrıca bir istek boyutu sınırı uygulamaz. Base64 görseller isteği büyütür; mümkünse Url kullanın.
Aktif Ürün Paketi olmayan hesaplar 70018 hatası alır; paket bilgisi doğrulanamazsa 99999 döner.
İstek alanları
| Alan | Tip | Açıklama |
|---|---|---|
ApiCode
zorunlu
|
string |
User/DoLogin ile aldığınız API anahtarı.
|
ProductId
|
integer |
StockMount ürün kimliği. 1'den küçükse ürün Code + ProductSourceId ile bulunur.
|
Code
|
string |
Ürün kodu. ProductId gönderilmediğinde zorunludur.
|
ProductSourceId
|
integer |
Ürün kaynağının kimliği (GetProductSources). Code ile arama yapıldığında zorunludur.
|
Images
zorunlu
|
object[] |
Ürünün yeni görsel listesi. En az bir öğe gerekir ve ilk öğede Url veya Base64 dolu olmalıdır. En fazla 12 görsel kullanılır; fazlası yok sayılır. Sıra, dizideki sıradır; ilk görsel ana görseldir. Öğelerdeki Order alanı okunmaz.
|
Images[].
Url
|
string |
Görselin adresi, en fazla 512 karakter. // ile başlıyorsa başına http: eklenir. Biçim ve protokol bu çağrıda kontrol edilmez.
|
Images[].
Base64
|
string |
Url yoksa kullanılır. data: öneki olmadan, ham Base64 görsel verisi. PNG ve JPEG tanınır; diğerleri .png uzantısıyla kaydedilir.
|
Variants
|
object[] | İsteğe bağlı varyant görselleri. Listede olup görseli boş olan varyantın görseli silinir. Listede olmayan varyantlara dokunulmaz. |
Variants[].
ProductVariantId
|
integer |
Varyant kimliği. Gönderilmezse veya 0 ise varyant Code ile bulunur.
|
Variants[].
Code
|
string |
Varyant kodu. ProductVariantId yoksa eşleştirme için kullanılır.
|
Variants[].
ImageUrl
|
string |
Varyantın görsel adresi, en fazla 512 karakter. & veya < gibi XML'e özel karakterler içeriyorsa varyant görseli kaydedilmez ve hata dönmez.
|
Variants[].
ImageBase64
|
string |
ImageUrl yoksa kullanılır. data: öneki olmadan, ham Base64 görsel verisi.
|
Yanıt alanları (Response)
| Alan | Tip | Açıklama |
|---|---|---|
Response
|
integer |
Response doğrudan güncellenen ürünün kimliğidir (sayı).
|
Bu servisin hata kodları
| Kod | Ne zaman |
|---|---|
00003 |
ProductId 1'den küçük ve Code boş (ProductId is missing), Code var ama ProductSourceId 1'den küçük (ProductSourceId is missing) veya Images boş ya da ilk öğesi boş (Images is missing). |
70005 |
Code + ProductSourceId ile ürün bulunamadı. Açıklama ErrorMessage yerine Message alanındadır (Product could not be found). |
70018 |
Hesabınızda aktif Ürün Paketi yok. |
99999 |
Görseller kaydedilemedi (Operation failed!), ilk öğeden sonraki bir öğe boş, Base64 geçersiz veya beklenmeyen bir sunucu hatası oluştu. |
Oturum hataları (00001, 00006) ve tüm kodlar için hata kodları.
İlgili servisler
Örnek istek
{
"ApiCode": "API_CODE",
"Code": "TSHIRT-RED",
"ProductSourceId": 3051,
"Images": [
{
"Url": "https://cdn.example.com/p/184522-1.jpg"
},
{
"Base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"Variants": [
{
"ProductVariantId": 9120344,
"ImageUrl": "https://cdn.example.com/p/184522-red-m.jpg"
}
]
}
curl -X POST 'https://out.stockmount.com/api/Product/UpdateProductImagesByCode' \
-H 'Content-Type: application/json' \
-d '{
"ApiCode": "API_CODE",
"Code": "TSHIRT-RED",
"ProductSourceId": 3051,
"Images": [
{
"Url": "https://cdn.example.com/p/184522-1.jpg"
},
{
"Base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"Variants": [
{
"ProductVariantId": 9120344,
"ImageUrl": "https://cdn.example.com/p/184522-red-m.jpg"
}
]
}'
using System.Net.Http;
using System.Text;
using var http = new HttpClient();
var json = """
{
"ApiCode": "API_CODE",
"Code": "TSHIRT-RED",
"ProductSourceId": 3051,
"Images": [
{
"Url": "https://cdn.example.com/p/184522-1.jpg"
},
{
"Base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"Variants": [
{
"ProductVariantId": 9120344,
"ImageUrl": "https://cdn.example.com/p/184522-red-m.jpg"
}
]
}
""";
var response = await http.PostAsync(
"https://out.stockmount.com/api/Product/UpdateProductImagesByCode",
new StringContent(json, Encoding.UTF8, "application/json"));
var result = await response.Content.ReadAsStringAsync();
// Result == false ise ErrorCode ve ErrorMessage alanlarına bakın.
Console.WriteLine(result);
<?php
$body = <<<'JSON'
{
"ApiCode": "API_CODE",
"Code": "TSHIRT-RED",
"ProductSourceId": 3051,
"Images": [
{
"Url": "https://cdn.example.com/p/184522-1.jpg"
},
{
"Base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"Variants": [
{
"ProductVariantId": 9120344,
"ImageUrl": "https://cdn.example.com/p/184522-red-m.jpg"
}
]
}
JSON;
$ch = curl_init('https://out.stockmount.com/api/Product/UpdateProductImagesByCode');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => $body,
CURLOPT_RETURNTRANSFER => true,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (!$result['Result']) {
echo $result['ErrorCode'] . ' ' . $result['ErrorMessage'];
}
import requests
payload = {
"ApiCode": "API_CODE",
"Code": "TSHIRT-RED",
"ProductSourceId": 3051,
"Images": [
{
"Url": "https://cdn.example.com/p/184522-1.jpg"
},
{
"Base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"Variants": [
{
"ProductVariantId": 9120344,
"ImageUrl": "https://cdn.example.com/p/184522-red-m.jpg"
}
]
}
response = requests.post("https://out.stockmount.com/api/Product/UpdateProductImagesByCode", json=payload, timeout=60)
result = response.json()
if not result["Result"]:
print(result["ErrorCode"], result["ErrorMessage"])
const payload = {
"ApiCode": "API_CODE",
"Code": "TSHIRT-RED",
"ProductSourceId": 3051,
"Images": [
{
"Url": "https://cdn.example.com/p/184522-1.jpg"
},
{
"Base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"Variants": [
{
"ProductVariantId": 9120344,
"ImageUrl": "https://cdn.example.com/p/184522-red-m.jpg"
}
]
};
const response = await fetch("https://out.stockmount.com/api/Product/UpdateProductImagesByCode", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
const result = await response.json();
if (!result.Result) {
console.error(result.ErrorCode, result.ErrorMessage);
}
Örnek yanıt
{
"Result": true,
"Response": 184522
}
Deneyin
İstek tarayıcınızdan doğrudan out.stockmount.com adresine gider. ApiCode bu sitede saklanmaz; yalnızca bu sekme açıkken tutulur.
İstek göndermek için önce ApiCode alın.
Bu servis hesabınızdaki gerçek verileri değiştirir.
Son istekler
Bu sekmeden gönderdiğiniz son istekler; birine tıklayınca gövdesi yeniden yüklenir.