Sağlayıcı Dağılımı
Son Oyun Başlatmaları
| Site | Kullanıcı | Sağlayıcı | Oyun | Tarih |
|---|---|---|---|---|
| Henüz veri yok | ||||
Yeni Site Ekle
Bağlı Siteler
0Henüz site eklenmemiş
Casino7Provider API & Seamless Wallet Dokümantasyonu
1. Genel Bilgi & Kimlik Doğrulama
Casino7Provider API servisi, slot oyunlarını kendi sitenizde veya platformunuzda dilediğiniz gibi sunmanızı sağlar. Tüm istekler POST metodu ile Content-Type: application/json olarak gönderilmelidir.
https://casino7provider.com
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
api_key | String | Evet | Siteler sekmesinde sizin için üretilen 64 karakterli API erişim anahtarı. |
api_secret | String | Evet | Callback isteklerinin size ait olduğunu doğrulayan gizli anahtar. |
2. Sağlayıcı Listesi (`/api/v1/provider_list`)
Sitenize tanımlanmış ve aktif olan slot oyun sağlayıcılarının listesini verir.
/api/v1/provider_list
İstek Gövdesi (JSON):
{
"api_key": "YOUR_64_CHAR_API_KEY"
}
Başarılı Yanıt (JSON):
{
"status": 1,
"providers": [
{ "code": "PRAGMATIC", "name": "Pragmatic Play", "type": "slots", "status": 1 },
{ "code": "PGSOFT", "name": "PG Soft", "type": "slots", "status": 1 },
{ "code": "AMUSNET", "name": "Amusnet Interactive", "type": "slots", "status": 1 },
{ "code": "EGT", "name": "EGT Digital", "type": "slots", "status": 1 }
]
}
3. Oyun Listesi (`/api/v1/game_list`)
Belirtilen sağlayıcıya (`provider_code`) ait tüm aktif slot oyunlarını, oyun kodlarını ve görsel kapaklarını (banner) listeler.
/api/v1/game_list
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
api_key | String | Evet | API Anahtarınız |
provider_code | String | Evet | PRAGMATIC, PGSOFT, AMUSNET, EGT |
İstek Gövdesi (JSON):
{
"api_key": "YOUR_64_CHAR_API_KEY",
"provider_code": "PRAGMATIC"
}
Başarılı Yanıt (JSON):
{
"status": 1,
"provider_code": "PRAGMATIC",
"total": 648,
"games": [
{
"game_code": "vs20olympgold",
"game_name": "Gates of Olympus 1000",
"banner": "https://media.casino7provider.com/banners/vs20olympgold.jpg",
"type": "slots",
"status": 1
},
{
"game_code": "vs20sweetbonz",
"game_name": "Sweet Bonanza 1000",
"banner": "https://media.casino7provider.com/banners/vs20sweetbonz.jpg",
"type": "slots",
"status": 1
}
]
}
4. Oyun Başlatma (`/api/v1/game_launch`)
Oyuncunuzun oyuna katılabilmesi için güvenli oyun linki (`launch_url`) üretir. Bu linki sitenizde bir iframe içerisinde veya yeni sekmede açabilirsiniz.
/api/v1/game_launch
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
api_key | String | Evet | API Anahtarınız |
user_code | String | Evet | Sitenizdeki benzersiz oyuncı kullanıcı adı veya ID'si (Örn: ahmet123) |
provider_code | String | Evet | Sağlayıcı kodu (Örn: PRAGMATIC, EGT, AMUSNET, PGSOFT) |
game_code | String | Evet | Başlatılacak oyunun kodu (Örn: vs20olympgold veya 9011) |
lang | String | Hayır | Oyun dili (Varsayılan: tr, Desteklenen: en, tr, ru, de) |
İstek Gövdesi (JSON):
{
"api_key": "YOUR_64_CHAR_API_KEY",
"user_code": "ahmet123",
"provider_code": "PRAGMATIC",
"game_code": "vs20olympgold",
"lang": "tr"
}
Başarılı Yanıt (JSON):
{
"status": 1,
"msg": "SUCCESS",
"launch_url": "https://launch.casino7provider.com/game?token=abc123xyz"
}
5. Seamless Wallet (Tek Cüzdan) Callback Entegrasyonu
Oyuncularınız oyundayken yapılan her bahis (bet) ve kazanç (win) işlemi için Casino7Provider sunucuları sitenizin callback_url adresine anlık istek atar.
A. Bakiye Sorgulama (`method: "user_balance"`)
Oyun açılışında veya tur başında oyuncunun bakiyesini öğrenmek için tetiklenir.
// Casino7Provider -> Sitenizin Callback Adresi:
{
"method": "user_balance",
"user_code": "ahmet123",
"agent_secret": "YOUR_API_SECRET"
}
// Sitenizden Beklenen Yanıt (JSON):
{
"status": 1,
"user_balance": 2500.50
}
B. Bahis & Kazanç İşlemi (`method: "transaction"`)
Oyuncu her spin attığında veya kazanç elde ettiğinde tetiklenir.
// Casino7Provider -> Sitenizin Callback Adresi:
{
"method": "transaction",
"user_code": "ahmet123",
"agent_secret": "YOUR_API_SECRET",
"game_type": "slot",
"slot": {
"provider_code": "PRAGMATIC",
"game_code": "vs20olympgold",
"bet_money": 10.00,
"win_money": 50.00,
"txn_id": "txn_9988776655",
"txn_type": "debit_credit",
"round_id": "round_112233"
}
}
// Sitenizden Beklenen Yanıt (JSON):
{
"status": 1,
"user_balance": 2540.50
}
| İşlem Tipi (`txn_type`) | Mantık |
|---|---|
debit | Oyuncunun bakiyesinden bet_money düşülür. |
credit | Oyuncunun bakiyesine win_money eklenir. |
debit_credit | Yeni Bakiye = Eski Bakiye - bet_money + win_money |
6. Kod Entegrasyon Örnekleri
PHP (cURL ile Oyun Başlatma):
<?php
$apiKey = "YOUR_API_KEY";
$data = [
"api_key" => $apiKey,
"user_code" => "ahmet123",
"provider_code" => "PRAGMATIC",
"game_code" => "vs20olympgold",
"lang" => "tr"
];
$ch = curl_init("https://casino7provider.com/api/v1/game_launch");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response["status"] === 1) {
$gameUrl = $response["launch_url"];
header("Location: " . $gameUrl);
} else {
echo "Hata: " . $response["msg"];
}
?>
PHP (Seamless Callback Handler — callback.php):
<?php
$mySecret = "YOUR_API_SECRET";
$rawInput = file_get_contents("php://input");
$data = json_decode($rawInput, true);
if ($data["agent_secret"] !== $mySecret) {
echo json_encode(["status" => 0, "user_balance" => 0, "msg" => "INVALID_SECRET"]);
exit;
}
$userCode = $data["user_code"];
$user = getUserByCode($userCode); // Kendi DB fonksiyonunuz
if (!$user) {
echo json_encode(["status" => 0, "user_balance" => 0, "msg" => "USER_NOT_FOUND"]);
exit;
}
if ($data["method"] === "user_balance") {
echo json_encode(["status" => 1, "user_balance" => (float)$user["balance"]]);
exit;
}
if ($data["method"] === "transaction") {
$slot = $data["slot"] ?? $data;
$bet = (float)($slot["bet_money"] ?? 0);
$win = (float)($slot["win_money"] ?? 0);
$txnType = $slot["txn_type"] ?? "debit_credit";
if ($bet > 0 && $user["balance"] < $bet) {
echo json_encode(["status" => 0, "user_balance" => (float)$user["balance"], "msg" => "INSUFFICIENT_USER_FUNDS"]);
exit;
}
$newBalance = $user["balance"] - $bet + $win;
updateUserBalance($userCode, $newBalance); // Kendi DB fonksiyonunuz
echo json_encode(["status" => 1, "user_balance" => (float)$newBalance]);
exit;
}
?>
Node.js / Express (Seamless Callback Handler):
app.post('/gold_api', async (req, res) => {
const { method, agent_secret, user_code } = req.body;
if (agent_secret !== 'YOUR_API_SECRET') {
return res.json({ status: 0, user_balance: 0, msg: 'INVALID_SECRET' });
}
const user = await db.findUser(user_code);
if (!user) return res.json({ status: 0, user_balance: 0, msg: 'USER_NOT_FOUND' });
if (method === 'user_balance') {
return res.json({ status: 1, user_balance: user.balance });
}
if (method === 'transaction') {
const slot = req.body.slot || req.body;
const bet = Number(slot.bet_money || 0);
const win = Number(slot.win_money || 0);
if (bet > 0 && user.balance < bet) {
return res.json({ status: 0, user_balance: user.balance, msg: 'INSUFFICIENT_USER_FUNDS' });
}
const newBalance = user.balance - bet + win;
await db.updateBalance(user_code, newBalance);
return res.json({ status: 1, user_balance: newBalance });
}
});
7. Hata Kodları & Çözümleri
| Kod | Açıklama | Çözüm |
|---|---|---|
API_KEY_REQUIRED | İstekte api_key eksik | JSON body içerisine api_key alanını ekleyin. |
INVALID_API_KEY | API Key hatalı veya site pasif | Admin panelinden API Key'inizin aktifliğini kontrol edin. |
PROVIDER_NOT_ALLOWED | Sağlayıcı sitenize izinli değil | Admin panelinde "Siteler" sekmesinden ilgili sağlayıcıyı işaretleyin. |
GAME_NOT_FOUND | Oyun kod sistemde yok | game_list endpointi ile geçerli oyun kodunu doğrulayın. |
MISSING_PARAMS | Zorunlu parametre eksik | user_code, provider_code, game_code alanlarını kontrol edin. |
LAUNCH_FAILED | Oyun başlatılamadı | Oyun geçici olarak bakımdadır veya sunucu bağlantısı zaman aşımına uğramıştır. |
INSUFFICIENT_USER_FUNDS | Bakiye yetersiz | Oyuncunun bakiyesini yükleyin veya bakiyeyi yenileyin. |
OPERATOR_CALLBACK_FAILED | Callback adresinize ulaşılamadı | Callback URL adresinizin dışa açık ve HTTP 200 döner durumda olduğunu kontrol edin. |