Integrasi Data Kasino Waktu Nyata
Kasino
Acara kasino idealnya dikirim melalui API Integrasi CRM ketika operator bekerja dengan produk kasino.
Sistem CRM akan memproses umpan data mentah acara dan membangun putaran permainan, sesi permainan, serta data segmentasi yang relevan berdasarkan data tersebut.
Acara Waktu Nyata yang Dapat Dikirim
RabbitMQ Connector
| Properti Pesan RabbitMQ | Kunci | Nilai |
|---|---|---|
| type | CASINO |
Tipe diharapkan sebagai properti (bukan dalam payload) dari Pesan RabbitMQ. Header apa pun akan diabaikan.
Kafka Connector
| Header Pesan Kafka | Kunci | Nilai |
|---|---|---|
| type | CASINO |
REST API
POST /v1/integration/casino
Aturan Bisnis
- Acara Taruhan dikirim setelah taruhan dipasang.
- Acara Kemenangan dikirim saat kemenangan terjadi.
- Acara Taruhan dan Kemenangan dikirim sebagai acara terpisah.
- Jika taruhan tidak menghasilkan kemenangan, Anda dapat mengirim acara kerugian atau kemenangan dengan jumlah 0 untuk menutup putaran.
Contoh Payload - Taruhan
{
"activity_id": "2019020103308257480",
"amount": 20,
"balance_after": 174.03,
"balance_before": 194.03,
"bonus_wager_amount": 0.00,
"currency": "EUR",
"exchange_rate": 1,
"game_id": "10911",
"game_name": "Dead or Alive",
"game_type": "Slots",
"is_round_end": false,
"locked_wager_amount": 0.00,
"origin": "example",
"round_id": "12345",
"status": "Approved",
"timestamp": "2015-03-02T08:27:58.721607Z",
"type": "Bet",
"user_id": "52530",
"vendor_id": "1",
"vendor_name": "NetEnt",
"wager_amount": 20,
"user_bonus_id": "ub-5000",
"is_free_money": false,
"meta":{
"key1": 10.00,
"key2": "some string",
"key3": false
}
}Contoh Payload - Kemenangan
{
"activity_id": "2019020103308257481",
"amount": 5,
"balance_after": 195.83,
"balance_before": 190.83,
"bonus_wager_amount": 0.00,
"currency": "EUR",
"exchange_rate": 1,
"game_id": "10911",
"game_name": "Dead or Alive",
"game_type": "Slots",
"is_round_end": true,
"locked_wager_amount": 0.00,
"origin": "example",
"round_id": "12345",
"status": "Approved",
"timestamp": "2015-03-02T08:27:58.721607Z",
"type": "Win",
"user_id": "52530",
"vendor_id": "1",
"vendor_name": "NetEnt",
"wager_amount": 5,
"user_bonus_id": "ub-5000",
"is_free_money": false,
"meta":{
"key1": 10.00,
"key2": "some string",
"key3": false
}
}Contoh Payload - Kerugian
{
"activity_id": "2019020103308257481",
"amount": 0,
"balance_after": 95.00,
"balance_before": 95.00,
"bonus_wager_amount": 0.00,
"currency": "EUR",
"exchange_rate": 1,
"game_id": "10911",
"game_name": "Dead or Alive",
"game_type": "Slots",
"is_round_end": true,
"locked_wager_amount": 0.00,
"origin": "example",
"round_id": "12345",
"status": "Approved",
"timestamp": "2015-03-02T08:27:58.721607Z",
"type": "Loss",
"user_id": "52530",
"vendor_id": "1",
"vendor_name": "NetEnt",
"wager_amount": 0,
"user_bonus_id": "ub-5000",
"is_free_money": false,
"meta":{
"key1": 10.00,
"key2": "some string",
"key3": false
}
}Tipe Data
Properti yang diperlukan ditandai dengan *
amount = wager_amount + bonus_wager_amount + locked_wager_amount
| Kunci | Tipe | Deskripsi |
|---|---|---|
| activity_id * | string | ID unik untuk setiap acara |
| amount * | float | Jumlah total (bonus_wager_amount + wager_amount + locked_wager_amount) |
| balance_after | float | Saldo pemain setelah putaran selesai |
| balance_before | float | Saldo pemain sebelum putaran dimulai |
| bonus_wager_amount | float | Jumlah (taruhan atau kemenangan) jika putaran dimainkan menggunakan uang bonus |
| currency * | string | Format: ISO 4217, mata uang transaksi |
| exchange_rate * | float | Nilai tukar |
| game_id * | string | game_id mengidentifikasi permainan kasino spesifik tempat taruhan atau putaran terjadi. Memungkinkan operator melacak aktivitas pemain per permainan dan menganalisis pola. Sistem akan mengaitkan game_id ini dengan perilaku pemain, jadi penting untuk dikirim dalam format yang konsisten dan unik. |
| game_name * | string | game_name mewakili nama permainan kasino tempat taruhan atau putaran terjadi. Sistem akan memetakan semua nilai game_name yang diterima, jadi penting untuk dikirim dalam format yang konsisten dan unik, mengikuti penamaan industri standar untuk permainan tersebut. |
| game_type * | string | Nilai yang diterima: "Live Casino", "Table", "Slots". Jika menggunakan nilai tersebut, kirimkan sesuai yang ditentukan. Jika jenis permainan lain digunakan, string lain diterima. |
| is_round_end | boolean | Apakah putaran telah berakhir? |
| locked_wager_amount | float | Jumlah (taruhan atau kemenangan) jika putaran dimainkan menggunakan uang dari dompet "terkunci" (saat bonus dan uang asli digabungkan) |
| origin * | string | Asal usul pengguna |
| round_id * | string | Kirim yang sama untuk Taruhan dan Kemenangan |
| status * | string | Nilai yang diterima: "Approved", "Rollback". Menunjukkan apakah acara harus dibalikkan atau tidak. |
| timestamp * | date | Format: RFC3339, stempel waktu |
| type * | string | Nilai yang diterima: "Bet", "Win", "Loss". Jenis taruhan yang dipasang |
| user_id * | string | ID pengguna |
| vendor_id * | string | vendor_id mengidentifikasi penyedia atau studio permainan yang menyediakan permainan kasino. Pastikan dikirim dalam format yang konsisten dan unik di semua acara. |
| vendor_name * | string | vendor_name mewakili nama penyedia atau studio permainan. Sistem akan memetakan semua nilai vendor_name yang diterima, jadi penting untuk dikirim dalam format yang konsisten dan unik, mengikuti penamaan industri standar untuk penyedia. |
| wager_amount | float | Jumlah (taruhan atau kemenangan) jika putaran dimainkan menggunakan uang asli. |
| user_bonus_id | string | ⚠️ Pengidentifikasi unik bonus yang dikreditkan ke pemain. Wajib jika ada taruhan bonus dalam putaran ini. Kirim kosong atau hapus bidang jika tidak melibatkan bonus. |
| is_free_money | boolean | Menunjukkan apakah transaksi menggunakan dompet gratis (seperti Gold Coins atau mata uang virtual lainnya). Jika tidak disertakan, default ke false. |
| meta | object | Digunakan untuk nilai misc/aux yang spesifik untuk merek. |
Implementasi Kripto
Saat mengimplementasikan Acara Kasino untuk transaksi kasino kripto, bidang berikut harus dikirim dalam tag meta:
"meta":{
"wallet_currency": "EUR", //mata uang dompet pemain
"wallet_exchange_rate":"0.8621282621813889" // nilai tukar dari mata uang permainan ke mata uang dompet pemain
}Urutan Acara
Acara sensitif terhadap urutan. Berikut adalah skenario berbeda tentang bagaimana urutan acara harus terjadi.
Skenario A - Acara Kasino (seluruh putaran)
Acara Kasino - Taruhan
Pertama, kita harus menerima Acara Kasino dengan Tipe Bet dan round_id 12345.
Acara Kasino - Kemenangan/Kerugian
Kemudian, kita harus menerima Acara Kasino dengan Tipe Win atau Loss dengan round_id 12345.
Skenario B - Acara Kasino dengan Pengkreditan Bonus
Acara Bonus - Dibuat
Pertama, kita harus menerima acara bonus dengan Status Created dan user_bonus_id ABCD. Stempel waktu acara ini harus yang paling awal.
Acara Kasino (seluruh putaran)
Kemudian, kita harus menerima acara kasino dengan user_bonus_id ABCD. Stempel waktu acara ini harus setelah stempel waktu Acara Bonus Dibuat. Ini akan mencerminkan Skenario A.
Acara Bonus - Penutupan
Kemudian, kita harus menerima acara bonus dengan user_bonus_id ABCD, Status selain Created, dan stempel waktu setelah stempel waktu Acara Kasino terakhir.
Platform Lainnya
Berita Piala Dunia
lem karet bet pingpong terbaik
Jika Anda memiliki pertanyaan, silakan kirim email ke [email protected]