İçeriğe geç

İstekler ve sayfalama

https://{store primary domain}{path}
Authorization: Bearer ciqra_at_…
Content-Type: application/json (on requests with a body)

Path’lerde sürüm öneki ve mağaza id’si yoktur. Mağaza, alan adının kendisidir.

  • Özellik adları camelCase’dirproductVariantId, updatedAt.
  • Enum’lar string’dir"status": "Active", asla bir sayı değil. Her enum’un izin verilen değerleri referanstaki şemada listelenir.
  • Id’ler UUID’dir; zaman damgaları offset içeren ISO 8601 biçimindedir (2026-09-22T10:15:00+00:00).
  • İstek gövdenizdeki bilinmeyen özellikler yok sayılır — hata üretmezler; yani bir yazım hatası sessizce hiçbir şey yapmaz. Şemayı kontrol edin.

Liste route’ları skip ve take ile offset tabanlı sayfalama kullanır:

GET /apps/catalog/products?skip=100&take=100
→ { "total": 1284, "skip": 100, "take": 100, "items": [ … ] }
Route Varsayılan take En fazla take
GET /apps/catalog/products 50 100
GET /apps/catalog/collections/{id}/products 50 250
GET /apps/inventory/levels 50 250
GET /apps/catalog/collections sayfalanmaz

Aralık dışındaki değerler reddedilmez, sınıra çekilir: take=1000 100 satır döndürür ve "take": 100 bildirir. Kendi değerinizin kullanıldığını varsaymak yerine take değerini yanıttan okuyun. skip + take >= total olduğunda durun.

Offset sayfalama bir anlık görüntü (snapshot) değildir: siz sayfalarken eklenen veya silinen satırlar kayabilir. Tam bir senkronizasyon için route’un belgelediği kararlı sıraya göre sayfalayın ve kayıtları id üzerinden uzlaştırın.

Yazma route’ları isteğe bağlı bir alan için üç durumu birbirinden ayırır:

Gönderdiğiniz Anlamı
alan yok değiştirmeden bırak
"field": null temizle (temizlemeye izin verilen yerlerde)
"field": value değeri ata

Bu, kısmi güncellemelerde önemlidir: dokunmak istemediğiniz alanlar için null içeren tam bir nesne göndermek onları temizler. Yalnızca değiştirdiğiniz alanları gönderin. Her alanın kesin davranışı ilgili route’un sayfasındadır — örneğin toplu ürün güncellemeleri.