Pepsi KazandıRio WhatsApp Kanalı — Mesaj Spec

Brief: "2:: PEPSİ - WHATSAPP KANALI" · Kazan Kazan akış formatı temel alınarak hazırlandı · mockup + key/value/trigger detayları

📌 Kapsam Notu

Bu doküman, kendi ürünümüz Kazan Kazan WhatsApp botunun akış ve spec formatını temel alır; brief'teki Pepsi KazandıRio gereksinimlerine göre uyarlanmıştır. Amaç: Pepsi KazandıRio'nun temel fonksiyonlarını (kampanya görüntüleme, ödül listesi, şifre girişi, ödül seçimi, app yönlendirme) WhatsApp üzerinden erişilebilir kılmak.

Akış Genel Görünümü

Her node'a tıkla, detay kartına git

Canlı akış
Hub (menü)
App (bot dışı)
Hata mesajı
Öneri (brief dışı)
1 · İlk Giriş
↓ approve
2 · Ana Menü (3 buton + "SSS" keyword)
3 · Menü Dalları
🎯 Kampanyalar
campaigns_list campaign_detail
🎁 Ödüller
rewards_info (bilgilendirme)
Keyword erişimi
Yan akışlar

1. Karşılama & KVKK (İlk Giriş)

Brief "İlk Giriş": hoş geldin mesajı + hoş geldin ödülü tanımlanır + Kazandırio uygulamasına yönlendirme. KVKK/ETK onay adımı kendi Kazan Kazan akışımızdan taşındı (hukuki zorunluluk, onaylanmadan akış başlamaz).
PK
Pepsi KazandıRio
çevrimiçi
Pepsi KazandıRio'ya hoş geldin! 🎉 Pepsi ürünlerinden çıkan şifreleri girerek ödüller kazanabilir, kampanyaları takip edebilirsin. Devam etmek için kullanım koşullarını ve KVKK aydınlatma metnini onaylaman gerekiyor 👇
10:00
✅ Onaylıyorum ❌ Daha sonra
📐 Mockup
welcome_body interactive_button
Trigger
Yeni kullanıcı bot'a ilk mesajı atar
Buton 1
welcome_approve → ✅ Onaylıyorum
Buton 2
welcome_reject → ❌ Daha sonra
🔀 Geçişler
✅ Onaylıyorumwelcome_reward_body
❌ Daha sonrakvkk_rejected_body
(text yazarsa)kvkk_resend_body
📝 İlk ETK + KVKK linkleri burada gösterilir. Onaylanmadan kampanya/kazan akışı başlamaz.
PK
Pepsi KazandıRio
çevrimiçi
evet
Devam etmek için lütfen aşağıdaki butonlardan birine tıkla 👇
10:01
✅ Onaylıyorum ❌ Onaylamıyorum
📐 Mockup
kvkk_resend_body interactive_button
Trigger
KVKK ekranındayken kullanıcı butona basmadan yazı yazar (örn "evet", "ne demek bu")
🔀 Geçişler
✅ Onaylıyorumwelcome_reward_body
❌ Onaylamıyorumkvkk_rejected_body
(yine yazı)kendisi (LOOP)
💡 Öneri: "evet/onay/tamam" gibi anahtar kelimeleri NLP ile yakalayıp approve gibi davran.
PK
Pepsi KazandıRio
çevrimiçi
Onay vermeden devam edemiyoruz. 🙏 Hazır olduğunda tekrar deneyebilirsin 👇
10:01
✅ Onaylıyorum ❌ Daha sonra
📐 Mockup
kvkk_rejected_body interactive_button
Trigger
"❌ Daha sonra" butonu tıklandı
🔀 Geçişler
✅ Onaylıyorumwelcome_reward_body
❌ Daha sonrakendisi (LOOP)
⚠️ Sonsuz döngü riski - kullanıcı onaylamadıkça çıkış yok. Timeout/eskalasyon mekanizması düşünülmeli.
PK
Pepsi KazandıRio
çevrimiçi
Aramıza hoş geldin! 🎁 Hoş geldin ödülün {welcome_reward} hesabına tanımlandı. Ödülünü görüntülemek için Kazandırio uygulamasını ziyaret edebilirsin 👇
10:02
🎁 Kazandırio'yu Aç
📐 Mockup
welcome_reward_body cta + text
Trigger
KVKK onaylandı
Yan etki
Hoş geldin ödülü KazandıRio API üzerinden kullanıcı hesabına tanımlanır
Değişken
{welcome_reward} — hoş geldin ödülünün adı (içerik API tarafıyla netleşecek; spec'te placeholder)
CTA Buton
welcome_open_app → "🎁 Kazandırio'yu Aç"
URL
{app_deeplink_url} — Kazandırio app/web
🔀 Geçişler
Kazandırio'yu Açapp deeplink
(otomatik)main_menu_body
⚠️ WhatsApp kısıtı: CTA URL butonu, reply butonlarıyla aynı interactive mesajda olamaz. CTA ayrı mesaj, ardından menü ayrı mesaj olarak gönderilir.
PK
Pepsi KazandıRio
çevrimiçi
Üzgünüz! 😔 Sadece Türkiye (Turkcell, Vodafone, Türk Telekom) numaraları desteklenmektedir.
10:00
📐 Mockup
phone_invalid_body text
Trigger
Telefon numarası doğrulamayı geçemedi (TR numarası değil veya format hatalı)
Değişken
{reason} — doğrulama hata sebebi
🔀 Geçişler
(akış bitti)END

3. Kampanyalar

Brief: liste halinde kampanya adı + kısa açıklama + son katılım tarihi + detay. Detay ekranında kampanya koşulları gösterilir.
PK
Pepsi KazandıRio
çevrimiçi
🎯 Aktif Kampanyalar İncelemek istediğin kampanyayı seç 👇
10:04
Kampanyalar
🎯 Pepsi Yaz FırsatıŞifre gir, anında GB kazan · Son: 31 Tem 🎯 Migros Çeki ÇekilişiHer şifre 1 çekiliş hakkı · Son: 15 Ağu 🏠 Menü
📐 Mockup
campaigns_list_body list_message DB-driven
Trigger
Menüde "🎯 Kampanyalar" tıklandı
Kaynak
DB: campaigns (aktif + tarihi geçmemiş)
Satır içeriği
{name} + {short_desc} + "Son: {end_date}"
Son satır
menu_button → 🏠 Menü
🔀 Geçişler
(kampanya seç)campaign_detail_body
🏠 Menümain_menu_body
(liste boş)campaigns_empty_body
(API hata)error_campaign_api
📌 9'dan fazla aktif kampanya olursa sayfalama gerekir (List Message satır limiti). "Sonraki sayfa" satırı eklenebilir.
PK
Pepsi KazandıRio
çevrimiçi
Kampanya görseli
(DB)
📋 Pepsi Yaz Fırsatı • Promosyonlu Pepsi ürünü satın al • Şişe kapağındaki şifreyi gir • Anında GB veya çekiliş hakkı kazan Son katılım: 31 Temmuz 2026
10:05
🔑 Kazan ⬅️ Kampanyalar 🏠 Menü
📐 Mockup
campaign_detail_body interactive_button DB-driven
Trigger
Kampanya listesinden bir kampanya seçildi
Görsel
DB: {campaign.image_url}
İçerik
DB: {campaign.details} (koşullar) + {end_date}
Buton 1
detail_kazan → 🔑 Kazan
Buton 2
detail_back → ⬅️ Kampanyalar
Buton 3
menu_button → 🏠 Menü
🔀 Geçişler
⬅️ Kampanyalarcampaigns_list_body
🏠 Menümain_menu_body
📌 Tam 3 buton = WhatsApp interactive button sınırında. Yeni buton gerekirse List Message'a geçilmeli.
PK
Pepsi KazandıRio
çevrimiçi
Şu an aktif kampanya bulunmuyor. 🙏 Yeni kampanyalar yakında, takipte kal! 🎁
10:04
🔑 Kazan 🏠 Menü
📐 Mockup
campaigns_empty_body interactive_button
Trigger
Aktif kampanya yok (API'den boş liste)
🔀 Geçişler
🏠 Menümain_menu_body
📌 Dead-end olmaması için kullanıcı Kazan ve Menü'ye yönlendirilir.

4. Ödüller (Bilgilendirme)

Brief: kullanıcının kazanabileceği ödüller gösterilir (Migros/Trendyol/GB/Dijital Kod/Çekiliş). Bu ekran sadece bilgilendirme amaçlıdır.
PK
Pepsi KazandıRio
çevrimiçi
🎁 Kazanabileceğin Ödüller • Migros Hediye Çeki • Trendyol Hediye Çeki • GB İnternet Paketi • Dijital Hediye Kodları • Çekiliş Hakları Ödül kazanmak için Pepsi ürününden çıkan şifreyi gir 👇
10:06
🔑 Kazan 🏠 Menü
📐 Mockup
rewards_info_body interactive_button DB opsiyonel
Trigger
Menüde "🎁 Ödüller" tıklandı
İçerik
Statik liste ya da DB: reward_catalog (admin panelden güncellenebilir). Sadece bilgilendirme, seçim/claim yok.
Buton 1
rewards_kazan → 🔑 Kazan
Buton 2
menu_button → 🏠 Menü
🔀 Geçişler
🏠 Menümain_menu_body
💡 Bu ekran statik bir katalogdur. Gerçek kazanım Kazan akışındaki şifre doğrulamasına bağlıdır.

5. Kazan — Şifre → Doğrulama → Ödül Seçimi (Ana Fonksiyon)

Brief'in çekirdek akışı. Adım 1: şifre gir. Adım 2: doğrula (geçerli/geçersiz). Adım 3: şifrenin sağladığı ödülleri listele. Adım 4: kullanıcı ödülünü seçer → başarılı + Kazandırio app yönlendirme.
PK
Pepsi KazandıRio
çevrimiçi
🔑 Pepsi ürününden çıkan şifreyi yaz, hemen kontrol edelim 👇 (Örn: PEPSI2026XYZ)
10:07
PEPSI2026XYZ
📐 Mockup · Adım 1
kazan_code_prompt_body text input
Trigger
Menüde "🔑 Kazan" / kampanya detayında "🔑 Kazan" / ödüller ekranında "🔑 Kazan"
Girdi
Kullanıcı serbest metin olarak şifreyi yazar (buton değil)
Doğrulama
KazandıRio API: kod geçerli mi + daha önce kullanılmış mı (atomik claim, yarış koşulu yok)
🔀 Geçişler
geçerli kodreward_select_body
geçersiz/kullanılmışkazan_code_invalid_body
API hataerror_code_api
📌 Güvenlik: kullanıcı başına rate-limit (kod deneme spam'ine karşı). Kod normalize edilmeli (büyük/küçük harf, boşluk).
PK
Pepsi KazandıRio
çevrimiçi
Üzgünüz! 😔 Girdiğin şifre geçersiz veya daha önce kullanılmış. Tekrar denemek ister misin? 👇
10:07
🔁 Tekrar Dene 🏠 Menü
📐 Mockup · Adım 2 (geçersiz)
kazan_code_invalid_body interactive_button
Trigger
Şifre doğrulama başarısız (geçersiz veya kullanılmış)
Buton 1
kazan_retry → 🔁 Tekrar Dene
Buton 2
menu_button → 🏠 Menü
🔀 Geçişler
🔁 Tekrar Denekazan_code_prompt_body
🏠 Menümain_menu_body
PK
Pepsi KazandıRio
çevrimiçi
Tebrikler! 🎉 Şifren geçerli. Bu şifreyle kazanabileceğin ödüller 👇
10:08
Ödülünü Seç
🎟️ 1 Çekiliş Hakkı 📲 1 GB İnternet 🛒 Migros Çeki 💳 Dijital Hediye Kodu
📐 Mockup · Adım 2 (geçerli) + Adım 3
reward_select_body list_message DB-driven
Trigger
Şifre geçerli → o şifrenin sağladığı ödüller listelenir
Kaynak
KazandıRio API: code → eligible_rewards (Kazandırıyor sistemindeki mevcut kurallara göre)
Satırlar
Dinamik: her satır bir ödül seçeneği ({reward_name} + opsiyonel {reward_value})
🔀 Geçişler
(claim API hata)reward_claim_error_body
📌 Şifre tek ödül veriyorsa (tek seçenek), bu adım atlanıp doğrudan başarı ekranına geçilebilir. Birden fazla seçenek varsa kullanıcı seçer (brief Adım 4).
PK
Pepsi KazandıRio
çevrimiçi
Tebrikler! 🎉 1 GB İnternet ödülün hesabına tanımlandı. Ödülünü görüntülemek ve kullanmak için Kazandırio uygulamasını ziyaret edebilirsin 👇
10:09
🎁 Kazandırio'yu Aç
🔑 Yeni Şifre 🏠 Menü
📐 Mockup · Adım 4 (başarılı)
reward_claim_success_body cta DB-driven
Trigger
Kullanıcı ödülünü seçti → claim başarılı
Yan etki
Ödül KazandıRio hesabına tanımlanır (atomik claim) + kod kullanıldı olarak işaretlenir
Değişken
{reward_name} — seçilen ödül
CTA Buton
open_app_cta → 🎁 Kazandırio'yu Aç
URL
{app_deeplink_url} — ödül/cüzdan ekranı
🔀 Geçişler
Kazandırio'yu Açapp deeplink
🔑 Yeni Şifrekazan_code_prompt_body
🏠 Menümain_menu_body
⚠️ WhatsApp kısıtı: CTA URL butonu reply butonlarıyla aynı mesajda olamaz. 1. mesaj: başarı metni + CTA. 2. mesaj: "🔑 Yeni Şifre / 🏠 Menü" reply butonları.
PK
Pepsi KazandıRio
çevrimiçi
Ödülün tanımlanırken geçici bir sorun oluştu. 🙏 Lütfen birkaç dakika sonra tekrar dene.
10:09
🔁 Tekrar Dene 🏠 Menü
📐 Mockup
reward_claim_error_body interactive_button
Trigger
Ödül claim API hatası (timeout, 5xx) — kod henüz tüketilmedi
🔀 Geçişler
🔁 Tekrar Denereward_select_body
🏠 Menümain_menu_body
⚠️ Idempotency önemli: claim başarısızsa kod tüketilmemeli, retry'da aynı ödül tekrar seçilebilmeli. Çift ödül tanımlanmamalı.

6. SSS (Sık Sorulan Sorular)

Karar: SSS menüden çıkarıldı (menü 3 madde). Tüm yardım içeriği tek statik mesajda verilir. Kullanıcı "SSS" / "yardım" yazınca tetiklenir. List Message drill-down (eski faq_answer_body) kaldırıldı.
PK
Pepsi KazandıRio
çevrimiçi
❓ Sık Sorulan Sorular 🔑 Şifre nereden çıkıyor? Promosyonlu Pepsi ürünlerinin şişe kapağının iç kısmında veya etiketinde. 🥤 🎁 Ödülümü nasıl kullanırım? "🔑 Kazan" ile şifreyi gir, ödülünü seç. Ödülün Kazandırio uygulamasına tanımlanır, oradan kullanırsın. ❌ Şifrem neden geçersiz olur? Yanlış yazılmış, daha önce kullanılmış veya kampanya süresi dolmuş olabilir. 💬 Destek Sorun yaşarsan {support_handle} üzerinden bize yazabilirsin.
10:10
🔑 Kazan 🏠 Menü
📐 Mockup
faq_body interactive_button DB opsiyonel
Trigger
Kullanıcı "SSS" / "yardım" / "help" yazar (menüde buton yok)
İçerik
Statik metin ya da DB: faq_text (admin panelden güncellenebilir). Tüm S+C tek mesajda.
Buton 1
faq_kazan → 🔑 Kazan
Buton 2
menu_button → 🏠 Menü
🔀 Geçişler
🏠 Menümain_menu_body
📌 İçerik uzarsa WhatsApp text limiti (4096 karakter) aşılmamalı. Çok soru olursa List Message drill-down'a (faq_answer) geri dönülebilir.

7. Hata Mesajları

PK
Pepsi KazandıRio
çevrimiçi
Şifreni kontrol ederken geçici bir sorun oluştu. 🙏 Lütfen birkaç dakika sonra tekrar dene.
10:11
📐 Mockup
error_code_api text
Trigger
Şifre doğrulama API down (timeout, 5xx)
🔀 Geçişler
(tekrar yaz)kazan_code_prompt_body
PK
Pepsi KazandıRio
çevrimiçi
Kampanya bilgilerini yüklerken geçici bir sorun oluştu. 🙏 Lütfen birkaç dakika sonra tekrar dene.
10:11
📐 Mockup
error_campaign_api text
Trigger
Kampanya listesi/detay API hatası
🔀 Geçişler
(tekrar)main_menu_body
PK
Pepsi KazandıRio
çevrimiçi
Ödül listesini yüklerken geçici bir sorun oluştu. 🙏 Lütfen birkaç dakika sonra tekrar yaz.
10:11
📐 Mockup
error_reward_api text
Trigger
Eligible ödül listesi API hatası
🔀 Geçişler
PK
Pepsi KazandıRio
çevrimiçi
Tam olarak anlayamadım. 🤔 Aşağıdaki menüden devam edebilirsin 👇
10:11
🏠 Menü
📐 Mockup
error_keyword interactive_button
Trigger
Bot beklenen aksiyon dışında, anlamlandırılamayan serbest metin aldı (kod giriş ekranı dışında)
🔀 Geçişler
🏠 Menümain_menu_body
💡 Öneri: "kod/şifre" gibi anahtar kelimeleri yakalayıp doğrudan Kazan akışına yönlendir.

8. Opt-out

PK
Pepsi KazandıRio
çevrimiçi
DURDUR
Anladık, artık sana mesaj göndermeyeceğiz. Tekrar başlamak için bize yazabilirsin.
10:12
📐 Mockup
optout_confirmation_body text
Trigger
Kullanıcı "STOP", "DURDUR", "İPTAL", "UNSUBSCRIBE" gibi keyword yazar
Yan etki
Kullanıcı opt-out olarak işaretlenir, proaktif mesaj durur
🔀 Geçişler
(akış bitti)END

9. Hatırlatıcı öneri

Brief'te yok. Kazan Kazan akışındaki 24 saat reminder mantığından taşınan opsiyonel bir öneri: kullanıcı kampanyaya baktı ama şifre girmediyse hatırlatma.
PK
Pepsi KazandıRio
çevrimiçi
Merhaba! 👋 Pepsi şifreni henüz girmemişsin. Ödülünü kaçırma, hemen dene 🎁
ertesi gün
🔑 Kazan 🏠 Menü
📐 Mockup (öneri)
reminder_code_pending_body PLANNED · öneri
Trigger
Kullanıcı kampanya/ödül gördü ama 24 saat içinde şifre girmedi
Timing
WhatsApp 24h penceresi içinde kalmak için ~23 saat (1380 dk) sonra
🔀 Geçişler
🏠 Menümain_menu_body
⚠️ Quiet hours uygulanmalı (gece gönderim olmamalı). WhatsApp 24h servis penceresi dışındaysa template message gerekir.

Context (Bot Dışı)