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ı,10Yükleme
Dashboard → Mesajlar → Dinamik İçerik → İçerik tabloları → CSV yükle veya public API (multipart; alanlar dosyadan önce):
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.csvYeniden 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
{% lookup 'sehirler' key: user.tags.sehir as satir %}
{% if satir %}{{ satir.kampanya_metni }}{% else %}Tüm şehirlerde kampanya!{% endif %}- Anahtar ifadesi
user.*,subscription.*,custom_data.*vefeed.*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
satirboş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.