---
title: "Webhook olay türleri ve alanları"
description: ""
---

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 \{#webhook-event-types\}

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ı](event-flows) sayfamıza bakabilirsiniz. İhtiyaç duymadığınız olay türlerini, [Webhook entegrasyonunuzu ayarlarken](set-up-webhook-integration#configure-webhook-integration-in-the-adapty-dashboard) 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](https://developer.android.com/google/play/billing/lifecycle/subscriptions#pause) özelliğini etkinleştirdiğinde gerçekleşir (yalnızca Android). |
| subscription_deferred | Abonelik satın alımı [ertelendiğinde](https://adapty.io/glossary/subscription-purchase-deferral/) 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ı \{#webhook-event-structure\}

Adapty, yalnızca [Integrations -> Webhooks](https://app.adapty.io/integrations/customwebhook) 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](setting-user-attributes#custom-user-attributes), 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:
```json title="Json" showLineNumbers
{
  "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": "john.doe@company.com",
  "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ı \{#event-fields\}

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-event-types-and-fields#attributions). [Webhook ayarları](https://app.adapty.io/integrations/customwebhook)'nda **Send Attribution** etkinleştirilmişse dahil edilir. |
| **customer_user_id** | String | Kullanıcıları [tanımlarken](ios-quickstart-identify) 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. |
| **email** | String | Adapty SDK'daki [`updateProfile`](setting-user-attributes) 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](https://www.iso.org/iso-8601-date-and-time-format.html) formatında etkinlik zaman damgası (örn. `2020-07-10T15:00:00.000000+0000`). |
| **event_properties** | JSON | [Etkinlik özellikleri](webhook-event-types-and-fields#event-properties). |
| **event_type** | String | Adapty formatındaki etkinlik adı. Tam liste için bkz. [Webhook etkinlik türleri](webhook-event-types-and-fields#webhook-event-types). |
| **idfa** | UUID | Reklam kimliği (yalnızca Apple). [Adapty Kontrol Paneli](https://app.adapty.io/profiles/users)'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](https://app.adapty.io/profiles/users)'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-event-types-and-fields#play-store-purchase-token); [Webhook ayarları](https://app.adapty.io/integrations/customwebhook)'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](how-profiles-work#parent-and-inheritor-profiles). |
| **profile_install_datetime** | ISO 8601 | [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) 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](general#6-sharing-paid-access-between-user-accounts) 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.<br/>Format: <ul><li>**profile_id**: (UUID) Adapty kimliği</li><li>**customer_user_id**: (String) Sağlanmışsa Customer User ID</li></ul> |
| **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. <br/>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"}`). <br/>Ö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. <br/>[Webhook ayarları](https://app.adapty.io/integrations/customwebhook)'nda **Send User Attributes** etkinleştirilmişse dahil edilir. <p>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.</p> |
### Attribution'lar \{#attributions\}

Attribution verilerini göndermek için [Integrations -> Webhooks](https://app.adapty.io/integrations/customwebhook) sayfasındaki **Send Attribution** seçeneğini etkinleştirin. Attribution verisi göndermeyi etkinleştirdiyseniz ve [attribution entegrasyonları](attribution-integration) kurduysanız, aşağıdaki veriler her kaynak için olayla birlikte gönderilir. Aynı attribution verileri tüm olay türlerine gönderilir.
```json title="Json" showLineNumbers
{
  "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 \{#integration-ids\}

Aşağıdaki entegrasyon ID'leri artık etkinliklerde kullanılmaktadır:

- `adjust_device_id`
- `airbridge_device_id`
- `amplitude_device_id`
- `amplitude_user_id`
- `appmetrica_device_id`
- `appmetrica_profile_id`
- `appsflyer_id`
- `branch_id`
- `facebook_anonymous_id`
- `firebase_app_instance_id`
- `mixpanel_user_id`
- `pushwoosh_hwid`
- `one_signal_player_id`
- `one_signal_subscription_id`
- `tenjin_analytics_installation_id`
- `posthog_distinct_user_id`
### Play Store satın alma token'ı \{#play-store-purchase-token\}

Bu alan, gerekirse bir satın almayı yeniden doğrulamak için gereken tüm verileri içerir. Yalnızca [Webhook entegrasyon ayarları](https://app.adapty.io/integrations/customwebhook)'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 \{#event-properties\}

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](webhook-event-types-and-fields#for-access-level-updated-event) 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](webhook-event-types-and-fields#additional-tax-and-revenue-event-properties) de ayrı bir bölümde ele alınmaktadır.

#### Çoğu etkinlik türü için \{#for-most-event-types\}
Ç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 testi](ab-tests)nin 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](https://support.google.com/googleplay/android-developer/answer/12154973) veya Stripe'taki [fiyat ID'si](https://docs.stripe.com/products-prices/how-products-and-prices-work#use-products-and-prices). |
| **cancellation_reason** | String | <p>Olası iptal nedenleri: `voluntarily_cancelled`, `billing_error`, `price_increase`, `product_was_not_available`, `refund`, `cancelled_by_developer`, `new_subscription_replace`, `upgraded`, `unknown`, `adapty_revoked`.</p><p>Şu etkinlik türlerinde bulunur:</p>`subscription_cancelled`, `subscription_refunded` ve `trial_cancelled`. |
| **cohort_name** | String | Kullanıcıya hangi paywallın gösterileceğini belirleyen [kitlenin](audience) 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](placements)ı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 | <p>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.</p><p>Uzantı yoksa `original_transaction_id`, store_transaction_id ile eşleşir.</p> |
| **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](https://app.adapty.io/settings/general) **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](offers) 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](controls-filters-grouping-compare-proceeds#store-commission-and-taxes) 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**. <br/>Sunucu tarafı API aracılığıyla [özel mağaza işlemleri](api-adapty/operations/setTransaction) 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 \{#additional-tax-and-revenue-event-properties\}

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](webhook-event-types-and-fields#for-most-event-types) 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_renewed`
- `subscription_initial_purchase`
- `subscription_refunded`
- `non_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 \{#for-access-level-updated-event\}

**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ı](general#6-sharing-paid-access-between-user-accounts) etkinleştirdiyseniz, **access level updated** etkinliği, access level'ı paylaşan tüm profiller için gönderilir.
:::tip
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](https://support.google.com/googleplay/android-developer/answer/12154973) veya Stripe'taki [fiyat ID'si](https://docs.stripe.com/products-prices/how-products-and-prices-work#use-products-and-prices). |
| **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 | <p>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.</p><p>Uzantı yoksa `original_transaction_id`, store_transaction_id ile aynıdır.</p>Orijinal satın almanın işlem tanımlayıcısı. |
| **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**. <br/>Sunucu tarafı API aracılığıyla [özel mağaza işlemleri](api-adapty/operations/setTransaction) 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. |
:::warning
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.
:::