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, yalnızca Integrations -> Webhooks sayfasının Events names bölümünde seçtiğiniz olayları size 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 değişir. Kullanıcı nitelikleri, ayarladığınız özel kullanıcı nitelikleridir, dolayısıyla yapılandırdığınız verileri içerirler. 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ği verilmiştir:
{
"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 | Reklam kimliği (yalnızca Android). |
| attributions | JSON | Attribution verisi. Webhook ayarları’nda Send Attribution etkinleştirilmişse dahil edilir. |
| customer_user_id | String | Kullanıcıları tanımlarken uygulama kodunuzda ayarladığınız kullanıcı kimliği (UUID, e-posta veya başka bir kimlik). Kullanıcıları uygulama kodunda tanımlamıyorsanız ya da bu kullanıcı anonim ise (oturum açmamış), bu alan null olur. |
| String | Adapty SDK’daki updateProfile metoduyla veya sunucu tarafı API aracılığıyla profil oluşturma/güncelleme sırasında ayarladığınız kullanıcı e-postası. email değerini SDK’ya veya API metoduna iletmezseniz bu alan null olur. | |
| event_api_version | Integer | Adapty API sürümü (güncel: 1). |
| event_datetime | ISO 8601 | ISO 8601 formatında etkinlik zaman damgası (örn. 2020-07-10T15:00:00.000000+0000). |
| event_properties | JSON | Etkinlik özellikleri. |
| event_type | String | Adapty formatındaki etkinlik adı. Tam liste için bkz. Webhook etkinlik türleri. |
| idfa | UUID | Reklam kimliği (yalnızca Apple). Adapty Kontrol Paneli’ndeki profilde IDFA. İzleme kısıtlamaları, çocuk modu veya gizlilik ayarları nedeniyle kullanılamıyorsa null olabilir. |
| idfv | UUID | Geliştirici başına benzersiz olan Vendor tanımlayıcısı (IDFV). Adapty Kontrol Paneli’ndeki profilde IDFV. |
| integration_ids | JSON | Adapty SDK’daki setIntegrationIdentifier metoduyla veya sunucu tarafı API aracılığıyla profil oluşturma/güncelleme sırasında ayarladığınız kullanıcı entegrasyon kimlikleri. Kullanılamıyorsa veya entegrasyonlar devre dışıysa null. |
| 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ımlamazsanız veya oturum açılmadan önce satın almaya izin verirseniz, bir Apple/Google kimliği farklı profil kimliğiyle ilişkilendirilebilir. Adapty’nin üst/devralınan profillerle nasıl çalıştığı hakkında daha fazla bilgi. |
| profile_install_datetime | ISO 8601 | ISO 8601 formatında kurulum zaman damgası (örn. 2020-07-10T15:00:00.000000+0000). |
| profiles_sharing_access_level | JSON | Mevcut 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. Format:
|
| user_agent | String | Cihaz tarayıcısı user-agent bilgisi. |
| user_attributes | JSON | Kullanıcı profillerini uygulamaya özgü bilgilerle zenginleştirmek için ayarlayabileceğiniz özel veriler. Genellikle kullanıcı tercihlerini (örn. tema, dil) veya davranış işaretlerini (onboarding tamamlandı, özellik kullanımı) izlemek için kullanılır. Anahtarların string, değerlerin ise string veya sayı olduğu anahtar-değer çiftleri biçiminde biçimlendirilir (örn. {"Favourite_color": "Violet", "Pet_name": "Fluffy"}). Özel nitelikleri, bireysel profiller için Adapty Kontrol Paneli’nde elle, Adapty SDK’daki updateProfile metoduyla programatik olarak veya profil oluşturma/güncelleme sırasında sunucu tarafı API aracılığıyla ayarlayabilirsiniz. Webhook ayarları’nda Send User Attributes etkinleştirilmişse dahil edilir. Mobil uygulama kodunda özel nitelik değerleri float veya string olarak ayarlanabilirken, sunucu tarafı API veya geçmiş içe aktarma yoluyla alınan nitelikler farklı formatlarda 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 olayla birlikte gönderilir. Aynı attribution verileri tüm olay 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ğının kullanıcıya atadığı ID. |
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, gerekirse 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 oluşturulan 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ğinin kendine özgü özellikleri olduğundan, bu etkinliğe ayrı bir bölüm ayırdık. Benzer şekilde, yalnızca belirli etkinlik türlerine özgü olan Ek vergi ve gelir etkinlik özellikleri de ayrı bir bölümde ele alınmaktadır.
Çoğu etkinlik türü için
Çoğu etkinlik türünün etkinlik özellikleri tutarlıdır (Access Level Updated etkinliği hariç; bu etkinlik kendi bölümünde açıklanmaktadı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 etkinlik 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 olarak 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 | Etkinliğin tarihi ve saati. Etkinliğin kök düzeyindekiyle 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ılarıdır. Orijinal satın alma tarihi, bu ilk işlemin tarih ve saatidir. |
| original_transaction_id | String | Yinelenen abonelikler için bu, yenileme zincirini birbirine bağlayan orijinal işlem ID’sidir. Orijinal işlem zincirdeki ilk işlemdir; sonraki işlemler bunun uzantıları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 yerel para birimindeki ürün fiyatı. |
| price_usd | Float | Apple/Google kesintisi öncesi USD cinsinden ürün fiyatı. |
| profile_country | String | Adapty tarafından profil IP’sine göre belirlenir. |
| profile_event_id | UUID | Tekilleştirme amacıyla kullanılabilecek benzersiz etkinlik 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 tarafından oluşturulan profil ID’si. Etkinliğin kök düzeyindekiyle 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 döner. |
| 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ıllık kesintisiz yenilemeden sonra indirimli komisyon oranına (%15) hak kazanıp kazanmadığını gösteren 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 tarafı 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” biçiminde iletilir; örneğin “7 days”. Yalnızca denemeyle ilgili etkinlik türlerinde bulunur: trial_started, trial_converted, trial_cancelled. |
| variation_id | UUID | Satın almanın yapıldığı 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 etkinliği ö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 belirtilen ek alanları içerir.
Vergi ve gelir etkinliği ö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 payı ve vergiler düşüldükten sonraki gelir) yerel para biriminde. | | net_revenue_usd | Float | Net gelir (Apple/Google payı ve vergiler düşüldükten sonraki gelir) USD cinsinden. | | proceeds_local | Float | Apple/Google payı düşüldükten sonraki ürün fiyatı, yerel para biriminde. | | proceeds_usd | Float | Apple/Google payı düşüldükten sonraki ürün fiyatı. | | tax_amount_local | Float | Kesilen vergi tutarı, yerel para biriminde. | | tax_amount_usd | Float | Kesilen 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ştirildiğinde, 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’ını güncelleyebilir, arka uçta premium özelliklere erişim verebilir ya da iptal edebilir ve farklı cihaz ile platformlar arasında erişimi senkronize tutabilirsiniz.
| Özellik | Tür | Açıklama |
|---|---|---|
| ab_test_name | String | İşlemin başladığı 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 | Ödeme sorununun tespit edildiği tarih ve saat. |
| 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 başladığı 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ı belirten boolean değer. |
| is_in_grace_period | Boolean | Profilin ek sürede olup olmadığını belirten boolean değer. |
| is_lifetime | Boolean | Access level’ın süresiz olup olmadığını belirten boolean değer. |
| is_refund | Boolean | İşlemin iade olup olmadığını belirten boolean değer. |
| original_purchase_date | ISO 8601 date | Yinelenen aboneliklerde orijinal satın alma, zincirdeki ilk işlemdir; original transaction ID 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 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 başladığı paywall’ın adı. |
| paywall_revision | String | İşlemin başladığı paywall’ın revizyonu. Varsayılan değer 1’dir. |
| profile_country | String | Adapty tarafından profil IP’sine göre belirlenir. |
| profile_event_id | UUID | Tekilleştirme için 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 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 aracılığıyla özel mağaza işlemleri ayarlarsanız, 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 süresi (ör. “7 days”). |
| variation_id | UUID | Satın almaları bu paywall’a atfetmek için kullanılan varyant tanımlayıcısı. |
| vendor_product_id | String | Mağazadaki ürün ID’si (Apple/Google/Stripe). |
| will_renew | Boolean | Ücretli access level’ın yenilenip yenilenmeyeceğini belirtir. |
Bu yapının zamanla büyüyebileceğini unutmayın — bizim tarafımızdan veya birlikte çalıştığımız üçüncü taraflarca yeni veriler eklenebilir. Bu yapıyı işleyen kodunuzun yeterince sağlam olduğundan ve tüm yapıya değil, belirli alanlara dayandığından emin olun.