Integrasi Lisensi KA Studio
Panduan integrasi API KA Studio Licensing. Hubungkan perangkat lunak, ekstensi Chrome, atau modul aplikasi eksternal secara aman dengan validasi terdistribusi lapis kedua anti key-sharing.
1. Pengenalan Proteksi KA Studio
Sistem perizinan KA Studio dirancang untuk memudahkan developer mendistribusikan software komersial sekaligus melindunginya dari pembajakan lisensi bebas (Anti Key-Sharing).
Prinsip Kerja Utama:
- Setiap kunci lisensi terikat secara eksklusif dengan **Email Terdaftar Pembeli**.
- Setiap instalasi software diverifikasi dengan hardware sidik jari (**Device Fingerprint**).
- Aplikasi wajib menyertakan verifikasi silang (License Key + Email Pemilik + Device Fingerprint) untuk setiap proses autentikasi.
2. Autentikasi Developer API Key
Untuk pengamanan lapis kedua, validasi lisensi secara server-to-server (S2S) **wajib** menyertakan Developer API Key Anda. Token ini dapat digenerate oleh pengembang melalui panel Admin KA Studio.
Wajib di Header Request:
Kirimkan key pengembang Anda melalui header HTTP berikut:
X-API-Key: kastudio_live_xxxxxxxxxxxxxxxxJika header ini kosong atau salah, API akan mengembalikan status 401 Unauthorized.
3. Alur Kerja Validasi Perangkat
Generate Fingerprint
Aplikasi lokal menghasilkan kode hash unik berdasarkan hardware komputer pengguna.
Verifikasi Lisensi
Melakukan API Call `validate` untuk mencocokkan status lisensi, email owner, dan verifikasi limit perangkat.
Aktivasi Otomatis
Jika belum terdaftar namun slot perangkat masih tersedia, lakukan API Call `activate` untuk mendaftarkan hardware.
4. Fitur Pembaruan Aplikasi & Perpanjangan Langganan
API Lisensi KA Studio mendukung alur otomatis agar aplikasi Anda selalu mutakhir dan memudahkan pengguna memperpanjang masa aktif lisensinya secara instan.
Mengecek Versi Terbaru Aplikasi
Ketika memanggil API validasi, kirimkan parameter versi aplikasi lokal saat ini lewat field appVersion.
API akan mengembalikan flag updateAvailable: true dan downloadUrl yang berisi tautan unduh pembaruan jika versi baru telah dirilis di panel KA Studio.
Alur Perpanjangan Langganan (Renewal)
Respons validasi lisensi menyertakan field renewalUrl.
Jika status lisensi kedaluwarsa (expired), arahkan pengguna Anda ke URL tersebut. Di halaman tersebut, pengguna dapat langsung melakukan transaksi perpanjangan langganan.
💡 Tips Integrasi Mudah:
Cukup tampilkan pop-up atau peringatan di dalam aplikasi Anda jika updateAvailable bernilai true (dengan tombol "Unduh Pembaruan") atau jika status lisensi tidak valid (dengan tombol "Perbarui Langganan" yang mengarah ke link renewalUrl).
5. Integrasi Addons / In-App Purchases (IAP)
Jika software Anda membutuhkan fitur pembelian kredit tambahan, modul ekstra, atau item sekali beli (In-App Purchases) secara dinamis langsung dari dalam aplikasi, Anda dapat menggunakan sistem Addon KA Studio.
Langkah-Langkah Implementasi:
- Ambil Daftar Addon Tersedia: Saat memanggil API
validate, respons menyertakan daftar addon aktif untuk produk tersebut pada propertiaddons(contoh:credit_100). - Tampilkan UI Pembelian: Tampilkan daftar item addon/IAP di dalam aplikasi Anda beserta nama, deskripsi, dan harganya.
- Picu Checkout / Pembelian: Ketika pengguna mengklik beli, panggil endpoint
/api/checkoutdengan menyertakanproductId(parent product) danaddonKeyyang dipilih. - Redirect Pembayaran: Respons checkout akan mengembalikan URL pembayaran (
paymentUrl). Arahkan pengguna ke browser/web view untuk menyelesaikan pembayaran. Setelah sukses, saldo kredit/item dapat ditambahkan ke pengguna di sistem Anda.
Integrasi Otomatis via AI Prompt HelperInstan & Aman
Kami menyediakan instruksi prompt standar industri yang siap disalin ke AI model favorit Anda (seperti ChatGPT, Claude, Gemini) untuk menuliskan kode pembungkus integrasi (wrapper class) siap pakai di berbagai platform bahasa.
API Endpoints
/api/licenses/validateMemvalidasi status lisensi, mencocokkan kredensial pemilik, dan memverifikasi hardware sidik jari (fingerprint).
Request Body (JSON):
/api/licenses/activateMendaftarkan perangkat keras komputer pengguna ke database lisensi dengan email pembeli terverifikasi.
Request Body (JSON):
/api/licenses/deactivateMenghapus tautan sidik jari perangkat terdaftar secara manual dari lisensi.
Request Body (JSON):
/api/licenses/resetMenghapus seluruh tautan perangkat sidik jari yang terdaftar pada kunci lisensi secara sekaligus (reset total).
Request Body (JSON):
/api/checkoutMembuat order transaksi pembelian addon produk (seperti pembelian kredit atau fitur in-app purchase tambahan).
Request Body (JSON):
Contoh Kode
# 1. Validasi Lisensi (Memerlukan Developer API Key + Email & Hardware)
curl -X POST https://kastudio.my.id/api/licenses/validate \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_DEVELOPER_API_KEY" \
-d '{
"licenseKey": "XXXX-XXXX-XXXX-XXXX",
"deviceFingerprint": "machine-id-123",
"productSlug": "my-product",
"email": "user@example.com",
"appVersion": "1.0.0",
"platform": "windows"
}'
# 2. Aktivasi Perangkat Baru (Memerlukan Developer API Key)
curl -X POST https://kastudio.my.id/api/licenses/activate \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_DEVELOPER_API_KEY" \
-d '{
"licenseKey": "XXXX-XXXX-XXXX-XXXX",
"deviceFingerprint": "machine-id-123",
"deviceName": "My Desktop Computer",
"email": "user@example.com",
"appVersion": "1.0.0"
}'
# 3. Deaktivasi Perangkat (Memerlukan Developer API Key)
curl -X POST https://kastudio.my.id/api/licenses/deactivate \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_DEVELOPER_API_KEY" \
-d '{
"licenseKey": "XXXX-XXXX-XXXX-XXXX",
"deviceFingerprint": "machine-id-123",
"email": "user@example.com"
}'
# 4. Reset Lisensi (Menghapus Semua Perangkat - Memerlukan Developer API Key)
curl -X POST https://kastudio.my.id/api/licenses/reset \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_DEVELOPER_API_KEY" \
-d '{
"licenseKey": "XXXX-XXXX-XXXX-XXXX",
"email": "user@example.com"
}'
# 5. Checkout / Purchase Addon (Memerlukan Developer API Key)
curl -X POST https://kastudio.my.id/api/checkout \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_DEVELOPER_API_KEY" \
-d '{
"productId": "parent_product_uuid",
"addonKey": "credit_100",
"guestEmail": "user@example.com",
"paymentMethod": "WALLET"
}'