Test paketi senaryoları
Entegrasyon test paketi 42 senaryoyu gerçek Test (staging) cüzdanınıza karşı çalıştırır. Paketi portalda Test ortamında Geliştirici › Entegrasyon & API sayfasındaki Entegrasyon test paketi kartından başlatırsınız. Her senaryo GEÇTİ, HATA, UYARI veya YAPILMADI ile sonuçlanır.
Canlıya geçiş koşulu
- Yalnız en son Test koşusu sayılır ve 42 senaryonun tamamı GEÇTİ olmalıdır. UYARI ve YAPILMADI da engeller.
- Production iste düğmesi bu koşul ve en az bir Canlı IP kaydı tamamsa açılır; istek gönderildikten veya onaylandıktan sonra kapanır.
- Bir sağlayıcının Canlıya al düğmesi, o sağlayıcıya ait veya operatör geneli en son koşu tam geçince açılır. Ayrıntı: Canlıya geçiş.
Çalıştırma
- Önce Test ortamında operatör geneli cüzdan ayarını kaydedin; site cüzdan ayarı yetmez. Yoksa test verisi kaydedilmez ve paket başlamaz (422 WALLET_NOT_CONFIGURED).
- Paket, kapalı olmayan en eski sitenizi ve onun varsayılan para birimini kullanır; Bağlantıyı test et de aynı siteyi ve aynı cüzdan adresini sınar. Test oyuncusunun bu para biriminde bakiyesi olmalıdır.
- Aynı anda tek koşu çalışır (409 TEST_RUN_IN_PROGRESS). Sonuç portal bildirimi ve e-postayla gelir. Tüm sonuçlar listesinde düşen her satır nedeni, beklenen ve gelen yanıtı, çözüm önerisini ve çağrıları (yol, istek özeti, HTTP durumu, taşıma hatası, gecikme, kısaltılmış yanıt gövdesi) gösterir; kartta son beş koşunun skoru görünür.
Test verileri
| Alan | Kullanım | Eksikse |
|---|---|---|
| Test oyuncusu, geçerli token | Bütün senaryolar | Paket uydurma bir oyuncu ve token kullanır; senaryoların çoğu HATA verir. Token uzun ömürlü olmalı: paket koşu boyunca ve her tekrar koşuda aynı token’ı kullanır, süresi dolan token AUTH-01’i ve bahisleri INVALID_TOKEN’a düşürür. Kayıtlı token’ı Test verilerinde Sil ile kaldırabilirsiniz |
| Süresi dolmuş token | AUTH-03; WIN-04 ve RB-06 da kullanır | AUTH-03 YAPILMADI |
| Engelli oyuncu | BET-05: PLAYER_BLOCKED dönmeli | BET-05 YAPILMADI |
| Limitli oyuncu ve limiti aşan tutar | BET-06: LIMIT_EXCEEDED dönmeli | BET-06 YAPILMADI |
Senaryolar cüzdanınızı doğrudan çağırır ve gerçek para hareketi yapar: test oyuncusunun bakiyesi değişir. Yedi motor senaryosu (REQ-01, ERR-01…03, TMO-02, RND-01, RND-02) Boss Hub’ın kendi bahis akışından ve araya giren bir aktarıcıdan geçer; bunun için Test’te size açık, para biriminizi ve limitlerinizi destekleyen bir oyun gerekir, yoksa YAPILMADI döner. Motor senaryoları oyunun en düşük bahsini kullanır ve Test mutabakatınızda açık kalan birkaç bench turu bırakabilir.
Cüzdan çağrıları
| Kod | Çağrı | Geçme koşulu |
|---|---|---|
| AUTH-01 | authenticate | Geçerli token: OK ve test oyuncusunun player_id’si |
| AUTH-02 | authenticate | Geçersiz token: INVALID_TOKEN |
| AUTH-03 | authenticate | Süresi dolmuş token: INVALID_TOKEN |
| BAL-01 | balance | OK ve balance |
| BAL-02 | balance | Bilinmeyen oyuncu: herhangi bir ERROR |
| BET-01 | bet | 1.00 bahis: OK |
| BET-02 | bet | 0.01 bahis: OK (ondalık hassasiyeti) |
| BET-03 | bet | Başka para birimi: ERROR, bakiye değişmez |
| BET-04 | bet | Çok büyük tutar: INSUFFICIENT_FUNDS |
| BET-05 | bet | Engelli oyuncu: PLAYER_BLOCKED |
| BET-06 | bet | Limitli oyuncu: LIMIT_EXCEEDED |
| BET-07 | bet | Aynı anda iki aynı bahis: ikisi de OK, yanıtlar bayt bayt aynı, bir kez tahsil; sonraki tekrar da aynı yanıt |
| BET-08 | bet | Aynı transaction_id, farklı tutar: DUPLICATE_TRANSACTION |
| BET-09 | bet | Aynı gövde ve X-Request-Id, yeni zaman damgası: aynı yanıt, bir kez tahsil |
| BET-10 | bet | Free round: amount 0.00, is_freeround: true, freeround_bet_value dolu: OK |
| WIN-01 | win | 2.50 kazanç: OK |
| WIN-02 | win | Sıfır kazanç, round_closed: true: OK |
| WIN-03 | win | Aynı transaction_id tekrar: aynı yanıt |
| WIN-04 | win | Gövdede süresi dolmuş token olsa da OK |
| WIN-05 | win | Önce bilinmeyen kimliğe rollback, sonra o kimlikle win: TRANSACTION_ROLLED_BACK |
| WIN-06 | win | jackpot: {pool_id, level} dolu: OK |
| RB-01 | rollback | İşlenmiş bahsin iadesi: OK |
| RB-02 | rollback | Aynı rollback tekrar: aynı yanıt |
| RB-03 | rollback | Bilinmeyen işlem: HTTP 200 ve OK |
| RB-04 | rollback | Bilinmeyen işleme rollback, sonra o kimlikle bahis: TRANSACTION_ROLLED_BACK |
| RB-05 | rollback | Aynı rollback, yeni zaman damgası: aynı yanıt, bir kez iade |
| RB-06 | rollback | Gövdede süresi dolmuş token olsa da OK |
İmza ve istek
| Kod | Geçme koşulu |
|---|---|
| SIG-01 | Doğru imzalı balance: OK |
| SIG-02 | 120 sn eski zaman damgası reddedilir, 10 sn eski kabul edilir. ±30 sn uygulayın |
| SIG-03 | Başka yol veya başka metot (PUT) için üretilmiş imza reddedilir |
| SIG-04 | Yanlış secret: gövdede status: ERROR ve code: INVALID_SIGNATURE olan JSON (çıplak 401 geçmez) |
| REQ-01 | Motor: ilk deneme size ulaşır, Boss Hub 502 görür; tekrar aynı X-Request-Id ve gövdeyle gelir, bir kez tahsil edilmelidir |
| REQ-02 | Bilinmeyen gövde alanı yok sayılır: OK |
"Reddedilir": HTTP 401 veya 403, ya da gövdede INVALID_SIGNATURE veya TIMESTAMP_SKEW kodu. Callback’lerde HTTP 200 ve INVALID_SIGNATURE önerilir: Kimlik doğrulama & imza.
Hata ve zaman aşımı
| Kod | Geçme koşulu |
|---|---|
| ERR-01 | Motor: her bahis denemesi INTERNAL_ERROR alır; tam olarak 1 + tekrar sayısı kadar deneme yapılır, ardından bilinmeyen işleme giden otomatik rollback’e OK dönersiniz, bakiye değişmez |
| ERR-02 | Motor: ilk deneme size ulaşır, Boss Hub 503 görür; ikinci denemede bahis OK, bir kez tahsil |
| ERR-03 | Motor: 200 ama HTML gövde; bahis belirsiz kalır, iade edilir veya geçersiz sayılır, bakiye değişmez |
| TMO-01 | 0.10 bahis seçtiğiniz zaman aşımı içinde yanıtlanır. Sürenin %80’ini geçen yanıt UYARI, aşan yanıt HATA |
| TMO-02 | Motor: geç gelen yanıt kayda geçer, bahis OK sayılmaz |
Tur ve free round
| Kod | Geçme koşulu |
|---|---|
| RND-01 | Motor: bir bahis ve aynı anda iki kazanç; tur başına aynı anda tek çağrı, iki kazanç da OK |
| RND-02 | Motor: bahis beklerken gelen kazanç sıraya alınır, bahisten önce gönderilmez, sonra OK |
| FR-01 | Free round bahsi (tutar 0) bakiyeyi değiştirmez |
| FR-02 | Free round rollback’i nakit iade etmez, bakiye değişmez |
Sık görülen hatalar
| Kod | Neden | Çözüm |
|---|---|---|
| Her kod: HTTP 404 | Callback taban adresinde o yol (/bet, /win …) yok. | Beş yolu da açın; portalda Bağlantıyı test et yol yol gösterir. Taban adres sorgu dizesi içermez, /bet ile bitmez. |
| Her kod: INTERNAL_ERROR, 5xx | Cüzdanınız istekte hata verdi; Boss Hub bunu belirsiz sayar. | Satırdaki çağrı tablosunda yanıt gövdesine ve isteğe bakın; günlüğünüzde aynı X-Request-Id’yi arayın. |
| Her kod: para birimi yok/yanlış OK | OK yanıtında currency yok ya da istekteki değil, ya da bakiye 2’den çok ondalıklı. | OK yanıtında balance (en çok 2 ondalık) ve istekteki currency dönün; transaction_id dönüyorsanız istekteki olmalı. |
| AUTH-01 | Geçerli test token’ı reddediliyor ya da başka player_id dönüyor. | Test verilerine uzun ömürlü bir token girin; yanıtta test oyuncusunun player_id’sini aynen (dize olarak) dönün. Bkz. authenticate. |
| AUTH-02, AUTH-03 | Geçersiz veya süresi dolmuş token’a OK ya da 4xx dönülüyor. | HTTP 200 ve {"status":"ERROR","code":"INVALID_TOKEN"} dönün. |
| BAL-01, BAL-02 | balance yok, ya da bilinmeyen oyuncuya OK dönülüyor. | Test oyuncusuna OK + balance + currency, bilinmeyen oyuncuya HTTP 200 ve status: ERROR dönün. Bkz. balance. |
| BET-01, BET-02, BET-10, WIN-01, WIN-02, FR-01 | bet veya win’e INVALID_TOKEN dönülüyor: her çağrıda oyuncu token’ı doğrulanıyor. | bet, win ve rollback sizin verdiğiniz bir token taşımaz. Oyuncuyu player_id (ve authenticate’teki session_id) ile bulun; tutarı ondalık okuyun (0.01, 0.00 free round). |
| BET-03 | Başka para birimindeki bahis kabul ediliyor ya da bakiye değişiyor. | Oyuncunun para birimi dışındaki bahsi ERROR ile reddedin, bakiyeye dokunmayın. |
| BET-04, BET-05, BET-06 | Yetersiz bakiye, engelli veya limitli oyuncuda OK ya da başka kod dönülüyor. | Sırasıyla INSUFFICIENT_FUNDS, PLAYER_BLOCKED, LIMIT_EXCEEDED dönün. BET-05 ve BET-06 için Test verilerinde engelli ve limitli oyuncuyu girin. |
| BET-07 | İkinci yanıtta balance güncel bakiyeyi dönüyor ya da aynı anda gelen iki kopya iki kez tahsil ediliyor. | Oyuncu kaydını kilitleyip sonra kimliğe bakın; ilk yanıtı aynen saklayıp dönün. Bkz. bet. |
| BET-08 | Kimlik tekrarında gövde karşılaştırılmadan ilk yanıt dönülüyor. | Ham gövdenin özetini saklayın; farklıysa DUPLICATE_TRANSACTION dönün. |
| BET-09, WIN-03, RB-02, RB-05 | Aynı kimlik tekrar geldiğinde yanıt değişiyor ya da ikinci kez tahsil/iade ediliyor. | İlk yanıtı kimliğe bağlı saklayıp bayt bayt aynı dönün; para hareketi bir kez. |
| WIN-06 | jackpot alanı bilinmediği için istek reddediliyor. | Tanımadığınız alanları yok sayın; jackpot nesnesini kullanmıyorsanız atlayın. |
| RB-01 | İşlenmiş bahsin rollback’i reddediliyor. | Bahsi iade edip OK dönün. Bkz. rollback. |
| RB-03 | Bilinmeyen işleme 409 TRANSACTION_NOT_FOUND dönülüyor. | 200 ve status: OK dönün. Bkz. rollback. |
| RB-04, WIN-05 | Rollback kaydedilmiyor, geç gelen bahis veya kazanç işleniyor. | Kimliği kaydedin, sonraki bet ve win için TRANSACTION_ROLLED_BACK dönün. |
| SIG-01 | Doğru imzalı istek reddediliyor. | İmzayı imzalama secret’ıyla, taban yolunuz dahil tam yol ve ham gövde üzerinden hesaplayın; secret’ı X-Api-Key ile seçin. Bkz. İmza hesabı. |
| SIG-02 | Eski zaman damgası kabul ediliyor ya da 10 sn eski damga reddediliyor. | ±30 sn uygulayın. |
| SIG-03 | İmza yalnız zaman damgası ve gövdeyi kapsıyor. | Metodu ve yolu da ekleyin. Bkz. İmza hesabı. |
| SIG-04 | Doğrulanamayan istekte gövdesiz 401 dönülüyor. | HTTP 200 ve {"status":"ERROR","code":"INVALID_SIGNATURE"} dönün. |
| REQ-01, ERR-02 | Tekrar gelen bahis yeniden tahsil ediliyor. | Bahsi transaction_id ile idempotent yapın: aynı gövde ve X-Request-Id ile gelen tekrara saklı sonucu dönün. |
| REQ-02 | Bilinmeyen gövde alanı yüzünden istek reddediliyor. | Tanımadığınız alanları yok sayın. |
| WIN-04, RB-06 | Süresi dolmuş token için INVALID_TOKEN dönülüyor. | win ve rollback token süresinden bağımsız kabul edilmelidir. |
| ERR-01, ERR-03 | Otomatik rollback, sizde kaydı olmayan ya da belirsiz kalan bahis için OK dönmüyor. | Bilinmeyen işleme rollback’te OK dönün ve kaydedin; tahsil ettiyseniz iade edin. |
| TMO-01 | Yanıt sınıra yakın (UYARI) ve canlıya geçişi engelliyor. | Callback’i hızlandırın; gerekirse portalda 5 sn zaman aşımı seçin. |
| TMO-02 | Geç bahsin ardından gelen rollback reddediliyor ya da yanıt hiç gelmiyor. | Zaman aşımı içinde yanıt verin; ardından gelen rollback’i kabul edin. |
| RND-01, RND-02 | Bir turun kazançları reddediliyor ya da bahisten önce işleniyor. | Aynı turun çağrılarını sırayla işleyin; bahisten sonra gelen kazançları OK ile kabul edin. |
| FR-02 | Free round rollback’i nakit iade ediyor. | Tutarı 0 olan free round bahsinin rollback’inde bakiyeyi değiştirmeyin. |
| REQ-01, ERR-01…03, TMO-02, RND-01, RND-02 YAPILMADI | Test’te size açık oyun yok. | Test seçiliyken Oyun › Sağlayıcılar sayfasında size açılan bir sağlayıcıda (örneğin EGT) Ekle deyin ve en az bir oyununu Test sitenizde açık tutun. Sağlayıcı görünmüyorsa Boss Hub destek ekibine yazın. |