Sağlayıcı API/Oyun önerileri
Oyun önerileri
API · Operatör → Boss HubGET/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ık | Açıklama |
|---|---|
| X-Operator-Id | Operatör kimliğiniz |
| X-Timestamp | Unix saniye. ±30 sn dışı reddedilir |
| X-Signature | hex(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 |
Türler
| type | source | Nasıl seçilir |
|---|---|---|
| popular | operator, network | Son 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. |
| player | player | Oyuncunun 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. |
| similar | similarity | Son 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.
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ı
| Alan | Tür | Açıklama |
|---|---|---|
| recommendation_id | string | İmzalı öneri kimliği. Oyuncu tıklarsa launch isteğinde gönderin. Süresizdir; aynı sorgu aynı gün aynı kimliği verir. |
| source | string | Listenin kaynağı: operator, network, player, similarity. |
| games | object[] | Öneriler, gösterilecek sırayla. Alanlar aşağıda. |
games[] alanları
| Alan | Tür | Açıklama |
|---|---|---|
| game_id | string | Oyun kodu. Launch’ta game_id olarak gönderilir. |
| name | string | Oyunun adı. |
| provider | string | Sağlayıcı kodu. |
| score | number | 0-1 arası, dört hane. Anlamı reason’a göre, aşağıda. |
| reason | string | Oyunun listeye giriş nedeni. |
reason ve score
| reason | Anlamı | score |
|---|---|---|
| popular | Operatörünüzde popüler | 0,5 × tekil oyuncu / en çok oyuncu + 0,5 × tur / en çok tur |
| popular_network | Ağ genelinde popüler | Aynı formül, ağ geneli verisiyle |
| played | Oyuncunun 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_played | Oyuncunun oynadıklarına benzer | Benzerliklerin, oyuncunun o oyundaki tur payıyla ağırlıklı toplamı |
| played_most | Oyuncunun turlarının %30 veya fazlası bu oyunda | Tur payı |
| similar | game_id’ye benzer | Jaccard: 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ı
| Kod | HTTP | Anlam |
|---|---|---|
| INVALID_SIGNATURE | 401 | İmza doğrulanamadı |
| TIMESTAMP_SKEW | 401 | X-Timestamp ±30 sn dışında |
| IP_NOT_ALLOWED | 403 | IP izin listesinde değil |
| SCOPE_MISSING | 403 | games.read kapsamı yok |
| SCOPE_DENIED | 403 | site_id sizin değil veya anahtarınızın kapsamı dışında |
| NOT_FOUND | 404 | player: oyuncu bu sitede yok; similar: oyun yok veya erişiminiz yok |
| SITE_REQUIRED | 422 | Operatör geneli anahtar ve birden çok site: site_id gönderin |
| VALIDATION_ERROR | 422 | Geçersiz parametre; player_id veya game_id eksik |
| CURRENCY_NOT_SUPPORTED | 422 | Site bu para birimini desteklemiyor |
| RATE_LIMITED | 429 | Hız limiti aşıldı |