مستندات REST API غروب
پایهٔ همهٔ مسیرها: https://ghoroubapp.ir/api/v1 — پاسخها JSON و پیامهای خطا فارسی هستند. نسخهٔ ماشینخوان: openapi.json
احراز هویت
POST/auth/request-otpارسال کد تایید پیامکی {phone}
POST/auth/verify-otpتایید کد → توکن {phone, code}
POST/auth/googleورود با گوگل {id_token, device}
POST/auth/refreshتوکن تازهٔ چرخشی {refresh_token}
پلن و پرداخت
GET/plansفهرست پلنها (free / pro_monthly / pro_yearly)
POST/payments/createایجاد تراکنش درگاه {plan_id, phone, gateway}
POST/payments/verifyتایید تراکنش → لایسنس یا pending_approval
POST/manual-paymentsثبت رسید کارتبهکارت {plan_id, ref_number, receipt}
لایسنس و اشتراک
POST/verify-licenseاعتبارسنجی کلید (عمومی) {license_key}
GET/verify-license?license_key=…همان، با query
POST/licenses/redeemفعالسازی روی دستگاه {license_key, device_id}
GET/subscription/statusوضعیت اشتراک🔒 Bearer
POST/subscription/redeemفعالسازی برای حساب🔒 Bearer
حساب کاربری
GET/meپروفایل🔒 Bearer
GET/me/licensesلایسنسهای من🔒 Bearer
POST/ai/consumeکسر کردیت هوش مصنوعی🔒 Bearer
مدیریت
POST/admin/loginورود مدیر {email, password}
GET/admin/manual-payments?status=رسیدهای کارتبهکارت🔒
POST/admin/manual-payments/{id}/approve|rejectتایید/رد رسید — صدور خودکار لایسنس🔒
GET/admin/payments?status=تراکنشهای درگاه🔒
POST/admin/payments/{id}/approve|rejectتایید/رد تراکنش🔒
POST/admin/licenses/generateصدور لایسنس {plan_id, count}🔒
POST/admin/licenses/{id}/revokeابطال لایسنس🔒
🔒 = نیازمند هدر Authorization: Bearer <token>. خطاها: BAD_OTP، LICENSE_NOT_FOUND، LICENSE_EXPIRED، NO_PLAN، NO_REF، SMS_OFF.