İçeriğe geç
developers
Geliştirici merkezi

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.

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.

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.

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.

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.