CASINO7PROVIDER

Oyun Sağlayıcı Yönetim Paneli

C7PROVIDER

Dashboard

API Aktif
0 Toplam Site
0 Toplam Oyun
0 Toplam Launch
0 Aktif Site

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

0

Henüz site eklenmemiş

0 oyun

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.

BASE URL https://casino7provider.com
ParametreTipZorunluAçıklama
api_keyStringEvetSiteler sekmesinde sizin için üretilen 64 karakterli API erişim anahtarı.
api_secretStringEvetCallback 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.

POST /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.

POST /api/v1/game_list
ParametreTipZorunluAçıklama
api_keyStringEvetAPI Anahtarınız
provider_codeStringEvetPRAGMATIC, 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.

POST /api/v1/game_launch
ParametreTipZorunluAçıklama
api_keyStringEvetAPI Anahtarınız
user_codeStringEvetSitenizdeki benzersiz oyuncı kullanıcı adı veya ID'si (Örn: ahmet123)
provider_codeStringEvetSağlayıcı kodu (Örn: PRAGMATIC, EGT, AMUSNET, PGSOFT)
game_codeStringEvetBaşlatılacak oyunun kodu (Örn: vs20olympgold veya 9011)
langStringHayırOyun 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
debitOyuncunun bakiyesinden bet_money düşülür.
creditOyuncunun bakiyesine win_money eklenir.
debit_creditYeni 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

KodAçıklamaÇözüm
API_KEY_REQUIREDİstekte api_key eksikJSON body içerisine api_key alanını ekleyin.
INVALID_API_KEYAPI Key hatalı veya site pasifAdmin panelinden API Key'inizin aktifliğini kontrol edin.
PROVIDER_NOT_ALLOWEDSağlayıcı sitenize izinli değilAdmin panelinde "Siteler" sekmesinden ilgili sağlayıcıyı işaretleyin.
GAME_NOT_FOUNDOyun kod sistemde yokgame_list endpointi ile geçerli oyun kodunu doğrulayın.
MISSING_PARAMSZorunlu parametre eksikuser_code, provider_code, game_code alanlarını kontrol edin.
LAUNCH_FAILEDOyun 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_FUNDSBakiye yetersizOyuncunun bakiyesini yükleyin veya bakiyeyi yenileyin.
OPERATOR_CALLBACK_FAILEDCallback adresinize ulaşılamadıCallback URL adresinizin dışa açık ve HTTP 200 döner durumda olduğunu kontrol edin.
SLOT

Slot Oyunu Test

Test Bakiyesi: 100000.00 TL