الانتقال إلى المحتوى الرئيسي
GET
/
v3
/
account
/
balance
الحصول على رصيد الحساب
curl --request GET \
  --url https://api.oneclickdz.com/v3/account/balance \
  --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.

نظرة عامة

احصل على رصيد حسابك الحالي بالدينار الجزائري (DZD). يمثّل الرصيد الأموال المتاحة التي يمكن استخدامها للشحن والطلبات والخدمات الأخرى.
عندما يصل رصيدك إلى حد منخفض، سيُرسَل إشعار إلى عنوان بريدك الإلكتروني المسجّل.

الاستجابة

success
boolean
مطلوب
true للطلبات الناجحة
data
object
مطلوب
meta
object

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

curl --request GET \
  --url https://api.oneclickdz.com/v3/account/balance \
  --header 'X-Access-Token: YOUR_API_KEY'

مثال على الاستجابة

{
  "success": true,
  "data": {
    "balance": 1326.13
  },
  "meta": {
    "timestamp": "2025-10-29T00:35:58.710Z"
  }
}

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

الفحص قبل المعاملة

تحقق من الأموال الكافية قبل معالجة الطلبات

عرض الرصيد

اعرض الرصيد الحالي في واجهة المستخدم لتطبيقك

تنبيهات الرصيد المنخفض

راقب الرصيد وأرسل تنبيهًا عند انخفاضه

التقارير المالية

تتبع تغييرات الرصيد بمرور الوقت

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

التحقق قبل المعاملة

async function canProcessTransaction(amount) {
  const response = await fetch(
    "https://api.oneclickdz.com/v3/account/balance",
    {
      headers: { "X-Access-Token": API_KEY },
    }
  );

  const data = await response.json();

  if (!data.success) {
    throw new Error("Failed to check balance");
  }

  const balance = data.data.balance;

  if (balance < amount) {
    throw new Error(
      `Insufficient balance. Required: ${amount} DZD, Available: ${balance} DZD`
    );
  }

  return true;
}

// Usage
try {
  await canProcessTransaction(500);
  // Proceed with transaction
} catch (error) {
  console.error(error.message);
}

مراقبة الرصيد

class BalanceMonitor {
  constructor(apiKey, lowBalanceThreshold = 1000) {
    this.apiKey = apiKey;
    this.lowBalanceThreshold = lowBalanceThreshold;
    this.lastBalance = null;
  }

  async checkBalance() {
    const response = await fetch(
      "https://api.oneclickdz.com/v3/account/balance",
      {
        headers: { "X-Access-Token": this.apiKey },
      }
    );

    const data = await response.json();

    if (!data.success) {
      console.error("Failed to check balance:", data.error);
      return;
    }

    const currentBalance = data.data.balance;

    if (currentBalance < this.lowBalanceThreshold) {
      this.onLowBalance(currentBalance);
    }

    if (this.lastBalance !== null) {
      const change = currentBalance - this.lastBalance;
      if (Math.abs(change) > 100) {
        this.onBalanceChange(change, currentBalance);
      }
    }

    this.lastBalance = currentBalance;
    return currentBalance;
  }

  startMonitoring(intervalMinutes = 5) {
    this.checkBalance();
    setInterval(() => {
      this.checkBalance();
    }, intervalMinutes * 60 * 1000);
  }
}

// Usage
const monitor = new BalanceMonitor(API_KEY, 1000);
monitor.startMonitoring(5);

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

تحقق دائمًا من الرصيد الكافي قبل بدء المعاملات
// ✅ Good
const balance = await getBalance();
if (balance >= requiredAmount) {
  await sendTopUp(...);
}

// ❌ Bad
await sendTopUp(...); // Might fail with NO_BALANCE error
خزّن الرصيد مؤقتًا لمدة 30 إلى 60 ثانية لتقليل استدعاءات API
// Cache balance but invalidate after transactions
const balance = await balanceCache.getBalance();
await sendTopUp(...);
balanceCache.invalidateCache(); // Refresh after transaction
نفّذ معالجة أخطاء مناسبة
async function getSafeBalance() {
  try {
    const response = await fetch('https://api.oneclickdz.com/v3/account/balance', {
      headers: { 'X-Access-Token': API_KEY }
    });
    
    const data = await response.json();
    
    if (!data.success) {
      console.error('Balance check failed:', data.error);
      return null;
    }
    
    return data.data.balance;
  } catch (error) {
    console.error('Network error:', error);
    return null;
  }
}
إعداد تنبيهات للرصيد المنخفض
const LOW_BALANCE_THRESHOLD = 1000;

async function checkAndAlert() {
  const balance = await getBalance();
  
  if (balance < LOW_BALANCE_THRESHOLD) {
    await sendAlert({
      type: 'low_balance',
      balance: balance,
      message: `Balance is low: ${balance} DZD`
    });
  }
}

استجابات الخطأ

{
  "success": false,
  "error": {
    "code": "INVALID_ACCESS_TOKEN",
    "message": "The provided access token is invalid"
  },
  "requestId": "req_abc123"
}
{
  "success": false,
  "error": {
    "code": "INTERNAL_SERVER_ERROR",
    "message": "Developer was notified and will check shortly"
  },
  "requestId": "req_abc123"
}

Endpoints ذات الصلة

قائمة المعاملات

عرض سجل المعاملات

إرسال شحن جوال

إرسال شحن جوال