İstek alanları
| Alan | Değer |
|---|---|
| grant_type | client_credentials |
| client_id | Özel uygulamanın client_id değeri (ör. CLIENT_ID) |
| client_secret | Özel uygulamanın client_secret değeri (ör. CLIENT_SECRET) |
İstek application/x-www-form-urlencoded içerik türüyle gönderilir. ikas'a göre token adresi ile GraphQL adresi farklıdır; token'ı GraphQL adresinden istemeye çalışmayın (ikas: Authentication).
Yanıt ve kullanım
| Yanıt alanı | Anlamı |
|---|---|
| access_token | İsteklerde kullanılacak token |
| token_type | Bearer |
| expires_in | Geçerlilik süresi, saniye; ikas örneğinde 14400 |
Token'ı aldıktan sonra her istek https://api.myikas.com/api/v2/admin/graphql adresine POST ile, Content-Type: application/json ve Authorization: Bearer ACCESS_TOKEN başlıklarıyla gider. Eski entegrasyonlar aynı token'ı v1 adresinde kullanır. İlk deneme için ikas'ın önerdiği küçük sorgu: me { id }.
Token'ı ve token yanıtını kayıt dosyalarına yazmayın. Bearer token'ı ele geçiren biri, süre bitene kadar uygulamanın izinleriyle mağazanızda işlem yapabilir.
Yenileme
Özel uygulamada ayrı bir yenileme token'ı yoktur. Süre dolduğunda aynı client_credentials isteğini tekrar atarsınız. Pratik bir düzen şöyledir:
- Token'ı ve bitiş zamanını bellekte tutun; her istekte yeni token almayın.
- Süre dolmadan birkaç dakika önce yenileyin; uzun toplu işler yarıda kalmaz.
- Bir istek 401 dönerse token'ı bir kez yenileyip isteği tekrarlayın.
- expires_in değerini sabit varsaymayın; her yanıttan okuyun.
- Aynı mağaza için birden fazla sunucu çalışıyorsa token'ı ortak bir önbellekte tutun; her sunucunun ayrı token istemesi gereksiz istek üretir.
ikas App Store'daki admin uygulamaları ise OAuth2 Authorization Code akışını kullanır ve süresi dolan token'ı grant_type=refresh_token, refresh_token, client_id ve client_secret alanlarıyla yeniler.
Sık hatalar
| Belirti | Olası neden | Çözüm |
|---|---|---|
| Token isteği 400 ya da 401 | client_id, secret ya da grant_type hatalı | Üç alanı ve içerik türünü kontrol edin |
| GraphQL isteği 401 | Token süresi doldu ya da Bearer öneki eksik | Yeni token alın, başlığı Bearer ile yazın |
| Token alındı, sorgu yetki hatası veriyor | Uygulamada gereken izin yok | İzni panelde ekleyin |
| Çok sayıda token isteği sonrası 429 | Her istekte yeniden token alınıyor | Token'ı süresi boyunca saklayın |
Sık sorulanlar
ikas access token ne kadar geçerli?
ikas'ın örnek yanıtında expires_in 14400 saniyedir, yani 4 saat. Süreyi her token yanıtındaki expires_in alanından okuyun.
ikas token adresi nedir?
Belgelerde https://api.myikas.com/api/admin/oauth/token olarak geçer. GraphQL istekleri ise ayrı adrese, api/v2/admin/graphql yoluna gider.
Özel uygulamada refresh token var mı?
Hayır. Özel uygulama süre dolunca client_credentials isteğini tekrarlar. Refresh token, OAuth2 kullanan admin uygulamalarına özgüdür.
Token'ı her istekte yeniden almalı mıyım?
Hayır. Token süresi boyunca geçerlidir. Her istekte token almak gereksiz istek üretir ve hız sınırına yaklaştırır.
Kaynaklar
İlgili ikas API konuları
Son güncelleme: 27.10.2026 · ikas API rehberinin tamamı


