Uygulama Promote
Ne İşe Yarar?
- Uygulamaların önce Test’te doğrulanıp sonra Prod’a geçmesini zorunlu bir akışa bağlar
- TEST ve PROD credential’larını ayırarak üretim anahtarlarının erken üretilmesini engeller
- Promote isteğinde teknik iletişim, beklenen trafik, egress IP ve istenen belgelerle onay için bağlam sağlar
- Askıya alma ve silme talebiyle promote edilmiş uygulamaların yaşam döngüsünü güvenli yönetir
- Abonelik ekleme sihirbazı ve plan onayı ile ürün erişimini uygulama üzerinden yönetir
Kimler Kullanır?
- Geliştiriciler (Owner/Developer): Uygulama oluşturmak, abone olmak ve Prod’a promote istemek için
- Portal / Platform Yöneticileri: Prod Promotion ayarlarını, belge şablonlarını ve onay sürecini yönetmek için
- Güvenlik / Operasyon: Prod erişiminden önce belge ve ağ gereksinimlerini doğrulamak için
Ekrana Erişim
- Developer Portal: My Apps → uygulama detayı (Overview, API Clients, Subscriptions, Traffic & Usage)
- Manager ayarı: Portal → Settings → Portal → Prod Promotion
- İlgili ortam URL’leri: Features / API Environments altında Production API base URL ve Sandbox API base URL (tüketiciye gösterilen adres; gateway routing’i değiştirmez)
Neden Promote Var?
Portalda oluşturulan uygulamalar varsayılan olarak Test only durumundadır ve TEST credential ile çalışır. Production anahtarları, onaylı promote sonrasında ayrı prod management bağlantısından okunur; böylece test anahtarları üretim trafiğinde kullanılmaz.
Uygulama promote durumu
| Durum | Anlamı |
|---|---|
| Test only | Yalnız test; PROD credential üretilmemiştir |
| Awaiting prod approval | Promote isteği gönderilmiş, onay bekleniyor |
| Prod active | Onaylanmış; PROD credential’lar kullanılabilir |
Manager — Prod Promotion Yapılandırması
| Alan | Ne işe yarar? |
|---|---|
Enable Prod Promotion (enablePromotion) | Manager’da Prod Promotion yapılandırma alanlarını (bağlantı, belgeler) açar/kapatır |
| Production instance connection | Ayrı Apinizer üretim instance’ı |
| Prod management API URL | Onaylı app/credential’ların okunduğu adres |
| Prod management API key | Şifreli saklanır; kayıttan sonra bir daha gösterilmez (boş bırakmak = değiştirme) |
| Requested documents | Ad, hint, allowed types, Required/Optional belge listesi |
Belge tanımlanmamışsa bilgi notu ile yalnızca onay yeterli olabilir. PROD credential’ların okunması için prod management URL + key bağlantısı gerekir.
enablePromotion portal ayarlarına promotionEnabled olarak iletilir. Mevcut Developer Portal UI, Promote butonunu bu bayrağa göre gizlemez; promote isteği (submitPromote) backend’de de bu bayrağı kontrol etmez. Akış uygulama promote durumuna (Test only → Awaiting prod approval → Prod active) göre yürür. Toggle kapalıyken Manager’da bağlantı/belge form alanları gizlenir.
My Apps — Uygulama Detayı
Uygulama detayı dört sekmeden oluşur: Overview · API Clients · Subscriptions · Traffic & Usage.
Var olan kurulumlarda bu geçiş (backfill + secret taşıma) Manager'ın bu sürümdeki ilk açılışında otomatik olarak çalışır; sonradan taşınabilir hale gelen bir kayıt kaydedildiğinde de aynı adımlardan yeniden geçer — bunun için bir ekran ya da düğme yoktur, bkz. Eski Kayıtlar: Otomatik Taşıma. Bu geçiş henüz uygulanmamış uygulamalarda API Clients sekmesi boş görünür; kimlik bilgileri o ana kadar yalnızca Legacy API Keys bloğunda listelenmeye devam eder.
Overview
Uygulama adı, App Id (Reference Id), açıklama, durum rozeti, metadata (secret değerler maskeli).
API Clients
İstemci kimlik doğrulama materyali bu sekmede tek bir listede toplanır.
- Create ile bir istemci adı girilir; oluşturulan client_id + secret yalnızca o an düz metin olarak gösterilir (kopyalama düğmesiyle). Ekrandan ayrıldıktan sonra secret bir daha gösterilmez.
- Secret kaybedilirse tek çözüm Rotate'tir: yeni secret yine yalnızca o an görünür; eski secret, çalışan entegrasyonlar kesintiye uğramasın diye kısa bir geçiş (grace) süresi boyunca kabul edilmeye devam eder.
- Her istemci ayrı ayrı Suspend / Resume edilebilir.
- İstemcinin erişebildiği API'ler: burada oluşturulan istemci uygulamasının erişimini miras alır — uygulamanın Onaylı (Approved) aboneliklerinin (bkz. Subscriptions) verdiği proxy ve API Proxy grupları, fazlası değil. Bunun için ayrıca bir ayar yapılmaz: portal istemciyi oluşturulduğu anda Sahip varsayılanı (Owner default) yetkilendirme moduyla kaydeder; uygulamanın o API için onaylı bir aboneliği olduğu anda istemciyle imzalanan çağrı geçer. Manager operatörü tek bir istemciyi sonradan Identity → API Clients → istemci detayı → Authorization ekranından daraltabilir (uygulamanın API'lerinin bir alt kümesine ya da tümden reddetmeye). Manager'da elle oluşturulan bir istemci ise operatör erişimine karar verene kadar Tümünü reddet (Deny all) ile başlar.
- Eski bir kimlik bilgisinden dönüştürülmüş istemcide Legacy'den taşındı rozeti görünür.
- Test konsolunda kullanım: API ürünü sayfasındaki API Spesifikasyonu → Yetkilendir adımı, uygulamanın API Client'larını da Kimlik Bilgisi listesinde gösterir (etiket: API Client (Client ID / Secret)). Portal secret'ı saklamadığı için seçilen istemcinin secret'ı o an girilir — oluşturulurken kopyalanan değer yapıştırılır ya da Yeni secret üret ile döndürülüp otomatik doldurulur. Girilen secret yalnızca o test oturumunda bellekte tutulur; "Bu uygulamayı hatırla" seçeneği API Client için secret'ı hatırlamaz. Seçilen uygulamanın ne eski tip anahtarı ne de API Client'ı varsa (uygulama oluşturulduktan hemen sonra ilk istemci üretilememişse) Kimlik Bilgisi adımı boş liste yerine API Client oluştur düğmesini gösterir: istemci, uygulama detayındaki Yeni API Client ile aynı biçimde oluşturulur, seçilir ve tek seferlik secret'ı kutuya dolar; konsol o an yetkilendirilebilir. Viewer rolü bu düğmeyi görmez.
Uygulamanın API istemcilerini listelemek için organizasyon üyeliği yeterlidir. Oluşturma, Rotate, Suspend ve Resume işlemleri ayrıca organizasyonda yazma rolü ister — salt okuyucu (Viewer) bir üye secret üretemez ve döndüremez. Oluşturma ve döndürme yanıtları önbelleğe alınmaz (Cache-Control: no-store); secret değeri tarayıcı/proxy önbelleğinde kalmaz.
Bir istemcinin aynı anda en fazla 5 geçerli secret sürümü olabilir. Rotate her seferinde yeni bir sürüm oluşturur ve yerini aldığı sürüm için 24 saatlik bir geçiş (grace) süresi başlatır; saatlik bir bakım işi, grace süresi dolan sürümleri geri çeker. Zaten 5 geçerli sürümünüz varsa yeni bir Rotate isteği (satır içinde çevrilmiş bir mesajla) reddedilir — en eski sürümün süresinin dolmasını bekleyip yeniden deneyin. Siz döndürürken istemci başka bir yerden değiştirilmişse istek bir çakışma olarak reddedilir ve sayfayı yenilemenizi ister.
Legacy API Keys
Bu blok yalnızca henüz bir API Client'a dönüştürülmemiş eski kayıtlar için görünür — yeni oluşturulan bir uygulamada bu blok hiç görünmez, çünkü artık her uygulamanın ilk istemcisi baştan bir API Client'tır. Blokta gösterilen alanlar: API Key / API Secret (maskeli + göster/gizle + copy), Status, Created, Revoke, Generate.
Bir kayıt taşındıktan sonra parolası portalda artık hiçbir yerde gösterilmez — bu blokta görünmez, yukarıdaki API Clients listesinde yalnızca Legacy'den taşındı rozetiyle işaretlenir. Kimlik doğrulama, mevcut anahtar/parola değişmeden aynen çalışmaya devam eder.
Credential metadata (Legacy satır altı, salt okunur): Key, Value (secret sürekli maskeli), Secret flag, Include in JWT, Include in Token Response, JWT Claim Name.
Secret görünürlüğü
| Veri | Owner / Developer | Viewer |
|---|---|---|
| API Client secret (typed) | Yalnız oluşturma / Rotate anında bir kez düz metin + copy; sonrasında bir daha gösterilmez | Secret erişimi yok |
| Legacy API Key / Secret (taşınmamış) | Maskeli + eye + copy | Görmemelidir |
| Legacy API Key / Secret (taşınmış) | Portalda hiç gösterilmez, yalnızca rozetle işaretlenir | — |
| App / credential metadata secret | Maskeli | — |
| Prod management API key (Manager) | Kaydedilir; bir daha gösterilmez | — |
Subscriptions
Her ürün aboneliği satırında plan adı, abonelik durumu, etkin limit profili ve kullanım (tüketilen / limit) salt okunur gösterilir. Limit bu ekrandan değiştirilemez: Subscription Plan'ın varsayılan profili ya da API Manager tarafında tanımlanmış uygulama-özel bir override kullanılır — portal yalnızca sonucu gösterir. Abonelik ekleme, plan değiştirme ve aboneliği sonlandırma aksiyonları için bkz. Create Application ve Abonelik aşağıda.
Platform geneli kota/limit yönetimi Manager tarafında yapılır; bu sekme yalnızca uygulamanın görebildiği sonucu yansıtır.
Bu sürümden itibaren uygulamanın o an Onaylı (Approved) abonelikleri erişimi doğrudan da verir: her onaylı aboneliğin ürününe ait proxy ve API Proxy grup'larının birleşimi, uygulamanın kendi erişimi olarak — halihazırda bir legacy kimlik bilgisi varsa onun erişim listesinin sağladığı erişimin yanında — tutulur. Bu, uygulamanın typed bir API Client'ı olup olmadığından bağımsızdır; plan onayı, plan değiştirme, iptal ve uygulama silme aynı senkronizasyonu her durumda çalıştırır. Aboneliği iptal etmek, isteği reddetmek ya da uygulamayı silmek bu birleşimi daraltır — bir hedefe erişim, onu kapsayan başka hiçbir onaylı abonelik kalmadığı anda sonlanır. Yalnızca bu mekanizmanın kendi yazdığı erişim hakları bu şekilde güncellenir; Manager'da elle tanımlanmış ya da göç etmiş bir kimlik bilgisinden taşınmış erişime dokunulmaz. Bunun sonucu olarak, kendi legacy kimlik bilgisi olmayan bir uygulamaya artık ilk abone olduğunda otomatik olarak bir tane verilmez — typed API Client'ı ve bu erişim hakkı, aboneliğin anlamını zaten karşılar.
Create Application ve Abonelik
New application limiti Portal Settings maxAppCount ile sınırlıdır (varsayılan 3).
Name*, description, OAuth2 Redirect URI (https://; client-credentials için boş bırakılabilir)
Bir veya birden fazla ürün + plan seçimi
Özet; onaylandığında uygulamanın ilk API Client'ı uygulamayla aynı istekte, sunucu tarafında otomatik olarak oluşturulur (istemci üretilemezse uygulama da kaydedilmez, hata gösterilir: "Uygulama oluşturulamadı: ilk API Client üretilemedi") ve client secret'ı yalnızca o an düz metin olarak gösterilir (kopyalama düğmesiyle) — ekrandan ayrıldıktan sonra bir daha gösterilmez, yalnızca Rotate ile yenilenebilir. Prod için detayda Promote to Prod kullanılır.
Bu sihirbaz da, uygulama listesindeki hızlı Yeni Uygulama diyaloğu da artık UUID'li bir legacy API Key (username/password) üretmez; uygulama her iki yoldan da baştan typed bir API Client ile oluşur. Legacy API Keys bloğu bu nedenle yeni uygulamalarda hiç görünmez — yalnızca daha önce eski yöntemle oluşturulmuş, henüz göç etmemiş uygulamalarda görünmeye devam eder.
Add subscription: Product & Plan → Confirm → Subscribe. Manuel onaylı planlarda abonelik admin onayından sonra aktif olur (Onay İstekleri). Kart aksiyonları: Change plan, Unregister.
Abonelik durumları (kart): Active (APPROVED) · Waiting for approval · Rejected · Disabled · Unsubscribed.
Promote to Prod Wizard
Aşamalar: Test → Info & Documents → Approval → Prod active
Zorunlu bağlam alanları:
- Prod technical contact (email)*
- Expected traffic* (
< 1,000/1,000–10,000/> 10,000req/day) - Static egress IPs*
- Documents (Manager’da required/optional tanımlı liste)
Review: test doğrulandı + terms & rate limits kabul → Send for approval → Awaiting prod approval → onay sonrası Prod active → credential’lar API Clients sekmesinde.
Uygulama Yaşam Döngüsü
| Status | Anlamı |
|---|---|
| ACTIVE | Normal kullanım |
| SUSPENDED | Credential’lar disabled; abonelik/analytics korunur → Resume |
| PENDING_DELETION | Silme onayı bekliyor; key’ler revoke edilir, trafik durur |
| ARCHIVED | Arşiv |
Promote edilmiş (PENDING / PROD) uygulamada hard-delete yok → Suspend veya Request deletion. Yalnız Test only uygulamalarda hard-delete mantığı uygulanır.
Traffic & Usage (uygulama)
Uygulama detayındaki Traffic & Usage sekmesi KPI, kota, grafikler ve API Traffic’i uygulama kapsamında gösterir. Platform geneli için Trafik ve Kullanım.
Kullanım Senaryoları
- Partner entegrasyonu önce Test’te tamamlanır; belge paketiyle Prod onayı istenir
- Prod’a geçmiş uygulamada güvenlik olayı sonrası Suspend uygulanır
- Kota gerektiren Prod planına geçmeden önce Expected traffic bilgisi onay ekibine bağlam sağlar
- Viewer üyeler uygulamayı izler ama client secret görmez