Versiyon v1 · Kazan Kazan v2 · Fiş Okut genişletilmiş v2.1 · Now/Later yeni

Kazan Kazan v2 Fiş Okut ile Genişletilmiş

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

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

Canlı akış
Hub (menü)
v2 · Fiş Okut
Planlanmış
App (bot dışı)
Hata mesajı
Kampanya Fatura / Fiş Okut · v2 FreeByte İşlemleri + GB Yükle ✍️ yazı ❌ reddet ✅ approve sonunda ✅ 🔁 tekrar API ✕ (otomatik) 🎯 Kampanyalar 🧾 Fiş Okut 💎 FreeByte İşlemleri Detaylar Katıl diğer durumlar CTA→app 24h ✓ 24h ✗ kalmadıysa kampanya bitiş / uygunluk durumları opsiyonel geçerli ✕ okunamadı samba context ✅ FreeByte → GB'ye dönüştür Bakiye Kod ile Yükle GB Yükle API ✕ geçerli geçersiz API ✕ yetersiz OK API ✕ phone_invalid welcome_body kvkk_resend kvkk_rejected freebyte_welcome freebyte_api_fail menu_body (List) campaign (DB) details_body join_default_body deeplink → app reminder_congrats reminder_no_more reminder_default still_active_body no_eligible_body completed_all_body cycle_reset_body receipt_menu_entry consent_optional receipt_intro receipt_request receipt_processing receipt_success samba_campaign 8 hata → freebyte_menu_body balance_body code_prompt_body gb_load_confirm balance_error code_success code_invalid code_error gb_insufficient gb_success gb_error Hata mesajları & Opt-out · tetikleyiciler ilgili kartlarda error_api_unavail error_deeplink error_no_info error_keyword optout · DURDUR

↩︎ Sadelik için 🏠 Menü → menu_body dönüş okları ve kampanya geri-loop'ları çizilmedi (neredeyse her ekranda var; spec kartlarındaki "🔀 Geçişler" bölümünde yazılı). Kırmızı = hata · kesik mor = app (bot dışı) · kesik turuncu = planlanan FreeByte İşlemleri · gri = sonlanma.

1. Karşılama & KVKK Akışı

welcome
welcome_body interactive_button
Trigger
Yeni kullanıcı bot'a ilk mesajı atar
Buton 1
welcome_button_approve → ✅ Onaylıyorum
Buton 2
welcome_button_reject → ❌ Daha sonra
🔀 Geçişler
✅ Onaylıyorumfreebyte_welcome_body
❌ Daha sonrakvkk_rejected_body
(text input)kvkk_resend_body
📝 İlk ETK + KVKK linkleri burada gösteriliyor. Hukuki zorunluluk — onaylanmadan kampanya akışı başlamaz.
kvkk resend
kvkk_resend_body interactive_button
Trigger
KVKK ekranındayken kullanıcı **butona basmadan yazı yazar** (örn "evet", "ne demek bu")
Mesaj
Devam etmek için lütfen aşağıdaki butonlardan birine tıkla 👇
Buton 1
✅ Onaylıyorum
Buton 2
❌ Onaylamıyorum
🔀 Geçişler
✅ Onaylıyorumfreebyte_welcome_body
❌ Onaylamıyorumkvkk_rejected_body
(yine yazı)kendisi (LOOP)
kvkk rejected
kvkk_rejected_body interactive_button
Trigger
"❌ Daha sonra" butonu tıklandı
Buton 1
✅ Onaylıyorum
Buton 2
❌ Daha sonra
🔀 Geçişler
✅ Onaylıyorumfreebyte_welcome_body
❌ Daha sonrakendisi (LOOP)
KK
Kazan Kazan
çevrimiçi
Üzgünüz! 😔 Sadece Türkiye (Turkcell, Vodafone, Türk Telekom) numaraları desteklenmektedir. Neden: Geçersiz format
14:30
📐 Mockup
phone_invalid_body text
Trigger
Telefon numarası doğrulamayı geçemedi (Türkiye numarası değil veya format hatalı)
Değişken
{reason} — doğrulama hata sebebi
🔀 Geçişler
(akış bitti)END

2. FreeByte Hediye

freebyte welcome
📸 Bu SS'te FreeByte mesajından hemen sonra ilk kampanya da görünüyor (akış otomatik).
freebyte_welcome_body text
Trigger
KVKK onaylandı → FreeByte API success
Yan etki
Operatörden ayrıca SMS gönderilir
🔀 Geçişler
(otomatik)menu_body (PLANNED)
KK
Kazan Kazan
çevrimiçi
Anlayışın için teşekkürler! 🎁 1000 FreeByte'ın kısa süre içinde hesabına yüklenecek.
14:32
📐 Mockup
freebyte_api_fail_body PLANNED
Durum
⚠️ Şu an FreeByte API fail olduğunda hiç mesaj gitmiyor — UX boşluğu
Trigger
FreeByte API çağrısı başarısız (timeout, 5xx, vb.)
🔀 Geçişler
(otomatik)menu_body (PLANNED)

3. Kampanya Gösterimi

campaign pepsi
📸 Pepsi kampanyası örneği — başka kampanya örneği için aşağıya bak.
campaign (image + body + buttons) hybrid (DB-driven)
Trigger
FreeByte sonrası ilk gösterim, veya "Sonraki", veya keyword routing
Sıralama
DB: campaigns.priorityen yüksek priority önce gösterilir, "Sonraki" deyince bir alt priority'ye geçer
Eligibility
Campaign API'den kontrol edilir — sadece eligible olanlar listede kalır, görülen kampanyalar atlanır
Görsel
DB: campaigns.image_url
Body
DB: campaigns.body_text
Buton 1
DB: button_1_text + button_1_id (örn "Kampanyaya Katıl")
Buton 2
DB: button_2_text + button_2_id (örn "Detayları Gör")
Buton 3
campaign_next → "Sonraki" (hardcoded)
Buton 4
campaign_menu → "Menü" (hardcoded, her kampanyada — menüye dönüş)
🔀 Geçişler
Sonrakipriority sırasıyla bir alttaki kampanya
Menümenu_body
⚠️ WhatsApp limiti: Interactive Button mesajları max 3 buton destekler. 4 buton (Katıl/Detaylar/Sonraki/Menü) için List Message kullanılması gerekir.
📌 Priority mantığı: İlk girişte en yüksek priority değerine sahip kampanya gösterilir (örn Pepsi=priority 10, Koçtaş=8). Kullanıcı "Sonraki" deyince bir alt priority'deki kampanyaya geçer. Eligible olmayan veya görülmüş olanlar atlanır. Tüm priority'ler bitince cycle_reset_body gönderilir, baştan başlanır (sadece katılınmamış olanlar arasından).
KK
Kazan Kazan
çevrimiçi
[Kampanya detayları — örn Pepsi için:]\n\n• Promosyonlu Pepsi ürünü satın al\n• Şişe kapağındaki kodu uygulamaya gir\n• Anında 100 MB hediye kazan!\n\nKatılım koşulları: ...
14:42
✅ Kampanyaya Katıl
⏭️ Sonraki
🏠 Menü
📐 Mockup
campaign_details_body hybrid (DB-driven)
Trigger
Kampanya kartında "Detayları Gör" butonuna tıklandı
İçerik
DB: campaigns.campaign_detailsher kampanyaya özel detay metni
Buton 1
Katıl (DB: button_1)
Buton 2
campaign_next → Sonraki
Buton 3
campaign_menu → Menü
campaign join cta
campaign_join_default_body + CTA hybrid
Trigger
"Kampanyaya Katıl" butonuna tıklandı
Hangi kampanya?
O an gösterilen kampanya — yani priority sırasında bulunduğu yerdeki kampanya. İlk girişte en yüksek priority (örn Pepsi), "Sonraki" deyip ilerlemişse o priority'deki kampanya.
Body
DB'de campaigns.deeplink_message varsa o kullanılır.\nYoksa fallback metni: "Harika seçim! 🎉\n{campaign.name} kampanyasına katılmak için aşağıdaki butona tıkla 👇"
CTA Buton
campaign_join_cta_button → "Kampanyaya Git" (hardcoded, tüm kampanyalar için ortak)
URL
DB: campaigns.deeplink_url — o kampanyaya özel link
Yan etki
24 saat sonra reminder zamanlanır (eğer kullanıcı kampanyayı tamamlamazsa reminder_default_body tetiklenir)
🔀 Geçişler
Kampanyaya Gitapp/web deeplink
(24 saat bekle)reminder_default_body
📌 Önemli: Bu mesaj her kampanya için aynı yapıdadır ama içerik (kampanya adı, deeplink URL) o anki priority'deki kampanyadan dinamik gelir. Tek mesaj template'i, çoklu kampanya kullanımı.
cycle reset
campaign_cycle_reset_body text
Trigger
Tüm eligible kampanyaları gördükten sonra "Sonraki" deyince — katılmadıklarından başa dönüyor
Mesaj
🔄 Tüm kampanyaları gördün. Katılmadığın kampanyalardan tekrar başlıyoruz!
🔀 Geçişler
KK
Kazan Kazan
çevrimiçi
Üzgünüz! 😔 Şu an için katılabileceğin aktif bir kampanya bulunmuyor. Yeni kampanyalar yakında gelecek, takipte kal! 🎁
14:40
📐 Mockup
campaign_no_eligible_body text
Trigger
Kullanıcı için hiç eligible kampanya yok (API'den boş döndü)
KK
Kazan Kazan
çevrimiçi
Tebrikler! 🎉 Tüm kampanyalara katıldın veya şu an için katılabileceğin kampanya bulunmuyor. Yeni kampanyalar yakında gelecek, takipte kal! ❤️
14:45
📐 Mockup
campaign_completed_all_body text
Trigger
Kullanıcı tüm kampanyaları tamamladı
KK
Kazan Kazan
çevrimiçi
Merhaba! 👋 Henüz Pepsi kampanyasına katılmamış görünüyorsun. Ücretsiz GB kazanmak istemez misin? 🎁
15:00
📐 Mockup
campaign_still_active_body hybrid
Trigger
Kullanıcı katıldığı kampanyayı tamamlamadan tekrar bot'a yazar
Değişken
{campaign.name}

4. Hatırlatıcılar (24 saat sonra)

📌 Yeni mantık: Kullanıcı "Katıl" tıkladıktan 24 saat sonra Campaign API'ye check atılır — kampanyayı tamamladı mı?
KK
Kazan Kazan
çevrimiçi
Harika! 🎉 Pepsi kampanyasını tamamlamış görünüyorsun! Ödülün hesabına tanımlandı 🚀
15:30
📐 Mockup
reminder_congrats_body hybrid
Trigger
24 saat sonra Campaign API check → tamamlandı
Değişken
{campaign.name}
Sonraki adım
Otomatik sıradaki priority kampanya gönderilir (kullanıcı yine "Katıl/Detaylar/Sonraki" seçenekleriyle karşılaşır)
🔀 Geçişler
(kampanya kalmadıysa)reminder_no_more_body
KK
Kazan Kazan
çevrimiçi
Merhaba! 👋 Daha önce Pepsi kampanyasına katılmak istemiştin ama henüz ödülünü almamış görünüyorsun 🎁. Ücretsiz GB fırsatını kaçırmadan hemen devam et 🎁
15:30
📐 Mockup
reminder_default_body hybrid
Trigger
24 saat sonra Campaign API check → tamamlanmadı
Değişken
{campaign.name}
Sonraki adım
AYNI kampanya yeniden gönderilir (image + body + butonlar) — kullanıcıdan tekrar "Katıl/Detaylar/Sonraki" aksiyonu istenir
Timing
Production'da CAMPAIGN_REMINDER_DELAY_MINUTES=1380 (23 saat) — WhatsApp 24h penceresi içinde kalmak için
🔀 Geçişler
KK
Kazan Kazan
çevrimiçi
Şu an için başka aktif kampanya bulunmuyor. Yeni kampanyalar geldiğinde seni haberdar edeceğiz! ❤️
15:32
📐 Mockup
reminder_no_more_body text (terminal)
Trigger
Congrats sonrası sıradaki priority kampanya aranır, eligible kampanya kalmadıysa
State
Terminal — bu mesajdan sonra reminder döngüsü biter, kullanıcı yeni kampanya gelene kadar bekler

5. Hata Mesajları

KK
Kazan Kazan
çevrimiçi
Şu anda kampanya bilgilerini kontrol ederken geçici bir sorun yaşıyoruz. 🙏 Lütfen birkaç dakika sonra tekrar yaz.
15:35
📐 Mockup
error_campaign_api_unavailable text
Trigger
Campaign API down — kampanya eligibility kontrolünde hata
KK
Kazan Kazan
çevrimiçi
Üzgünüz, kampanya bilgisi bulunamadı. 😔 Lütfen tekrar dene veya destek ekibiyle iletişime geç!
15:37
📐 Mockup
error_campaign_no_info text
Trigger
Kampanya bilgisi DB'de bulunamadı (silinmiş veya yanlış ID)
KK
Kazan Kazan
çevrimiçi
Kampanya yönlendirmesinde geçici bir sorun oluştu. 🙏 Lütfen biraz sonra tekrar yaz.
15:38
📐 Mockup
error_campaign_keyword text
Trigger
Kullanıcı kampanya keyword'ü yazdı ama Campaign API hata verdi (timeout, 5xx)

6. Opt-out

KK
Kazan Kazan
çevrimiçi
Anladık, artık size mesaj göndermeyeceğiz. Tekrar mesaj almak için bize yazabilirsiniz.
15:40
📐 Mockup
optout_confirmation_body text
Trigger
Kullanıcı "STOP", "DURDUR", "İPTAL", "UNSUBSCRIBE" gibi keyword yazar

★ Fatura / Fiş Okut v2 · yeni

Bu bölüm v1 akışının üzerine oturur

Fatura / fiş okutma tekil bir kampanya değil; kampanyaların bağlanabileceği ortak bir altyapı. Mevcut akışa şu noktalardan eklenir:

Not: Üstteki genel akış haritası v1’i gösterir; aşağıdaki mini-harita bu uzantının nereye oturduğunu özetler.

KK
Kazan Kazan
çevrimiçi
Aşağıdaki seçeneklerden birini seç 👇
14:30
Menü
🎁 Kampanyalar 🧾 Fatura / Fiş Okut · v2 💎 FreeByte İşlemleri
📐 Mockup
menu_body → Fatura / Fiş Okutlist_messageyeni aksiyon
Trigger
Ana menüde (menu_body) yeni aksiyon olarak yer alır — eski 📲 GB Yükle’nin yerine. GB Yükle FreeByte İşlemleri’ne taşındı. fiş / fatura / okut keyword’ü ile de doğrudan açılır.
🔀 Geçişler
🧾 Fatura / Fiş Okutreceipt_intro_body
ℹ️ Fatura / Fiş Okut ana menüye eklendi (eski GB Yükle ile yer değiştirdi). GB Yükle artık 💎 FreeByte İşlemleri alt menüsünde (tek List).
KK
Kazan Kazan
çevrimiçi
Fişini okutarak kampanyalara katılabilirsin. 🧾 Hazır olduğunda aşağıdaki butona bas, fişinin fotoğrafını gönder.
14:31
📷 Fiş Gönder
📐 Mockup
receipt_intro_bodyinteractive_button
Trigger
Menüden “Fatura / Fiş Okut” seçildi ya da kampanyadan (Samba) yönlendirildi.
Mesaj
Fişini okutarak kampanyalara katılabilirsin. 🧾 Hazır olduğunda aşağıdaki butona bas, fişinin fotoğrafını gönder.
Context
{campaign_context} — boş (genel) veya samba
🔀 Geçişler
📷 Fiş Gönderreceipt_request_body
⚠️ Kamera otomatik açılmamalı. Kullanıcı akışı butonla başlatır.
KK
Kazan Kazan
çevrimiçi
Lütfen fişinin tamamının net göründüğü bir fotoğraf gönder 📸
14:31
📷 fiş fotoğrafı
14:32 ✓✓
📐 Mockup
receipt_request_bodymedia_request
Trigger
“Fiş Gönder” butonuna basıldı.
Mesaj
Lütfen fişinin tamamının net göründüğü bir fotoğraf gönder 📸
Beklenen girdi
WhatsApp medya (image). Galeriden seç veya kamerayla çek.
🔀 Geçişler
(görsel gönderildi)receipt_processing_body
(metin, görsel değil)tekrar iste (LOOP)
ℹ️ Fatura gönderimi WhatsApp’ın medya gönderim yapısına uygun ilerlemeli.
KK
Kazan Kazan
çevrimiçi
Fişini kontrol ediyoruz, birkaç saniye sürebilir… ⏳
14:32
📐 Mockup
receipt_processing_bodytext
Trigger
Kullanıcı görseli gönderdi → sistem görseli OCR / doğrulama servisine iletir.
Mesaj
Fişini kontrol ediyoruz, birkaç saniye sürebilir… ⏳
Servis adımları
OCR → fatura içeriği kontrolü → ödül tanımı. {campaign_context} varsa kampanyaya özel ödül; yoksa markasız genel ödül — her geçerli fiş ödül kazanır.
🔀 Geçişler
geçerli fiş (kampanya/genel)receipt_success_body
okunamadı / kampanyaya uygun değilhata mesajları
KK
Kazan Kazan
çevrimiçi
Büyük boy Samba alana 1.000 FreeByte hediye! 🍫 Kampanyaya katılmak için fişini gönder, hediyeni kap.
14:30
Samba ile Kazan
📐 Mockup
samba_campaign_postbroadcast
Trigger
Samba kampanya duyurusu — diğer kampanyalar gibi ayrı gönderi olarak yayınlanır.
Mesaj
Büyük boy Samba alana 1.000 FreeByte hediye! Kampanyaya katılmak için fişini gönder, hediyeni kap.
Buton
samba_join → Samba ile Kazan
🔀 Geçişler
Samba ile Kazanreceipt_intro_bodycontext = samba
ℹ️ Buton ortak okutma akışını Samba context'i ile başlatır. Aynı akış, menüden gelirse genel okutma olur.
KK
Kazan Kazan
— context —
Menü → genel fatura okutma Samba postu → samba context’i ile fatura okutma
🔌 Context (bot mesajı değil)
campaign_contextroutingcontext
Amaç
Tek okutma akışı, girişe göre farklı kampanya context'i taşır — kampanya başına ayrı akış kopyalanmaz.
Değişken
{campaign_context}null (genel) · samba · <ileride başka kampanyalar>
Etki
OCR sonrası uygunluk kontrolü ve ödül tanımı bu context'e göre yapılır.
KK
Kazan Kazan
çevrimiçi
Tebrikler! 🎉 Samba kampanyasından 1.000 FreeByte kazandın. FreeByte bakiyeni GB’ye dönüştürmek için aşağıdaki butona tıkla.
14:32
GB’ye Dönüştür
📐 Mockup
receipt_success_bodyinteractive_button
Trigger
Fiş doğrulandı → ödül tanımlandı (kampanya context'inde kampanya ödülü; genel okutmada markasız ödül).
Mesaj
Tebrikler! 🎉 {campaign_name ? "{campaign_name} kampanyasından" : "Fişinden"} {reward_amount} FreeByte kazandın. FreeByte bakiyeni GB’ye dönüştürmek için aşağıdaki butona tıkla.
Değişken
{campaign_name} — kampanya context'inde kampanya adı; genel/markasız okutmada boş (yerine "Fişinden"). {reward_amount} — kazanılan FreeByte (Samba: 1.000).
🔀 Geçişler
GB’ye Dönüştürgb_load_confirm_body(mevcut v1 akışı)
ℹ️ Yeni ödül sistemi kurulmaz: kazanılan FreeByte mevcut GB Yükle akışına bağlanır. Başarı adımları: doğrula → koşul ara → ödül tanımla → başarı mesajı → opsiyonel GB dönüştürme.

Hata / Uygun Değil Senaryoları

Her durum için ayrı, kısa ve aksiyona yönelik mesaj kullanılır.

KK
Kazan Kazan
çevrimiçi
Fişini okuyamadık. Lütfen fişin tamamının net göründüğü yeni bir fotoğraf gönder.
14:33
📐 Mockup
error_image_unreadabletext
Durum
Görsel okunamadı (bulanık, kesik, OCR yetersiz).
Mesaj
Fişini okuyamadık. Lütfen fişin tamamının net göründüğü yeni bir fotoğraf gönder.
🔀 Geçişler
tekrar denereceipt_request_body
KK
Kazan Kazan
çevrimiçi
Gönderdiğin görselde bir fatura/fiş göremedik. 🧾 Fişin tamamının göründüğü net bir fotoğraf çekip tekrar gönderebilir misin?
14:33
📐 Mockup
error_receipt_not_foundtext
Durum
Fatura/fiş bulunamadı (görsel fiş değil).
Mesaj
Gönderdiğin görselde bir fatura/fiş göremedik. 🧾 Fişin tamamının göründüğü net bir fotoğraf çekip tekrar gönderebilir misin?
🔀 Geçişler
tekrar denereceipt_request_body
KK
Kazan Kazan
çevrimiçi
Fişinde kampanyaya uygun bir ürün bulamadık. 🔍 Kampanya koşullarını kontrol edip uygun bir fişle tekrar deneyebilirsin.
14:33
📐 Mockup
error_campaign_product_not_foundtext
Durum
Kampanya ürünü bulunamadı (fiş geçerli ama Samba/ürün yok).
Mesaj
Fişinde kampanyaya uygun bir ürün bulamadık. 🔍 Kampanya koşullarını kontrol edip uygun bir fişle tekrar deneyebilirsin.
🔀 Geçişler
tekrar denereceipt_request_body
KK
Kazan Kazan
çevrimiçi
Bu fiş daha önce kullanılmış. ⚠️ Her fiş yalnızca bir kez geçerli — yeni bir fişle tekrar katılabilirsin.
14:33
📐 Mockup
error_receipt_already_usedtext
Durum
Fatura daha önce kullanılmış (tekrar gönderim).
Mesaj
Bu fiş daha önce kullanılmış. ⚠️ Her fiş yalnızca bir kez geçerli — yeni bir fişle tekrar katılabilirsin.
🔀 Geçişler
(akış bitti)END
KK
Kazan Kazan
çevrimiçi
Bu kampanyanın ödül kotası doldu. 🙌 İlgin için teşekkürler! Diğer kampanyalara menüden göz atabilirsin.
14:33
📐 Mockup
error_quota_fulltext
Durum
Kampanya kotası dolmuş.
Mesaj
Bu kampanyanın ödül kotası doldu. 🙌 İlgin için teşekkürler! Diğer kampanyalara menüden göz atabilirsin.
🔀 Geçişler
menüye dönmenu_body
KK
Kazan Kazan
çevrimiçi
Bu kampanyanın süresi doldu. ⏰ Güncel kampanyalara göz atmak ister misin?
14:33
📐 Mockup
error_campaign_expiredtext
Durum
Kampanya süresi dolmuş.
Mesaj
Bu kampanyanın süresi doldu. ⏰ Güncel kampanyalara göz atmak ister misin?
🔀 Geçişler
kampanyalara gitcampaign
KK
Kazan Kazan
çevrimiçi
Bu kampanyaya katılım hakkını doldurdun. 🎯 Yeni kampanyalarda yine bekleriz!
14:33
📐 Mockup
error_user_limittext
Durum
Kullanıcı kampanya limitini doldurmuş.
Mesaj
Bu kampanyaya katılım hakkını doldurdun. 🎯 Yeni kampanyalarda yine bekleriz!
🔀 Geçişler
(akış bitti)END
KK
Kazan Kazan
çevrimiçi
Şu an fişini işleyemedik, teknik bir aksaklık oldu. 🛠️ Birkaç dakika sonra tekrar dener misin?
14:33
📐 Mockup
error_system_ocrtext
Durum
Sistem / OCR hatası (servis yanıt vermedi).
Mesaj
Şu an fişini işleyemedik, teknik bir aksaklık oldu. 🛠️ Birkaç dakika sonra tekrar dener misin?
🔀 Geçişler
tekrar denereceipt_request_body

WhatsApp UX Notları & Açık Sorular

8. GB Yükle Akışı

KK
Kazan Kazan
çevrimiçi
1 GB için 1000 FreeByte hesabından düşülecek. Onaylıyor musun?
16:05
✅ Onaylıyorum
❌ İptal
📐 Mockup (PLANNED)
gb_load_confirm_body interactive_button
Trigger
v2 FreeByte İşlemleri → "📲 GB Yükle" tıklandı (ana menüden taşındı)
🔀 Geçişler
✅ Onaylıyorum (bakiye OK)gb_load_success_body
✅ Onaylıyorum (yetersiz)gb_load_insufficient_body
❌ İptalmenu_body
KK
Kazan Kazan
çevrimiçi
Üzgünüz 😔 FreeByte bakiyen yetersiz. Kampanyalara katılarak FreeByte kazanabilirsin! 🎁
16:06
🎁 Kampanyalar
🏠 Menü
📐 Mockup (PLANNED)
gb_load_insufficient_body interactive_button
Trigger
GB Yükle onaylandı + FreeByte bakiyesi < 1000
Buton 1
campaign_menu → 🎁 Kampanyalar (bakiye kazanma döngüsü)
Buton 2
menu_button → 🏠 Menü
🔀 Geçişler
🎁 Kampanyalarcampaign
🏠 Menümenu_body
KK
Kazan Kazan
çevrimiçi
Yükleme sırasında bir hata oluştu. 😔 Lütfen birkaç dakika sonra tekrar dene.
16:07
🔄 Tekrar Dene
🏠 Menü
📐 Mockup (PLANNED)
gb_load_error_body interactive_button
Trigger
FreeByte API GB yükleme hatası
Buton 1
gb_load_retry → 🔄 Tekrar Dene
Buton 2
menu_button → 🏠 Menü
🔀 Geçişler
🔄 Tekrar Denegb_load_confirm_body
🏠 Menümenu_body
KK
Kazan Kazan
çevrimiçi
Tebrikler! 🎉 1 GB hattına başarıyla yüklendi! Keyifli kullanımlar! 😊
16:08
💎 FreeByte İşlemleri
🏠 Menü
📐 Mockup (PLANNED)
gb_load_success_body interactive_button
Trigger
FreeByte API → GB load success
Yan etki
SMS doğrulama mesajı (operatör tarafından)
Buton 1
menu_button_freebyte_ops → 💎 FreeByte İşlemleri
Buton 2
menu_button → 🏠 Menü
🔀 Geçişler
💎 FreeByte İşlemlerifreebyte_menu_body
🏠 Menümenu_body

9. FreeByte İşlemleri PLANNED

📌 Model: FreeByte bir cüzdan bakiyesidir. Kazanım: kampanya katılımı + uniq kod. Harcama: GB Yükle (FreeByte → GB) ve ileride diğer dijital varlıklar. Bu alt menü, ana menüde 3 buton sınırı dolduğu için bakiye ve kod aksiyonlarını toplar.
KK
Kazan Kazan
çevrimiçi
💎 FreeByte İşlemleri Ne yapmak istersin?
16:10
FreeByte İşlemleri
📲 GB YükleFreeByte → GB bozdur 💰 Bakiye SorgulaFreeByte bakiyen 🎟️ Kod ile YükleKoddan FreeByte 🏠 Ana MenüÜst menüye dön
📐 Mockup (PLANNED)
freebyte_menu_body list_message PLANNED v2 · List
Trigger
Ana menüde "💎 FreeByte İşlemleri" tıklandı
Liste butonu
Seçenekler (10 karakter, ≤20)
Satır 1 v2
fb_ops_gb → 📲 GB Yükle (ana menüden taşındı)
Satır 2
fb_ops_balance → 💰 Bakiye Sorgula
Satır 3
fb_ops_code → 🎟️ Kod ile Yükle
Satır 4
menu_button → 🏠 Ana Menü
🔀 Geçişler
📲 GB Yüklegb_load_confirm_body
💰 Bakiye Sorgulafreebyte_balance_body
🎟️ Kod ile Yüklefreebyte_code_prompt_body
🏠 Ana Menümenu_body
KK
Kazan Kazan
çevrimiçi
💎 Güncel FreeByte bakiyen: {balance} FreeByte
16:11
📲 GB Yükle
🏠 Menü
📐 Mockup (PLANNED)
freebyte_balance_body PLANNED
Trigger
FreeByte İşlemleri menüsünde "💰 Bakiye Sorgula" tıklandı
Kaynak
app API: GET balance — bakiye anlık çekilir.
Değişken
{balance} — kullanıcının güncel FreeByte bakiyesi
Buton 1
menu_button_gb_load → 📲 GB Yükle
Buton 2
menu_button → 🏠 Menü
🔀 Geçişler
📲 GB Yüklegb_load_confirm_body
🏠 Menümenu_body
KK
Kazan Kazan
çevrimiçi
Bakiyeni kontrol ederken geçici bir sorun oluştu. 🙏 Lütfen birkaç dakika sonra tekrar dene.
16:11
🔄 Tekrar Dene
🏠 Menü
📐 Mockup (PLANNED)
freebyte_balance_error_body PLANNED
Trigger
Bakiye API çağrısı başarısız (timeout, 5xx)
🔀 Geçişler
🔄 Tekrar Denefreebyte_balance_body
🏠 Menümenu_body
KK
Kazan Kazan
çevrimiçi
🎟️ FreeByte kodunu yaz, bakiyene ekleyelim 👇 (Örn: ABC123XYZ)
16:12
📐 Mockup (PLANNED)
freebyte_code_prompt_body PLANNED
Trigger
FreeByte İşlemleri menüsünde "🎟️ Kod ile Yükle" tıklandı
Girdi
Kullanıcı serbest metin olarak kodu yazar (buton değil, text input)
🔀 Geçişler
geçersiz/kullanılmışfreebyte_code_invalid_body
KK
Kazan Kazan
çevrimiçi
Tebrikler! 🎉 {amount} FreeByte bakiyene eklendi! Güncel bakiyen: {balance} FreeByte
16:13
📲 GB Yükle
🏠 Menü
📐 Mockup (PLANNED)
freebyte_code_success_body PLANNED
Trigger
Geçerli kod girildi → FreeByte yükleme başarılı
Değişken
{amount} — kodun yüklediği FreeByte miktarı · {balance} — yeni güncel bakiye
🔀 Geçişler
📲 GB Yüklegb_load_confirm_body
🏠 Menümenu_body
KK
Kazan Kazan
çevrimiçi
Bu kod geçersiz veya daha önce kullanılmış. 😔 Kodunu kontrol edip tekrar deneyebilirsin.
16:13
🔄 Tekrar Dene
🏠 Menü
📐 Mockup (PLANNED)
freebyte_code_invalid_body PLANNED
Trigger
Girilen kod bulunamadı, süresi dolmuş veya zaten kullanılmış
🔀 Geçişler
🔄 Tekrar Denefreebyte_code_prompt_body
🏠 Menümenu_body
KK
Kazan Kazan
çevrimiçi
Kodu işlerken geçici bir sorun oluştu. 🙏 Lütfen birkaç dakika sonra tekrar dene.
16:13
🔄 Tekrar Dene
🏠 Menü
📐 Mockup (PLANNED)
freebyte_code_error_body PLANNED
Trigger
Kod doğrulama API çağrısı başarısız (timeout, 5xx)
🔀 Geçişler
🔄 Tekrar Denefreebyte_code_prompt_body
🏠 Menümenu_body