Limitler
Milagron API'nin uyguladığı alan, boyut ve istek limitleri. Limit aşımında istek 422 ValidationError ile reddedilir; gönderilen hiçbir değer sessizce kısaltılmaz.
Ürün Alanları
| Alan | Milagron limiti | Teknik tavan | Aşıldığında |
|---|---|---|---|
title |
3–255 karakter | 255 | 422 ValidationError |
description |
≤ 65.535 karakter | ≈ 65.535 | 422 |
images |
1–50 adet | 250 medya | 422 |
images[].url |
≤ 2.048 karakter | Yok | 422 |
variants |
≤ 100 adet | 2.048 | 422 |
| Özellik sayısı (varyant seçeneği) | ≤ 3 | 3 | 422 |
taxRate |
0–100 | Yok | 422 |
deliveryOptions.*DeliveryDays |
0–365 gün | Yok | 422 |
sizeChart (JSON) |
≤ 65.535 bayt | Yok | 422 |
Varyant Alanları
| Alan | Milagron limiti | Not |
|---|---|---|
barcode | 1–100 karakter | İstek içinde ve mağaza genelinde benzersiz olmalı. Çakışmada 409 döner |
stockCode (SKU) | 1–100 karakter | Aynı benzersizlik kuralı geçerli |
stock | 0–20.000 | Stok güncelleme ucuyla aynı limit |
price.salePrice | 0.01–10.000.000 | Sıfır veya negatif olamaz |
price.listPrice | 0–10.000.000 | Piyasa satış fiyatı. 0 değilse salePrice değerinden küçük olamaz. İndirim yoksa 0 gönderin |
| Tüm varyantların toplam stoğu | ≤ 50.000 | Tek istekte işlenebilecek envanter sınırı. Aşarsanız ürünü düşük stokla oluşturup stoğu stok-fiyat ucundan yükseltin |
Görsel Dosya Kuralları
Görseller URL olarak gönderilir; dosya verdiğiniz adresten sunucularımıza indirilir. Adresin herkese açık ve doğrudan görsele işaret ediyor olması gerekir (yönlendirme sayfası, HTML sayfası veya oturum gerektiren bir bağlantı çalışmaz).
| Kural | Değer |
|---|---|
| Dosya boyutu | ≤ 20 MB |
| Çözünürlük | ≤ 20 megapiksel |
| Kenar uzunluğu | ≤ 4.472 × 4.472 piksel |
| En-boy oranı | 1:100 ile 100:1 arası |
| Formatlar | PNG, JPEG, GIF, WEBP, HEIC |
| Önerilen | 2048 × 2048 piksel, kare |
502 UpstreamError ile dönmesine yol açar
ve ürün tamamen geri alınır (yarım ürün kalmaz).
Stok ve Fiyat Toplu İşlemi
| Alan | Limit |
|---|---|
items (tek istekte) | 1–1.000 kalem |
barcodes (stok sorgulama) | 1–1.000 barkod |
barcode | 1–100 karakter |
quantity | 0–20.000 (tam sayı olmalı, "5" veya 5.0 kabul edilmez) |
salePrice / listPrice | 0–10.000.000 |
Kargo
| Alan | Limit |
|---|---|
items | 1–250 kalem |
orderNumber | ≤ 32 karakter |
cargoCompanyCode | ≤ 32 karakter |
trackingNumber | ≤ 64 karakter |
items[].quantity | 1–10.000 |
Sayfalama ve Tarih Aralığı
size ve page parametreleri tavana kırpılır ve istek başarıyla döner.
Kaç kayıt geldiğini yanıttaki size alanından doğrulayın.
| Uç | Parametre | Varsayılan | Tavan |
|---|---|---|---|
| Ürün listesi | size | 50 | 1.000 |
| Sipariş listesi | size | 200 | 200 |
| Her ikisi | page | 0 | 5.000 |
| Sipariş listesi | Tarih aralığı | 30 gün | 90 gün |
page tavanı aşıldığında istek 400 BadRequest, sipariş tarih aralığı aşıldığında 400 BadRequest döner.
Teknik Tavanlar
Aşağıdaki değerler altyapı kaynaklıdır ve talep üzerine değiştirilemez. Milagron limitleri her zaman bu tavanların altında kalacak şekilde seçilmiştir.
| Kısıt | Değer |
|---|---|
| Ürün başına varyant | 2.048 |
| Ürün başına seçenek | 3 |
| Seçenek adı / değeri uzunluğu | 255 karakter |
| Ürün başına etiket | 250 adet, her biri ≤ 255 karakter |
| Ürün başına medya (görsel + video + 3D) | 250 |
| Tek istekte envanter adedi | 50.000 |
Günlük Varyant Kotası
Altyapımızda günde en fazla 1.000 yeni varyant oluşturulabilir. Bu kota dolduğunda ürün oluşturma isteği 429 TooManyRequests ile döner.
Limit Aşımı Yanıtı
Limit aşan bir alan gönderildiğinde, hata mesajı hangi alanın hangi limiti aştığını ve gönderdiğiniz değeri içerir:
HTTP/1.1 422 Unprocessable Entity
{
"errors": [
{
"code": "ValidationError",
"message": "title exceeds the maximum length (max 255 chars, got 312)"
}
]
}
Varyant içindeki alanlarda hangi varyantın hatalı olduğu sıra numarasıyla belirtilir:
{
"errors": [
{
"code": "ValidationError",
"message": "variants[3].barcode is too long (max 100 chars)"
}
]
}