İçeriğe geç

Kimlik bilgileri ve token'lar

POST https://{store domain}/apps/token — OAuth 2.0 client credentials grant’i. Uygulamaların kullandığı tek grant budur: bir uygulama tek bir mağazaya kuruludur ve kendi kimlik bilgilerini sunar; dolayısıyla yönlendirilecek bir kullanıcı ve authorization-code akışı yoktur.

Form alanı Değer
grant_type tam olarak client_credentials
client_id ciqra_ci_… id’niz
client_secret ciqra_cs_… secret’ınız

Gövde application/x-www-form-urlencoded olmalıdır. Bir Authorization: Basic header’ındaki kimlik bilgileri okunmaz.

{
"accessToken": "ciqra_at_…",
"tokenType": "Bearer",
"expiresIn": 3600,
"scope": "read_products write_products",
"scopeNotYetEnforced": ""
}
Alan Anlamı
accessToken Authorization: Bearer <accessToken> olarak gönderin.
expiresIn Süresinin dolmasına kalan saniye — varsayılan olarak bir saat.
scope Boşlukla ayrılmış etkin scope’lar (yetkiler): verilenler, artı her write_ scope’unun ima ettiği read_ scope’u. Sıra önemli değildir.
scopeNotYetEnforced scope içinden henüz hiçbir endpoint’in dikkate almadığı alt küme (yoksa boş string). Bkz. scope’lar.

Refresh token yoktur. expiresIn dolmadan kısa bir süre önce yeni bir token isteyin — referans uygulama bunu bir dakika erken yapar.

Durum Gövde Neden
400 {"error":"invalid_request","errorDescription":"…"} Gövde form-encoded değil.
400 {"error":"unsupported_grant_type","errorDescription":"…"} grant_type, client_credentials dışında bir değer.
401 (boş) Bilinmeyen client id, yanlış secret, uygulama aktif değil ya da bu alan adının mağazasında aktif bir kurulum yok. Bu durumlar bilerek birbirinden ayırt edilemez.
429 (boş) IP adresinizden dakikada 20’den fazla token isteği.

Kurulum, isteğin alan adının çözüldüğü mağaza olarak aranır. Aynı kimlik bilgileri başka bir mağazanın alan adında kullanıldığında, uygulama oraya da kurulu olsa bile 401 alır — her mağazanın kurulumuna o mağazanın alan adı üzerinden erişilmelidir.

Tüccar, yönetim panelinden (Ayarlar → Uygulamalar → uygulama → Token’lar) bir kurulum için uzun ömürlü bir token verebilir: bir etiket ve 30, 90, 180 ya da 365 günlük bir ömür. Token bir kez gösterilir, kurulumun mevcut scope’larını taşır ve tek tek iptal edilebilir. Yönetim paneli her token’ın en son ne zaman kullanıldığını gösterir (en fazla beş dakikada bir güncellenir).

Bunu yalnızca token değişimi yapamayan bir araç için kullanın. Sızan bir kalıcı token aylarca geçerlidir; sızan bir değişim token’ı ise bir saatten az.

  • Client secret. İstek üzerine CIQRA tarafından döndürülür. Önceki secret bir örtüşme penceresi boyunca (varsayılan olarak 24 saat) çalışmaya devam eder; böylece yenisini kesinti olmadan dağıtabilirsiniz.
  • İptal anında gerçekleşir. Token’lar her istekte kuruluma ve uygulamaya karşı kontrol edilir; hiçbir şey önbelleğe alınmaz. Uygulamayı kaldırmak, bir kalıcı token’ı iptal etmek veya uygulamayı askıya almak bir sonraki çağrıda etkili olur.
  • Signing secret. Kurulumda bir kez verilir. Şu anda onu döndürmek için bir route yok — bkz. kısıtlamalar.