Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Aşağıdaki bölümlerde açıklandığı gibi, API ürün paketinize dahil olan her API ürünü için işlem kaydı politikalarını yapılandırın.
Giriş
İşlem kayıt politikası, işlem parametrelerini ve özel özellikleri yakalamak için para kazanmayı etkinleştirir. Para kazanma işleme birimi, ücret planlarını uygulama gibi para kazanma işlemlerini gerçekleştirmek için bu bilgilere ihtiyaç duyar.
Örneğin, gelir paylaşımı fiyat planı ayarlarsanız para kazanılan API ürününüzü içeren her işlemden elde edilen gelirin bir yüzdesi, isteği gönderen uygulamanın geliştiricisiyle paylaşılır. Gelir paylaşımı, işlemin net veya brüt fiyatına (hangisini belirlediğinize bağlı olarak) dayanır. Yani, gelir paylaşımını belirlemek için her işlemin brüt veya net fiyatının bir yüzdesi kullanılır. Bu nedenle, para kazanma özelliğinin bir işlemin brüt veya net fiyatını (hangisi geçerliyse) bilmesi gerekir. İşlem kayıt politikası ayarlarınızdan brüt veya net fiyatı alır.
Geliştiriciden her işlem için ücret aldığınız bir fiyat listesi planı oluşturursanız planın ücretini, bir işlemde iletilen bayt sayısı gibi özel bir özelliğe göre belirleyebilirsiniz. Para kazanma özelliğinin, özel özelliğin ne olduğunu ve nerede bulunabileceğini bilmesi gerekir. Bu nedenle, özel özelliği işlem kayıt politikasında belirtmeniz gerekir.
İşlem kayıt politikasında işlem özelliklerini belirtmenin yanı sıra, bir işlemin ne zaman başarılı olduğunu belirlemek için işlem başarı ölçütlerini de belirtebilirsiniz (ücretlendirme amacıyla). İşlem başarı kriterlerini belirleme örnekleri için İşlem kaydı politikasında işlem başarı kriterlerini belirleme örnekleri başlıklı makaleyi inceleyin. Ayrıca bir API ürünü için özel özellikler de belirtebilirsiniz (ücret planı ücretlerini temel aldığınız).
İşlem kaydı politikası yapılandırma
Aşağıda açıklandığı şekilde Ürün Paketleri sayfasına erişin.
Edge
Edge kullanıcı arayüzünü kullanarak API ürün paketi eklerken aşağıdaki adımları uygulayarak işlem kaydı politikasını yapılandırmanız gerekir:
- İşlem Kaydı Politikası bölümünde yapılandırılacak API ürününü seçin (ürün paketinde birden fazla API ürünü varsa).
- İşlem özelliklerini yapılandırma
- Özel özellikleri yapılandırın.
- Kaynakları benzersiz işlem kimlikleriyle bağlayın.
- Geri ödemeleri yapılandırın.
- API ürün paketinde tanımlanan her API ürünü için tekrarlayın.
Classic Edge (Private Cloud)
Klasik Edge kullanıcı arayüzünü kullanarak bir işlem kaydı politikası yapılandırmak için:
http://ms-ip:9000adresinde oturum açın. Burada ms-ip, Yönetim Sunucusu düğümünün IP adresi veya DNS adıdır.- Üst gezinme çubuğunda Yayınla > Ürünler'i seçin.
- Geçerli API ürünü satırında + İşlem Kaydı Politikası'nı tıklayın. Yeni İşlem Kaydı Politikası penceresi gösterilir.
- Aşağıdaki adımları uygulayarak işlem kaydı politikasını yapılandırın:
- Kaydet'i tıklayın.
İşlem özelliklerini yapılandırma
İşlem Özellikleri bölümünde, başarılı bir para kazanma işlemini gösteren ölçütleri belirtin.
- İşlem Başarı Kriterleri alanında, işlemin ne zaman başarılı olduğunu belirlemek için (ücretlendirme amacıyla) Durum özelliğinin değerine göre ifadeyi belirtin (bir sonraki bölümde açıklanmıştır). Başarılı olmayan işlemler (yani ifadede belirtilen kriterleri karşılamayan işlemler) kaydedilir ancak bu işlemlere fiyat planları uygulanmaz. Örneğin:
txProviderStatus == 'OK' - Durum özelliği, İşlem Başarı Ölçütleri alanında yapılandırılan ifadede kullanılan değeri içerir. Aşağıdaki alanları tanımlayarak Durum özelliğini yapılandırın:
Alan Açıklama API Kaynağı Para kazandıran işlemleri tanımlamada kullanılacak API ürünündeki URI kalıpları. Yanıt Konumu Özelliğin belirtildiği yanıtın konumu. Geçerli değerler arasında şunlar yer alır: Flow Variable, Header, JSON Body ve XML Body. Değer Yanıtın değeri. Birden fazla değer belirtmek için + x ekle'yi (örneğin, + Akış değişkeni ekle) tıklayın. - İsteğe bağlı işlem özelliklerini yapılandırmak için İsteğe Bağlı Özellikleri Kullan açma/kapatma düğmesini etkinleştirin ve aşağıdaki tabloda tanımlanan işlem özelliklerinden herhangi birini yapılandırın.
Özellik Açıklama Brüt fiyat Bu özellik yalnızca gelir paylaşımı modelini kullanan fiyat planları için geçerlidir. Bu ücret planları için Brüt Fiyat veya Net Fiyat zorunludur. Sayısal değerin Dize türü olarak ifade edildiğinden emin olun. Bir işlemin brüt fiyatı. Gelir paylaşımı planları için Brüt Fiyat özelliğini veya Net Fiyat özelliğini kaydetmeniz gerekir. Hangi özelliğin gerekli olduğu, gelir paylaşımının temeline bağlıdır. Örneğin, bir işlemin brüt fiyatına dayalı bir gelir paylaşımı fiyat planı oluşturabilirsiniz. Bu durumda, Brüt Fiyat alanı zorunludur.
Net fiyat Bu özellik yalnızca gelir paylaşımı modelini kullanan fiyat planları için geçerlidir. Bu ücret planları için Brüt Fiyat veya Net Fiyat zorunludur. Sayısal değerin Dize türü olarak ifade edildiğinden emin olun. Bir işlemin net fiyatı. Gelir paylaşımı planları için Net Fiyat alanını veya Brüt Fiyat alanını kaydetmeniz gerekir. Hangi alanın gerekli olduğu, gelir paylaşımının temeline bağlıdır. Örneğin, bir işlemin net fiyatına dayalı bir gelir paylaşımı oranı planı oluşturabilirsiniz. Bu durumda, Net Fiyat alanı zorunludur.
Para Birimi Bu özellik, gelir paylaşımı modelini kullanan fiyat planları için zorunludur. İşlem için geçerli olan para birimi türü.
Hata Kodu İşlemle ilişkili hata kodu. Başarısız bir işlem hakkında daha fazla bilgi sağlar.
Öğe Açıklaması İşlemin açıklaması.
Vergi Bu özellik yalnızca gelir paylaşımı modelleri için ve yalnızca vergi tutarı API çağrılarında yakalanırsa geçerlidir. Sayısal değerin Dize türünde ifade edildiğinden emin olun. Satın alma işlemindeki vergi tutarı. Net fiyat artı vergi = brüt fiyat.
Örneğin, aşağıdaki değerleri ayarlayarak para kazanma, akış değişkeninin değerini response.reason.phrase adlı bir değişkendeki mesaj yanıtından alır. Değer OK ise ve Monetization Limits Check policy, API proxy'si ProxyEndpoint isteğine eklenmişse para kazanma, bunu bir işlem olarak sayar.
| Alan | Değer |
|---|---|
| İşlem Başarı Kriterleri | txProviderStatus == 'OK' |
| Durum: API Kaynağı | ** |
| Durum: Yanıt Konumu | Akış değişkeni |
| Durum: Akış Değişkeni | response.reason.phrase |
Özel özellikleri yapılandırma
Özel Özellikler bölümünde, işlem kayıt politikasına dahil edilecek özel özellikleri belirlersiniz. Örneğin, geliştiriciden her işlem için ücret aldığınız bir fiyat listesi planı oluşturursanız planın ücretini, bir işlemde iletilen bayt sayısı gibi özel bir özelliğe göre belirleyebilirsiniz. Ardından, bu özel özelliği işlem kayıt politikasına eklemeniz gerekir.
Bu özelliklerin her biri, sorgulayabileceğiniz işlem günlüğünde saklanır. Ayrıca, bir fiyat planı oluşturduğunuzda da gösterilirler (böylece planın fiyatını belirlerken bu özelliklerden birini veya daha fazlasını seçebilirsiniz).
İşlem kayıt politikasında tanımlanan özel özellikleri, Gelir özeti raporlarına özel işlem özelliklerini ekleme bölümünde açıklandığı gibi gelir özeti raporlarınıza ekleyebilirsiniz.
Özel özellikleri yapılandırmak için Özel Özellikleri Kullan açma/kapatma düğmesini etkinleştirin ve en fazla 10 özel özellik tanımlayın. İşlem kaydı politikasına dahil ettiğiniz her özel özellik için aşağıdaki bilgileri belirtmeniz gerekir.
| Alan | Açıklama |
|---|---|
| Özel Özellik Adı | Özel özelliği açıklayan bir ad girin. Fiyat planı özel bir özelliğe dayanıyorsa, bu ad, fiyat planı ayrıntılarında kullanıcıya gösterilir. Örneğin, özel özellik süreyi yakalıyorsa özelliğe süre adını vermelisiniz. Özel özelliğin gerçek birimleri (ör. saat, dakika veya saniye), özel özellikli bir fiyat planı oluşturduğunuzda derecelendirme birimi alanında ayarlanır (bkz. Özel özellik ayrıntılarıyla fiyat planı belirtme). |
| API Kaynağı | İşlemde erişilen bir API kaynağının bir veya daha fazla URI sonekini (yani temel yoldan sonraki URI parçası) seçin. Kullanılabilir kaynaklar, işlem özellikleriyle aynıdır. |
| Yanıt Konumu | Yanıtın özelliğin belirtildiği yerini seçin. Geçerli değerler arasında şunlar yer alır: Flow Variable, Header, JSON Body ve XML Body. |
| Değer | Özel özellik için bir değer belirtin. Belirttiğiniz her değer, belirttiğiniz konumda özel özelliği sağlayan bir alan, parametre veya içerik öğesine karşılık gelir. Birden fazla değer belirtmek için + x ekle'yi (örneğin, + Akış değişkeni ekle) tıklayın.
Örneğin, İçerik Uzunluğu adlı bir özel özellik yapılandırır ve yanıt konumu olarak Başlık'ı seçerseniz, İçerik Uzunluğu değeri HTTP Content-Length alanında sağlanıyorsa değer olarak |
Kaynakları benzersiz işlem kimliğiyle bağlama
Bazı işlemler basittir ve tek bir kaynağa yapılan API çağrısını içerir. Ancak diğer işlemler daha karmaşık olabilir. Örneğin, bir mobil oyun uygulamasında uygulama içi ürün satın alma işlemi için birden fazla kaynak çağrısı yapıldığını varsayalım:
- Ön ödemeli bir kullanıcının ürünü satın alacak kadar kredisi olduğundan emin olan ve satın alma için fonları ayıran ("rezervasyon yapan") bir rezervasyon API'si çağrısı.
- Ücret API'sine yapılan bir çağrı, ön ödemeli kullanıcının hesabından fonları düşer.
Monetizasyonun, işlemin tamamını işleyebilmesi için ilk kaynağı (rezerv API'ye ve rezerv API'den yapılan arama ve yanıt) ikinci kaynağa (ücret API'sine ve ücret API'sinden yapılan arama ve yanıt) bağlaması gerekir. Bunu yapmak için Kaynakları Benzersiz İşlem Kimliği ile Bağlama bölümünde belirttiğiniz bilgilere dayanır.
Özel özellikleri yapılandırmak için Benzersiz İşlem Kimliklerini Kullan açma/kapatma düğmesini etkinleştirin ve işlemleri bağlayın. Her işlem için bir kaynak, yanıt konumu ve özellik değeri belirtirsiniz. Bu değerler, diğer işlemlerdeki karşılık gelen değerlerle bağlantılıdır.
Örneğin, reserve API çağrısı ile charge API çağrısının aşağıdaki gibi bağlantılı olduğunu varsayalım: reserve API'den gelen yanıt başlığında session_id adlı bir alan, charge API'den gelen reference_id adlı bir yanıt başlığına karşılık gelir. Bu durumda, Girişleri Benzersiz İşlem Kimliğiyle Bağla bölümündeki girişleri aşağıdaki gibi ayarlayabilirsiniz:
| Kaynak | Yanıt konumu | Değer |
|---|---|---|
reserve/{id}** |
Başlık |
session_id |
/charge/{id}** |
Başlık |
reference_id |
Geri ödemeleri yapılandırma
İadeler bölümünde, para kazanma özelliğinin iadeleri işlemek için kullandığı özellikleri belirtirsiniz.
Örneğin, bir kullanıcının, para kazanma özelliği etkinleştirilmiş API'lerinizi kullanan bir mobil uygulamadan ürün satın aldığını varsayalım. İşlem, paylaşılan gelir planına göre para kazanma özelliğinden yararlanır. Ancak kullanıcının üründen memnun olmadığını ve ürünü iade etmek istediğini varsayalım. Ürün, geri ödeme işlemini yapan API'nize yapılan bir çağrı kullanılarak geri ödenirse para kazanma özelliği, gerekli para kazanma düzenlemelerini yapar. Bu işlem, işlem kayıt politikası bölümündeki Geri Ödemeler bölümünde belirttiğiniz bilgilere göre yapılır.
Geri ödemeleri yapılandırmak için Geri Ödeme Özelliklerini Kullan açma/kapatma düğmesini etkinleştirin ve geri ödeme ayrıntılarını tanımlayın:
- Aşağıdaki alanları tanımlayarak geri ödeme ölçütlerini belirleyin:
Alan Açıklama Yanıt Konumu Geri ödeme işlemi için kaynak. API ürünü birden fazla kaynak sağlıyorsa yalnızca geri ödeme işlemini gerçekleştiren kaynağı seçebilirsiniz. Geri Ödeme Başarı Kriterleri Geri ödeme işleminin ne zaman başarılı olduğunu belirlemek için Durum özelliğinin (bir sonraki bölümde açıklanmıştır) değerine dayalı ifade (ücretlendirme amacıyla). Başarılı olmayan geri ödeme işlemleri (yani, ifadedeki kriterleri karşılamayan işlemler) kaydedilir ancak bu işlemlere fiyat planları uygulanmaz. Örneğin: txProviderStatus == 'OK' - Aşağıdaki alanları tanımlayarak Durum özelliğini yapılandırın:
Alan Açıklama Yanıt Konumu Özelliğin belirtildiği yanıtın konumu. Geçerli değerler arasında şunlar yer alır: Flow Variable, Header, JSON Body ve XML Body. Değer Yanıtın değeri. Birden fazla değer belirtmek için + x ekle'yi (örneğin, + Akış değişkeni ekle) tıklayın. - Aşağıdaki alanları tanımlayarak üst kimlik özelliğini yapılandırın:
Alan Açıklama Yanıt Konumu Özelliğin belirtildiği yanıtın konumu. Geçerli değerler arasında şunlar yer alır: Flow Variable, Header, JSON Body ve XML Body. Değer Geri ödemenin işlendiği işlemin kimliği. Örneğin, bir kullanıcı ürün satın alıp ardından geri ödeme isteğinde bulunursa üst işlem kimliği, satın alma işleminin kimliğidir. Birden fazla değer belirtmek için + x ekle'yi (örneğin, + Akış değişkeni ekle) tıklayın. - İsteğe bağlı geri ödeme özelliklerini yapılandırmak için İsteğe Bağlı Geri Ödeme Özelliklerini Kullan açma/kapatma düğmesini etkinleştirin ve özellikleri yapılandırın. İsteğe bağlı geri ödeme özellikleri, İşlem özelliklerini yapılandırma bölümünde tanımlandığı gibi isteğe bağlı işlem özellikleriyle aynıdır.
API'yi kullanarak işlem kaydı politikalarını yönetme
Aşağıdaki bölümlerde, API kullanarak işlem kaydı politikalarının nasıl yönetileceği açıklanmaktadır.
API'yi kullanarak işlem kaydı politikası oluşturma
Bir API ürününün özelliği olarak işlem kaydı politikası belirtirsiniz. Özelliğin değeri şunları tanımlar:
- İşlem kayıt politikasının eklendiği ürün kaynağının URI soneki. Sonek, küme parantezleri içine alınmış bir kalıp değişkeni içeriyor. Desen değişkeni, çalışma zamanında API Hizmetleri tarafından değerlendirilir. Örneğin, aşağıdaki URI soneki
{id}desen değişkenini içerir./reserve/{id}**Bu durumda, API Hizmetleri kaynağın URI sonekini
/reserveolarak değerlendirir ve ardından API sağlayıcı tarafından tanımlanan bir kimlikle başlayan herhangi bir alt dizin gelir. - Yanıttaki kaynağın iliştirildiği yer. Bir API ürününün birden fazla kaynağı olabilir ve her kaynağa, bu kaynaktan gelen bir yanıta eklenmiş bir işlem kaydetme politikası iliştirilebilir.
- İşlem kayıt politikasının, yakalamak istediğiniz işlem parametreleri için yanıt mesajından içerik ayıklamasını sağlayan bir ayıklama değişkeni politikası.
Yönetim API'sine
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(ve bir para kazanma API'sine değil) bir PUT isteği göndererek işlem kaydı politikası özelliğini bir API ürününe eklersiniz.
API'yi kullanarak işlem başarı kriterlerini belirtme
Bir işlemin ne zaman başarılı olduğunu belirlemek için işlem başarı ölçütlerini belirleyebilirsiniz (ücretlendirme amacıyla). Başarılı olmayan (yani ifadede belirtilen kriterleri karşılamayan) işlemler kaydedilir ancak bu işlemlere ücret planları uygulanmaz. İşlem başarı kriterlerini ayarlama örnekleri için İşlem kayıt politikasında işlem başarı kriterlerini ayarlama örnekleri başlıklı makaleyi inceleyin.
İşlem başarı kriterlerini bir API ürününün özelliği olarak belirtirsiniz. Bunu yapmak için
yönetim API'sine bir PUT isteği gönderin
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(para kazanma API'sine değil).
Örneğin, aşağıdaki istekte txProviderStatus değerinin success olması durumunda işlem başarılı olur (işlem başarısı ölçütleriyle ilgili özellikler vurgulanmıştır).
$ curl -H "Content-Type: application/json" -X PUT -d \
'{
"apiResources": [
"/reserve/{id}**"
],
"approvalType": "auto",
"attributes": [
{
"name": "MINT_TRANSACTION_SUCCESS_CRITERIA",
"value": "txProviderStatus == 'OK'"
}
],
"description": "Payment",
"displayName": "Payment",
"environments": [
"dev"
],
"name": "payment",
"proxies": [],
"scopes": [
""
]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password
API'yi kullanarak özel özellikler belirtme
Ücret planı ücretlerini temel aldığınız bir API ürünü için özel özellikler belirtebilirsiniz. Örneğin, geliştiriciden her işlem için ücret aldığınız bir fiyat listesi planı oluşturursanız planın ücretini, bir işlemde iletilen bayt sayısı gibi özel bir özelliğe göre belirleyebilirsiniz. Bir ücret planı oluşturduğunuzda, planın ücretini temel alacağınız bir veya daha fazla özel özellik belirtebilirsiniz. Ancak bir ücret planındaki belirli bir ürün, planın ücretinin temel alınacağı yalnızca bir özel özelliğe sahip olabilir.
Özel özellikleri bir API ürününün özellikleri olarak belirtirsiniz. Bunu, yönetim API'sine
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(para kazanma API'sine değil) bir PUT isteği göndererek yapın.
Bir API ürününe eklediğiniz her özel özellik için bir ad ve özellik değeri belirtmeniz gerekir. Ad, MINT_CUSTOM_ATTRIBUTE_{num} biçiminde olmalıdır. Burada {num} bir tam sayıdır.
Örneğin, aşağıdaki istekte üç özel özellik belirtiliyor.
$ curl -H "Content-Type: application/json" -X PUT -d \ '{ "apiResources": [ "/reserve/{id}**", "/charge/{id}**" ], "approvalType": "auto", "attributes": [ { "name": "MINT_CUSTOM_ATTRIBUTE_1", "value": "test1" }, { "name": "MINT_CUSTOM_ATTRIBUTE_2", "value": "test2" } ], "name": "payment", "proxies": [], "scopes": [ "" ] }' \ "https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \ -u email:password
İşlem kayıt politikasında işlem başarısı ölçütlerini ayarlama örnekleri
Aşağıdaki tabloda, işlem başarı ölçütleri ifadesine ve API proxy'si tarafından döndürülen txProviderStatus değerine göre başarılı ve başarısız işlemlere ilişkin örnekler verilmiştir. txProviderStatus, para kazanmanın işlem başarısını belirlemek için kullandığı dahili değişkendir.
| Başarı ölçütü ifadesi | Geçerli ifade mi? | API proxy'sinden alınan txProviderStatus değeri | Değerlendirme sonucu |
|---|---|---|---|
null |
doğru | "200" |
yanlış |
"" |
yanlış | "200" |
yanlış |
" " |
yanlış | "200" |
yanlış |
"sdfsdfsdf" |
yanlış | "200" |
yanlış |
"txProviderStatus =='100'" |
doğru | "200" |
yanlış |
"txProviderStatus =='200'" |
doğru | "200" |
doğru |
"true" |
doğru | "200" |
doğru |
"txProviderStatus=='OK' OR |
doğru | "OK" |
doğru |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
doğru | "OK" |
doğru |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
doğru | "Not Found" |
doğru |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
doğru | "Bad Request" |
doğru |
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
doğru | "Bad Request" |
doğru |
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
doğru | null |
yanlış |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
doğru | "bad request" |
doğru |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
doğru | "Redirect" |
yanlış |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
doğru | "heeeelllooo" |
yanlış |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
doğru | null |
yanlış |
"txProviderStatus == 100" |
doğru | "200" |
yanlış |