Webhook olay türleri ve alanları
Adapty, abonelik olaylarına karşılık olarak webhook’lar gönderir. Bu bölümde bu olay türleri ve her webhook’ta yer alan veriler açıklanmaktadır.
Webhook olay türleri
Tüm olay türlerini webhook’unuza gönderebilir veya yalnızca bir kısmını seçebilirsiniz. Ne tür gelen veriler bekleyeceğinizi ve bunların etrafında iş mantığınızı nasıl oluşturacağınızı öğrenmek için Olay akışları sayfamıza bakabilirsiniz. İhtiyaç duymadığınız olay türlerini, Webhook entegrasyonunuzu ayarlarken devre dışı bırakabilirsiniz. Gerekirse Adapty’nin varsayılan olay kimliklerini kendi kimliklerinizle de değiştirebilirsiniz.
| Event name | Description |
|---|---|
| subscription_started | Kullanıcı deneme süresi olmaksızın ücretli bir abonelik etkinleştirdiğinde, yani anında ücretlendirildiğinde tetiklenir. |
| subscription_renewed | Abonelik yenilendiğinde ve kullanıcı ücretlendirildiğinde gerçekleşir. Bu olay, deneme süreli veya deneme süresiz aboneliklerde ikinci ödemeden itibaren başlar. |
| subscription_renewal_cancelled | Kullanıcı abonelik otomatik yenilemesini kapattığında tetiklenir. Kullanıcı, ücretli abonelik süresi sonuna kadar premium özelliklere erişmeye devam eder. |
| subscription_renewal_reactivated | Kullanıcı abonelik otomatik yenilemesini yeniden etkinleştirdiğinde tetiklenir. |
| subscription_expired | İptal edilen bir abonelik tamamen sona erdiğinde tetiklenir. Örneğin, kullanıcı aboneliğini 12 Aralık’ta iptal etmiş ancak abonelik 31 Aralık’a kadar aktif kalmaya devam ediyorsa, olay aboneliğin sona erdiği 31 Aralık’ta kaydedilir. |
| subscription_paused | Kullanıcı abonelik duraklatma özelliğini etkinleştirdiğinde gerçekleşir (yalnızca Android). |
| subscription_deferred | Abonelik satın alımı ertelendiğinde tetiklenir; kullanıcılar premium özelliklere erişimlerini sürdürürken ödemeyi geciktirebilir. Bu özellik Google Play Developer API aracılığıyla kullanılabilir ve ücretsiz denemeler için ya da mali güçlük yaşayan kullanıcılara destek sağlamak amacıyla kullanılabilir. |
| non_subscription_purchase | Süresiz erişim veya oyun içi coin gibi consumable ürünler dahil, abonelik dışındaki tüm satın almalar. |
| trial_started | Kullanıcı deneme aboneliği etkinleştirdiğinde tetiklenir. |
| trial_converted | Deneme süresi sona erdiğinde ve kullanıcı ücretlendirildiğinde (ilk satın alma) gerçekleşir. Örneğin, kullanıcının denemesi 14 Ocak’a kadar sürüyor ancak 7 Ocak’ta ücretlendiriliyorsa, bu olay 7 Ocak’ta kaydedilir. |
| trial_renewal_cancelled | Kullanıcı deneme süresi boyunca abonelik otomatik yenilemesini kapattığında tetiklenir. Kullanıcı deneme süresi sonuna kadar premium özelliklere erişmeye devam eder; ancak ücretlendirilmez ve abonelik başlatılmaz. |
| trial_renewal_reactivated | Kullanıcı deneme süresi boyunca abonelik otomatik yenilemesini yeniden etkinleştirdiğinde gerçekleşir. |
| trial_expired | Deneme süresi aboneliğe dönüşmeden sona erdiğinde tetiklenir. |
| entered_grace_period | Ödeme girişimi başarısız olduğunda ve kullanıcı ek süreye girdiğinde gerçekleşir (etkinleştirilmişse). Kullanıcı bu süre boyunca premium erişimini korur. |
| billing_issue_detected | Ücretlendirme girişimi sırasında bir ödeme sorunu oluştuğunda (örn. yetersiz kart bakiyesi) tetiklenir. |
| subscription_refunded | Bir abonelik iade edildiğinde (örn. Apple Support tarafından) tetiklenir. |
| non_subscription_purchase_refunded | Abonelik dışı bir satın alma iade edildiğinde tetiklenir. |
| access_level_updated | Kullanıcının access level’ı güncellendiğinde gerçekleşir. |
Webhook olay yapısı
Adapty, size yalnızca Integrations -> Webhooks sayfasının Events names bölümünde seçtiğiniz olayları gönderir.
Webhook olayları JSON formatında serileştirilir. Sunucunuza gönderilen POST isteğinin gövdesi, aşağıdaki yapıya sarılmış serileştirilmiş olayı içerir. Tüm olaylar aynı yapıyı takip eder, ancak alanları olay türüne, mağazaya ve özel yapılandırmanıza göre farklılık gösterir. Kullanıcı özellikleri, ayarladığınız özel kullanıcı özelliklerini içerir; yani yapılandırdığınız verileri barındırır. Attribution verisi alanları tüm olay türleri için aynıdır; ancak attribution listesi, mobil uygulamanızda kullandığınız attribution kaynaklarına bağlıdır. Aşağıda bir olay örneğini görebilirsiniz:
{
"profile_id": "00000000-0000-0000-0000-000000000000",
"customer_user_id": "UserIdInYourSystem",
"idfv": "00000000-0000-0000-0000-000000000000",
"idfa": "00000000-0000-0000-0000-000000000000",
"advertising_id": "00000000-0000-0000-0000-000000000000",
"profile_install_datetime": "2000-01-31T00:00:00.000000+0000",
"user_agent": "ExampleUserAgent/1.0 (Device; OS Version) Browser/Engine",
"email": "[email protected]",
"event_type": "subscription_started",
"event_datetime": "2000-01-31T00:00:00.000000+0000",
"event_properties": {
"store": "play_store",
"currency": "USD",
"price_usd": 4.99,
"profile_id": "00000000-0000-0000-0000-000000000000",
"cohort_name": "All Users",
"environment": "Production",
"price_local": 4.99,
"base_plan_id": "b1",
"developer_id": "onboarding_placement",
"ab_test_name": "onboarding_ab_test",
"ab_test_revision": 1,
"paywall_name": "UsedPaywall",
"proceeds_usd": 4.2315,
"variation_id": "00000000-0000-0000-0000-000000000000",
"purchase_date": "2024-11-15T10:45:36.181000+0000",
"store_country": "AR",
"event_datetime": "2000-01-31T00:00:00.000000+0000",
"proceeds_local": 4.2415,
"tax_amount_usd": 0,
"transaction_id": "0000000000000000",
"net_revenue_usd": 4.2415,
"profile_country": "AR",
"paywall_revision": "1",
"profile_event_id": "00000000-0000-0000-0000-000000000000",
"tax_amount_local": 0,
"net_revenue_local": 4.2415,
"vendor_product_id": "onemonth_no_trial",
"profile_ip_address": "10.10.1.1",
"consecutive_payments": 1,
"rate_after_first_year": false,
"original_purchase_date": "2000-01-31T00:00:00.000000+0000",
"original_transaction_id": "0000000000000000",
"subscription_expires_at": "2000-01-31T00:00:00.000000+0000",
"profile_has_access_level": true,
"profile_total_revenue_usd": 4.99,
"promotional_offer_id": null,
"store_offer_category": null,
"store_offer_discount_type": null
},
"event_api_version": 1,
"profiles_sharing_access_level": [{"profile_id": "00000000-0000-0000-0000-000000000000", "customer_user_id": "UserIdInYourSystem"}],
"attributions": {
"appsflyer": {
"ad_set": "Keywords 1.12",
"status": "non_organic",
"channel": "Google Ads",
"ad_group": null,
"campaign": "Social media influencers - Rest of the world",
"creative": null,
"created_at": "2000-01-31T00:00:00.000000+0000"
}
},
"user_attributes": {"Favourite_color": "Violet", "Pet_name": "Fluffy"},
"integration_ids": {"firebase_app_instance_id": "val1", "branch_id": "val2", "one_signal_player_id": "val3"},
"play_store_purchase_token": {
"product_id": "product_123",
"purchase_token": "token_abc_123",
"is_subscription": true
}
}
Etkinlik alanları
Etkinlik parametreleri tüm etkinlik türleri için aynıdır.
| Alan | Tür | Açıklama |
|---|---|---|
| advertising_id | UUID | Reklamcılık kimliği (yalnızca Android). |
| attributions | JSON | Attribution verisi. Webhook ayarlarında Send Attribution etkinleştirilmişse dahil edilir. |
| customer_user_id | String | Uygulamanızdaki kullanıcı kimliği (UUID, e-posta veya başka bir kimlik); kullanıcıları tanımlarken uygulama kodunuzda ayarladıysanız geçerlidir. Uygulama kodunda kullanıcıları tanımlamıyorsanız veya bu kullanıcı anonim ise (giriş yapmamışsa) bu alan null olur. |
| String | Adapty SDK’daki updateProfile metodunu ya da sunucu taraflı API üzerinden profil oluştururken/güncellerken email değerini ayarladıysanız kullanıcının e-posta adresi. email değerini SDK’ya veya API metoduna iletmiyorsanız bu alan null olur. | |
| event_api_version | Integer | Adapty API sürümü (güncel: 1). |
| event_datetime | ISO 8601 | ISO 8601 biçiminde etkinlik zaman damgası (örneğin 2020-07-10T15:00:00.000000+0000). |
| event_properties | JSON | Etkinlik özellikleri. |
| event_type | String | Adapty biçiminde etkinlik adı. Tam liste için bkz. Webhook etkinlik türleri. |
| idfa | UUID | Reklamcılık kimliği (yalnızca Apple). Adapty Kontrol Paneli’ndeki profilde IDFA olarak görünür. Takip kısıtlamaları, çocuk modu veya gizlilik ayarları nedeniyle kullanılamıyorsa null olabilir. |
| idfv | UUID | Geliştirici başına benzersiz olan Satıcı Tanımlayıcısı (IDFV). Adapty Kontrol Paneli’ndeki profilde IDFV olarak görünür. |
| integration_ids | JSON | Adapty SDK’daki setIntegrationIdentifier metodunu kullanarak ya da sunucu taraflı API üzerinden profil oluştururken/güncellerken ayarladığınız kullanıcı entegrasyon kimlikleri. Kullanılamıyorsa veya entegrasyonlar devre dışıysa null olur. |
| play_store_purchase_token | JSON | Play Store satın alma token’ı; Webhook ayarlarında Send Play Store purchase token etkinleştirilmişse dahil edilir. |
| profile_id | UUID | Adapty’nin her profil için otomatik olarak oluşturduğu profil kimliği. Kullanıcıları tanımlamıyorsanız veya oturum açmadan önce satın alma işlemine izin veriyorsanız, tek bir Apple/Google kimliği farklı profil kimlikleriyle ilişkilendirilebilir. Adapty’nin üst/devralınan profillerle nasıl çalıştığı hakkında daha fazla bilgi edinin. |
| profile_install_datetime | ISO 8601 | ISO 8601 biçiminde kurulum zaman damgası (örneğin 2020-07-10T15:00:00.000000+0000). |
| profiles_sharing_access_level | JSON | Geçerli kullanıcı profili hariç access level paylaşan kullanıcıların listesi. Uygulamanızda access level paylaşımı etkinleştirilmişse bu liste, aynı Apple/Google kimliğiyle kullanılmış diğer profilleri içerir. Biçim:
|
| user_agent | String | Cihaz tarayıcısının user-agent değeri. |
| user_attributes | JSON | Kullanıcı profillerini uygulamaya özgü bilgilerle zenginleştirmek için ayarlayabileceğiniz özel veriler. Genellikle kullanıcı tercihlerini (örneğin tema, dil) veya davranış bayraklarını (onboarding tamamlandı, özellik kullanımı) izlemek için kullanılır. Anahtarların dize, değerlerin ise dize ya da sayı olduğu anahtar-değer çiftleri biçimindedir (örneğin {"Favourite_color": "Violet", "Pet_name": "Fluffy"}).Özel attributeları Adapty Kontrol Paneli’nde bireysel profiller için elle, Adapty SDK’daki updateProfile metodu aracılığıyla programatik olarak ya da sunucu taraflı API üzerinden profil oluştururken/güncellerken ayarlayabilirsiniz.Webhook ayarlarında Send User Attributes etkinleştirilmişse dahil edilir. Mobil uygulama kodundaki özel attribute değerleri float veya dize olarak ayarlanabilirken, sunucu taraflı API veya geçmiş içe aktarma yoluyla alınan attributelar farklı biçimlerde gelebilir. Bu durumda boolean ve integer değerler float’a dönüştürülür. |
Attribution’lar
Attribution verilerini göndermek için Integrations -> Webhooks sayfasındaki Send Attribution seçeneğini etkinleştirin. Attribution verisi göndermeyi etkinleştirdiyseniz ve attribution entegrasyonları kurduysanız, aşağıdaki veriler her kaynak için etkinlikle birlikte gönderilir. Aynı attribution verileri tüm etkinlik türlerine gönderilir.
{
"attributions": {
"appsflyer": {
"ad_set": "sample_ad_set_123",
"status": "non_organic",
"channel": "sample_channel",
"ad_group": "sample_ad_group_456",
"campaign": "sample_ios_campaign",
"creative": "sample_creative_789",
"created_at": "2000-01-31T00:00:00.000000+0000",
"network_user_id": "0000000000000-0000000"
}
}
}
| Alan adı | Alan türü | Açıklama |
|---|---|---|
| ad_set | String | Attribution reklam seti. |
| status | String | organic, non_organic, veya unknown olabilir. |
| channel | String | Pazarlama kanalı adı. |
| ad_group | String | Attribution reklam grubu. |
| campaign | String | Pazarlama kampanyası adı. |
| creative | String | Attribution kreatif anahtar kelimesi. |
| created_at | ISO 8601 date | Attribution kaydının oluşturulma tarihi ve saati. |
| network_user_id | String | Attribution kaynağı tarafından kullanıcıya atanan kimlik. |
Entegrasyon ID’leri
Aşağıdaki entegrasyon ID’leri artık etkinliklerde kullanılmaktadır:
adjust_device_idairbridge_device_idamplitude_device_idamplitude_user_idappmetrica_device_idappmetrica_profile_idappsflyer_idbranch_idfacebook_anonymous_idfirebase_app_instance_idmixpanel_user_idpushwoosh_hwidone_signal_player_idone_signal_subscription_idtenjin_analytics_installation_idposthog_distinct_user_id
Play Store satın alma token’ı
Bu alan, gerektiğinde bir satın almayı yeniden doğrulamak için gereken tüm verileri içerir. Yalnızca Webhook entegrasyon ayarları’nda Send Play Store purchase token seçeneği etkinleştirilmişse gönderilir.
| Alan | Tür | Açıklama |
|---|---|---|
| product_id | String | Play Store’da satın alınan ürünün benzersiz tanımlayıcısı (SKU). |
| purchase_token | String | Google Play tarafından bu satın alma işlemini benzersiz şekilde tanımlamak için üretilen token. |
| is_subscription | Boolean | Satın alınan ürünün abonelik (true) mi yoksa tek seferlik satın alma (false) mı olduğunu belirtir. |
Etkinlik özellikleri
Etkinlik özellikleri, etkinlik türüne ve hatta aynı türdeki etkinlikler arasında bile farklılık gösterebilir. Örneğin, App Store’dan gelen bir etkinlik, base_plan_id gibi Android’e özgü özellikler içermez.
Access Level Updated etkinliği kendine özgü özelliklere sahip olduğundan, bu etkinliğe ayrı bir bölüm ayırdık. Benzer şekilde, yalnızca belirli etkinlik türlerine özgü oldukları için Ek vergi ve gelir etkinlik özellikleri de ayrı bir bölümde ele alınmaktadır.
Çoğu etkinlik türü için
Access Level Updated etkinliği dışındaki çoğu etkinlik türü için etkinlik özellikleri tutarlıdır (Access Level Updated etkinliği kendi bölümünde açıklanmıştır). Aşağıda, özellikleri vurgulayan ve hangi etkinliklere ait olduklarını gösteren kapsamlı bir tablo yer almaktadır.
| Alan | Tür | Açıklama |
|---|---|---|
| ab_test_name | String | İşlemin gerçekleştiği Adapty A/B testinin adı. |
| ab_test_revision | Integer | İşlemin gerçekleştiği A/B testinin revizyonu. |
| base_plan_id | String | Google Play Store’daki temel plan ID’si veya Stripe’taki fiyat ID’si. |
| cancellation_reason | String | Olası iptal nedenleri: Şu olay türlerinde bulunur: subscription_cancelled, subscription_refunded ve trial_cancelled. |
| cohort_name | String | Kullanıcıya hangi paywallın gösterileceğini belirleyen kitlenin adı. |
| consecutive_payments | Integer | Kullanıcının kesintisiz abone olduğu dönem sayısı. Mevcut dönemi de içerir. |
| currency | String | Yerel para birimi. |
| developer_id | String | İşlemin gerçekleştiği placement’ın ID’si. |
| environment | String | Olası değerler: Sandbox veya Production. |
| event_datetime | ISO 8601 date | Olayın tarihi ve saati. Olayın kök düzeyindeki değerle aynıdır. |
| original_purchase_date | ISO 8601 date | Yinelenen abonelikler için orijinal satın alma, zincirdeki ilk işlemdir; orijinal işlem ID’si olarak adlandırılan bu ID yenileme zincirini birbirine bağlar. Sonraki işlemler bunun uzantısıdır. Orijinal satın alma tarihi, bu ilk işlemin tarih ve saatidir. |
| original_transaction_id | String | Yinelenen abonelikler için, yenileme zincirini birbirine bağlayan orijinal işlem ID’sidir. Orijinal işlem zincirdeki ilkidir; sonraki işlemler bunun uzantısıdır. Uzantı yoksa |
| paywall_name | String | İşlemin gerçekleştiği paywallın adı. |
| paywall_revision | String | İşlemin gerçekleştiği paywallın revizyonu. Varsayılan değer 1’dir. |
| price_local | Float | Apple/Google kesintisi öncesi ürün fiyatı (yerel para birimi cinsinden). |
| price_usd | Float | Apple/Google kesintisi öncesi ürün fiyatı (USD cinsinden). |
| profile_country | String | Adapty tarafından profil IP’sine göre belirlenir. |
| profile_event_id | UUID | Tekilleştirme amacıyla kullanılabilecek benzersiz olay ID’si. |
| profile_has_access_level | Boolean | Profilin aktif bir access level’a sahip olup olmadığını belirten boolean değer. |
| profile_id | UUID | Adapty tarafından oluşturulan profil ID’si. Olayın kök düzeyindeki değerle aynıdır. |
| profile_ip_address | String | Profil IP’si (IPv4 veya IPv6 olabilir; mevcut olduğunda IPv4 tercih edilir). Uygulama ayarlarında Collect users’ IP addresses devre dışıysa null olur. |
| profile_total_revenue_usd | Float | İadeler düşüldükten sonra profile ait toplam gelir. |
| promotional_offer_id | String | Kullanılan promosyon teklifinin Adapty ID’si. Bu ID’yi kontrol panelinde teklif oluştururken siz belirlersiniz. |
| purchase_date | ISO 8601 date | Ürünün satın alındığı tarih ve saat. |
| rate_after_first_year | Boolean | Aboneliğin bir yıl kesintisiz yenileme sonrasında indirimli komisyon oranına (genellikle %15) hak kazanıp kazanmadığını belirten boolean değer. Komisyon oranları programa uygunluk ve ülkeye göre değişir. Ayrıntılar için Mağaza komisyonu ve vergiler bölümüne bakın. |
| store | String | Ürünün satın alındığı mağaza. Standart değerler: app_store, play_store, stripe, paddle. Sunucu taraflı API aracılığıyla özel mağaza işlemleri ayarladıysanız, store parametresindeki değer kullanılır. |
| store_country | String | Uygulama mağazası tarafından iletilen ülke bilgisi. |
| store_offer_category | String | Uygulanan teklif kategorisi. Olası değerler: introductory, promotional, winback. |
| store_offer_discount_type | String | Uygulanan teklif türü. Olası değerler: free_trial, pay_as_you_go ve pay_up_front. |
| subscription_expires_at | ISO 8601 date | Aboneliğin sona erme tarihi. Genellikle gelecekte bir tarihtir. |
| transaction_id | String | İşlem için benzersiz tanımlayıcı. |
| trial_duration | String | Deneme süresinin gün cinsinden uzunluğu. ” days” formatında gönderilir; örneğin “7 days”. Yalnızca denemeyle ilgili olay türlerinde bulunur: trial_started, trial_converted, trial_cancelled. |
| variation_id | UUID | Satın almanın gerçekleştiği paywallın benzersiz ID’si. |
| vendor_product_id | String | Apple App Store, Google Play Store veya Stripe’taki ürün ID’si. |
Ek vergi ve gelir etkinlik özellikleri
Aşağıdaki vergi ve gelirle ilgili etkinlik özellikleri, yalnızca belirli etkinlik türlerine uygulanan ek alanlardır. Yani listelenen etkinlik türleri, Çoğu etkinlik türü için etkinlik özellikleri bölümündeki alanları ve aşağıda listelenen ek alanları içerir.
Vergi ve gelir etkinlik özelliklerine sahip etkinlik türleri:
subscription_renewedsubscription_initial_purchasesubscription_refundednon_subscription_purchase| Alan | Tür | Açıklama | | :-------------------- | :---- | :----------------------------------------------------------- | | net_revenue_local | Float | Net gelir (Apple/Google komisyonu ve vergiler düşüldükten sonraki gelir) yerel para biriminde. | | net_revenue_usd | Float | Net gelir (Apple/Google komisyonu ve vergiler düşüldükten sonraki gelir) USD cinsinden. | | proceeds_local | Float | Apple/Google komisyonu düşüldükten sonraki ürün fiyatı yerel para biriminde. | | proceeds_usd | Float | Apple/Google komisyonu düşüldükten sonraki ürün fiyatı. | | tax_amount_local | Float | Düşülen vergi tutarı yerel para biriminde. | | tax_amount_usd | Float | Düşülen vergi tutarı USD cinsinden. |
Access Level Updated etkinliği için
Access Level Updated etkinliği, yalnızca Webhook entegrasyonu etkin olduğunda ve bu etkinlik türü etkinleştirildiğinde oluşturulan özel bir webhook etkinliğidir. Etkinleştirilmişse yapılandırılmış Webhook’a gönderilir ve Event Feed’de görünür. Etkinleştirilmemişse etkinlik oluşturulmaz.
Access level paylaşımını etkinleştirdiyseniz, access level updated etkinliği, access level’ı paylaşan tüm profiller için gönderilir.
Bu etkinliği kullanarak veritabanınızdaki kullanıcının access level bilgisini güncelleyebilir, arka uçta premium özellikleri etkinleştirebilir veya kaldırabilir ve farklı cihaz ya da platformlarda erişimi senkronize tutabilirsiniz.
| Özellik | Tür | Açıklama |
|---|---|---|
| ab_test_name | String | İşlemin kaynaklandığı A/B testinin adı. |
| access_level_id | String | Access level’ın ID’si. |
| activated_at | ISO 8601 date | Erişimin en son etkinleştirildiği tarih ve saat. |
| active_introductory_offer_type | String | Uygulanan başlangıç teklifinin türü. Olası değerler: free_trial, pay_as_you_go ve pay_up_front. |
| active_promotional_offer_id | String | Adapty Kontrol Paneli’nin Ürün bölümünde belirtilen promosyon teklifinin ID’si. |
| active_promotional_offer_type | String | Uygulanan promosyon teklifinin türü. Olası değerler: free_trial, pay_as_you_go ve pay_up_front. |
| base_plan_id | String | Google Play Store’daki temel plan ID’si veya Stripe’taki fiyat ID’si. |
| billing_issue_detected_at | ISO 8601 date | Faturalandırma sorununun tarih ve saati. |
| cancellation_reason | String | Olası iptal nedenleri: voluntarily_cancelled, billing_error, price_increase, product_was_not_available, refund, cancelled_by_developer, new_subscription_replace, upgraded, unknown, adapty_revoked. |
| cohort_name | String | Profilin ait olduğu kitlenin adı. |
| currency | String | Yerel para birimi (varsayılan: USD). |
| developer_id | String | İşlemin kaynaklandığı placement’ın ID’si. |
| environment | String | Olası değerler: Sandbox veya Production. |
| event_datetime | ISO 8601 date | Olayın tarih ve saati. |
| expires_at | ISO 8601 date | Erişimin sona ereceği tarih ve saat. |
| is_active | Boolean | Access level’ın aktif olup olmadığını gösteren boolean değer. |
| is_in_grace_period | Boolean | Profilin ek süre içinde olup olmadığını gösteren boolean değer. |
| is_lifetime | Boolean | Access level’ın süresiz olup olmadığını gösteren boolean değer. |
| is_refund | Boolean | İşlemin iade olup olmadığını gösteren boolean değer. |
| original_purchase_date | ISO 8601 date | Yinelenen aboneliklerde orijinal satın alma, zincirdeki ilk işlemdir; orijinal işlem ID’si olarak adlandırılan ID’si yenileme zincirini birbirine bağlar; sonraki işlemler bunun bir uzantısıdır. Orijinal satın alma tarihi, bu ilk işlemin tarih ve saatidir. |
| original_transaction_id | String | Yinelenen aboneliklerde, yenileme zincirini birbirine bağlayan orijinal işlem ID’sidir. Orijinal işlem zincirdeki ilk işlemdir; sonraki işlemler bunun uzantısıdır. Uzantı yoksa |
| paywall_name | String | İşlemin kaynaklandığı paywall’ın adı. |
| paywall_revision | String | İşlemin kaynaklandığı paywall’ın revizyonu. Varsayılan değer 1’dir. |
| profile_country | String | Profil IP’sine göre Adapty tarafından belirlenir. |
| profile_event_id | UUID | Tekilleştirme (deduplication) için kullanılabilecek benzersiz olay ID’si. |
| profile_has_access_level | Boolean | Profilin aktif bir access level’a sahip olup olmadığını gösteren boolean değer. |
| profile_id | UUID | Adapty dahili kullanıcı profili ID’si. |
| profile_ip_address | String | Kullanıcının profil IP adresi. |
| profile_total_revenue_usd | Float | İadeler dahil profil için toplam gelir. |
| purchase_date | ISO 8601 date | Ürünün satın alındığı tarih ve saat. |
| renewed_at | ISO 8601 date | Erişimin yenileneceği tarih ve saat. |
| starts_at | ISO 8601 date | Access level’ın başladığı tarih ve saat. |
| store | String | Ürünün satın alındığı mağaza. Standart değerler: app_store, play_store, stripe, paddle. Sunucu tarafı API’yi kullanarak özel mağaza işlemleri belirlediyseniz, store parametresindeki değer kullanılır. |
| store_country | String | Uygulama mağazası tarafından Adapty’ye gönderilen ülke. |
| subscription_expires_at | ISO 8601 date | Aboneliğin sona erme tarihi. |
| transaction_id | String | Bir işlem için benzersiz tanımlayıcı. |
| trial_duration | String | Deneme süresinin gün cinsinden uzunluğu (örn. “7 days”). |
| variation_id | UUID | Satın almaları bu paywall’a atfetmek için kullanılan bir varyant tanımlayıcısı. |
| vendor_product_id | String | Mağazadaki (Apple/Google/Stripe) ürün ID’si. |
| will_renew | Boolean | Ücretli access level’ın yenilenip yenilenmeyeceğini gösterir. |
Bu yapının zamanla büyüyebileceğini unutmayın — bizim veya birlikte çalıştığımız üçüncü tarafların yeni veriler eklemesiyle genişleyebilir. Bu yapıyı işleyen kodunuzun yeterince sağlam olduğundan ve tüm yapıya değil, belirli alanlara dayandığından emin olun.