احسب تعويض SLA المستحق حسب وقت التشغيل
تحول هذه الحاسبة نسبة التشغيل الشهرية المقاسة إلى رصيد خدمة واضح. أدخلوا نسبة التشغيل، والمبلغ الشهري المؤهل، وجدول الشرائح الوارد في العقد. تحدد الأداة النطاق المنطبق وتطبق نسبته، ثم تعرض الرصيد المستحق والرصيد المتبقي بعد الخصم. وهي تفيد المزودين والعملاء في التحقق من مطابقة التسوية لاتفاقية SLA الموقعة.
شغّل الأداة مجانًا
حولوا جدول SLA إلى نطاقات دقيقة
ابدؤوا بجدول أرصدة الخدمة في العقد الموقع، لا بملخص تسويقي. أدخلوا لكل شريحة الحد الأدنى لنسبة التشغيل وحدها الأعلى ونسبة الرصيد. يدخل الحد الأدنى ضمن النطاق، بينما لا يدخل الحد الأعلى، إلا إذا كان الحد الأعلى 100 فإنه يشمل 100. بهذه القاعدة تلتقي النطاقات المتجاورة من دون غموض: فالشريحة من 99 إلى 99.9 تشمل 99 والقيم الأقل من 99.9، وتبدأ الشريحة التالية عند 99.9 تماما. لا تنشئوا نطاقات متداخلة. يمكن ترك فجوات إذا نص عليها العقد فعلا، لكن القياس الواقع في فجوة سيعيد خطأ. أضيفوا نطاقا بنسبة رصيد صفر إذا لزم الأمر. يجب أن تبقى جميع الحدود والنسب بين صفر و100، وأن يكون كل حد أدنى أصغر من حده الأعلى.
استخدموا نسبة التشغيل والمبلغ المؤهل الصحيحين
استخدموا النسبة الشهرية النهائية للخدمة والفترة المشمولتين بالاتفاقية. قد يستبعد المزود الصيانة المعلنة أو الأعطال التي تسبب بها العميل أو الخدمات خارج المنطقة المتأثرة، ولذلك ينبغي أن تعكس النسبة المدخلة قواعد العقد مسبقا. ويجب كذلك قصر قيمة الفاتورة على المبلغ المؤهل للرصيد. فبعض الاتفاقيات تطبق الرصيد على الخدمة المتأثرة أو الرسم المتكرر فقط، لا على كامل الفاتورة. أدخلوا ذلك المبلغ غير السالب بالعملة المطلوبة؛ فالحاسبة لا تحدد العملات ولا تحولها. تضرب الأداة المبلغ في نسبة الشريحة المطابقة وتقرب النتائج المالية إلى منزلتين عشريتين. تعرض النتيجة المدخلات والشريحة والنسبة والرصيد والمبلغ المتبقي. تحققوا من بيانات المصدر قبل الاعتماد على الحساب.
راجعوا النتيجة ووثقوا المطالبة
قارنوا الشريحة المختارة بالنص الدقيق للاتفاقية. تبين النتيجة ما إذا كان الحد الأعلى مشمولا، وهو أمر مهم عند حدود مثل 99.9 أو 100. أرفقوا تقرير المراقبة وجدول SLA وحساب الرسوم المؤهلة والرصيد الناتج بسجل المطالبة أو الموافقة، ليتمكن مراجع آخر من إعادة النتيجة بالمدخلات نفسها. لا تستخدم الخوارزمية الشبكة أو التاريخ الحالي أو العشوائية أو بيانات خارجية. وهي ترفض نسب التشغيل خارج صفر إلى 100، والفواتير غير الصالحة، والشرائح المعيبة أو المتداخلة، والقياسات غير المغطاة. تمنع هذه الأخطاء التقدير الضمني. تبلغ كلفة طلب API مقدار $0.002، ويمكن إجراء الفحوص اليدوية في المتصفح. النتيجة أداة حساب ولا تتجاوز المواعيد أو الحدود القصوى أو إجراءات المطالبة أو سائر شروط العقد.
حالات الاستخدام
التحقق من رصيد العميل
تحققوا من أن التسوية تستخدم نسبة التشغيل والرسوم المؤهلة والنسبة المنصوص عليها في SLA.
إعداد مطالبة عن انقطاع الخدمة
احسبوا المبلغ واحفظوا الشريحة مع أدلة المراقبة قبل تقديم المطالبة.
أتمتة تسويات الفوترة
طبقوا جدولا مضبوطا لاتفاقية SLA على النتائج الشهرية ومرروا الرصيد إلى مسار المراجعة.
الأسئلة الشائعة
كيف يحسب رصيد الخدمة؟
يضرب المبلغ الشهري المؤهل في نسبة الشريحة الوحيدة التي تغطي نسبة التشغيل، ثم يقرب إلى منزلتين عشريتين.
ماذا يحدث إذا كانت نسبة التشغيل أقل من صفر أو أكبر من 100؟
تعيد الحاسبة خطأ في الإدخال، لأن النسبة الواقعة خارج صفر إلى 100 غير صالحة.
كيف تعالج حدود الشرائح؟
يشمل كل نطاق حده الأدنى ولا يشمل حده الأعلى، باستثناء الحد الأعلى 100 الذي يشمل 100 تماما.
ماذا يحدث إذا لم تغط أي شريحة نسبة التشغيل؟
تعيد الحاسبة خطأ. أضيفوا النطاق التعاقدي الناقص أو صححوا القياس.
هل يمكن إدخال كامل مبلغ الفاتورة؟
نعم فقط إذا سمحت SLA بذلك. تقصر اتفاقيات كثيرة الرصيد على الخدمة المتأثرة أو الرسم المتكرر.
ما كلفة طلب API؟
يكلف كل طلب API مقدار $0.002. تشمل النتيجة الرصيد المستحق والمبلغ المتبقي بعده.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/server-uptime-sla-credit-calc \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"uptime_percentage":99.5,"monthly_bill":2500,"sla_tiers":[{"minimum_uptime":0,"maximum_uptime":99,"credit_percentage":25},{"minimum_uptime":99,"maximum_uptime":99.9,"credit_percentage":10},{"minimum_uptime":99.9,"maximum_uptime":100,"credit_percentage":0}]}'const res = await fetch("https://api.kit.forhosting.com/dev/server-uptime-sla-credit-calc", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"uptime_percentage": 99.5,
"monthly_bill": 2500,
"sla_tiers": [
{
"minimum_uptime": 0,
"maximum_uptime": 99,
"credit_percentage": 25
},
{
"minimum_uptime": 99,
"maximum_uptime": 99.9,
"credit_percentage": 10
},
{
"minimum_uptime": 99.9,
"maximum_uptime": 100,
"credit_percentage": 0
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/server-uptime-sla-credit-calc",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"uptime_percentage": 99.5,
"monthly_bill": 2500,
"sla_tiers": [
{
"minimum_uptime": 0,
"maximum_uptime": 99,
"credit_percentage": 25
},
{
"minimum_uptime": 99,
"maximum_uptime": 99.9,
"credit_percentage": 10
},
{
"minimum_uptime": 99.9,
"maximum_uptime": 100,
"credit_percentage": 0
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/server-uptime-sla-credit-calc", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"uptime_percentage":99.5,"monthly_bill":2500,"sla_tiers":[{"minimum_uptime":0,"maximum_uptime":99,"credit_percentage":25},{"minimum_uptime":99,"maximum_uptime":99.9,"credit_percentage":10},{"minimum_uptime":99.9,"maximum_uptime":100,"credit_percentage":0}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"uptime_percentage":99.5,"monthly_bill":2500,"sla_tiers":[{"minimum_uptime":0,"maximum_uptime":99,"credit_percentage":25},{"minimum_uptime":99,"maximum_uptime":99.9,"credit_percentage":10},{"minimum_uptime":99.9,"maximum_uptime":100,"credit_percentage":0}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/server-uptime-sla-credit-calc", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"uptime_percentage": 99.5,
"monthly_bill": 2500,
"sla_tiers": [
{
"minimum_uptime": 0,
"maximum_uptime": 99,
"credit_percentage": 25
},
{
"minimum_uptime": 99,
"maximum_uptime": 99.9,
"credit_percentage": 10
},
{
"minimum_uptime": 99.9,
"maximum_uptime": 100,
"credit_percentage": 0
}
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.server_uptime_sla_credit_calc",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |