ویکی بازینس
English
مرجع

مرجع API

همه‌ی endpointها، آدرس‌ها و پیام‌ها در یک صفحه: API پلتفرم، پرداخت بازینس، صفحه‌های بازینس و endpointهایی که سرور خودتان باید داشته باشد.

دانلود Markdown PDF

API پلتفرم

  • اصلی: 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 درگاه آزمایشی محلی (هرگز در محیط اصلی)