Boss HubBoss HubDocs
Sürüm notlarıDurum
Sağlayıcı API/Oyun önerileri

Oyun önerileri

API · Operatör → Boss Hub
GET/v1/lobby/recommendations

Lobiniz için oyun önerir: genel popüler liste, oyuncuya özel liste ve bir oyuna benzer oyunlar. Dönen oyunlar launch’la aynı kapıdan geçer: bu sitede kapalı, kaldırılmış veya istenen para birimini ya da limiti desteklemeyen oyun gelmez. Ülke yasağı ve cüzdan ayarınızın para birimi listesi burada uygulanmaz; launch yine COUNTRY_BLOCKED veya CURRENCY_NOT_SUPPORTED verebilir. games.read kapsamı gerekir.

Başlıklar

BaşlıkAçıklama
X-Operator-IdOperatör kimliğiniz
X-TimestampUnix saniye. ±30 sn dışı reddedilir
X-Signaturehex(HMAC_SHA256(secret, ts + "." + METHOD + "." + path?query + "." + body))
X-Api-Keyİsteğe bağlı. Birden çok anahtarınız varsa doğru secret’ı seçer

Sorgu parametreleri

typestringzorunlu
Öneri türü: popular, player, similar.
site_idstring
Site kodu, örn. site_mrd01, en çok 64 karakter. Öneri bu sitenin kurallarına göre süzülür. Operatör geneli anahtarla birden çok sitede zorunlu.
player_idstring
type=player için zorunlu, en çok 100 karakter. Launch’ta gönderdiğiniz oyuncu kimliği; oyuncu bu sitede en az bir kez launch edilmiş olmalı.
game_idstring
type=similar için zorunlu, en çok 120 karakter. Oyun kodu, örn. sultans-ember.
currencyISO 4217
Yalnız bu para birimini destekleyen ve bu para biriminde limiti olan oyunlar gelir. Verilmezse oyuncunun para birimi (player), o da yoksa sitenin varsayılanı.
platformstring
desktop veya mobile. Popüler sayımı yalnız bu cihazdaki oturumlardan yapılır.
limitinteger
Dönen oyun sayısı: 1-100, varsayılan 20.

Türler

typesourceNasıl seçilir
popularoperator, networkSon 30 günde oyunu oynayan tekil oyuncu ve tur sayısı. Operatör geneli anahtarla sayım bütün sitelerinizden yapılır, site_id yalnız süzgeçtir; siteye bağlı anahtarla yalnız o site sayılır. Operatörünüzün 30 günde 50’den az tekil oyuncusu varsa ağ geneli kullanılır: canlı ortam, tüm operatörler, yalnız toplam sayılar. Liste kısa kalırsa ağ genelinden tamamlanır.
playerplayerOyuncunun son 90 günde yeni ve sık oynadıkları, sonra bunlara benzer oyunlar; kalan yer popülerle dolar. Turlarının %30 veya fazlasını alan oyunlar sona gelir. Geçmişi yoksa popüler liste döner, source onu söyler.
similarsimilaritySon 90 günde iki oyunu da oynayan tekil oyuncu sayısından benzerlik (Jaccard). Canlı ortamdan günde bir hesaplanır, en az 3 ortak oyuncu gerekir; oyun başına en benzer 20 oyun tutulur, limit daha büyük olsa da en çok 20 oyun döner. Benzerliği henüz hesaplanmamış oyunda liste boştur.
Uygunluk: Öneriler GET /v1/games ile aynı kuralları uygular: erişim, site ve pazar kuralları, kapalı oyunlar. Kural değişince eski sonuç dönmez; sonuç en çok 2 dakika önbellekte kalır.
Site anahtarı: Site anahtarıyla yalnız kendi sitenizde çalışır; popüler sayımı da yalnız o sitenin verisinden yapılır.
GET /v1/lobby/recommendations?type=player&site_id=site_mrd01&player_id=u_88213&limit=3 HTTP/1.1
Host: staging.example.com
X-Operator-Id: op_meridyen
X-Timestamp: 1762344000
X-Signature: 5b1e7d…c09a
200Oyuncuya özel öneri
{
  "recommendation_id": "rec_player_20261105_8d41c0a29f3b_2c7e91d04a6b5f38e1d2c3b4",
  "source": "player",
  "games": [
    {
      "game_id": "jade-vault",
      "name": "Jade Vault",
      "provider": "boss-originals",
      "score": 0.5389,
      "reason": "played"
    },
    {
      "game_id": "neon-koi",
      "name": "Neon Koi",
      "provider": "boss-originals",
      "score": 0.2106,
      "reason": "similar_to_played"
    },
    {
      "game_id": "shining-crown",
      "name": "Shining Crown",
      "provider": "egt",
      "score": 0.8333,
      "reason": "played_most"
    }
  ]
}
422type=player, player_id eksik
{
  "code": "VALIDATION_ERROR",
  "message": "The submitted data is invalid.",
  "request_id": "req_01HF3Q2N",
  "details": { "field": "player_id" }
}

Yanıt alanları

AlanTürAçıklama
recommendation_idstringİmzalı öneri kimliği. Oyuncu tıklarsa launch isteğinde gönderin. Süresizdir; aynı sorgu aynı gün aynı kimliği verir.
sourcestringListenin kaynağı: operator, network, player, similarity.
gamesobject[]Öneriler, gösterilecek sırayla. Alanlar aşağıda.

games[] alanları

AlanTürAçıklama
game_idstringOyun kodu. Launch’ta game_id olarak gönderilir.
namestringOyunun adı.
providerstringSağlayıcı kodu.
scorenumber0-1 arası, dört hane. Anlamı reason’a göre, aşağıda.
reasonstringOyunun listeye giriş nedeni.

reason ve score

reasonAnlamıscore
popularOperatörünüzde popüler0,5 × tekil oyuncu / en çok oyuncu + 0,5 × tur / en çok tur
popular_networkAğ genelinde popülerAynı formül, ağ geneli verisiyle
playedOyuncunun son 90 günde oynadığı0,5 × yenilik (90 günde 1’den 0’a) + 0,5 × tur / oyuncunun en çok oynadığı oyunun turu
similar_to_playedOyuncunun oynadıklarına benzerBenzerliklerin, oyuncunun o oyundaki tur payıyla ağırlıklı toplamı
played_mostOyuncunun turlarının %30 veya fazlası bu oyundaTur payı
similargame_id’ye benzerJaccard: ikisini de oynayan / ikisinden birini oynayan tekil oyuncu

Tıklamayı ölçmek

Oyuncu önerilen bir oyunu açarsa recommendation_id değerini POST /v1/game/launch gövdesinde gönderin. Boss Hub kimliği oyun oturumuna yazar. İmzası tutmayan veya başka operatörün kimliği 422 VALIDATION_ERROR alır.

Hata kodları

KodHTTPAnlam
INVALID_SIGNATURE401İmza doğrulanamadı
TIMESTAMP_SKEW401X-Timestamp ±30 sn dışında
IP_NOT_ALLOWED403IP izin listesinde değil
SCOPE_MISSING403games.read kapsamı yok
SCOPE_DENIED403site_id sizin değil veya anahtarınızın kapsamı dışında
NOT_FOUND404player: oyuncu bu sitede yok; similar: oyun yok veya erişiminiz yok
SITE_REQUIRED422Operatör geneli anahtar ve birden çok site: site_id gönderin
VALIDATION_ERROR422Geçersiz parametre; player_id veya game_id eksik
CURRENCY_NOT_SUPPORTED422Site bu para birimini desteklemiyor
RATE_LIMITED429Hız limiti aşıldı
← ÖncekiOyun listesiSonraki →Oyun başlatma (launch)
Oyun önerileri · Dokümanlar · Boss Hub