Casino API entegrasyon kontrol listesi: canlıya geçmeden önce neyi kuracak, test edecek ve izleyeceksiniz
Bir casino oyun API'si entegrasyonu hep aynı yerlerde patlar: yeniden denenen bir debit'in iki kez çekilmesi, hiç görmediğiniz bir bahis için gelen rollback, üç ondalıklı bir para birimi. Bu kontrol listesi her katmanı bir geliştiricinin karşılaştığı sırayla ele alıyor ve her maddenin hangi hatayı önlediğini gösteriyor.
Bu casino API entegrasyon kontrol listesi, elinde API anahtarları ve bir teslim tarihi olan geliştirici için. Pratikte karşılaşacağınız sırayı izliyor: önce wallet’ınız ile sağlayıcı arasındaki sözleşme, sonra lobi, sonra oyun açılışı, ardından test ve canlıdaki ilk hafta.
Her madde, o madde olmadan bir şey bozulduğu için burada. Ortak bir dokümanda işaretleyin, açık kalanları da sağlayıcının entegrasyon ekibine soru olarak gönderin.
0. İlk satır koddan önce
- Elinizde satış PDF’i değil, eksiksiz API dokümantasyonu var: her endpoint, her hata kodu, örnek payload’lar.
- Wallet modelini biliyorsunuz. Seamless (sağlayıcı her bahis ve kazançta sunucunuzu çağırır) ya da transfer (parayı sağlayıcı tarafındaki bir bakiyeye siz taşırsınız). Bu liste, aggregator’ların çoğunun sattığı seamless modeli varsayıyor.
- Staging kimlik bilgileri ve staging callback URL’si production’dan ayrı.
- İstek imzalama net: hangi header, hangi algoritma (genelde HMAC-SHA256), hangi alanlar hangi sırayla imzalanıyor.
- Allow-list’e eklemenizi istiyorlarsa sağlayıcının giden IP adreslerini biliyorsunuz.
- İsmi belli bir teknik muhatabınız ve saatler içinde yanıt veren bir kanalınız var.
1. Wallet callback’leri
Sağlayıcı sunucunuzu dört şey için çağıracak. Her şeyden önce bunları kurun.
- Balance. Oyuncunun harcanabilir güncel bakiyesini oyuncunun para biriminde döner.
- Debit (bahis). Bakiye yetiyorsa bahis tutarını düşer, yeni bakiyeyi döner. Yetersiz bakiye 500 değil, dokümante edilmiş hata kodunu döner.
- Credit (kazanç). Kazancı ekler. Sıfır tutarlı credit geçerlidir ve başarılı olmalıdır; birçok stüdyo kaybeden bir turu kapatmak için bunu gönderir.
- Rollback (iade). Önceki belirli bir debit’i geri alır.
- Her yanıt dokümanın istediği şekilde imzalanıyor veya doğrulanıyor.
- Gelen her çağrıda imzayı doğruluyor, hatalı olanları dokümante edilmiş kodla reddediyorsunuz.
- Endpoint’iniz sağlayıcının timeout süresinin rahatça altında yanıt veriyor. Rakamı dokümanda bulun. 3 saniye diyorsa 99. persentilde 300 ms altını hedefleyin.
- Tutarlar küçük birim cinsinden tam sayı ya da sabit noktalı ondalık olarak saklanıyor. Asla float olarak değil.
- Debit ve credit bir round ID ve bir game ID taşıyor. İkisini de saklayın.
Senaryo. Yavaş mobil bağlantıdaki bir oyuncu spin atıyor. Debit’iniz başarılı oluyor ama yanıt 4 saniye sürüyor ve sağlayıcı 3. saniyede vazgeçiyor. Sağlayıcı şimdi kendi kurallarına göre ya bir rollback gönderiyor ya da debit’i yeniden deniyor. 2. ve 3. bölümler tam bu an için var.
2. Idempotency
- İşlemler tablonuzda sağlayıcının işlem ID’si üzerinde benzersiz bir kısıt var.
- Aynı işlem ID’siyle tekrar gelen bir debit ya da credit parayı yeniden hareket ettirmiyor. Aynı bakiye değerleriyle orijinal yanıtı dönüyor.
- Aynı ID ama farklı tutarla gelen tekrar çağrı reddediliyor ve yüksek sesle loglanıyor. Bu ya sağlayıcı hatası ya da bir saldırı.
- Bakiye değişiklikleri ve işlem kayıtları tek bir veritabanı transaction’ında gerçekleşiyor. Birinin diğeri olmadan var olduğu bir an yok.
- Aynı oyuncu için eşzamanlı çağrılar sıraya sokuluyor (row lock veya benzeri). İki açık oyun sekmesinden gelen eşzamanlı iki debit, yalnızca birini karşılayan bir bakiyede ikisi birden geçmemeli.
3. Rollback’ler
- Bir rollback iptal ettiği debit’e referans verir. Onu sağlayıcının işlem ID’siyle bulun.
- Hiç almadığınız bir debit için gelen rollback: bunu bir tombstone olarak kaydedin ve başarı (ya da dokümante edilmiş kodu) dönün. Debit sonradan gelirse tombstone onu çekmenizi engeller.
- Zaten geri alınmış bir debit için gelen rollback orijinal yanıtı döner.
- Turunda zaten kazanç olan bir debit’in rollback’i: dokümanı harfiyen izleyin. Bazı sağlayıcılar bunu yasaklar, bazıları ikisini birden geri almanızı bekler.
- Rollback’ler bakiyeyi asla açıklanamayan bir duruma sokmuyor. Eksiye düşürebileceklerse kuralı şimdi belirleyin ve yazıya geçirin.
4. Turlar ve bitmemiş oyunlar
- Hangi turların açık olduğunu görebiliyorsunuz (debit gelmiş, kapanış credit’i yok).
- Sağlayıcının eskimiş turları nasıl kapattığını biliyorsunuz: timeout sonrası otomatik credit, manuel bir araç ya da destek talebi.
- Bonus ve free round kazançları etiketleniyor; böylece bonus mantığınız onları nakit kazançlardan farklı ele alabiliyor.
- Back office’iniz oyuncu başına tam tur geçmişini gösteriyor: her çağrı, her yanıt, zaman damgaları.
5. Para birimleri
- Her oyuncunun kayıtta belirlenen, açılışta gönderilen ve her callback’te geri yansıtılan tek ve sabit bir para birimi var.
- Callback para biriminin oyuncunun para birimiyle eşleştiğini kontrol ediyor, eşleşmeyenleri reddediyorsunuz.
- Ondalık basamaklar para birimine göre doğru. Fiat’ların çoğu iki, bazıları sıfır, bazıları üç basamak kullanır. Kripto sekiz veya daha fazla kullanabilir; kablo üzerinde kullanılan hassasiyeti sağlayıcıyla netleştirin.
- Listelediğiniz her oyun, onu gösterdiğiniz para birimini gerçekten destekliyor. Bir stüdyo EUR ve USD’yi destekleyip BDT veya ETB’yi desteklemeyebilir.
- Para birimi başına bahis limitleri mantıklı. EUR’da küçük olan bir minimum bahis IDR’de tuhaf, BTC’de çok büyük olabilir.
- Raporlarda gösterim para birimi ile hesaplaşma para birimi karıştırılmıyor.
6. Oyun listesi senkronu
- Oyun listesi API’den planlı olarak, en az günde bir kez çekiliyor ve yerelde saklanıyor.
- Kapatılan ya da kaldırılan oyunlar lobiden gelecek çeyrekte değil, bir sonraki senkronda kayboluyor.
- Küratörlük yapıyorsanız yeni oyunlar doğrudan lobiye değil, inceleme durumuna düşüyor.
- Sağlayıcının sabit game ID’sini saklıyorsunuz, adını değil. Adlar değişir.
- Görseller sizin tarafta önbellekleniyor ya da mobile uygun boyutta sunuluyor.
- Her oyun kategorisini, stüdyosunu, cihaz desteğini ve para birimi desteğini taşıyor; böylece lobi filtreleri yanıltmıyor.
- Bir pazar için kapatılan stüdyolar şansa bırakılmıyor, kendi kurallarınızla filtreleniyor.
7. Launch URL’leri
- Gerçek parayla açılış, oyuncuya bağlı kısa ömürlü bir oturum token’ı geçiriyor. Asla bir şifre ya da tekrar kullanılabilir bir ID değil.
- Token süresinin dolması ele alınıyor: eski bir sekme bozuk bir frame değil, net bir mesaj gösteriyor.
- Dil, para birimi, cihaz tipi ve dönüş/lobi URL’si açılışta ayarlanıyor.
- Oyunun desteklediği yerde bir yatırım veya kasa URL’si geçiriliyor; böylece “yetersiz bakiye” bir yere çıkıyor.
- Oyun hem iframe içinde hem de yeni pencerede doğru açılıyor. Bazı stüdyolar belirli domain’lerde veya tarayıcılarda iframe’i engeller.
- Demo açılışlar, sunuluyorsa, gerçek wallet’a asla dokunmuyor. Bunu açıkça test edin.
- Tıklamadan ilk kareye kadar açılış süresi 4G’deki orta segment bir telefonda ölçülüyor. 5 saniyenin üstü oyuncu kaybettirir.
8. Test
- Destekleyeceğiniz her para birimi için bir test oyuncusu.
- Her oyun tipi için bir tam tur: slot, live masa, crash, masa oyunu, sanal spor.
- Zorla oluşturulan hatalar: sunucunuz timeout, 500 ve yetersiz bakiye kodu dönüyor. Sağlayıcının sonra ne yaptığını izleyin.
- Elle tekrar oynatılan çift çağrılar: iki kez debit, iki kez credit, iki kez rollback.
- Sırasız çağrılar: debit’ten önce rollback, rollback’ten sonra credit.
- Aynı oyuncu, iki sekme, aynı anda spin.
- Oyun ortasında oturum süresinin dolması.
- Büyük bir kazanç ve sıfır kazanç.
- Mutabakat raporunuz test dönemi için sağlayıcının raporuyla kuruşu kuruşuna tutuyor.
9. Canlıya geçiş
- Production anahtarları ve callback URL’si değiştirildi, staging production oyuncuları için kapatıldı.
- Callback gecikmesi, hata oranı ve imza hataları izleniyor; alarmlar kimsenin açmadığı bir paneli değil, bir kişiyi uyarıyor.
- Günlük mutabakat işi: oyun ve para birimi başına toplamlarınız sağlayıcınınkilerle karşılaştırılıyor.
- Ön ödemeli modellerde sıfırın çok üstünde bir düşük kredi alarmı ve pazar günü yükleme yapabilecek biri.
- Back office’inizde oyun ve stüdyo bazında bir kapatma anahtarı.
- Sağlayıcının destek kanalı ve eskalasyon muhatabı runbook’unuza yazılmış.
10. İlk yedi gün
- Mutabakatı her sabah kontrol edin.
- Reddedilen tüm callback’leri ve açık turları gözden geçirin.
- Stüdyo başına açılış hatalarını izleyin; tek bir kötü stüdyo bütün lobiyi aşağı çekebilir.
- Sağlayıcıdan kendi taraflarındaki hata loglarını isteyin ve karşılaştırın.
Kripto bir marka açan küçük bir ekip, sağlayıcının dokümantasyonu sağlamsa bu listeyi bir haftada bitirebilir. Dokümanlar zayıfsa liste aynı zamanda sağlayıcı için iyi bir sınav: kaç madde için soru sormak zorunda kaldığınızı sayın. Seamless wallet sıralaması ve yeni operatörler için aggregator’lar sayfası sağlayıcıları tam olarak bu tür entegrasyon işine göre puanlıyor.
Operatörlerin sorduğu sorular
Bir casino API entegrasyonu ne kadar sürer?
Seamless wallet API'si ve daha önce bu işi yapmış bir geliştiriciyle temel bir açılış birkaç günden birkaç haftaya kadar sürer. Zamanın çoğu oyun açılışına değil, wallet callback'lerine ve uç durumlarına gider. İlk kez yapan bir ekip testler dahil iki ila dört hafta planlamalı.
Casino oyun API entegrasyonunun en zor kısmı ne?
Wallet. Sunucunuz balance, debit, credit ve rollback çağrılarına hızlı yanıt vermeli, her işlemi tam olarak bir kez uygulamalı ve çağrılar geç, iki kez ya da sırasız geldiğinde tutarlı kalmalı.
Casino wallet callback'lerinde idempotency ne demek?
Sağlayıcı aynı işlemi iki kez gönderirse wallet'ınız onu bir kez uygular ve iki seferde de aynı cevabı döner. Bunu sağlayıcının işlem ID'si üzerinde benzersiz bir anahtarla ve gönderdiğiniz yanıtı saklayarak sağlarsınız.
Oyun listesini otomatik senkronize etmeli miyim?
Evet. Listeyi planlı olarak, en az günde bir kez çekin. Stüdyolar operatörlere haber vermeden oyun ekler, adını değiştirir ve kapatır. Elle tutulan bir liste birkaç hafta içinde eskir ve oyuncular ölü kutucuklara tıklar.
Canlıya geçtikten sonra neyi izlemeliyim?
Callback yanıt süreleri ve hata oranları, başarısız ve yeniden denenen işlemler, sağlayıcının raporuyla günlük mutabakat ve ön ödemeli modellerde kredi bakiyesi. Her biri için oyuncular fark etmeden alarm kurun.