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

Oyun listesi

API · Operatör → Boss Hub
GET/v1/games

Seçilen sitede şu an açılabilen oyunları döndürür. Liste launch’la aynı kapıdan geçer: sağlayıcı erişimi, açma kapama kuralları, pazar kuralları, bakım, operatör ve site durumu. Lobi kategorileri ve sıralama dahildir. 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

site_idstring
Site kodu, örn. site_mrd01, en çok 64 karakter. Liste bu sitenin kurallarına göre süzülür. Operatör geneli anahtarla birden çok sitede zorunlu.
currencyISO 4217
limits alanının para birimi: USD (varsayılan), EUR, TRY. Liste para birimine göre süzülmez.
langstring
İçerik dili: tr, en. description alanı bu dilde gelir; verilmezse tr.
categorystring
Lobi kategorisi, örn. featured. Verilirse sort kategorideki sıradır.
providerstring
Sağlayıcı kodu, örn. egt.
updated_sincedate-time
Bu andan sonra (dahil) değişen oyunlar (updated_at). RFC 3339 zaman veya YYYY-MM-DD (UTC gün başı), örn. 2026-11-01T00:00:00Z.
released_sincedate-time
Bu andan sonra (dahil) yayına çıkan oyunlar (release_at). Biçim updated_since ile aynı.
countrystring
Oyuncu ülkesi, ISO 3166-1 alfa-2 (TR, DE); küçük harf büyütülür. Bu ülkeden launch reddedilecek oyunlar listede çıkmaz.
Artımlı eşitleme: Son eşitleme anınızı updated_since ile gönderin; yalnız kaydı değişen oyunlar gelir (ad, durum, çıkış veya kaldırma tarihi). Liste yalnız şu an açılabilen oyunları içerir: kapanan veya kaldırılan oyun listeden çıkar; bakım, operatör askısı veya kapalı site sırasında liste boş dönebilir. Bunu tam listeyle karşılaştırarak ya da game.availability_changed ve game.retiring webhook’larıyla izleyin. Listedeki bir oyun yine de launch’ta CURRENCY_NOT_SUPPORTED (oyunun currencies alanına bakın), COUNTRY_BLOCKED veya kredi limiti aşıldıysa 402 CREDIT_LIMIT alabilir.

Oyun ayrıntısı

GET /v1/games/{game_id} tek oyunu aynı Game şemasıyla döndürür. Oyun o an sitenizde kapalı olsa da döner; açılıp açılmadığını launch söyler. Oyun yoksa, emekliyse, sağlayıcısına erişiminiz yoksa veya seçili oyun listenizde değilse 404 NOT_FOUND gelir.

game_idstringzorunlu
Yol parametresi. Oyun kodu, örn. sultans-ember, en çok 120 karakter.
site_idstring
Sorgu parametresi. Site kodu.
currencyISO 4217
Sorgu parametresi. limits alanının para birimi.
langstring
Sorgu parametresi. description alanının dili: tr, en.
countrystring
Sorgu parametresi. Oyuncu ülkesi; oyun bu ülkeyi yasaklıyorsa 403 COUNTRY_BLOCKED.
GET /v1/games?site_id=site_mrd01&lang=tr HTTP/1.1
Host: staging.example.com
X-Operator-Id: op_meridyen
X-Timestamp: 1762344000
X-Signature: 8c020c…6906
200Oyun listesi
{
  "games": [
    {
      "id": "sultans-ember",
      "name": "Sultan’s Ember",
      "description": "6×5 ızgarada kademeli çarpanlar.",
      "provider": "boss-originals",
      "rtp_variants": ["v96", "v94", "v92"],
      "volatility": "high",
      "max_win_x": 5000,
      "features": {
        "bonus_buy": true,
        "ante_bet": true,
        "autoplay": false,
        "turbo": false,
        "gamble": false
      },
      "limits": {
        "currency": "USD",
        "min_bet": 0.20,
        "max_bet": 100.00,
        "default_bet": 1.00,
        "source": { "min_bet": "platform", "max_bet": "site" }
      },
      "tags": ["new", "jackpot"],
      "categories": ["featured"],
      "sort": 1,
      "assets": {
        "portrait": "https://api.example.com/media/fil_01HF30….webp"
      },
      "currencies": ["USD", "EUR", "TRY"],
      "release_at": "2026-10-14",
      "retire_at": null,
      "updated_at": "2026-11-05T14:30:00.000Z",
      "blocked_countries": [],
      "demo": false
    }
  ],
  "categories": [
    {
      "key": "featured",
      "name": { "tr": "Öne çıkanlar", "en": "Featured" },
      "mode": "manual",
      "auto_rule": null,
      "games": ["sultans-ember"]
    }
  ]
}
404GET /v1/games/{game_id}: oyun yok
{
  "code": "NOT_FOUND",
  "message": "Record not found.",
  "request_id": "req_01HF3Q2N"
}

Game alanları

AlanTürAçıklama
idstringOyun kodu. Launch ve callback’lerde game_id olarak geçer.
namestringOyunun adı.
descriptionstring | nulllang dilinde oyun açıklaması.
providerstringSağlayıcı kodu.
rtp_variantsstring[]Sunulan RTP varyantları: v96, v94, v92.
volatilitystringlow, medium, high, very_high.
max_win_xintegerBahsin katı olarak en yüksek kazanç.
featuresobjectÖzellik bayrakları: bonus_buy, ante_bet, autoplay, turbo, gamble.
limitsobject | nullEtkin bahis limitleri, aşağıda. Bu para biriminde limit tanımlı değilse null; böyle oyun açılamaz.
tagsstring[]Etiketler, örn. new, jackpot.
categoriesstring[]Oyunun bulunduğu lobi kategorileri.
sortintegerLobideki sıra; sıra verilmemişse 999999. category verilirse kategorideki sıra (1’den).
assetsobjectGörseller: tile (kareye yakın küçük kart), portrait (dikey kapak: WebP, 600×900, 2:3, görsel başına ~60–120 KB). Yalnız yüklenmiş tür gelir; görsel yoksa {}. tile yoksa portrait kullanın. Adresler kalıcıdır, imza istemez ve sizin API adresinizdedir (Test anahtarıyla Test adresi); görsel <img> ile doğrudan açılabilir ya da kendi CDN’inize kopyalanabilir. Görsel değişince adres değişir ve oyunun updated_at değeri ilerler: updated_since ile eşitleyin. Kaldırılan görselin adresi 404 döner.
currenciesstring[]Oyunun desteklediği para birimleri: USD, EUR, TRY. Boş dizi kısıt yok demektir.
release_atdate | nullİlk yayın günü.
retire_atdate | nullPlanlı kaldırma günü. O gün oyun yeni oturuma kapanır, açık turlar tamamlanır. Plan yoksa null.
updated_atdate-timeOyun kaydının son değiştiği an; updated_since buna bakar.
blocked_countriesstring[]Yasaklı ülkeler (ISO alfa-2): sağlayıcının ve oyunun listesi birleşik, sıralı. Bu ülkelerden launch 403 COUNTRY_BLOCKED alır; liste değişince updated_at ilerler.
demobooleanBu oyunda demo oturumu açılır mı. Demo oyun başınadır: sağlayıcı demo sunmalı, oyun herkese açık listede ve yayında olmalı. EGT oyunlarında hep false; false olan oyunda POST /v1/game/demo 404 döner.

limits alanları

AlanTürAçıklama
currencyISO 4217Limitlerin para birimi.
min_betdecimal(18,2)En düşük bahis.
max_betdecimal(18,2)En yüksek bahis.
default_betdecimal(18,2)Varsayılan bahis.
sourceobjectmin_bet ve max_bet değerinin geldiği katman: platform, provider, operator, game, site, market_rule, player_restriction.

categories alanları

AlanTürAçıklama
keystringKategori anahtarı, örn. featured.
nameobjectKategori adı: tr, en.
modestringmanual veya auto.
auto_rulestring | nullOtomatik kategorinin kuralı: new_30d, popular_7d, jackpot.
gamesstring[]Kategorideki oyun kodları, sırasıyla.

Sağlayıcılar ve logolar

GET /v1/providers (games.read) erişiminiz olan sağlayıcıları döndürür; küme /v1/games ile aynıdır. id, oyunlardaki provider değeridir. logo kalıcı ve imzasız bir görsel adresidir (PNG, JPEG veya WebP), sizin API adresinizdedir; logo yüklenmemişse null. Logo değişince adres değişir; listeyi eşitlemede yeniden okuyun.

{
  "providers": [
    { "id": "egt", "name": "EGT Digital", "logo": "https://api.example.com/media/fil_01HF4A….png" },
    { "id": "boss-originals", "name": "Boss Originals", "logo": null }
  ]
}

Çıkış ve kaldırma takvimi

GET /v1/releases (marketing.read) yaklaşan çıkışları ve kütüphanenizdeki oyunların planlı kaldırmalarını tarih sırasıyla döndürür. kind satırın türünü söyler: release satırında release_at, markets, status; retirement satırında retire_at ve note gelir. Kaldırma en az 7 gün önce planlanır, 7 gün kala hatırlatılır.

GET /v1/releases

[
  {
    "kind": "release",
    "game_id": "cyber-djinn",
    "name": "Cyber Djinn",
    "provider": "boss-originals",
    "release_at": "2026-11-20",
    "markets": ["[Pazar A]", "[Pazar B]"],
    "status": "staging"
  },
  {
    "kind": "retirement",
    "game_id": "pharaoh-circuit",
    "name": "Pharaoh Circuit",
    "provider": "boss-originals",
    "retire_at": "2026-12-01",
    "note": "Yerine Pharaoh Circuit 2 geliyor."
  }
]

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
COUNTRY_BLOCKED403Oyun country ülkesini yasaklıyor (GET /v1/games/{game_id})
NOT_FOUND404Oyun yok, emekli veya sağlayıcısına erişiminiz yok (GET /v1/games/{game_id})
SITE_REQUIRED422Operatör geneli anahtar ve birden çok site: site_id gönderin
VALIDATION_ERROR422Geçersiz sorgu parametresi
RATE_LIMITED429Hız limiti aşıldı
← ÖncekirollbackSonraki →Oyun önerileri
Oyun listesi · Dokümanlar · Boss Hub