Seamless Wallet/authenticate
Oyuncu doğrulama
Callback · Sağlayıcı → OperatörPOST{callback_url}/authenticate
Oyuncu launch_url adresini açtığında Boss Hub, launch isteğinde verdiğiniz oyuncu token’ını doğrulamanız için bu uç noktayı çağırır. OK yanıtı gelmeden oyun açılmaz. Oyun sağlayıcısı oturum sırasında oyuncuyu yeniden doğrulatırsa aynı çağrı tekrar gelir.
Başlıklar
| Başlık | Açıklama |
|---|---|
| Content-Type | application/json |
| X-Operator-Id | Operatör kimliğiniz |
| X-Timestamp | Unix saniye. ±30 sn dışını reddedin |
| X-Signature | hex(HMAC_SHA256(secret, ts + "." + "POST" + "." + path + "." + body)). path, callback adresinizin taban yolu dahil tam yoludur, örn. /bossgaming/bet. Bkz. İmza |
| X-Request-Id | İsteğin kimliği. Bu çağrı tekrar edilmez |
| X-Api-Key | Callback’i imzalayan API anahtarınız. Birden çok anahtarınız varsa doğru secret’ı seçer |
İki token: Buradaki token sizin oyuncu oturum token’ınızdır. launch_url içindeki tek kullanımlık token Boss Hub’a aittir; size gelmez.
Yanıt: player_id zorunludur ve launch isteğindeki player_id ile birebir aynı JSON metni olmalıdır: "u_88213" için "u_88213". Launch’ta "88213" gönderdiyseniz yanıttaki 88213 sayısı tutmaz; farklı büyük/küçük harf veya baştaki/sondaki boşluk da tutmaz. Tutmazsa oyun açılmaz, oyuncunun tarayıcısı 403 INVALID_TOKEN alır ve yalnız Boss Hub tarafında bir güvenlik kaydı düşer (authenticate_mismatch). currency gönderirseniz oturum para birimiyle aynı olmalıdır. balance oyunun açılıştaki bakiyesidir; gönderilmezse 0 gösterilir.
Ret de HTTP 200: INVALID_TOKEN ve PLAYER_BLOCKED’ı HTTP 200 gövdesinde status: ERROR ile verin. 400 veya 401 ile dönerseniz ret okunmaz: oyuncu doğru kod yerine 503 WALLET_UNAVAILABLE görür.
Oturumu eşleyin: Token yalnız bu çağrıda gelir. Sonraki balance, bet, win ve rollback çağrılarında token ve Authorization başlığı yoktur; aynı session_id gelir. Cüzdanınız token’a bağlıysa burada session_id → token / oyuncu eşlemesini saklayın. Bkz. Oturum eşleme.
Tek deneme: Bu çağrı tekrar edilmez. Yanıt cüzdan zaman aşımı içinde (varsayılan 3 sn) gelmezse veya HTTP 200 değilse oyun açılmaz.
200Başarılı yanıt
{
"status": "OK",
"player_id": "u_88213",
"currency": "USD",
"balance": 150.60
}200İş kuralı hatası (HTTP 200 + kod)
{
"status": "ERROR",
"code": "INVALID_TOKEN"
}Hata kodları
| Kod | Anlam | Boss Hub davranışı |
|---|---|---|
| INVALID_TOKEN | Token geçersiz veya süresi dolmuş | Oyun açılmaz; oyuncunun tarayıcısı 403 INVALID_TOKEN alır |
| PLAYER_BLOCKED | Oyuncu kısıtlı / self-exclusion | Oyun açılmaz; oyuncunun tarayıcısı 403 PLAYER_BLOCKED alır |
| INVALID_SIGNATURE | İmza doğrulanamadı | Oyun açılmaz; tarayıcı 403 INTERNAL_ERROR alır |
| INTERNAL_ERROR | Operatör hatası | Oyun açılmaz; tarayıcı 403 INTERNAL_ERROR alır |
| — | Zaman aşımı, bağlantı hatası, HTTP 200 dışı yanıt (örn. 400) | Oyun açılmaz; tarayıcı 503 WALLET_UNAVAILABLE alır, details.wallet_status neyin olduğunu söyler (timeout, network, http_400...). Portalda Entegrasyon > Cüzdan sağlığı aynı etiketi gösterir |
| — | HTTP 200 ama JSON okunamıyor (örn. WAF sayfası) | Oyun açılmaz; tarayıcı 503 WALLET_UNAVAILABLE alır (wallet_status: unparseable), launch_url kullanılmış sayılır |
Oyuncunun launch_url açılışında görebileceği diğer yanıtlar: Oyun başlatma.