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 trafiğini uygulamanın kendi typed API Client'ı ile doğrular — bu istemci uygulamayla birlikte otomatik oluşturulur, bkz. aşağıda API Clients. 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 bilgisi bu süre boyunca portalın hiçbir ekranında listelenmez. Kimlik doğrulama için olduğu gibi kullanılmaya devam eder, yalnızca görüntülenemez.
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.
API Clients sekmesi, uygulamanın taşınma durumu ne olursa olsun, artık ayrı bir Legacy API Keys bloğu göstermez. Henüz taşınmamış bir anahtarın burada satırı yoktur; Developer Portal bu sayfada legacy API Key / API Secret çiftini hiç göstermez, buradan üretme ya da iptal etme imkânı da vermez. Anahtarın kendisi silinmez, onu kullanan trafiği doğrulamaya devam eder — kaldırılan yalnızca bu ekrandan yönetilebilir olmasıdır. Taşıma zamanlaması için yukarıdaki Yükseltme notu'na bakın; bir uygulama için taşıma tamamlandığında istemci, diğer her API Client gibi yukarıda Legacy'den taşındı rozetiyle görünür.
Blok kaldırılınca her legacy anahtar satırının altında görünen, salt okunur anahtar/değer ek bilgi (metadata) alt tablosu da (anahtar, değer, secret bayrağı, JWT dahil etme) kalktı. Bu bilgi artık Portalın hiçbir yerinde gösterilmiyor — değerler silinmedi, olduğu gibi okunabilir durumda, ama yalnızca API Manager'dan, tüketicinin kendi Metadata sekmesinden (bkz. Metadata).
Bu sürümden itibaren oluşturulan bir uygulamanın zaten legacy kimlik bilgisi yoktur: ilk typed istemcisi uygulamanın kendisiyle birlikte var olur (bkz. aşağıdaki Create Application ve Abonelik).
Secret görünürlüğü
PROD Credentials için geçerlidir; legacy API Key/Secret çifti artık Portalda hiç gösterilmiyor — yukarıdaki nota bakın. API Client secret görünürlüğü yukarıda, API Clients altında anlatılmıştır.
| 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 |
| App 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. Ne typed ne legacy — hiçbir kimlik bilgisi taşımayan nadir bir uygulamada, ilk aboneliği onaylandığında onay artık otomatik olarak typed bir API Client verir; bkz. Onay İstekleri API Ürün Uygulama Kaydı.
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.
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. Onay sırasında prod ortamında uygulama için bir API İstemcisi açılır; sırrı onay sonucunda gösterilmez, sonuç mesajı sırrın Rotate ile alınması gerektiğini hatırlatır.
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.