cURL
curl --request GET \ --url https://api.oneclickdz.com/v3/ping \ --header 'X-Access-Token: <api-key>'
{ "success": true, "data": { "api": "<string>", "operators": { "mobilis": "<string>", "ooredoo": "<string>", "djezzy": "<string>", "mobilisFixedPlans": "<string>" } }, "meta": { "timestamp": "<string>" } }
Check API service health and operator availability
true
Show properties
"ok"
"error"
"up"
"down"
curl --request GET \ --url https://api.oneclickdz.com/v3/ping
// 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"; }
Poll Periodically
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
Cache Status
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; }
Handle Degraded State
if (data.data.operators.djezzy === 'down') { showNotification('Djezzy service temporarily unavailable. Try Mobilis or Ooredoo.'); }