VISWOO BELGELERİ
Sunucu işlevleri
Kendi sunucunuz olmadan çekiliş, tek kullanımlık kod, olay sayaçları ve eklenti verisi.
Çoğu eklentinin sunucu işi platformda hazırdır. Ekran görünümü ve telefon sayfası call(eylem, yük) ile ister:
| Eylem | İzin | Ne yapar |
|---|---|---|
draw |
draw |
Ağırlıklı çekiliş; telefonda ziyaretçi başına günlük, ekranda art arda çekilişte beklemeli |
codes.issue |
codes |
Tek kullanımlık kod üretir ({ payload, days? }); telefon sayfasından çağrılamaz |
| başka her ad | server |
Kendi sunucunuza action olayı olarak gider (Kendi sunucunuz) |
Hiçbiri değilse plugin.unknown_action. Kurulum eksikse plugin.setup_incomplete, eklenti kapalı ya da tarih dışında
ise plugin.not_live.
Çekiliş
Bölüm başlığı “Çekiliş”Havuzu ayarlardan tanımlayın: ödüller bir ayar dizisinden gelir, kalan stok sunucuda tutulur. Manifestte
draw.pools.<ad>; from dizinin yolu, ödül alanları dizi öğesindeki alan adları, diğerleri ayardaki değerin yoludur
(JSON Pointer).
"draw": { "pools": { "default": { "from": "/prizes", "id": "id", "label": "label", "weight": "weight", "stock": "stock", "winning": "winning", "codeDays": "/codeDays", "limitPerVisitorPerDay": "/dailyLimit" } }}| Alan | Anlamı |
|---|---|
weight |
Çıkma ağırlığı; 0 çıkmaz |
stock |
Kalan adet; yoksa sınırsız. Ayar kaydı stoğu sıfırlamaz; bir ödülün stok değeri değişirse onun sayımı baştan başlar |
winning |
Kazandırır; codes izni varsa kazanana kod verilir |
active, startsAt, endsAt |
Havuzu kapatır ya da tarih aralığına bağlar (plugin.pool_closed) |
codeDays |
Kodun geçerlilik süresi, gün (1–90) |
limitPerVisitorPerDay |
Telefon başına günlük çekiliş (varsayılan 1) |
screenCooldownSeconds |
Ekranda iki çekiliş arası bekleme (varsayılan 5) |
Ağırlık, stok ve kazandırır alanlarını x-viswoo-visibility: "server" yapın; ekran ve telefon görmesin.
Viswoo.player.call('draw').then(function (result) { // { prizeId, label, winning, code?, expiresAt? }});Hatalar: plugin.pool_not_found, plugin.pool_closed, plugin.pool_empty (çıkabilecek ödül kalmadı),
plugin.limit_reached. Panel kalan stoğu draw.stock() ile okur.
Tek kullanımlık kodlar
Bölüm başlığı “Tek kullanımlık kodlar”Kod 6 karakterdir, büyük harf ve rakamdan oluşur, birbirine benzeyen karakterleri içermez (ör. K7M2QX). Kazanılan
çekilişte kendiliğinden, ayrıca codes.issue ile üretilir. Panel sekmesi kasada codes.lookup ile doğrular,
codes.redeem ile teslim eder; ikinci teslim plugin.code_redeemed, süresi geçmiş kod plugin.code_expired döner.
Teslimler denetim kaydına düşer.
Olay sayaçları
Bölüm başlığı “Olay sayaçları”report(ad, sayı?) (izin events) günlük sayaç tutar; ad [a-z0-9_.-]{1,40}. Panel events.summary(gün) ile son
90 güne kadar okur. Oynatıcı sayıları toplu gönderir, internet yokken bekletir.
Eklenti verisi
Bölüm başlığı “Eklenti verisi”data izniyle panel sekmesi ve kendi sunucunuz eklentiye ait JSON belgeleri okur ve yazar (Panel
sekmesi, Platform API’si). Ekran görünümü ve telefon sayfası veriye doğrudan
erişmez; gerekiyorsa sunucunuz action cevabıyla verir.