İstek nasıl doğrulanır?
- Adres: https://magaza-adi.myshopify.com/admin/api/2026-10/KAYNAK.json (REST) ya da /admin/api/2026-10/graphql.json (GraphQL)
- Başlık: X-Shopify-Access-Token: SAHTE_ANAHTAR
- Başlık: Content-Type: application/json
Shopify isteği üç adımda değerlendirir: anahtar geçerli mi, alanın istediği kapsam anahtarda var mı ve gerekiyorsa korumalı müşteri verisine erişim izni var mı. Anahtar geçersizse 401, kapsam eksikse çoğunlukla 403 döner.
Kimlik doğrulamayı özel alan adınız üzerinden değil, magaza-adi.myshopify.com adresi üzerinden yapın. API adresi her zaman myshopify.com alt alan adını kullanır.
Anahtar türleri ve ömürleri
| Anahtar | Önek | Ömrü | Tipik kullanım |
|---|---|---|---|
| Süresiz çevrimdışı | shpat_ | Uygulama kaldırılana ya da sır iptal edilene kadar | Arka plan işleri, webhook’lar |
| Süreli çevrimdışı | shpat_ | 1 saat; yenileme anahtarı 90 gün | Herkese açık uygulamalar |
| Çevrimiçi | shpat_ | 24 saat ya da kullanıcı çıkış yapana kadar | Personelin oturumundaki işlemler |
| İstemci kimlik bilgileri | - | 24 saat | Kendi organizasyonunuzdaki mağazalar |
| Temsilci (delegate) | shppa_ | Ana anahtarın kalan ömrü ya da daha kısası | Alt sistemlere sınırlı erişim |
Belge, ömrü koda sabit yazmak yerine yanıttaki expires_in değerini okumanızı önerir. Yönetici panelinde açılmış eski özel uygulamalarda anahtar bir yetkilendirme akışıyla değil, yükleme sırasında Shopify tarafından üretilir.
Yenileme, döndürme ve iptal
| İşlem | Ne olur |
|---|---|
| Anahtar yenileme | Süreli çevrimdışı anahtar refresh_token ile kullanıcı olmadan yenilenir |
| Anahtar emekliliği | Yeni süreli anahtar alındığında eskisi emekliye ayrılır; süresi bitene kadar çalışır |
| Sır döndürme | Client secret değişince eski sırra bağlı anahtarlar geçersiz olur |
| Kapsam iadesi | İsteğe bağlı kapsamlar geri verilebilir; erişim daralır ama bitmez |
| Anahtar iptali | Uygulama kaldırılınca ya da sır iptal edilince istekler 401 döner |
Çevrimiçi anahtarla çalışan uygulamada, anahtar geçerli olsa bile kullanıcının yetkisi yoksa GraphQL yanıtında ACCESS_DENIED kodu döner. Süre bitince istek 401 alır.
Güvenlik önerileri
- Anahtarı tarayıcıda çalışan koda ya da mobil uygulamaya koymayın; yalnız sunucuda tutun.
- Bir uygulamanın anahtarını başka araçlarda kullanmayın. Belgeye göre kullanımdan kalkmış çağrılar anahtarın ait olduğu uygulamaya yazılır; destek ekibinin test aracındaki çağrılar bile uygulamanız için uyarı üretir.
- Yalnız gereken kapsamları isteyin; bir kaynağa yazma kapsamı okuma iznini de içerir.
- Anahtar sızdıysa uygulamayı kaldırıp yeniden yükleyin ya da sırrı döndürün ve bağlı yazılımları güncelleyin.
Sık hatalar
| Belirti | Olası neden | Çözüm |
|---|---|---|
| 401 ve “Invalid API key or access token” | Anahtar yanlış, eksik kopyalanmış ya da iptal edilmiş | Anahtarı yeniden alın, başta ve sonda boşluk bırakmayın |
| Dün çalışıyordu, bugün 401 | 24 saatlik ya da 1 saatlik anahtarın süresi doldu | Anahtarı süresi dolmadan yenileyin |
| 403 | Gerekli kapsam verilmemiş | Kapsamı ekleyip uygulamayı güncelleyin |
| 402 Payment Required | Mağaza dondurulmuş, ödenmemiş bakiye var | Mağaza sahibi bakiyeyi ödemeli |
Sık sorulanlar
Shopify Admin API’de anahtar hangi başlıkta gönderilir?
X-Shopify-Access-Token başlığında. REST ve GraphQL Admin API için aynıdır.
shpat_ ile başlayan anahtarın süresi dolar mı?
Önek yalnız türü değil, çevrimdışı ya da çevrimiçi anahtar olduğunu gösterir. Süresiz çevrimdışı anahtarlar dolmaz; süreli çevrimdışı anahtar 1 saat, çevrimiçi anahtar en fazla 24 saat yaşar.
Uygulamayı kaldırırsam ne olur?
Anahtarın erişimi biter ve istekler 401 döner. Yeniden yüklemede yeni anahtar üretilir.
Özel alan adımla API çağrısı yapabilir miyim?
Belgelerdeki tüm örnekler magaza-adi.myshopify.com adresini kullanır. Admin API için myshopify.com alt alan adınızı kullanın.
Kaynaklar
İlgili Shopify API konuları
Son güncelleme: 27.10.2026 · Shopify API rehberinin tamamı


