🔄 سیستم یکپارچه بهروزرسانی
اگر توسعهدهنده پلاگین، اپلیکیشن یا اسکریپت هستید و محصولتان را در دیجیتال استور عرضه میکنید، با این سرویس میتوانید هشدار بهروزرسانی را مستقیماً داخل اپ کاربران خود نمایش دهید: اپ بهصورت دورهای سایت را بررسی میکند و در صورت انتشار نسخه جدید، شماره نسخه، تغییرات و لینک دانلود امن را دریافت میکند. علاوه بر آن، خریداران شما در خود سایت نیز اعلان دریافت میکنند.
POST/api/updates/check
بررسی بهروزرسانی برای یک محصول. احراز هویت لازم ندارد؛ برای محصولات غیررایگان، کلید لایسنس خریدار را در بدنه ارسال کنید تا لینک دانلود امن دریافت شود.
پارامترهای بدنه (JSON)
| فیلد | نوع | الزامی | توضیح |
|---|---|---|---|
| slug | string | بله* | نامک محصول در سایت |
| productId | number | بله* | جایگزین slug (*یکی از این دو) |
| currentVersion | string | خیر | نسخه نصبشده در اپ کلاینت (مثلاً 1.2.0) |
| licenseKey | string | برای غیررایگان | کلید لایسنس خریدار |
| platform | string | خیر | wordpress | node | android | ios | desktop | other |
| channel | string | خیر | STABLE (پیشفرض) | TRIAL | INSIDER |
نمونه درخواست و پاسخ
{
"slug": "advanced-seo-pro",
"currentVersion": "1.0.0",
"licenseKey": "A1B2-C3D4-E5F6-...",
"platform": "wordpress"
}{
"updateAvailable": true,
"product": {
"id": 12,
"name": "پلاگین سئو پیشرفته",
"slug": "advanced-seo-pro",
"featuredImage": "https://.../image.jpg",
"pricingType": "ONE_TIME"
},
"currentVersion": "1.0.0",
"latestVersion": "1.2.0",
"channel": "STABLE",
"changelog": "رفع باگها و افزودن قابلیت جدید",
"publishedAt": "2026-09-01T12:00:00.000Z",
"requiresLicense": true,
"licenseValid": true,
"downloadUrl": "https://api.example.com/api/download/file?token=...",
"fileSize": 1048576,
"fileHash": "sha256:...",
"checkedAt": "2026-09-16T12:00:00.000Z"
}downloadUrlیک لینک امضاشده و ۵ دقیقهای است — بلافاصله استفاده شود، ذخیره نشود.- اگر
licenseValid: falseباشد،downloadUrlمقدارnullدارد. - مقایسه نسخهها semver واقعی است (مثلاً 1.2.10 > 1.2.9).
- محدودیت نرخ: ۱۲۰ درخواست در ساعت برای هر IP — بررسی دوبار در روز کافی است.
GET/api/updates/versions/:slug
تاریخچه نسخههای منتشرشده + changelog (برای صفحه «تغییرات» داخل اپ). پارامتر اختیاری ?channel=STABLE|TRIAL|INSIDER.
GET/api/update-check (سازگاری با نسخه قدیمی)
قالب قدیمی مورد استفاده پلاگینهای وردپرسی نسل قبل — همچنان کار میکند:
GET /api/update-check?slug=advanced-seo-pro&version=1.0.0&license=KEY
{
"update_available": true,
"new_version": "1.2.0",
"changelog": "...",
"requires_license": false,
"package": "https://.../api/download/file?token=..."
}POST/api/updates/vendor/products/:id/versions
انتشار نسخه جدید بهصورت برنامهای (مناسب CI/CD) با کلید API فروشنده. کلید را از پنل فروشنده ← سیستم بهروزرسانی بسازید و در هدر X-Update-Api-Key ارسال کنید.
curl -X POST "https://api.example.com/api/updates/vendor/products/12/versions" \
-H "Content-Type: application/json" \
-H "X-Update-Api-Key: dsu_..." \
-d '{
"version": "1.3.0",
"changelog": "رفع باگها و بهبود سرعت",
"fileUrl": "/uploads/plugin-1.3.0.zip",
"fileSize": 1048576,
"fileHash": "sha256:...",
"channel": "STABLE"
}'با انتشار کانال STABLE: خریداران محصول اعلان سایت دریافت میکنند، کش فروشگاه پاک میشود و همه اپهای متصل در بررسی بعدی نسخه جدید را میبینند. آمار بررسیها از GET /api/updates/vendor/stats قابل دریافت است.
چرخه کامل بهروزرسانی
- فروشنده نسخه جدید را در پنل (یا با کلید API از CI/CD) منتشر میکند.
- سایت به همه خریداران اعلان میدهد (زنگوله اعلانها + badge).
- اپ کلاینت در بررسی دورهای
POST /updates/checkرا صدا میزند. - پاسخ: نسخه جدید + changelog + لینک دانلود امن (در صورت لایسنس معتبر).
- اپ به کاربر هشدار میدهد و فایل را از لینک امن دریافت میکند.
- فروشنده در پنل، آمار بررسیها و کلاینتهای قدیمی را میبیند.
کدهای آماده اتصال
نمونه کد کامل برای وردپرس/PHP، Node.js و اندروید/Kotlin همراه با آموزش گامبهگام در پنل فروشنده موجود است:
ورود به پنل فروشنده ← سیستم بهروزرسانی