Kimlik Doğrulama
Storefront API üç farklı token türü kullanır. Hangi uç noktaya erişeceğinize göre uygun token'ı alırsınız. Token uç noktaları versiyonsuz path altındadır (sürüm klasöründen bağımsız).
ürünler, kategoriler vb.) token'sız da erişilebilir — herkese açıktır. Token yalnızca müşteri hesabı, indirimli fiyat veya sepet işlemleri için gerekir.Scope'lar
Scope'lar (yetkiler) token'a mint edilirken sunucu tarafında belirlenir; istekte scope talep edilmez. Dört yetki vardır:
| Scope | Etkisi | Hangi token |
|---|---|---|
storefront:read | Katalog okuma (ürün, kategori, marka, sayfa…) | client + müşteri |
storefront:pricing | Yanıtta discountPrice alanının görünmesini sağlar | yalnızca müşteri |
storefront:account | Hesap katmanı (sipariş, adres, favori, destek…) | yalnızca müşteri |
storefront:cart | Misafir sepet / misafir checkout | yalnızca misafir |
Client token'ı (katalog)
Anonim uygulama token'ı. Yalnızca storefront:read taşır; indirimli fiyat göremez.
curl -s -X POST 'https://<domain>/api/v3/storefront/token' \
-H 'Content-Type: application/json' \
-d '{"client_id": "<CLIENT_UUID>"}'
{
"access_token": "1|abc...",
"token_type": "Bearer",
"expires_at": "2026-07-03T12:00:00+03:00",
"scope": "storefront:read"
}
Alınan token'ı isteklerde Authorization: Bearer <access_token> başlığıyla gönder. client_id bir gizli anahtar (secret) değildir; AuthClient UUID'sidir.
client_id için aktif bir token varken uç noktayı tekrar çağırmak aynı token'ı döndürür — yeni üretilmez. "Her açılışta token al" güvenli bir varsayılandır.Müşteri token'ı (hesap + fiyat)
Giriş yapmış müşteri token'ı. storefront:read, storefront:account ve storefront:pricing yetkilerini birlikte taşır — yani hem hesap uçlarına erişir hem de indirimli fiyat görür.
curl -s -X POST 'https://<domain>/api/v3/storefront/customer/token' \
-H 'Content-Type: application/json' \
-d '{
"identifier": "musteri@example.com",
"password": "<PAROLA>",
"device_name": "web"
}'
{
"access_token": "2|def...",
"expires_at": "2026-08-02T12:00:00+03:00",
"scope": "storefront:read storefront:account storefront:pricing",
"customer": { "…": "…" }
}
identifier: e-posta veya telefon numarası.device_name: her cihaz için ayrı token; aynı cihaz adına yeni token alındığında eskisi geçersiz kılınır.- Token süresi 30 gündür. Yenileme için
POST /api/v3/storefront/customer/token/refresh(müşteri token'ı ile).
Sosyal giriş
Google, Apple veya Facebook hesabıyla giriş. Sağlayıcıdan alınan kimlik token'ı sunucuya gönderilir; sunucu token'ı sağlayıcıya karşı doğrular ve karşılığında normal bir müşteri token'ı üretir. Yanıt, parolayla girişle birebir aynı şekildedir.
curl -s -X POST 'https://<domain>/api/v3/storefront/customer/token/social' \
-H 'Content-Type: application/json' \
-d '{
"SocialPlatform": "google",
"SocialToken": "<SAĞLAYICIDAN_ALINAN_TOKEN>",
"device_name": "iphone-15"
}'
| Alan | Tip | Kural |
|---|---|---|
SocialPlatform | string | Zorunlu. google, apple veya facebook |
SocialToken | string | Zorunlu. Sağlayıcının döndürdüğü kimlik token'ı |
device_name | string | Zorunlu. Parolayla girişteki ile aynı anlamda; en fazla 100 karakter |
Platform | string | İsteğe bağlı. İstemcinin çalıştığı platform; Apple girişinde hangi istemci kimliğine karşı doğrulanacağını belirler |
guestCartToken | string | İsteğe bağlı. Verilirse misafir sepeti üye sepetine taşınır — bkz. Misafir Sepeti |
Sağlayıcı doğrulaması başarısız olursa (süresi dolmuş, sahte veya başka bir uygulamaya ait token) istek reddedilir; sunucu bu durumda müşteri kaydı oluşturmaz.
Her sağlayıcı mağaza panelinde ayrıca yapılandırılmalıdır (istemci kimliği ve gizli anahtarı). Yapılandırılmamış bir sağlayıcıya istek atıldığında giriş tamamlanmaz.
Oturum kapatma
Müşteri token'ını iptal eder.
curl -s -X DELETE 'https://<domain>/api/v3/storefront/customer/token' \
-H 'Authorization: Bearer <CUSTOMER_TOKEN>'
Yanıt 204 No Content — gövde dönmez. Varsayılan davranış yalnızca isteği yapan token'ı iptal eder; diğer cihazlardaki oturumlar açık kalır.
Tüm cihazlardan çıkmak için all parametresini gönder:
curl -s -X DELETE 'https://<domain>/api/v3/storefront/customer/token?all=1' \
-H 'Authorization: Bearer <CUSTOMER_TOKEN>'
Bu çağrı müşterinin bütün müşteri token'larını siler; parola değişikliği veya "diğer oturumları kapat" akışında kullanılır. İptal edilen token'la yapılan sonraki istekler 401 döner.
Misafir token'ı (sepet)
Giriş yapmadan sepet/checkout için. storefront:cart taşır. Almak için geçerli bir client token'ı gerekir.
curl -s -X POST 'https://<domain>/api/v3/storefront/2026-01/guest-token' \
-H 'Authorization: Bearer <CLIENT_TOKEN>'
{
"access_token": "3|ghi...",
"token_type": "Bearer",
"expires_at": "2026-08-02T12:00:00+03:00",
"scope": "storefront:cart"
}
Hatalar
| Kod | Sebep |
|---|---|
401 | Token yok, süresi dolmuş veya iptal (hesap/sepet uçlarında token zorunludur) |
403 | Token geçerli ama istenen scope yok |
401 invalid_client | Client token isteğinde bilinmeyen veya pasif client_id |