Storefront API
Storefront API, mağazanızın web ve mobil arayüzlerine ürün, kategori, sipariş gibi verileri sağlayan bir HTTP API'sidir. İstekler ve yanıtlar JSON'dur. İki katmandan oluşur:
- Public katalog (
storefront:read) — ürün, kategori, marka, sayfa, şube gibi herkese açık verilere token'sız da erişilebilir. Önbelleklenebilir, düşük yetkili yüzey. - Hesap katmanı (
storefront:account) — kimliği doğrulanmış müşterinin siparişleri, adresleri, favorileri, kuponları, destek talepleri. Müşteri token'ı gerektirir.
Ödeme, tümüyle web checkout'a devredilir: uygulama kendi ödeme ekranını çizmez, müşteriyi giriş yapmış hâlde web ödeme sayfasına taşır — bkz. Ödeme Devri. Yetki modeli için: Kimlik Doğrulama.
v1.9.0·API sürümü 2026-01·Son güncelleme: 18 Eylül 2026—değişiklikler için değişiklik günlüğüBase URL
https://<domain>/api/v3/storefront/2026-01
Sürüm path içindedir (2026-01 gibi tarihli). Yeni bir sürüm çıktığında eski sürüm bir süre paralel yayınlanır; breaking değişiklikler Sürümler sayfasında duyurulur.
Zorunlu başlıklar
Accept: application/vnd.api+json
Authorization: Bearer <access_token>
Accept başlığı bu tam değeriyle gönderilmelidir; başka bir değer 406 ile reddedilir. Token alma akışı için: Kimlik Doğrulama.
Yanıt yapısı
Her yanıtın kökünde bir data alanı bulunur; tekil kaynak isteğinde obje, liste isteğinde dizi olarak döner. Kaynağın kendi alanları attributes altındadır. ?include= parametresiyle ilişkili kayıtlar istendiğinde ayrı bir included[] dizisi de yanıtla birlikte gelir:
{
"data": [
{ "type": "products", "id": "42", "attributes": { "name": "..." } }
],
"included": [
{ "type": "product-comments", "id": "7", "attributes": { "...": "..." } }
]
}
id alanı her zaman string olarak döner — sayısal görünse bile ("42"). İstemcide sayı olarak parse etme; string olarak taşı, karşılaştırırken yine string'e çevir.Hata modeli
Hatalar errors[] dizisinde döner. En sık karşılaşılanlar:
| Durum | Anlamı |
|---|---|
400 | Geçersiz filtre / sort parametresi |
401 | Token eksik veya geçersiz |
403 | Token geçerli ama istenen scope yok |
404 | Kaynak yok veya gizli (görünürlük kapalı) |
406 | Accept başlığı application/vnd.api+json değil |
{
"errors": [
{ "status": "404", "title": "Resource not found" }
]
}