فحص حالة الخدمة
curl --request GET \
--url https://api.oneclickdz.com/v3/ping \
--header 'X-Access-Token: <api-key>'import requests
url = "https://api.oneclickdz.com/v3/ping"
headers = {"X-Access-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Access-Token': '<api-key>'}};
fetch('https://api.oneclickdz.com/v3/ping', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.oneclickdz.com/v3/ping",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Access-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.oneclickdz.com/v3/ping"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Access-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.oneclickdz.com/v3/ping")
.header("X-Access-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.oneclickdz.com/v3/ping")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Access-Token"] = '<api-key>'
response = http.request(request)
puts response.read_bodyCore
فحص حالة الخدمة
التحقق من حالة خدمة API وتوفر المشغلين
GET
/
v3
/
ping
فحص حالة الخدمة
curl --request GET \
--url https://api.oneclickdz.com/v3/ping \
--header 'X-Access-Token: <api-key>'import requests
url = "https://api.oneclickdz.com/v3/ping"
headers = {"X-Access-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Access-Token': '<api-key>'}};
fetch('https://api.oneclickdz.com/v3/ping', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.oneclickdz.com/v3/ping",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Access-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.oneclickdz.com/v3/ping"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Access-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.oneclickdz.com/v3/ping")
.header("X-Access-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.oneclickdz.com/v3/ping")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Access-Token"] = '<api-key>'
response = http.request(request)
puts response.read_bodyنظرة عامة
يتيح لك endpoint فحص الحالة التحقق من حالة خدمة API والتحقق من توفر كل مشغّل هاتف محمول.الاستجابة
boolean
مطلوب
دائمًا
true إذا كانت API تعمل بشكل صحيحobject
مطلوب
مثال على الطلب
curl --request GET \
--url https://api.oneclickdz.com/v3/ping
curl --request GET \
--url https://api.oneclickdz.com/v3/ping \
--header 'X-Access-Token: your_api_key_here'
const response = await fetch("https://api.oneclickdz.com/v3/ping");
const data = await response.json();
console.log("API Status:", data.data.api);
console.log("Operators:", data.data.operators);
const response = await fetch("https://api.oneclickdz.com/v3/ping", {
headers: {
'X-Access-Token': 'your_api_key_here'
}
});
const data = await response.json();
console.log("API Status:", data.data.api);
console.log("Operators:", data.data.operators);
import requests
response = requests.get('https://api.oneclickdz.com/v3/ping')
data = response.json()
print
{
"success": true,
"data": {
"api": "ok",
"operators": {
"mobilis": "up",
"ooredoo": "up",
"djezzy": "up",
"mobilisFixedPlans": "up"
}
},
"meta": {
"timestamp": "2025-10-29T00:35:58.557Z"
}
}
حالات الاستخدام
مراقبة الخدمة
راقب توفر 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.');
}
⌘I

