دليل شامل لدمج واجهة برمجة التحقق من التراخيص في تطبيقاتك.
http://api.licensehub.jervis.cloud/apiنقاط نهاية تفعيل والتحقق من التراخيص عامة. أرسل الطلبات مع Content-Type: application/json.
Content-Type: application/jsonتفعيل مفتاح الترخيص على جهاز معين. قدم مفتاح الترخيص مع بصمة الجهاز واسم المضيف والمنصة.
/license/activate{
"key": "XXXX-XXXX-XXXX-XXXX",
"fingerprint": "unique-device-fingerprint",
"hostname": "User-PC",
"platform": "Windows 11"
}{
"message": "License activated successfully",
"license": {
"key": "XXXX-XXXX-XXXX-XXXX",
"status": "active",
"product": "My Product",
"plan": "Professional",
"expiresAt": "2025-12-31T23:59:59Z"
}
}{
"error": "Device limit reached",
"allowed": 5
}التحقق مما إذا كان مفتاح الترخيص لا يزال صالحًا. يعيد حالة الترخيص وتفاصيل الخطة واستخدام الأجهزة.
/license/validate{
"key": "XXXX-XXXX-XXXX-XXXX"
}{
"status": "active",
"message": "License is valid",
"license": {
"key": "XXXX-XXXX-XXXX-XXXX",
"product": "My Product",
"plan": "Professional",
"price": 29.99,
"expiresAt": "2025-12-31T23:59:59Z",
"devicesUsed": 2,
"maxDevices": 5
}
}قائمة برموز الخطأ المحتملة التي يعيدها API.
| الرمز | الوصف | حالة HTTP |
|---|---|---|
LICENSE_NOT_FOUND | مفتاح الترخيص غير موجود | 404 |
LICENSE_EXPIRED | انتهت صلاحية الترخيص | 403 |
LICENSE_REVOKED | تم إلغاء الترخيص | 403 |
DEVICE_LIMIT_REACHED | تم الوصول للحد الأقصى للأجهزة | 403 |
INVALID_DEVICE_ID | معرف الجهاز غير صالح | 400 |
RATE_LIMIT_EXCEEDED | طلبات كثيرة جداً | 429 |
UNAUTHORIZED | مفتاح API غير صالح أو مفقود | 401 |
أمثلة كود لدمج API الترخيص في لغات برمجة مختلفة.
const API_BASE = "YOUR_API_BASE/api";
// Activate license
async function activateLicense(licenseKey) {
const response = await fetch(`${API_BASE}/license/activate`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
key: licenseKey,
fingerprint: getDeviceFingerprint(),
hostname: os.hostname(),
platform: os.platform()
})
});
const data = await response.json();
if (!response.ok) throw new Error(data.error);
console.log("License activated:", data.license);
return data;
}
// Validate license
async function validateLicense(licenseKey) {
const response = await fetch(`${API_BASE}/license/validate`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ key: licenseKey })
});
const data = await response.json();
return data.status === "active";
}طلبات API محدودة لضمان الاستخدام العادل.