المدونة/للمطورين

WebSocket لسعر الذهب على Reddit: أسئلة البث المباشر، مُجابة

أسئلة بث سعر الذهب اللحظي المتكررة على Reddit، مُجابة: هل يوجد WebSocket للذهب، كيف يعمل بث تحديثات XAU وXAG في goldprice.dev من طرف إلى طرف، وأي واجهات برمجية أخرى تقدّمه فعلياً (معظم واجهات المعادن تكتفي بالاستطلاع الدوري polling).

للمطورين
اللغة:
العربية
WebSocket لسعر الذهب على Reddit: أسئلة البث المباشر، مُجابة

كل بضعة أسابيع، يسأل شخص ما في r/algotrading أو r/options نسخة من السؤال نفسه: هل يوجد WebSocket لأسعار الذهب، أم أنني عالق في استطلاع نقطة نهاية REST كل ثانية؟ عادةً ما يكون من يسأل بصدد بناء بوت يحتاج السعر لحظة تحركه، أو لوحة تحكم بمؤشر XAU حي، ويشعر بأن قرع واجهة REST البرمجية في حلقة كل ثانية أمر غير صحيح. وهو كذلك فعلاً. الاستطلاع الدوري يستهلك حصة طلباتك ويضيف نصف فترة الاستطلاع كزمن انتقال متوسط، ومع ذلك يفوّت أي تحديثات تحدث بين طلبين.

الجواب المختصر: نعم، يرسل goldprice.dev تحديثات الذهب والفضة والنحاس عبر WebSocket لحظة تسجيلها. الجواب الأطول هو أي واجهات برمجية تقدّم البث المباشر أصلاً، لأن معظم واجهات الذهب المتخصصة لا تفعل. كلا الجوابين أدناه.

ما هو البث

wss://api.goldprice.dev/v1/stream هو WebSocket ضمن خطة Realtime Pro. تتصل، وتُصادِق بمفتاحك، وتشترك في الرموز التي تريدها، ويرسل الخادم إطاراً في كل مرة يتحدث فيها السعر. الذهب (XAU-USD-SPOT) والفضة (XAG-USD-SPOT) والنحاس (HG-USD-SPOT) رموز مباشرة. تتيح Realtime Pro عشرة اتصالات WebSocket.

يبدو التحديث هكذا:

{"type":"tick","symbol":"XAU-USD-SPOT","price":"3976.379","conf":"0.829","computed_at":"2026-07-01T02:13:25Z"}

price سلسلة نصية عشرية، لذا تقرأها دون أن ترث تقريب الأعداد العائمة (float). يظهر conf فقط عندما يوفّر المصدر المختار نطاق ثقة، لذلك يجب أن يقبل العميل غياب هذا الحقل. computed_at هو وقت حساب القيمة من جهة الخادم، وهو ما تقيس زمن الانتقال من طرفك إلى طرفه (end-to-end) مقابله.

المصافحة (Handshake)

ثلاث رسائل وتكون تبث: الاتصال، والمصادقة، والاشتراك.

import WebSocket from "ws";

const ws = new WebSocket("wss://api.goldprice.dev/v1/stream");

ws.on("open", () => {
  ws.send(JSON.stringify({ action: "auth", api_key: process.env.GOLDPRICE_API_KEY }));
});

ws.on("message", (raw) => {
  const msg = JSON.parse(raw);
  if (msg.type === "welcome") {
    // تمت المصادقة. الآن حدّد ما تريده.
    ws.send(JSON.stringify({ action: "subscribe", symbols: ["XAU-USD-SPOT", "XAG-USD-SPOT", "HG-USD-SPOT"] }));
  } else if (msg.type === "tick") {
    console.log(`${msg.computed_at}  ${msg.symbol}  ${msg.price}`);
  }
});

ws.on("close", (code) => {
  // 4401 مفتاح خاطئ أو مفقود، 4403 خطة أقل من Realtime Pro، 4429 تجاوز حد الاتصالات.
  console.error("stream closed", code);
});

عند الاتصال، يرسل الخادم إطار welcome يتضمن مستوى خطتك وحد الرموز المسموح بها. بعد الاشتراك، يعيد تأكيد subscribed مع لقطة فورية لآخر سعر معروف لكل رمز، لتكون لديك قيمة تعرضها قبل وصول التحديث التالي بدلاً من حقل فارغ. وإذا لم يصل شيء لنحو عشرين ثانية، بسبب سوق هادئة أو عطلة نهاية أسبوع، تصلك {"type":"heartbeat"} لتعرف أن الاتصال حي وليس معلقاً.

إعادة الاتصال مسؤوليتك أنت. إذا انقطع المقبس (socket)، افتح واحداً جديداً وأرسل رسالتَي المصادقة والاشتراك مجدداً. هذه هي الخطوة الوحيدة التي يفوّتها الناس: يعيدون الاتصال، وينسون إعادة الاشتراك، ثم يتساءلون لماذا لا تصل أي تحديثات.

أي واجهات برمجية أخرى تقدّم WebSocket فعلياً

يستحق هذا التوضيح، لأن عبارة "واجهة برمجية لسعر الذهب اللحظي" تُستخدم بتساهل، ومعظم النتائج استطلاع دوري بتحديث سريع، لا بث حقيقي. راجعتُ التوثيق العام للأسماء المعتادة في منتصف 2026. تبرز مجموعتان.

واجهات المعادن المتخصصة كلها تقريباً REST فقط. لا تملك GoldAPI.io وMetalpriceAPI وMetals.dev أي WebSocket في أي مستوى؛ تستطلع على فترات. تذكر Metals-API واحداً، لكن فقط ضمن عقد Enterprise مخصص يبدأ من نحو $25,000 سنوياً، دون توثيق عام للبث، فهو ليس خياراً واقعياً لمشروع عادي. تغطي Alpha Vantage ما هو أوسع بكثير من المعادن وتبقى REST فقط، حتى في أعلى خططها.

الواجهات البرمجية التي تبث الذهب فعلاً هي منصات بيانات السوق الواسعة، حيث الذهب رمز واحد بين عشرات الآلاف، ويقع البث خلف مستوى أعلى:

الواجهة البرمجيةWebSocketالذهب على WebSocketنقطة الدخول للبث
goldprice.devنعمنعم (XAU وXAG وHG)Realtime Pro، $80/شهرياً
Twelve Dataنعمنعم (XAU/USD مثالهم التوثيقي الخاص)~$191/شهرياً (Pro السنوية) لأرصدة بث حقيقية
TraderMadeنعمنعم (XAU/USD)خطط مدفوعة من ~£599/شهرياً
Finageنعمنعم (XAU/USD، عبر تغذيات الفوركس/CFD)WebSocket مدفوع من ~$299/شهرياً
Polygon.io (الآن Massive)نعمأزواج فوركس؛ تغطية XAU غير واضحة في التوثيقمستوى عملات مدفوع
Finnhubنعم (مشمول في المستوى المجاني)فوركس عبر وسيط؛ XAU غير موثّق بوضوحمجاني، حتى 50 رمزاً
GoldAPI.ioلا—استطلاع REST فقط
MetalpriceAPIلا—استطلاع REST فقط
Metals.devلا—استطلاع REST فقط
Metals-APIEnterprise فقطغير موثّق~$25,000/سنوياً بعقد مخصص
Alpha Vantageلا—استطلاع REST فقط

(توثيق عام، منتصف 2026. تتغير أسعار وتغطية المنافسين، لذا تحقق من صفحاتهم الحالية قبل الالتزام بأي منها.)

ما يظهره الجدول هو فجوة. إذا أردت الذهب عبر WebSocket، كانت خياراتك في الغالب إما منصة كبيرة متعددة الأصول يكون فيها الذهب هامشاً ضمن الفوركس ويبدأ البث فيها قرب $200 شهرياً، أو واجهة معادن تجبرك على الاستطلاع الدوري. goldprice.dev واجهة معادن أولاً، وتبث الذهب والفضة والنحاس مقابل $80.

متى لا تحتاج إلى البث

يستحق WebSocket مكانه عندما تُبقي اتصالاً مفتوحاً وتهتم بتحركات أقل من ثانية: مؤشر حي، أو شاشة تنفيذ، أو بوت يراقب عتبة معينة. أما لمهمة تتحقق من السعر كل بضع دقائق، فنقطة نهاية REST البسيطة عند /v1/spot/XAU-USD-SPOT أبسط ولا تُبقي أي مقبس مفتوحاً. وإذا أردت الدفع (push) دون خطة Realtime Pro، فمستوى Pro يملك بثاً بأحداث مرسلة من الخادم (Server-Sent Events) عند /v1/prices/stream؛ يشرح بث أسعار الذهب الحية عبر Server-Sent Events ذلك الخيار، الذي لا يحتاج أي عميل WebSocket على الإطلاق.

ما زلت تزن ما إذا كانت واجهة برمجية تستحق البناء عليها؟ تغطي واجهة سعر الذهب البرمجية على Reddit: أسئلة المطورين، مُجابة المستوى المجاني والحدود ومصدر الرقم. للبدء، يستغرق مفتاح مجاني دقيقة واحدة؛ أما WebSocket نفسه فيقع ضمن Realtime Pro.

مقالات ذات صلة

للمطورين

جلب سعر الذهب لكل غرام باستخدام Python ‏(24K و22K و18K)

اجلب سعر الذهب لكل غرام لعيارات 24K و22K و18K باستخدام Python دون مفتاح API، واحسب القيم بأمان باستخدام Decimal.

← اقرأ
للمطورين

إنشاء متتبع لمحفظة الذهب في Google Sheets

استورد قالباً جاهزاً لمحفظة الذهب إلى Google Sheets، حدّث سعراً مرجعياً واحداً، واحسب القيمة التقديرية والتكلفة والتغير لكل حيازة.

← اقرأ
للمطورين

كيف يعمل مخطط سعر الذهب المباشر؟

تعرّف على كيفية جمع مخطط سعر الذهب المباشر بين السعر الفوري وأشرطة OHLC والطوابع الزمنية بتوقيت UTC والاستطلاع المنضبط، مع مثال TypeScript يعمل عبر SVG.

← اقرأ

goldprice.dev

أسعار الذهب اللحظية، بيانات OHLC التاريخية، وتجميع متعدد المصادر — متاحة عبر REST و SSE.