Katalog
Organizasyonlar
Organizasyon Listeleme Ekranı
API kullanıcılarını gruplandırmak için kullanılan organizasyonların listelendiği ekrana menüden ”Organizasyonlar” kısmından ulaşılabilir. Arama kriterlerine göre istenilen değer girildiğinde aşağıdaki organizasyon listesi listelenir. Kullanıcı, ”Temizle” butonuna tıklayarak arama kriterlerini temizleyebilir. “Kapat” butonuna tıklayarak kullanıcı Ana Menüye dönüş yapabilir. Her organizasyonun solunda bulunan "Güncelle" butonuna tıklayarak da mevcut organizasyon üzerinde değişiklikler yapılabilir.
Organizasyon Oluşturma Ekranı
Kullanıcı, Organizasyon Listeleme ekranında yer alan “Organizasyon Oluştur” butonuna tıklayarak aşağıdaki ekran alıntısında görüldüğü gibi yeni organizasyon oluşturabilir. Ad, alanı zorunludur. Sistem genelinde eşsiz değere sahiptir. Anahtar, organizasyonun eşsiz değeridir. Ad alanından otomatik türemektedir. Domain, organizasyon API lerinin internet adresidir. Domain, tanımı eşsizdir. Bir organizasyon için birden fazla tanım yapılabilir. Durum, organizasyonun durumunu temsil eder.
“İptal” butonuna tıklayarak kullanıcı Organizasyon Listeleme ekranına dönüş yapabilir.
Çoklu Ortam Senkronizasyonu
Yeni bir Organizasyon oluşturulduğunda veya var olan bir Organizasyon güncellendiğinde, uygulama birden fazla site da çalışıyorsa, açılan popup içinde her site için ayrı bir buton ile senkronizasyon işlemi yapılabilir. Kullanıcı organizasyon senkronize etmek zorunda değildir. Kapat tuşuna basarak diğer site(larda) manuel oluşturmayı tercih edebilir.
API
API Listeleme Ekranı
Menüden API’leri görüntülemek için "API" alanına tıklayarak ulaşılabilir. Arama kriterleri seçilerek filtreleme, listeleme işlemleri yapılabilir. ”Temizle” butonuna tıklayarak arama kriterleri temizlenir. “Kapat” butonuna tıklayarak kullanıcı Ana Menüye dönüş yapabilir. Her apinin solunda bulunan "Güncelle" butonuna tıklayarak mevcut API için düzenleme sayfasına geçiş yapılır. Düzenleme sayfasında değişiklikler yapılabilir. Her apinin solunda bulunan "Görüntüle" butonuna tıklayarak da mevcut API 'nin özet temel bilgileri görüntülenir. Her apinin solunda bulunan "İndir" butonuna tıklayarak da mevcut API bson formatında indirilebilir. Yeni Api Yükle butonu ile daha önce indirilmiş bir api import edilebilir. Eğer Yeni API yüklenirken mevcut ile aynı API var ise "Bu kayıt zaten mevcut. İlgili kaydı güncellemeyi onaylıyor musunuz?" uyarsı gösterilip onay istenir. Ayrıca yine her apinin solunda bulunan "Kopyala" butonuna tıklayarak da mevcut API 'nin değerleri kopyalanarak yeni bir API oluşturulabilir. API oluşturmak için önerilen yöntemdir.
API İndir
API listesinden istenen herhangi bir API, indirme butonuna tıklayarak indirilebilir. Bu verilerin şifrelenmiş halde indirilmesi istenirse uygulama ayarları üzerinden bu ayar aktifleştirilebilir.
API Yükle
Eğer elinizde Mirket ürününde üretilmiş bir API’nin dışa aktarılmış bson formatında dosyası mevcut ise API Yükle butonuna tıklayarak bu API’yi içe aktarabilirsiniz.
Önemli Bilgi: Eğer API dışa aktarılırken şifreleme ayarı açıksa, içe aktarırken de bu ayar açık olmalıdır. Aksi takdirde hatalı yükleme oluşabilir.
API Oluşturma Ekranı
Kullanıcı API Listeleme ekranında yer alan “Yeni API Oluştur” butonuna tıklayarak aşağıda görünen "Tanım" sekmesi ile ekran üzerinden yeni api oluşturabilir.
Tanım
-
Ad: API’nin adı girilir.
-
Açıklama: API ilgili bir açıklama girilir.
-
Durum: API’nin durum bilgisi girilir.
-
Tip: API’nin tipi seçilir. REST veya SOAP seçeneklerinden birisi seçilir.
-
Domain: Domain adresi.
-
Endpoint: Gateway modülünde bu API için açılacak olan URL yazılır. Örneğin: "/ws/rest/v10/subscription/list" Gateway modülünde buraya girilen URL üzerinden gelen istekleri bu API ile ilişkilendirir. Bu bilgiler API endpointlerine bakılarak girilmelidir.
-
Metod: API nin çağrılma metodu girilir. GET, POST, DELETE, PUT, PATCH gibi seçenekler bulunur.
-
Asenkron mu?: API nin asenkron çalışması istenildiğinde bu checkbox işaretlenir. Ardından açılan Cevap Gövdesi bölümüne JSON veya XML olarak dönüş değeri girilir. Eğer checkbox işaretlenmezse API senkron olarak çalışacaktır.
Asenkron api özelliği ile ilgili daha fazla bilgi edinmek için, ilgili bağlantıya tıklayarak demo videosunu izleyebilirsiniz.
İstek Kuralları
API’nin istek ile ilgili kuralları bu sekme üzerinden belirlenir.
Header Koşulları
API’ye gelen istek başlıklarına bir kural tanımlayıp bu kurala göre girilen aksiyon değeri ile bir aksiyon alınması sağlanabilir.
Örneğin, API’mize X-API-USERNAME
anahtar değerine sahip bir istek başlığı bekliyor olalım. Bu istek başlığı değerine sahip olmayan isteklerde ise bir tanımlı bir hata kodu olan GW-ERR-001
fırlatabiliriz. Bunun için Header Koşulları
sekmesinde bulunan tabloya aşağıdaki değerlerle doldurursak, API’ye X-API-USERNAME
istek başlığı olmadan gelen tüm isteklerde GW-ERR-001
hatasını fırlatmış oluruz.
Anahtar: X-API-USERNAME
Kural: İstek Başlığı Değer Kontrolü
Aksiyon: Tanımlı İstisna Fırlatmak
Aksiyon Değeri: GW-ERR-001
İstek başlığı kurallarında hata kodlarını kullanmak ile daha fazla bilgi için Hata Kodları bölümünü inceleyiniz.
İstek Kontrolleri
API’ye gelen isteklerde (SOAP / REST) başlıca kontrollerin yapılıp/yapılmaması bu sekme üzerinden belirlenir.
Burada belirnebilecek başlıca istek kuralları şunlardır:
-
İstek validasyonu yapılsın mı?: Gelen isteğin SOAP ise xml kontrolü, REST ise json kontrolü yapılmak istenir ise işaretlenir.
-
İstek boyutu kontrolü yapılsın mı? Gelen isteğin içerik boyut kontrolü yapılmak istenir ise işaretlenir.
-
Maksimum içerik boyutu (byte): İstek boyutu kontrolü yapılsın mı? checkbox’ı işaretli ise görülen bu input alanı ise boyut kontrolü yapılacak istek için maksimum izin verilen içerik boyutunun byte cinsinden tanımlanacağı input alanıdır.
-
Yönlendirme
API 'nin ilgili backend’e nasıl, hangi strateji ile yönlendirileceği bu sekme üzerinden belirlenir. Basit Yönlendirme, Yük Dağıtımı ile Yönlendirme, Groovy Kodu çalıştırması ve JavaScript Kodu Çalıştırması gibi seçenekler bulunur.
Basit Yönlendirme
-
Backend Http Metod Alanı: Backend Http metodu seçilir. GET, POST, DELETE, PUT, PATCH gibi seçenekler bulunur.
-
BackendUri Alanı: İsteğinin gideceği backend sistemin URL’i bu alana girilir.
Yük Dağıtımı ile Yönlendirme
Bu sekmeye geçildiğinde API üzerinde yük dağıtım stratejisi seçilebilir hale gelecektir. Yük Dağıtım Stratejisi için Round Robin, Weighted, A/B Test ve Idempotent yöntemlerinden birisi seçilerek ilgili değerler girilebilir. Her strateji için bir adet Backend Url Ekleme butonu bulunur. Bu buton ile URL eklenebilir. Bu sekmede ayrıca yük dağıtım yöntemi farketmeksizin backend Http metodu seçilmelidir.
-
Round Robin: Eklenen birden fazla BackendURL’e istekleri sırayla dağıtır.
-
Weighted: BackendURL eklemek için butona tıklandığında her bir url için ayrıca ağırlık değeri girilmesi gerekir. Girilen bu ağırlık değerlerine göre istekler ilgili backendlere random dağıtılır.
-
A/B Test: Bazı serverların istek üzerinde çalıştırılacak idempotent bir fonksiyona göre sadece belirli istekleri alması sağlanır. Bu yapıda BackendUrl’lerin (ya da ribbon dilinde Server) her biri veya birkaçı için idempotent fonksiyonlar tanımlanır. Server seçim sırasında önce fonksiyona sahip serverlar üzerinde bu fonksiyonlar çalıştırılır ve ilk uyan server dönülür. Eğer uyan server yoksa ve fonksiyonu olmayan serverlar varsa, bu serverlar arasında RoundRobin yapılır. Eğer tüm serverlarda idempotent fonksiyon varsa ve hiçbirisi uymuyorsa, Default Backend checkbox’ı seçili olan server dönülecektir.
-
Idempotent: İsteğin içinden okunabilecek bir değere bağlı olarak, aynı değerdeki isteklerin aynı backend’lere gitmesini sağlar. Bir veya birden fazla Backend URL eklendikten sonra Değer Kaynağı seçimi yapılmalı ve kaynağın ilgili değeri girilmelidir.
-
Değer Kaynağı:
-
Sabit Değer: Sabit Değer seçtikten sonra aşağıda açılacak olan input’a sabit bir değer girişi yapılır. Her API isteğinde aynı değer girilir. Örneğin inomera, create-subscription apisini çağırırken X-API-NAME headerına "CreateSub" yazılmasını istediyse bunu sabit değer yoluyla girişi yapılabilir.
-
İstek Başlığı: İş ortaklarının gönderdiği istekte gelen bir header’ı seçerek onun arka tarafa bizim istediğimiz isimle gitmesini sağlayabilir. Örneğin müşterinin yolladığı X-ABC header’ını inomera’ya X-DEF headerında göndermek istenirse bu kullanılır.
-
İstek Çerezi: API isteğinde Cookie (Çerez) olarak gelen bir değeri arkadaki sisteme (Inomera)'ya header olarak aktarmak istediğinde kullanırsın. Örneğin kullanıcının JSESSIONID cookie’sini Inomera’ya X-J-SESS-ID diye header yapıp yollayabilir.
-
Sorgu Dizesi Parametresi: İstek URL’inde soru işaretinden sonra yazılan bir parametreyi okuyup header’a set etmek istenirse kullanılır. API kullanıcısının http://ip:port/gateway/api-url?page=1&max=2&name=inomera yazdığı durumda "name" parametresini alıp bir header’a koyularak arkadaki sisteme header’da inomera değeri gönderilir.
-
İstek Gövdesi JsonPath: Eğer client’dan gelen istek JSON ise ve içerisinden bir parametrenin okunması isteniyorsa "JsonPath" tanımlama dili kullanarak hangi parametreyi alacağımızı belirtebiliriz. Örnek json path tanımı : $.phoneNumbers[:1].type
-
İstek Gövdesi XPath: Eğer client’dan gelen istek XML ise ve içerisinden bir parametreyi okumak istiyorsak "XPath" denilen dili kullanarak hangi parametreyi alacağımızı belirtebiliriz. Bu çok bilinen bir dil. Bu şekilde bir yazımı bulunuyor ve elindeki xml’e göre değişiyor. /bookstore/book/price[text()]
-
İş Nesnesi Alanı: API isteğindeki context içerisindeki nesnelerden birisinin belirli alanlarını arka tarafa header olarak gönderilmek için kullanılır. Örneğin bir API isteği yapıldığında gateway o istekle ilgili şu iş nesnelerinin hangileri olduğunu biliyor: Organizasyon, API Kullanıcısı, Plan, API. İstenildiğinde örneğin organizasyonun ismi backend’e header olarak gönderilebilir.
-
İş Nesnesi Özelliği: API, API Kullanıcısı, Plan veya Organizasyon’daki özelliklerden birisini Header olarak göndermek için kullanılır.
-
-
Dönüşüm
İsteğin, cevabın veya varsa hatanın veri dönüşümü bu sekme üzerinden yapılır.
İstek Veri Dönüşümü
Backend’e gidecek olan isteğin verisi üzerinde istenildiği taktirde dönüşüm yapılabilir veya isteğe başlık eklenebilir. İstek veri dönüşümü Freemarker, Groovy veya JavaScript yazarak yapılabilmektedir.
Cevap Veri Dönüşümü
Backend’in döndüğü cevabın verisi üzerinde istenildiği taktirde dönüşüm yapılabilir. Cevap veri dönüşümü Freemarker, Groovy veya JavaScript yazarak yapılabilmektedir.
Hata Veri Dönüşümü
İstek sırasında dönülen hata üzerinde istenildiği taktirde dönüşüm yapılabilir. Hata veri dönüşümü Freemarker, Groovy veya JavaScript yazarak yapılabilmektedir.
API İsteği Başlıkları
-
API İsteği Başlıkları: API isteğinin gönderileceği backend sistem request header’a bir parametre eklemesini istiyorsa api isteği başlıkları kısmı kullanılır.
-
Değer Kaynağı:
-
Sabit Değer: Sabit Değer seçtikten sonra aşağıda açılacak olan input’a sabit bir değer girişi yapılır. Her API isteğinde aynı değer girilir. Örneğin inomera, create-subscription apisini çağırırken X-API-NAME headerına "CreateSub" yazılmasını istediyse bunu sabit değer yoluyla girişi yapılabilir.
-
İstek Başlığı: İş ortaklarının gönderdiği istekte gelen bir header’ı seçerek onun arka tarafa bizim istediğimiz isimle gitmesini sağlayabilir. Örneğin müşterinin yolladığı X-ABC header’ını inomera’ya X-DEF headerında göndermek istenirse bu kullanılır.
-
İstek Çerezi: API isteğinde Cookie (Çerez) olarak gelen bir değeri arkadaki sisteme (Inomera)'ya header olarak aktarmak istediğinde kullanırsın. Örneğin kullanıcının JSESSIONID cookie’sini Inomera’ya X-J-SESS-ID diye header yapıp yollayabilir.
-
Sorgu Dizesi Parametresi: İstek URL’inde soru işaretinden sonra yazılan bir parametreyi okuyup header’a set etmek istenirse kullanılır. API kullanıcısının http://ip:port/gateway/api-url?page=1&max=2&name=inomera yazdığı durumda "name" parametresini alıp bir header’a koyularak arkadaki sisteme header’da inomera değeri gönderilir.
-
İstek Gövdesi JsonPath: Eğer client’dan gelen istek JSON ise ve içerisinden bir parametrenin okunması isteniyorsa "JsonPath" tanımlama dili kullanarak hangi parametreyi alacağımızı belirtebiliriz. Örnek json path tanımı : $.phoneNumbers[:1].type
-
İstek Gövdesi XPath: Eğer client’dan gelen istek XML ise ve içerisinden bir parametreyi okumak istiyorsak "XPath" denilen dili kullanarak hangi parametreyi alacağımızı belirtebiliriz. Bu çok bilinen bir dil. Bu şekilde bir yazımı bulunuyor ve elindeki xml’e göre değişiyor. /bookstore/book/price[text()]
-
İş Nesnesi Alanı: API isteğindeki context içerisindeki nesnelerden birisinin belirli alanlarını arka tarafa header olarak gönderilmek için kullanılır. Örneğin bir API isteği yapıldığında gateway o istekle ilgili şu iş nesnelerinin hangileri olduğunu biliyor: Organizasyon, API Kullanıcısı, Plan, API. İstenildiğinde örneğin organizasyonun ismi backend’e header olarak gönderilebilir.
-
İş Nesnesi Özelliği: API, API Kullanıcısı, Plan veya Organizasyon’daki özelliklerden birisini Header olarak göndermek için kullanılır. İş Nesnesi Özelliği "Özellik Tanımları" kısmında daha detaylı belirtilecek.
-
-
Hata Kodları
API Altına Hata Kodu Tanımlama bölümündeki adımlar takip edilerek API üzerine hata kodu tanımlaması yapılabilir.
Önbellek
Önbelleği aktifleştir checkbox’ı işaretlendiğinde önbellek aktif hale gelir ve kullanıcıdan önbelleğin zaman aşımı değerini saniye cinsinden girilmesi beklenir.
Loglama
API bazlı log seviyesi tanımı ve loglama detayı ile ilgili ayarların yapıldığı sekmedir. Detaylı bilgi için API Bazında Log Seviyesi Tanımlama bölümü incelenebilir.
Kaynak Yönetimi
API Bazlı HTTP Ayarları bölümündeki adımlar takip edilerek API üzerine özel HTTP bağlantı havuzu tanımı yapılabilir.
API kaynak yönetimi ile uç sistemlere erişim için throotling yapma yetkinliği sağlar.
Test
API 'nin tüm değerleri doldurulup API oluşturduktan sonra API, "Test" sekmesi üzerinden ilgili değerler girildikten sonra tetiklenebilir.
İstek
API’ye yapılacak istek için gereken değerler bu alandan girilir. Alanın en üstünde isteğin yapılacağı URL’in girileceği bir alan ve method tipi vardır. API tanımında seçilen method tipi ve endpoind değeri bu alanda bulunan method ve URL alanını otomatik olarak doldurur.
Katalog → API Kullanıcıları
API Kullanıcıları Listeleme Ekranı
Kullanıcı, API Kullanıcıları listeleme ekranına menüden “API Kullanıcıları” na tıklayarak ulaşabilir. Arama Kriterlerine istenilen değer girildikten sonra “Ara” butonuna bastığında aşağıdaki API Kullanıcıları listesi güncellenir. Kullanıcı “Temizle” butonuna tıklayarak arama kriterlerini temizleyebilir. “Kapat” butonuna tıklayarak kullanıcı Ana Menüye dönüş yapabilir.
Her api kullanıcısının solunda bulunan "Güncelle" butonuna tıklayarak da mevcut api kullanıcıları üzerinde değişiklikler yapılabilir.
Temel olarak üç(3) adet tab den olışmaktadır.
API Kullanıcısı Oluşturma Ekranı
Kullanıcı, API Kullanıcısı Listeleme ekranında yer alan “API Kullanıcısı Oluştur” butonuna tıklayarak aşağıdaki ekran alıntısında görüldüğü gibi yeni api oluşturabilir. Form alanları aşağıdaki kurallara göre doldurulur ve Kaydet butonuna basılarak API Kullanıcısı oluşturulur. İptal butonuna basıldığında, API Kullanıcıları Listeleme ekranına dönüş yapılır.
Tanım
-
Ad: API Kullanıcısının ismi girilir.
-
Durum: API Kullanıcısının durum bilgisi girilir.
-
Organizasyon: API Kullanıcısının bağlı olacağı Organizasyon bilgisi seçilir.
-
Kimlik Doğrulama yöntemleri:
-
Temel Kimlik Doğrulama: Temel kimlik doğrulama seçildiğinde gelen username ve password’ün base64 hash’inin alınıp authorization headerına koyulmasıdır. DeFacto bir yöntemdir. Örnek olarak bir username ve password hashlendikten sonra şu şekilde hash ile header gönderilir. Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l
-
İstek Başlığında API Key: İstek Başlığında API Key seçilip ileri butonuna tıklanır. İstek başlığında gönderilecek apiKey değeri ve header adı girilerek kimlik doğrulama yöntemi belirlenir.
-
İstek Başlığında Kullanıcı Adı & Şifre: İstek Başlığında Kullanıcı Adı & Şifre seçilip ileri butonuna tıklanır. İstek başlığında gönderilecek Kullanıcı Adı & Şifre değeri ve Kullanıcı Adı & Şifre header adı girilerek kimlik doğrulama yöntemi belirlenir.
-
Parametrede API Key: Parametrede API Key seçilip ileri butonuna tıklanır. Apikey, Apikey Parametre adı bilgileri girilerek kimlik doğrulama yöntemi belirlenir. Bu bilgiler örnekte gösterildiği gibi girilerek istek gönderilebilir. ör: http://example.inomera.com/ws/rest/v10/subscription/list?apikey=123456642232
-
Parametrede Kullanıcı Adı & Şifre: Parametrede Kullanıcı Adı & Şifre seçilip ileri butonuna tıklanır. Kullanıcı Adı & Şifre ve Kullanıcı Adı & Şifre parametre adı bilgileri girilerek kimlik doğrulama yöntemi belirlenir. Parametreye bu bilgiler örnekte gösterildiği gibi girilerek istek gönderilebilir. ör: http://example.inomera.com/ws/rest/v10/subscription/list?username=asdf&password=qwerrrrt
-
İstek Gövdesinde API Key: İstek gövdesinde API Key seçilip ileri butonuna tıklanır. Sorgu dili(Json Path, XPath) seçilip ileri butonuna tıklanır. Apikey ve Apikey Path bilgileri girilerek kimlik doğrulama yöntemi belirlenir.
-
İstek Gövdesinde Kullanıcı Adı & Şifre: İstek Gövdesinde Kullanıcı Adı & Şifre seçilip ileri butonuna tıklanır. Sorgu dili(Json Path, XPath) seçilip ileri butonuna tıklanır. İstek gövdesinde gönderilecek Kullanıcı Adı & Şifre değeri ve Kullanıcı Adı & Şifre pathi girilerek kimlik doğrulama yöntemi belirlenir.
-
İstek Gövdesinde Temel Kimlik Doğrulama: İstek gövdesinde temel kimlik doğrulama seçildiğinde gelen username ve password’ün base64 hash’inin alınıp istek gövdesinde belirli bir path’e koyulmasıdır. İstek Gövdesinde Temel Kimlik Doğrulama seçilip ileri butonuna tıklanır. Sorgu dili(Json Path, XPath) seçilip ileri butonuna tıklanır. İstek gövdesinde gönderilecek kimlik bilgisinin Kullanıcı Adı & Şifre değeri ve Kullanıcı Adı & Şifre path’i girilerek kimlik doğrulama yöntemi belirlenir.
-
Kısıtlamalar
Tüm kısıtlamalar opsiyoneldir.
-
IP Kısıtlamaları: Mirket’e gelen istekleri IP bazlı kısıtlamak isteniyorsa bu kısım kullanılır. İş ortağının gelmesi beklenen IP bilgileri bu kısma girilir. Kara Liste ve Beyaz Liste mantığında çalışmaktadır.
-
Zaman Bazlı Erişim Kısıtlaması: API Kullanıcısının belirlenen zaman aralığında sistem erişmesi kısıtlamak için kullanılır. Örnek : API Kullanıcısının eriştiği API lerde bakım yapılacaktır.
Hata Kodları
Api Kullanıcısı Altına Hata Kodu Tanımlama bölündeki adımlar takip edilerek API kullanıcısı altına hata kodu tanımı yapılabilir.
Çoklu Ortam Senkronizasyonu
API Kullanıcısı Detay Ekranı
Her api kullanıcısının solunda bulunan "Görüntüle" butonuna tıklayarak da mevcut api kullanıcısına ait özet veriyi görüntüler.
API Kullanıcısı detay ekranı aşağıdaki iki ana bölümden oluşmaktadır:
Genel Bilgiler
Bu bölümde API kullanıcısına ait temel bilgiler yer alır:
-
Ad: API kullanıcısının sistem adı (Örn: Inomera Cient)
-
Durum: Kullanıcının aktiflik durumu (Aktif/Pasif)
-
Organizasyon: Bağlı olduğu organizasyon bilgisi (Örn: Inomera)
-
Doğrulama Yöntemleri: Header, Basic Authentication gibi doğrulama yöntemleri bilgileri bulunmaktadır.
Katalog → Planlar
Planlar Listeleme Ekranı
Kullanıcılar, planları listeleme ekranına menüden “Planlar” a tıklayarak ulaşabilir. Arama Kriterlerine göre “Ara” butonuna tıklandığında aşağıdaki Planlar listesi görüntülenir. Kullanıcı “Temizle” butonuna tıklayarak arama kriterlerini temizleyebilir. “Kapat” butonuna tıklayarak kullanıcı Ana Menüye dönüş yapabilir.
Her planın solunda bulunan "Güncelle" butonuna tıklayarak da mevcut planlar üzerinde değişiklikler yapılabilir. Her planın solunda bulunan "Görüntüle" butonuna tıklayarak da mevcut plan özet bilgisi görüntülenir. Her planın solunda bulunan "Kopyalana" butonuna tıklayarak da mevcut plan verilerini referans alarak yeni bir plan oluşturma adımına geçer.
Plan Oluşturma Ekranı
Kullanıcı, Planlar Listeleme ekranında yer alan “Plan Oluştur” butonuna tıklayarak aşağıdaki ekran görüntüsünde görüldüğü gibi yeni plan oluşturabilir. Form alanları aşağıdaki kurallara göre doldurulur ve Kaydet butonuna basılarak plan oluşturulur. İptal butonuna basarak plan listeleme ekranına dönüş yapılır.
-
Ad: API Kullanıcısının ismi girilir.
-
API Kullanıcısı: Plan yaratılacak API Kullanıcısı bilgisi seçilir.
-
Durum: Planın durum bilgisi girilir.
-
Kullanımı Kısıtlı mı?: Planın tamamına bir kullanım kısıtı girilmek istenirse bu kısım kullanılır.
-
İstek Sayısı: Belli bir zaman aralığında atılacak toplam istek sayısı.
-
Zaman Aralığı: Kısıtlamada bulunacak zaman aralığı bilgisi.
-
Algoritma: Intervally seçilirse kullanım kısıtlama periyodu tamamlandıktan sonra yeni kullanım haklarının tamamı aktif hale getirilir. Örneğin kullanıcıya saniyede 10 kullanım hakkı verildiğinde her saniyenin sonunda kullanıcıya 10 kullanım hakkı verilir. Greedy seçilirse kullanım hakkı olabilecek en kısa süre içerisinde arttırılmaya çalışılır. Örneğin saniyede 10 kullanım verildiği durumda kullanıcıya her 100 milisaniyede bir yeni kullanım hakkı verilecektir.
-
-
Bu Plandaki API’ler Planın yetkisi olduğu tüm API’ler burada bulunur
API eklemek için "+API" kısmına tıklanır.
-
API: API bilgisi seçilir.
-
Kullanımı Kısıtlı mı?: API’ye bir kullanım kısıtı getirilmek istenirse bu kısım kullanılır.
-
İstek Sayısı: Belli bir zaman aralığında atılacak toplam istek sayısı.
-
Zaman Aralığı: Kısıtlamada bulunacak zaman aralığı bilgisi.
-
Algoritma: Intervally seçilirse kullanım kısıtlama periyodu tamamlandıktan sonra yeni kullanım haklarının tamamı aktif hale getirilir. Örneğin kullanıcıya saniyede 10 kullanım hakkı verildiğinde her saniyenin sonunda kullanıcıya 10 kullanım hakkı verilir. Greedy seçilirse kullanım hakkı olabilecek en kısa süre içerisinde arttırılmaya çalışılır. Örneğin saniyede 10 kullanım verildiği durumda kullanıcıya her 100 milisaniyede bir yeni kullanım hakkı verilecektir.
-
Çoklu Ortam Senkronizasyonu
Yeni bir Plan oluşturulduğunda veya var olan bir Plan güncellendiğinde, uygulama birden fazla siteda çalışıyorsa, açılan popup içinde her site için ayrı bir buton ile senkronizasyon işlemi yapılabilir. Burada kullanıcı Plan tanımını Senkronize etmek zorunda değildir. Kapat tuşuna basarak diğer site(larda) manuel oluşturmayı tercih edebilir.
Katalog → Katalog Ayarları → Veri Kaynakları
Uygulamada kullanılacak veri kaynakları (veritabanı bağlantıları) ayarları burada yapılır. Bu veritabanlarına daha sonra js ve groovy kodları kullanılarak erişilir.
Veri Kaynağı İndir
Veri Kaynakları listesinden istenen herhangi bir veri kaynağı, indirme butonuna tıklayarak indirilebilir. Bu verilerin şifrelenmiş halde indirilmesi istenirse uygulama ayarları üzerinden bu ayar aktifleştirilebilir.
Veri Kaynağı Yükle
Eğer elinizde bir Veri Kaynağı’nin dışa aktarımı mevcut ise Yeni Veri Kaynağı Yükle butonuna tıklayarak bu veri kaynağını içe aktarabilirsiniz.
Önemli Bilgi: Eğer Veri Kaynağı dışa aktarılırken şifreleme ayarı açıksa, içe aktarırken de bu ayar açık olmalıdır. Aksi takdirde hatalı yükleme oluşabilir.
Client side sertifika yüklenme özelliği ile ilgili daha fazla bilgi edinmek için, ilgili bağlantıya tıklayarak demo videosunu izleyebilirsiniz.
Katalog → Katalog Ayarları → Ortak Kodlar
Api üzerinde yönlendirme ve dönüşüm için kod yazarken ortak kullanılacak kodlar burada tanımlanır. Böylece aynı kodların birden fazla yerde tekrarlanması önlenir.
Ad, bean ismi, tip ve durum verileri ile filtrelenerek arama yapılabilir.
Düzenleme ve oluşturma ekranında seçilen kod tipine göre (javascript veya groovy) aşağıda çıkan editördeki format ve yazı görünümü değişmektedir. Her ortak kodun solunda bulunan "Güncelle" butonuna tıklayarak mevcut ortak kod üzerinde değişiklikler yapılabilir. Her ortak kodun solunda bulunan "Görüntüle" butonuna tıklayarak da mevcut ortak kod 'nin değerleri görülebilir. Her ortak kodun solunda bulunan "İndir" butonuna tıklayarak da mevcut ortak kod indirilebilir. Yeni Kod Yükle butonu ile ortak kod import edilebilir durumu" Aktif değil" olarak eklenir.
Ortak Kod İndir
Ortak Kodlar listesinden istenen herhangi bir ortak kod, indirme butonuna tıklayarak indirilebilir. Bu verilerin şifrelenmiş halde indirilmesi istenirse uygulama ayarları üzerinden bu ayar aktifleştirilebilir.
Ortak Kod Yükle
Eğer elinizde bir Ortak Kod’un dışa aktarımı mevcut ise Yeni Ortak Kod Yükle butonuna tıklayarak bu veri kaynağını içe aktarabilirsiniz.
Önemli Bilgi: Eğer Ortak Kod dışa aktarılırken şifreleme ayarı açıksa, içe aktarırken de bu ayar açık olmalıdır. Aksi takdirde hatalı yükleme oluşabilir.
Groovy Ortak Kod
JavaScript Ortak Kod
Groovy Header Rule Script Ortak Kod
Groovy Remote Adres set eden script örneği;
package com.mirket.gateway.groovy;
import com.netflix.zuul.context.RequestContext;
import jakarta.servlet.http.HttpServletRequest;
public class HeaderRule implements GroovyHeaderRuleScript {
public Object execute(RequestContext requestContext, String headerName) {
HttpServletRequest request = requestContext.getRequest();
String ipAddress = request.getRemoteAddr();
requestContext.addZuulRequestHeader(headerName, ipAddress);
return null;
}
}
Katalog → Katalog Ayarları → Özellik Tanımları
Kullanıcılar, Bir özellik tanımı yapılarak API’de, Api Kullanıcılarında, Organizasyonda ve Plan’da gösterebilirler. Aşağıdaki ekrandan yeni bir özellik tanımlarken hangi entity için olduğunu seçilmektedir. Örneğin API Kullanıcısının üzerine ilgili partnerin telefon numarasını email adresini vs custom özellik olarak eklenebilir. özellik tanımının solunda bulunun "indir" butonu ile özellik tanımı indirilebilir. "Yeni Özellik Tanımı oluştur" butonu ile özellik tanımı yüklenebilir. Eğer Yeni Özellik tanımı yüklenirken mevcut ile aynı özellik tanımı var ise "Bu kayıt zaten mevcut. İlgili kaydı güncellemeyi onaylıyor musunuz?" uyarsı gösterilip onay istenir. Bu ekrandan eklediğiniz tanımlar ilgili entityleri düzenlerken sayfada input olarak görülür.
Bu kısım raporlama amaçlı belirli alanları tutmak için de kullanılabilir.
Özellik Tanımı İndir
Özellik Tanımları listesinden istenen herhangi bir özellik tanımı, indirme butonuna tıklayarak indirilebilir. Bu verilerin şifrelenmiş halde indirilmesi istenirse uygulama ayarları üzerinden bu ayar aktifleştirilebilir.
Özellik Tanımı Yükle
Eğer elinizde bir Özellik Tanımı’nın dışa aktarımı mevcut ise Yeni Özellik Tanımı Yükle butonuna tıklayarak bu veri kaynağını içe aktarabilirsiniz.
Önemli Bilgi: Eğer Özellik Tanımı dışa aktarılırken şifreleme ayarı açıksa, içe aktarırken de bu ayar açık olmalıdır. Aksi takdirde hatalı yükleme oluşabilir.