PushizoDocs
Mesajlaşma & kampanyalar

Dynamic Content (içerik tabloları ve `{% lookup %}`)

İçerik tabloları, CSV ile yüklenen satırlardan anahtar sütununa göre seçim yaparak kişiselleştirme sağlar: şehir, mağaza veya ürün bazlı kampanya metinleri gibi. Karar kaydı:…

İçerik tabloları, CSV ile yüklenen satırlardan anahtar sütununa göre seçim yaparak kişiselleştirme sağlar: şehir, mağaza veya ürün bazlı kampanya metinleri gibi. Karar kaydı: docs/adr/0028-data-feeds-dynamic-content-ai.md.

CSV hazırlama

  • UTF-8 (BOM olabilir), ilk satır başlık, virgülle ayrılmış; tırnaklı alanlar desteklenir.
  • Sütun adları harf veya alt çizgiyle başlar, yalnızca harf/rakam/alt çizgi içerir (kampanya_metni).
  • Anahtar sütunu değerleri boş olamaz ve benzersiz olmalıdır.
  • Sınırlar: 100.000 satır, 50 sütun, hücre başına 2000 karakter, dosya 20 MB.
sehir,kampanya_metni,indirim
İzmir,"Kordon'da %20 indirim",20
Ankara,Kızılay şubesi açıldı,10
```text

## Yükleme
Dashboard → **Mesajlar → Dinamik İçerik → İçerik tabloları → CSV yükle** veya public API (multipart; alanlar
dosyadan önce):

```bash
curl -X POST https://api.pushizo.example/v1/apps/$APP_ID/content-tables \
  -H "Authorization: Bearer $API_KEY" \
  -F name=sehirler -F key_column=sehir -F file=@sehirler.csv
```text

Yeniden yükleme (`PUT …/content-tables/{tableId}/rows`) tablonun tüm satırlarını değiştirir ve sürümü artırır;
gönderimdeki satır önbelleği sürüme bağlı olduğundan yeni satırlar hemen kullanılır. Önizleme:
`GET …/content-tables/{tableId}/rows?q=<anahtar öneki>&limit=50&offset=0`.

## Şablonda kullanım

```liquid
{% lookup 'sehirler' key: user.tags.sehir as satir %}
{% if satir %}{{ satir.kampanya_metni }}{% else %}Tüm şehirlerde kampanya!{% endif %}
```text

- Anahtar ifadesi `user.*`, `subscription.*`, `custom_data.*` ve `feed.*` değerlerini kullanabilir.
- Anahtar karşılaştırması metin üzerindendir (sayılar metne çevrilir, baş/son boşluk yok sayılır).
- Eşleşme yoksa `satir` boştur; her zaman `{% if %}` ile yedek verin.
- Sınırlama: `{% for %}` döngüsündeki yerel değişkene bağlı anahtarlar gönderimden önce toplu yüklenemediği için
  boş döner.

Gönderimde kullanılan anahtarlar teslimat grubunun her alıcısı için hesaplanır ve tablo başına tek sorguyla yüklenir.

Bu sayfada