الانتقال إلى المحتوى الرئيسي
GET
/
v3
/
ping
فحص حالة الخدمة
curl --request GET \
  --url https://api.oneclickdz.com/v3/ping \
  --header 'X-Access-Token: <api-key>'

Documentation Index

Fetch the complete documentation index at: https://docs.oneclickdz.com/llms.txt

Use this file to discover all available pages before exploring further.

نظرة عامة

يتيح لك endpoint فحص الحالة التحقق من حالة خدمة API والتحقق من توفر كل مشغّل هاتف محمول.

الاستجابة

success
boolean
مطلوب
دائمًا true إذا كانت API تعمل بشكل صحيح
data
object
مطلوب
meta
object

مثال على الطلب

curl --request GET \
  --url https://api.oneclickdz.com/v3/ping

حالات الاستخدام

مراقبة الخدمة

راقب توفر API وحالة المشغّلين لتتبع وقت التشغيل

فحوصات ما قبل الطيران

تحقق من أن الخدمة تعمل قبل معالجة المعاملات

تصفية المشغّلين

أخفِ المشغّلين غير المتاحين من واجهة المستخدم

لوحة تحكم الحالة

أنشئ لوحة تحكم للحالة لفريق العمليات

مثال على التكامل

// Check service health before processing orders
async function canProcessOrders() {
  try {
    const response = await fetch("https://api.oneclickdz.com/v3/ping");
    const data = await response.json();

    if (data.data.api !== "ok") {
      console.error("API service is down");
      return false;
    }

    return true;
  } catch (error) {
    console.error("Health check failed:", error);
    return false;
  }
}

// Check specific operator availability
async function isOperatorAvailable(operator) {
  const response = await fetch("https://api.oneclickdz.com/v3/ping");
  const data = await response.json();

  const operatorMap = {
    Mobilis: "mobilis",
    Ooredoo: "ooredoo",
    Djezzy: "djezzy",
    Pixx: "mobilisFixedPlans",
  };

  const operatorKey = operatorMap[operator];
  return data.data.operators[operatorKey] === "up";
}

أفضل الممارسات

تحقق من endpoint الصحة كل 30 إلى 60 ثانية للحفاظ على رؤية محدّثة لحالة الخدمة.
setInterval(async () => {
  const response = await fetch('https://api.oneclickdz.com/v3/ping');
  const data = await response.json();
  updateServiceStatus(data.data);
}, 30000); // Check every 30 seconds
خزّن الحالة مؤقتًا لمدة 30 إلى 60 ثانية لتجنب الطلبات المفرطة
let cachedStatus = null;
let lastCheck = 0;

async function getServiceStatus() {
  const now = Date.now();
  
  if (cachedStatus && (now - lastCheck) < 30000) {
    return cachedStatus;
  }
  
  const response = await fetch('https://api.oneclickdz.com/v3/ping');
  cachedStatus = await response.json();
  lastCheck = now;
  
  return cachedStatus;
}
عندما يكون أحد المشغّلين خارج الخدمة، أبلغ المستخدمين واقترح بدائل
if (data.data.operators.djezzy === 'down') {
  showNotification('Djezzy service temporarily unavailable. Try Mobilis or Ooredoo.');
}