> For the complete documentation index, see [llms.txt](https://user.netmera.com/netmera-user-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://user.netmera.com/netmera-user-guide/netmera-user-guide-tr/panel-settings/settings/messaging-and-content/message-categories.md).

# Mesaj kategorisi ayarları

Her kullanıcının kategori bazında opt-in veya abonelik iptali yapabilmesi için iş amacı ve kanala göre mesaj kategorileri tanımlayın; bunun yanında hedefleme, raporlama ve API desteği de sağlanır.

**Yol**: `Ayarlar > Mesajlaşma ve İçerik > Mesaj Kategorileri`

Mesaj Kategorileri, bir kampanyanın **iş amacı** nı tanımlar. Her mesajı gönderilme nedenine göre sınıflandırır ve *neden* gönderildiğini ve **hangi kanallara** uygulandığını belirtir. Her kullanıcı, her kategori + kanal çifti için ayrı bir opt-in durumuna sahiptir; böylece bir kullanıcı bir kanalda bir amacı kabul ederken başka bir kanalda reddedebilir. Bu durumlar kullanıcı tarafından Mobile SDK üzerinden veya marka tarafından panel ve REST API üzerinden değiştirilebilir.

Kategorilere örnekler:

* promosyonlar
* order\_tracking
* güvenlik
* işlemler
* duyurular

Bir kategori bir kanalı veya birkaç kanalı kapsayabilir. `order_tracking` Mobil Push, E-posta ve SMS için aynı anda tanımlanabilirken, `sms_otp` yalnızca SMS ile sınırlandırılabilir.

İzin, **kategori + kanal**bazında saklanır. Bir kullanıcı, `promosyonlar` Mobil Push'ta almaya devam eder `promosyonlar` E-posta'da almaya devam eder.

{% hint style="info" %}
Mesaj Kategorileri, amaç ve kanala özgü izinler için teknik yapıyı sağlar. Kuruluşunuz, geçerli düzenlemelerin gerektirdiği izin modelini, hukuki dayanağı ve metinleri belirlemekten sorumludur. Bu sayfadaki GDPR referansları yalnızca yol gösterme amaçlıdır ve hukuki tavsiye niteliği taşımaz.
{% endhint %}

### Mesaj Kategorileri Neden Önemlidir

#### 1. Amaç Bazlı İzin (Detaylı İzin Yönetimi)

Geleneksel iletişim modelleri yalnızca kanal bazlı izne dayanır:

* Push: izin verildi / verilmedi
* E-posta: izin verildi / verilmedi

Modern gizlilik standartları ve kullanıcı beklentileri daha ayrıntılı kontrol gerektirir. Kullanıcılar bazı iletişim türlerini almak isterken diğerlerini reddedebilir ve kanal başına farklı bir yanıt isteyebilir.

<table><thead><tr><th width="220">Amaç</th><th>Mobil Push</th><th>E-posta</th><th>SMS</th></tr></thead><tbody><tr><td>Promotions</td><td>Opt-out</td><td>Opt-in</td><td>Opt-out</td></tr><tr><td>Sipariş Güncellemeleri</td><td>Opt-in</td><td>Opt-in</td><td>Opt-in</td></tr><tr><td>Güvenlik Uyarıları</td><td>Opt-in</td><td>Opt-in</td><td>Opt-in</td></tr></tbody></table>

Buna **amaç bazlı izin denir**.

Bir kampanyaya bir mesaj kategorisi atandığında:

* Netmera, kullanıcının bu amaç için izin verip vermediğini kontrol eder **kampanyanın kanalında**.
* Gönderim yalnızca hem kanal izni hem de amaç izni geçerliyse gerçekleşir.
* Kullanıcı o kanalda bu kategoriden opt-out yaptıysa, mesaj otomatik olarak engellenir.

Bir kategori ataması olmadan amaç düzeyinde zorunlu kılma uygulanamaz.

#### 2. Uyumluluk ve Yönetişim

Mesaj Kategorileri, mevzuata uyumu ve iç yönetişimi sağlamaya yardımcı olur.

Şunları:

* Pazarlama içeriklerini işlemsel veya zorunlu mesajlardan ayırır.
* İşlemsel kanalların promosyon içerikleri için yanlışlıkla kullanılmasını önler.
* İletişim niyetine dair net bir denetim izi sağlar.
* Açık amaç sınırlaması gerektiren düzenlemelere uyumu destekler.

Her kampanya amacını net biçimde tanımlamalıdır. Bu, belirsizliği ve operasyonel riski azaltır.

### Gönderim Mantığı: Kanal + Amaç Modeli

Netmera mesaj gönderimini üç adımda değerlendirir:

1. **Kanal izni**\
   Kullanıcının seçilen kanal (Mobil Push, E-posta, SMS, WhatsApp, In-App, Web Push) üzerinden iletişime izin verip vermediği. Bu kapalıysa, kategori tercihleri ne olursa olsun hiçbir şey teslim edilmez.
2. **Kategori + kanal tercihi**\
   Kullanıcının bu belirli amaç için bu belirli kanalda iletişime izin verip vermediği.
3. **Kategori varsayılanı**\
   Kategori + kanal çifti için hiçbir tercih kaydı yoksa, kategorinin **Abonelik Türü** sonucu belirler.

Gönderim yalnızca ilgili tüm koşullar sağlandığında gerçekleşir.

<table><thead><tr><th width="230">Genel kanal izni</th><th width="230">Kategori + kanal tercihi</th><th>Sonuç</th></tr></thead><tbody><tr><td>AÇIK</td><td>AÇIK ya da opt-in kategoride kayıt yok</td><td>Gönderildi</td></tr><tr><td>AÇIK</td><td>Opt-out kategoride kayıt yok</td><td>Kullanıcı opt-in yapana kadar engellenir</td></tr><tr><td>AÇIK</td><td>KAPALI</td><td>Yalnızca bu kategori için engellenir. Aynı kanaldaki diğer kategoriler etkilenmez.</td></tr><tr><td>KAPALI</td><td>AÇIK</td><td>Engellendi</td></tr><tr><td>KAPALI</td><td>KAPALI</td><td>Engellendi</td></tr></tbody></table>

{% hint style="info" %}
Kategori düzeyinde abonelikten çıkma, genel kanal iznini asla değiştirmez. Bir kullanıcı bir kategori için Mobile Push'u kapatırsa, genel Mobile Push izni açık kalır ve diğer tüm push kategorileri kendi durumunu korur. Genel izin kapatılıp daha sonra tekrar açıldığında, saklanan kategori tercihleri yine geçerli olur.
{% endhint %}

#### Kanallar ve API değerleri

Aynı altı kanal panelde, REST API'de ve Mobile SDK'de kullanılabilir.

| Panel kanalı | REST API / SDK değeri |
| ------------ | --------------------- |
| Mobil Push   | `MOBILE`              |
| E-posta      | `EMAIL`               |
| SMS          | `SMS`                 |
| WhatsApp     | `WHATS_APP`           |
| Uygulama içi | `IN_APP`              |
| Web Push     | `WEB`                 |

Eksiksiz izin kurulumu için şuna bakın: [Ayrıntılı İzin Yönetimi](/netmera-user-guide/netmera-user-guide-tr/customer-data/granular-consent-management.md).

### Bir Mesaj Kategorisi Oluşturun

{% stepper %}
{% step %}

#### Mesaj Kategorilerini Açın

Şuraya gidin **Settings > Message Categories**.

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FsFThEIX0544IgYYn0DZs%2FEkran%20Resmi%202026-09-16%2020.34.03.png?alt=media&#x26;token=c2db8fba-df11-401b-9548-4d0e3e62ccae" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Oluşturun ve kaydedin

1. Tıklayın **Oluşturma**.
2. Doldurun **Kategori ID'si** ve **Kategori Adı**.
3. Şunu seçin **Kanallar** kategorinin geçerli olduğu.
4. Şunu seçin **Abonelik Türü**.
5. Tıklayın **Kaydet**.
   {% endstep %}
   {% endstepper %}

#### Alan tanımları

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2F2VRPsbxBpBgCJDBSqqgs%2FEkran%20Resmi%202026-09-16%2020.34.39.png?alt=media&#x26;token=f62a7e6d-e579-4a39-a887-17c596838616" alt="" width="563"><figcaption></figcaption></figure>

**Kategori ID'si**

İzin saklama, raporlama ve dışa aktarmada kullanılan sabit anahtar. ID **değiştirilemez**: kategori oluşturulduktan sonra değiştirilemez. Değiştirmeye çalışmak şu hatayı döndürür `Kategori oluşturulduktan sonra Kategori ID'si değiştirilemez.`

**Kategori Adı**

Panelde görünen ve REST API tarafından kullanılan insan tarafından okunabilir ad. Adlar benzersiz olmalıdır; bir kopya şu hatayı döndürür `Kategori adı zaten mevcut.` ID sabit kaldığı sürece, analizleri bozmadan adlandırma daha sonra değiştirilebilir.

**Kanallar**

Kategorinin geçerli olduğu kanallar. Mevcut seçenekler:

<table><thead><tr><th width="220">Kanal</th><th>Varsayılan durum</th></tr></thead><tbody><tr><td>Mobil Push</td><td>AÇIK</td></tr><tr><td>E-posta</td><td>AÇIK</td></tr><tr><td>SMS</td><td>AÇIK</td></tr><tr><td>WhatsApp</td><td>AÇIK</td></tr><tr><td>Uygulama içi</td><td>AÇIK</td></tr><tr><td>Web Push</td><td>AÇIK</td></tr></tbody></table>

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FuoeSsnu5slFuX59CvLRc%2FEkran%20Resmi%202026-09-16%2020.35.06.png?alt=media&#x26;token=eb57b49e-c167-4cdb-945f-8db96d23463d" alt="" width="563"><figcaption></figcaption></figure>

* Yeni bir kategoride tüm kanallar varsayılan olarak seçilir.
* Kanallar birbirinden bağımsız seçilir. Bir veya birkaç kanal etkin olabilir.
* **En az bir kanal gereklidir.** Tüm kanallar temizlenirse, **Oluşturma** / **Kaydet** devre dışı bırakılır ve alan şunu gösterir: `En az bir kanal seçilmelidir.`
* Kanal seçimi daha sonra değiştirilebilir **Düzenle** ekranına yönlendirilir.

**Abonelik Türü**

Bir kullanıcının belirli bir kanalda kategori için tercih kaydı olmadığında ne olacağını belirler.

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2Fvx5Buc7Z13YJLuuD8Dkt%2FEkran%20Resmi%202026-09-16%2020.35.15.png?alt=media&#x26;token=0e7748cb-f155-44d6-a072-f7c1260b381f" alt="" width="563"><figcaption></figcaption></figure>

<table><thead><tr><th width="180">Abonelik Türü</th><th width="230">Kaydı olmayan kullanıcılar</th><th>Saklanan değer</th></tr></thead><tbody><tr><td><strong>Opt-in</strong> (varsayılan)</td><td>Abone olundu</td><td>Yalnızca opt-out yapan kullanıcılar</td></tr><tr><td><strong>Opt-out</strong></td><td>Abone olunmadı</td><td>Yalnızca opt-in yapan kullanıcılar</td></tr></tbody></table>

Kullanın **Opt-in** Kullanıcıların varsayılan olarak alması beklenen kategoriler için, örneğin sipariş takibi veya güvenlik uyarıları gibi. Kullanın **Opt-out** İlk gönderimden önce açık izin gerektiren kategoriler için.

{% hint style="warning" %}
Mevcut bir kategorinin Abonelik Türünü değiştirmek **saklanan tüm kanal izinlerini temizler** bu kategori için. Daha önce kaydedilmiş opt-in ve opt-out durumları kaybolur, çünkü anlamları tersine döner. Bir kategoriyi silmek, izin verisini de temizler.
{% endhint %}

#### Kategori ID'si için en iyi uygulamalar

* Kısa tutun **kısa** ve **sabit** (örnek: `promo`).
* Bir **amaç**, kanal değil. Bir kategori birden fazla kanalı kapsayabilir; kapsamı belirlemek için ID'yi değil, Kanallar alanını kullanın.
* Küçük harf tercih edin ve boşluklardan kaçının (örnek: `order_tracking`).
* Yayınlandıktan sonra ID'leri değiştirmeyin. ID değiştirilemez — bunun yerine yeni bir kategori oluşturun.

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FlmnEDkUXOrj1KYDYIN1V%2FScreenshot%202026-02-19%20at%2012.06.56.png?alt=media&#x26;token=3add77cb-174b-4f62-b21f-12b2706d2694" alt=""><figcaption><p>Kategori ID'si ve Adı</p></figcaption></figure>

#### Önerilen kategori yapısı

Aynı amaç için ayrı kategoriler oluşturmayın, örneğin `push_promo`, `sms_promo`, ve `email_promo`. Tek bir `promo` kategori kullanın ve geçerli olduğu kanalları seçin. Kanal düzeyindeki izin, o tek kategori altında saklanır; böylece kullanıcılar ve raporlar, kanal bazında kırılımı olan tek bir amacı görür.

#### Kanal seçimi yapılmadan önce oluşturulan kategoriler

Kanal seçimi getirilmeden önce oluşturulan kategorilerde kanal bilgisi bulunmaz. Geriye dönük uyumluluk için **tüm** kanallarda geçerli kabul edilirler ve Düzenle ekranında tüm kanallar seçili olarak görünürler. Manuel taşıma gerekmez.

### Mesaj Kategorileri Listesi

Liste ekranı, her kategoriyi etkin kanalları ve kanal bazındaki kitlesiyle gösterir.

**Kanallar sütunu**

Kategorinin aktif olduğu kanalların simgelerini gösterir.

**Kanal bazında kullanıcı sayıları**

Opt-in Users ve Opt-out Users her kanal için ayrı ayrı raporlanır. Kullanıcı her kanalda farklı bir durumda olabileceği için kategori düzeyinde tek bir opt-in veya opt-out sayısı yoktur.

<table><thead><tr><th width="150">Kategori Adı</th><th width="140">Kanallar</th><th>Mobil Push Opt-in</th><th>Mobil Push Opt-out</th><th>E-posta Opt-in</th><th>E-posta Opt-out</th><th>SMS Opt-in</th><th>SMS Opt-out</th></tr></thead><tbody><tr><td>order_tracking</td><td>Push, E-posta</td><td>1,250</td><td>24</td><td>1,180</td><td>94</td><td>-</td><td>-</td></tr></tbody></table>

* Kategorinin aktif olmadığı kanallar gösterilir `-` bir sayı yerine.
* Sayılar, kategorinin Abonelik Türü varsayılanı dahil olmak üzere kategori + kanal çifti için çözümlenmiş etkin izni yansıtır.
* Opt-in / Opt-out sütunları kanal bazında gösterilebilir veya gizlenebilir. Bir kanalın sütunlarını gizlemek diğerlerini etkilemez.

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FkYsGpYkgEEYx7nX4m0n6%2FEkran%20Resmi%202026-09-16%2020.35.47.png?alt=media&#x26;token=8e5aaa23-9d36-45c3-8b85-9a9ece28e870" alt="" width="563"><figcaption></figcaption></figure>

#### Örnek

Bir kullanıcı, **Newsletter** kategorisinde Mobil Push'tan opt-out yapar ve E-posta iznini korur.

<table><thead><tr><th width="220">Kanal</th><th width="180">Opt-in kullanıcıları</th><th>Opt-out yapan kullanıcılar</th></tr></thead><tbody><tr><td>Mobil Push</td><td>-1</td><td>+1</td></tr><tr><td>E-posta</td><td>Değişiklik yok</td><td>Değişiklik yok</td></tr><tr><td>SMS</td><td>Değişiklik yok</td><td>Değişiklik yok</td></tr><tr><td>WhatsApp</td><td>Değişiklik yok</td><td>Değişiklik yok</td></tr><tr><td>Uygulama içi</td><td>Değişiklik yok</td><td>Değişiklik yok</td></tr><tr><td>Web Push</td><td>Değişiklik yok</td><td>Değişiklik yok</td></tr></tbody></table>

Tercih yalnızca `Newsletter + Mobil Push` kombinasyonunu etkiler.

### Bir Kategoriyi Kampanyaya Atayın

{% stepper %}
{% step %}

#### İçerik adımına gidin

Bir kampanya oluştururken **2. Adım: Ne** (veya kanalın karşılığı olan "Content" adımını).
{% endstep %}

{% step %}

#### Kategoriyi seçin

Kampanyanın amacına uyan kategoriyi seçin. Liste yalnızca kampanyanın kanalında aktif olan kategorileri gösterir.
{% endstep %}
{% endstepper %}

<table><thead><tr><th width="191.4921875">Kampanya kanalı</th><th>Listelenen kategoriler</th></tr></thead><tbody><tr><td>Mobil Push</td><td>Mobile Push seçili kategoriler, ayrıca eski kategoriler</td></tr><tr><td>E-posta</td><td>E-posta seçili kategoriler, ayrıca eski kategoriler</td></tr><tr><td>SMS</td><td>SMS seçili kategoriler, ayrıca eski kategoriler</td></tr><tr><td>WhatsApp</td><td>WhatsApp seçili kategoriler, ayrıca eski kategoriler</td></tr><tr><td>Uygulama içi</td><td>In-App seçili kategoriler, ayrıca eski kategoriler</td></tr><tr><td>Web Push</td><td>Web Push seçili kategoriler, ayrıca eski kategoriler</td></tr></tbody></table>

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2Fcsd65N8vyV20Sb4Ifxcm%2FScreenshot%202026-02-19%20at%2012.08.02.png?alt=media&#x26;token=decc21f4-2764-47e4-803c-0aa96bc8d4f1" alt=""><figcaption><p>Kampanya akışında bir kategori seçin</p></figcaption></figure>

#### Daha fazla örnek (farklı kanallar)

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FjX0EchxRqth5uYz6AGmN%2FScreenshot%202026-02-19%20at%2012.09.28.png?alt=media&#x26;token=a7faaa3d-4745-4cf2-ba29-846964c39c84" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FHrRqpnQKCyhhwv0RcnmP%2FScreenshot%202026-02-19%20at%2012.10.21.png?alt=media&#x26;token=fe99df27-d532-4938-8f39-eebc8cd9b5fe" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FTjAcBS14xvbmImK608ej%2FScreenshot%202026-02-19%20at%2012.09.54.png?alt=media&#x26;token=f7061355-5a7f-477a-b12e-6af7951c0e9a" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Bir kategori atamazsanız, kampanyaları amaca göre güvenilir biçimde analiz edemezsiniz. Amaç bazlı izin kullanıyorsanız, Netmera bunu kategori olmadan zorunlu kılamaz.
{% endhint %}

### Bir Kullanıcıda Kategori İzinlerini Yönetin

Kategori izinleri kanal bazında **User Detail**.

Her kategori için Mobile Push, E-posta, SMS, WhatsApp, In-App ve Web Push aç/kapat düğmesiyle listelenir:

<table><thead><tr><th width="126.0546875">Kategori</th><th>Mobil Push</th><th>E-posta</th><th>SMS</th><th>WhatsApp</th><th>Uygulama içi</th><th>Web Push</th></tr></thead><tbody><tr><td>Kategori X</td><td>Aç/kapat</td><td>Aç/kapat</td><td>Devre dışı</td><td>Devre dışı</td><td>Devre dışı</td><td>Devre dışı</td></tr></tbody></table>

* Yalnızca kategorinin tanımlı olduğu kanallar düzenlenebilir. Kalan aç/kapat düğmeleri devre dışıdır ve hiçbir izin kaydı oluşturmaz.

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FMapTcBfCFxIy3YLtXJ0G%2FEkran%20Resmi%202026-09-16%2020.37.43.png?alt=media&#x26;token=af18e295-bdf2-479f-a571-5c05e02a9bdf" alt="" width="563"><figcaption></figcaption></figure>

* Kayıtlı tercihi olmayan bir aç/kapat düğmesi, kategorinin Abonelik Türünü yansıtır: opt-in kategoriler için AÇIK, opt-out kategoriler için KAPALI.
* Eski kategorilerde her kanal aç/kapat düğmesi düzenlenebilir görünür.
* Bir aç/kapat düğmesinin değiştirilmesi yalnızca o kategori + kanal çiftini günceller. Kullanıcının genel kanal iznini, kategorinin diğer kanallarını veya kullanıcının diğer kategorilerdeki tercihlerini değiştirmez.

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2F3VINDejmI3J2axNseMSM%2FEkran%20Resmi%202026-09-16%2020.37.11.png?alt=media&#x26;token=a571a6ca-67d7-4862-804f-d5c00d5162a7" alt="" width="563"><figcaption></figcaption></figure>

User Detail, bir kategorinin hangi kanallar için tanımlı olduğunu değiştiremez. Bu tanım **Settings > Message Categories**.

### Kategori İznine Göre Hedef Kullanıcılar

Altında **Hedefleme > Kişi Bul**, **Kategori İznine Göre** koşulu, kategoriyle birlikte bir kanal seçimini kabul eder.

* İzni yalnızca bu kanallarda değerlendirmek için bir veya daha fazla kanal seçin.
* Kampanyanın kanalına göre değerlendirmek için kanal seçimini boş bırakın; ya da kampanya bağlamı yoksa kategorinin kendi kanallarına göre değerlendirin.

Kitle sayımı için erişilebilirlik, kullanıcının kanalın gerektirdiği tanımlayıcıya veya tokene sahip olup olmamasına dayanır (e-posta adresi, telefon numarası veya kayıtlı bir mobil ya da web cihazı).

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FVMQH2DcMQ6AWVOhpTgW0%2FEkran%20Resmi%202026-09-16%2020.39.16.png?alt=media&#x26;token=7ccc66b4-e458-4cc2-91f2-c8061da3491a" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FpHiHsve1POwSfrqoejeF%2FEkran%20Resmi%202026-09-16%2020.39.27.png?alt=media&#x26;token=5d4b6754-19b7-4e01-9d24-74a86102e6c5" alt=""><figcaption></figcaption></figure>

### Amaç Bazlı Raporlama ve Analitik

Mesaj Kategorileri, yalnızca kanala göre değil iş amacına göre raporlama sağlar. Kanal Erişilebilirliği raporları, amaç bazında kaç kullanıcıya ulaşılabildiğini kanal kırılımıyla gösterir:

* promosyonlar
* order\_tracking
* güvenlik

Kategori ataması olmadan bu düzeyde bir analiz güvenilir değildir.

* [Kanal Erişilebilirliği](/netmera-user-guide/netmera-user-guide-tr/reports-and-analytics/reports/audience-and-growth/channel-reachability.md)

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FzJiNjFnrIGuYMChiTArP%2FEkran%20Resmi%202026-09-16%2020.40.09.png?alt=media&#x26;token=c32dcaee-0dd2-4296-8cda-2319fe859a5d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FG4Hc91e6OiVdGHv3cLyq%2FScreenshot%202026-02-19%20at%2012.11.24.png?alt=media&#x26;token=557a5328-1c86-4c95-97b8-bd668648b954" alt=""><figcaption></figcaption></figure>

### REST API ve SDK Genel Bakış

Mesaj Kategorileri, panel dışında iki entegrasyon katmanı üzerinden kullanılabilir.  **REST API** arka uç sistemlerinizden kategorileri listelemek, API ile gönderilen bildirimlere atamak ve kullanıcının kategori tercihlerini okumak ya da güncellemek için kullanılır.  **Mobile SDK** uygulamanız içinde kullanıcıların kategori tercihlerini göstermek ve örneğin bir tercih merkezi veya bildirim ayarları ekranında bunları değiştirmelerine izin vermek için kullanılır.

#### REST API

<table><thead><tr><th width="261.40625">Uç Nokta</th><th>Ne yapar</th><th>Geliştirici Kılavuzu</th></tr></thead><tbody><tr><td><code>GET /rest/3.0/getPushCategories</code></td><td>Altında tanımlı kategorileri listeler <strong>Settings > Message Categories</strong>. Döndürülen adlar ve ID'ler diğer uç noktalar tarafından kullanılır.</td><td><a href="https://user.netmera.com/netmera-developer-guide/api-documentation/rest-api/notifications#push-categories">Push Kategorileri</a></td></tr><tr><td><code>POST /rest/3.0/setCategoryPreferences</code></td><td>Bir kullanıcıyı bir kategoride opt-in veya opt-out yapar; tüm kanallar için ya da tek bir kanal için <code>channel</code>.</td><td><a href="https://user.netmera.com/netmera-developer-guide/api-documentation/rest-api/user-and-device-management#category-preferences">Kategori Tercihleri</a></td></tr><tr><td><code>GET /rest/3.0/getCategoryPreferences</code></td><td>Bir kullanıcının kategori tercihlerini kanal bazlı kırılımla döndürür. Şunlarla filtrelenebilir: <code>categoryIds</code> ve <code>channels</code>.</td><td><a href="https://user.netmera.com/netmera-developer-guide/api-documentation/rest-api/user-and-device-management#category-preferences">Kategori Tercihleri</a></td></tr><tr><td><code>POST /rest/3.0/sendBulkNotification</code></td><td>API ile gönderilen bir bildirime categories alanı üzerinden bir veya daha fazla kategori atar. <code>categories</code> alanı.</td><td><a href="https://user.netmera.com/netmera-developer-guide/api-documentation/rest-api/notifications#send-notification-with-category">Kategoriyle Bildirim Gönder</a></td></tr><tr><td><code>POST /rest/3.0/createNotificationDefinition</code></td><td>bir işlemsel bildirim tanımına Notifications alanı üzerinden kategoriler atar. <code>categories</code> alanı.</td><td><a href="https://user.netmera.com/netmera-developer-guide/api-documentation/rest-api/notifications">Bildirimler</a></td></tr></tbody></table>

#### Mobile SDK

<table><thead><tr><th width="140.71484375">Platform</th><th>Metotlar</th><th>Ne yaparlar</th><th>Geliştirici Kılavuzu</th></tr></thead><tbody><tr><td>Android</td><td><code>getUserCategoryPreferenceList</code>, <code>setUserCategoryPreference</code></td><td>Kullanıcının kategori tercihlerini oku ve güncelle. NMCategoryPreferenceFilter, NMCategoryPreferenceUpdate ve NMCategoryChannel ile kanal düzeyinde okuma ve yazma. <code>NMCategoryPreferenceFilter</code>, <code>NMCategoryPreferenceUpdate</code>, ve <code>NMCategoryChannel</code> (4.21.0+).</td><td><a href="https://user.netmera.com/netmera-developer-guide/platforms/android/push-inbox#message-categories">Android — Mesaj Kategorileri</a></td></tr><tr><td>iOS (Swift)</td><td><code>getUserCategoryPreferenceList</code>, <code>setUserCategoryPreference</code></td><td>Kullanıcının kategori tercihlerini oku ve güncelle. NMCategoryPreferenceFilter, NMCategoryPreferenceUpdate ve NMCategoryChannel ile kanal düzeyinde okuma ve yazma. <code>categoryIds</code>, <code>channels</code>, ve <code>channel</code> parametreleri (4.26.0+).</td><td><a href="https://user.netmera.com/netmera-developer-guide/platforms/ios/new-ios-swift/push-inbox#manage-push-notification-categories">iOS — Push Bildirim Kategorilerini Yönetme</a></td></tr><tr><td>iOS (Objective-C)</td><td><code>getUserCategoryPreferenceList</code>, <code>setUserCategoryPreferenceWithCategoryId</code></td><td>Kullanıcının kategori tercihlerini kategori düzeyinde oku ve güncelle.</td><td><a href="https://user.netmera.com/netmera-developer-guide/platforms/ios/former-ios-objective-c/push-inbox#message-category">iOS (Objective-C) — Mesaj Kategorisi</a></td></tr><tr><td>Flutter</td><td><code>getUserCategoryPreferenceList</code>, <code>setUserCategoryPreference</code></td><td>Kullanıcının kategori tercihlerini kategori düzeyinde oku ve güncelle.</td><td><a href="https://user.netmera.com/netmera-developer-guide/platforms/flutter/push-inbox">Flutter — Push Gelen Kutusu</a></td></tr></tbody></table>

Android ve iOS'ta, Push Gelen Kutusu filtresi (`NetmeraInboxFilter`) ayrıca kategori adlarını da kabul eder; böylece uygulama içi gelen kutusu mesajları amaca göre listeleyebilir.

{% hint style="info" %}
Ayrıntılı parametreler, istek ve yanıt modelleri ve hata yönetimi [Netmera Geliştirici Kılavuzu](https://user.netmera.com/netmera-developer-guide/)içinde belgelenmiştir. Aşağıdaki bölüm, kanal bazlı tercih yönetimini ve kullanım alanlarını özetler.
{% endhint %}

### Kategori İzinlerini SDK ve REST API Üzerinden Yönetin

Kategori + kanal tercihleri panelle sınırlı değildir. Aynı kayıtlar Mobile SDK ve REST API üzerinden okunup yazılabilir; böylece karar nerede verilirse verilsin — uygulama içinde, arka uç sistemlerinizde veya operasyon ekibiniz tarafından — izin durumu kullanıcıyla birlikte taşınır ve Netmera tek, uygulanabilir bir kayıt tutar.

<table><thead><tr><th width="155.37109375">Kaynak</th><th>Tercihi kim değiştirir</th><th>Tipik tetikleyici</th></tr></thead><tbody><tr><td><strong>Mobile SDK</strong></td><td>Kullanıcı</td><td>Uygulama içi tercih merkezi veya bildirim ayarları ekranı</td></tr><tr><td><strong>REST API</strong></td><td>Marka, kullanıcı adına</td><td>CRM veya izin yönetimi platformu eşitlemesi, web tercih merkezi, e-posta abonelikten çıkma sayfası, SMS anahtar kelime yanıtı, çağrı merkezi talebi</td></tr><tr><td><strong>Panel</strong></td><td>Marka</td><td>şuradaki manuel düzeltme veya destek talebi: <strong>User Detail</strong></td></tr></tbody></table>

channel parametresi **isteğe bağlıdır** her kategori tercihi metodunda:

* **Kanal olmadan** — çağrı, kanal seçimi öncesinde geçerli olan davranışla uyumlu şekilde, kategorinin tüm kanallarına uygulanır. Mevcut entegrasyonlar değişiklik yapılmadan çalışmaya devam eder.
* **Kanal ile** — çağrı yalnızca o kategori + kanal çifti için uygulanır.

Yanıtlar mevcut kategori düzeyi alanını korur ve yanında bir kanal kırılımı ekler; böylece eski bir entegrasyon önceden okuduğu aynı değeri okur.

#### Mobile SDK

Kanal bazlı kategori tercih yöntemleri aşağıdaki yerel SDK sürümlerini gerektirir (17 Eylül 2026'da yayımlanmıştır):

<table><thead><tr><th width="154.265625">Platform</th><th>Minimum sürüm</th><th>Tercihleri al</th><th>Tercihleri güncelle</th></tr></thead><tbody><tr><td>Android</td><td><strong>4.21.0</strong></td><td><code>Netmera.getUserCategoryPreferenceList(filter, callback)</code> ile <code>NMCategoryPreferenceFilter</code></td><td><code>Netmera.setUserCategoryPreference(NMCategoryPreferenceUpdate, callback)</code></td></tr><tr><td>iOS (Swift)</td><td><strong>4.26.0</strong></td><td><code>Netmera.getUserCategoryPreferenceList(categoryIds:channels:)</code></td><td><code>Netmera.setUserCategoryPreference(categoryId:categoryEnabled:channel:)</code></td></tr></tbody></table>

* Toplam durum (`optInStatus` Android'de, `categoryEnabled` iOS'ta) şudur `true` kategori herhangi bir kanalda etkin olduğunda **herhangi bir** kanal. Kanal bazlı ayrımı (`channelPreferences`) kanal anahtarlarını göstermek için kullanın.
* Android'de, `Netmera.setUserCategoryPreference(categoryId, categoryEnabled, listener)` kullanımdan kaldırılmıştır ve kanalsız yeni yöntem gibi davranır.

Tam referans için Geliştirici Kılavuzu'na bakın: [Android — Mesaj Kategorileri](https://user.netmera.com/netmera-developer-guide/platforms/android/push-inbox#message-categories) ve [iOS — Push Bildirim Kategorilerini Yönetme](https://user.netmera.com/netmera-developer-guide/platforms/ios/new-ios-swift/push-inbox#manage-push-notification-categories).

#### REST API

| Uç Nokta                                | Amaç                                                   | Kanal parametresi                         |
| --------------------------------------- | ------------------------------------------------------ | ----------------------------------------- |
| `POST /rest/3.0/setCategoryPreferences` | Bir kullanıcıyı bir kategoriye dahil etme veya çıkarma | `channel` (isteğe bağlı, her giriş için)  |
| `GET /rest/3.0/getCategoryPreferences`  | Bir kullanıcının kategori tercihlerini okuma           | `channels` (isteğe bağlı, liste filtresi) |
| `GET /rest/3.0/getPushCategories`       | Uygulama için tanımlanan kategorileri listeleme        | —                                         |

* `categoryPreferences` geriye dönük uyumluluk için korunur ve `true` kullanıcının kategorinin kanallarından herhangi birinde izni olduğunda. The `channels` filtre bunu etkilemez.
* `categoryChannelPreferences` kanal bazlı durumu döndürür. Kanal düzeyindeki kararlar için kullanın.
* Tanınmayan bir değere sahip bir giriş `channel` atılır ve kaydedilir; kalan girişler işlenir. Bir yazım hatası, her kanalı güncellemek yerine o tercihi değiştirilmeden bırakır.

Bakın [Geliştirici Kılavuzu — Kategori Tercihleri](https://user.netmera.com/netmera-developer-guide/api-documentation/rest-api/user-and-device-management#category-preferences) tüm parametreler için.

### Kullanım Alanları

Aşağıdaki senaryolar, kanal bazlı kategori onayının yaygın iş ve uyumluluk gereksinimlerini nasıl desteklediğini gösterir.

#### 1. Uygulama içi tercih merkezi

Bir perakende uygulaması, her kategori için bir satır ve her kanal için bir anahtarla bir ayarlar ekranı gösterir. Kullanıcı **Promotions** E-posta'da açık tutar, Mobil Push ve SMS'de kapatır ve **Sipariş Güncellemeleri** her kanalda açık tutar.

* **Uygulama:** `getUserCategoryPreferenceList` ile `channelPreferences` ekranı oluşturmak için; `setUserCategoryPreference` ile `channel` her anahtar için.
* **Sonuç:** Tanıtım amaçlı push ve SMS kampanyaları kullanıcıyı atlar; tanıtım e-postaları ve tüm sipariş güncellemeleri yine de teslim edilir.
* **GDPR referansı:** Madde 7(3) — onayın geri alınması, verilmesi kadar kolay olmalıdır. Gerekçe 43 — farklı işleme faaliyetleri için ayrı onay.

#### 2. Bir e-posta veya SMS'den kanala özgü abonelikten çıkma

Bir kullanıcı tanıtım e-postasındaki abonelikten çık bağlantısına tıklar veya tanıtım SMS'ine abonelikten çıkma anahtar sözcüğüyle yanıt verir. Kullanıcı, tüm iletişime değil, o kanaldaki o mesaj türüne itiraz eder.

* **Uygulama:** Abonelikten çıkma sayfanız veya SMS anahtar sözcüğü işleyiciniz `setCategoryPreferences` ile `"channel": "EMAIL"` veya `"channel": "SMS"` ve `"enable": false`.
* **Sonuç:** Yalnızca `promo` + E-posta (veya `promo` + SMS) kapatılır. Tanıtım push mesajları, sipariş takibi ve güvenlik mesajları, onaylandığı şekilde gönderilmeye devam eder.
* **GDPR referansı:** Madde 21(2)–(3) — doğrudan pazarlamaya istediğiniz zaman itiraz etme hakkı; bu hak kullanıldıktan sonra veriler artık bu amaçla işlenmemelidir. Madde 7(3) — onayın geri alınması.

#### 3. Başka bir sistemde toplanan onay (CRM, CMP, web, çağrı merkezi)

Onay, uygulama dışında — web kaydı sırasında, bir onay yönetim platformunda veya bir çağrı merkezi temsilcisi tarafından — alınır ve Netmera bunu yansıtmalıdır.

* **Uygulama:** Arka uç sisteminiz değişiklikleri `setCategoryPreferences`, her kategori + kanal çifti için bir giriş göndererek senkronize eder. Bunun için `getCategoryPreferences` durumları uzlaştırmak için kullanın.
* **Sonuç:** Netmera, kullanıcının başka bir yerde verdiği aynı kararı bir uygulama oturumu beklemeden uygular.
* **GDPR referansı:** Madde 7(1) — veri sorumlusu onayı ispatlayabilmelidir; amaç ve kanal başına tek bir uygulanabilir kayıt tutmak bunu destekler. Madde 5(1)(d) — doğruluk.

#### 4. İlk pazarlama mesajından önce açık onay

Bazı pazarlar veya iç politikalar, kullanıcı açıkça kabul edene kadar hiçbir pazarlama mesajı gönderilmemesini gerektirir.

* **Uygulama:** Pazarlama kategorisini Subscription Type ile oluşturun **Opt-out**. Kaydı olmayan kullanıcılar abone değildir. Yalnızca kullanıcı belirli bir kanalda kabul ettikten sonra bir opt-in kaydı yazın.
* **Sonuç:** Yeni kullanıcılar, o kanalda opt-in yapana kadar hiçbir kanalda pazarlama almaz.
* **GDPR referansı:** Madde 4(11) ve Madde 6(1)(a) — onay, açık bir olumlu eylem olmalıdır. Madde 25(2) — varsayılan olarak veri koruma. ePrivacy Direktifi Madde 13 — elektronik doğrudan pazarlama için önceden onay.

#### 5. Hizmet mesajlarını pazarlamadan ayrı tutmak

Bir kullanıcı tüm tanıtım kanallarından çıkar ancak yine de sipariş ve güvenlik bildirimlerini almalıdır.

* **Uygulama:** Tutun `order_tracking` ve `güvenlik` şu kategorilerden ayrı kategoriler olarak `promo`,
* **Sonuç:** Bir pazarlama abonelikten çıkışı hiçbir zaman hizmet mesajlarını engellemez ve görünür bir kategori uyumsuzluğu olmadan hizmet kanalları tanıtım içeriği için yeniden kullanılamaz.
* **GDPR referansı:** Madde 5(1)(b) — amaç sınırlaması. Madde 7(2) — bir onay talebi, diğer konulardan açıkça ayırt edilebilir olmalıdır. Gerekçe 32 — onay tüm amaçları kapsamalıdır; işlemenin birden fazla amacı varsa, her biri için onay verilmelidir.

#### 6. Amaçla sınırlı SMS kategorileri

Bir OTP kategorisi yalnızca SMS için tanımlanır.

* **Uygulama:** Oluşturma `sms_otp` yalnızca SMS seçili olarak. Diğer kanalların kampanya editörlerinde görünmez ve diğer kanallarda bunun için tercih kaydı oluşturulamaz.
* **Sonuç:** Amaç, toplandığı kanal ile sınırlıdır.
* **GDPR referansı:** Madde 5(1)(b) — amaç sınırlaması; Madde 5(1)(c) — veri minimizasyonu.

### GDPR Referans Özeti

<table><thead><tr><th width="161.125">Madde</th><th>İlke</th><th>Mesaj Kategorileri bunu nasıl destekler</th></tr></thead><tbody><tr><td>Madde 4(11)</td><td>Onay, belirli, bilgilendirilmiş ve açık olmalıdır</td><td>Her kategori + kanal çifti ayrı ve belirli bir karardır</td></tr><tr><td>Madde 5(1)(b)</td><td>Amaç sınırlaması</td><td>Kategoriler amaçları temsil eder; kampanyalar bir amaç belirtmelidir</td></tr><tr><td>Madde 5(1)(c)</td><td>Veri minimizasyonu</td><td>Kategoriler, amacın gerektirdiği kanallarla sınırlandırılabilir</td></tr><tr><td>Madde 5(1)(d)</td><td>Doğruluk</td><td>REST ve SDK, Netmera kaydını diğer sistemlerde verilen kararlara uyumlu tutar</td></tr><tr><td>Madde 6(1)(a)</td><td>Hukuki dayanak olarak onay</td><td>Opt-out Subscription Type, açık bir opt-in olmadan gönderimi engeller</td></tr><tr><td>Madde 7(1)</td><td>Onayı ispatlayabilme</td><td>Kanal bazlı durumlar Kullanıcı Detayı'nda görünür ve üzerinden alınabilir <code>getCategoryPreferences</code></td></tr><tr><td>Madde 7(2)</td><td>Onay talebi açıkça ayırt edilebilir</td><td>Pazarlama ve hizmet mesajları için ayrı kategoriler</td></tr><tr><td>Madde 7(3)</td><td>Geri çekmenin, onay vermek kadar kolay olması</td><td>Tek bir anahtar veya tek bir API çağrısı, tek bir kanalda tek bir amaç için verilen onayı geri çeker</td></tr><tr><td>Madde 21(2)–(3)</td><td>Doğrudan pazarlamaya itiraz etme hakkı</td><td>Bir kanaldaki pazarlama abonelikten çıkışı, bir sonraki gönderimde uygulanır</td></tr><tr><td>Madde 25(2)</td><td>Varsayılan olarak veri koruma</td><td>Opt-out Subscription Type, yeni kullanıcıları varsayılan olarak abone olmayan olarak ayarlar</td></tr><tr><td>Gerekçe 32, 43</td><td>Amaç başına onay; ayrı işlemler için ayrı onay</td><td>Onay, kategori ve kanal bazında saklanır</td></tr></tbody></table>

{% hint style="warning" %}
Türkiye'de SMS, e-posta ve aramalar üzerinden gönderilen ticari elektronik iletiler de İYS'ye tabidir. İYS onayı ve Mesaj Kategorisi tercihleri farklı izinleri yönetir; her ikisini de yapılandırın. Bkz. [İYS İzinleri](/netmera-user-guide/netmera-user-guide-tr/customer-data/iys-permissions.md).
{% endhint %}

### Özet

Mesaj Kategorileri şunlar için yapısal bir temeldir:

* Amaç ve kanal bazında ayrıntılı onay uygulaması
* Amaç sınırlaması ilkelerine uyum
* Temiz kampanya sınıflandırması
* İş amacına göre güvenilir raporlama

Bunlar isteğe bağlı etiketler değildir. Netmera'nın sorumlu ve ölçülebilir iletişimi nasıl yönettiğinin temel bir parçasıdır.

### İlgili Sayfalar

* [Ayrıntılı İzin Yönetimi](/netmera-user-guide/netmera-user-guide-tr/customer-data/granular-consent-management.md)
* [İYS İzinleri](/netmera-user-guide/netmera-user-guide-tr/customer-data/iys-permissions.md)
* [Kanal Erişilebilirliği](/netmera-user-guide/netmera-user-guide-tr/reports-and-analytics/reports/audience-and-growth/channel-reachability.md)
* [Kişiler](/netmera-user-guide/netmera-user-guide-tr/targeting/people.md)
* [Geliştirici Kılavuzu — REST API Kategori Tercihleri](https://user.netmera.com/netmera-developer-guide/api-documentation/rest-api/user-and-device-management#category-preferences)
* [Geliştirici Kılavuzu — Android Mesaj Kategorileri](https://user.netmera.com/netmera-developer-guide/platforms/android/push-inbox#message-categories)
* [Geliştirici Kılavuzu — iOS Mesaj Kategorileri](https://user.netmera.com/netmera-developer-guide/platforms/ios/new-ios-swift/push-inbox#manage-push-notification-categories)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://user.netmera.com/netmera-user-guide/netmera-user-guide-tr/panel-settings/settings/messaging-and-content/message-categories.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
