مرجع
مرجع API
همهی endpointها، آدرسها و پیامها در یک صفحه: API پلتفرم، پرداخت بازینس، صفحههای بازینس و endpointهایی که سرور خودتان باید داشته باشد.
- اصلی:
https://platform.karizmastudio.com/api
- توسعه:
https://platform-dev.karizmastudios.org/api
توضیح قدمبهقدم: API پلتفرم.
| متد و مسیر |
احراز هویت |
بدنه |
پاسخ |
توضیح |
POST /client/auth |
— |
{ clientId, clientSecret } |
{ clientId, token } |
توکن کلاینت |
POST /client/create-user |
توکن کلاینت |
{ deviceId, platform, store, linkedToken } |
{ userId, token, isLinkedToAccount } |
platform: Web / Android / Ios / Editor؛ store: Direct / GooglePlay / AppStore / CafeBazaar / Myket |
GET /client/get-user-token/{userId} |
توکن کلاینت |
— |
{ userId, token, isLinkedToAccount } |
توکن کاربر تازه |
GET /client/validate-user-token/{token} |
توکن کلاینت |
— |
{ userId, isValid } |
نامعتبر ← 200 با isValid: false و userId: 0 |
POST /client/add-coin |
توکن کلاینت |
{ userId, amount, transactionId, metaData } |
{ resourceId, amount } (موجودی جدید) |
transactionId تکراری ← 400 { success: false, error: "add resource failed" } |
GET /user/get-coin |
توکن کاربر |
— |
{ resourceId, amount } |
کلاینت صدا میزند؛ همهی originها مجازند |
هر درخواستی که توکن کلاینت نداشته باشد یا توکنش منقضی شده باشد پاسخ 401 میگیرد.
#صفحههای بازینس
- اصلی:
https://baziness.com
- توسعه:
https://platform-web-dev.karizmastudios.org
جزئیات: صفحههای بازینس.
| صفحه |
مسیر |
لازم |
اختیاری |
| ورود |
/ |
packageName، sdkType=js |
linkedToken، allowGuest=false، buildStore |
| پروفایل |
/profile |
packageName، sdkType=js |
linkedToken، redirect=profile، allowGuest=false |
| فروشگاه جایزه «انتخاب جایزه» |
/shop |
packageName، sdkType=js، linkedToken |
game_name، redirect=shop |
| پیشنهاد بازی |
/game-offer |
game_name، packageName، sdkType=js |
linkedToken، allowGuest=false |
#پیامهای صفحهها
{ "type": string, "data"?: string | { "token": string } }، به شکل متن JSON یا شیء.
type |
کار |
login با توکن |
به سرور خودتان بفرستید ← بررسی ← وصل یا جابهجایی ← بستن |
login بدون داده |
در همان جا وصل شد ← تازه کردن |
token |
نادیده بگیرید (دستدادن بیصدا) |
logout |
بستن، پاک کردن دادههای محلی، شروع دوباره مثل بازدیدکنندهی جدید |
close |
بستن نما |
#پرداخت بازینس
- اصلی:
https://pay.baziness.com
- توسعه:
https://pay-dev.karizmastudios.org
uid باید عددی باشد. جزئیات: پرداخت بازینس.
| متد و مسیر |
قالب بدنه |
بدنه |
پاسخ |
GET /buy |
query |
sku، uid، pname |
صفحهی پرداخت |
POST /get_payment |
JSON |
{ uid, sku, pname } |
{ uid, sku, token, time, success } یا { error: "payment_is_not_valid", success: false } |
POST /verify_payment |
فرم |
uid، token، sku، pname |
{ success, error } |
POST /consume |
JSON |
{ uid, sku, pname } |
{ success } |
#endpointهای سرور شما (پیشنهادی)
| Endpoint |
بدنه |
پاسخ |
GET /api/platform/config |
— |
{ enabled, webBase, apiBase, packageName, gameName, gameOfferUrl } |
POST /api/platform/token |
{ deviceId, linkedToken?, tag?, utm? } |
{ enabled, …تنظیمات, token?, userId?, isLinkedToAccount?, switchToDeviceId?, error? } |
POST /api/platform/login |
{ deviceId, token } |
{ ok, switchToDeviceId?, reason? } |
GET /api/shop |
— |
محصولاتی که این بازیکن میتواند بخرد |
POST /api/shop/purchase/start |
{ productId } |
{ paymentId, url } |
POST /api/shop/purchase/verify |
{ paymentId } |
{ status, granted, balances } |
POST /api/shop/purchase/cancel |
{ paymentId } |
— |
GET /api/shop/purchase/pending |
— |
[{ paymentId, productId }] |
#تنظیمات
| تنظیم |
پیشفرض |
معنی |
BAZINESS_PLATFORM_ENABLED |
false |
کلید اصلی حساب، سکه و صفحهها |
BAZINESS_PLATFORM_USE_PRODUCTION |
false |
آدرسهای اصلی یا توسعه |
BAZINESS_CLIENT_ID / BAZINESS_CLIENT_SECRET |
— |
کلیدها (محرمانه) |
BAZINESS_PLATFORM_PACKAGE_NAME |
— |
packageName در لینک صفحهها |
BAZINESS_GAME_NAME |
— |
game_name در صفحهی جایزه و پیشنهاد |
BAZINESS_PLATFORM_API_URL / BAZINESS_PLATFORM_WEB_URL |
محاسبهشده |
آدرس جایگزین |
BAZINESS_GAME_OFFER_URL |
{web}/game-offer?game_name=… |
آدرس جایگزین صفحهی پیشنهاد |
BAZINESS_PAY_ENABLED |
false |
کلید اصلی خرید |
BAZINESS_PAY_BASE_URL |
— |
https://pay-dev.karizmastudios.org یا https://pay.baziness.com |
BAZINESS_PAY_PACKAGE_NAME |
— |
pname |
BAZINESS_SKU_PREFIX |
خالی |
SKU = پیشوند + شناسهی محصول |
DEV_FAKE_BAZINESS_PAY |
false |
درگاه آزمایشی محلی (هرگز در محیط اصلی) |