للمطورين · بيانات السوق

Crypto Bubbles API: من أين تتدفق البيانات فعلاً وكيف تبني لوحتك الخاصة

الإجابة القصيرة عن السؤال الأكثر شيوعاً: التطبيق الرسمي لا يعلن عن واجهة API عامة. أما الإجابة الطويلة فأكثر إثارة — لأن سلسلة البيانات الكاملة التي تعتمد عليها تطبيقات الفقاعات متاحة للعموم، ويمكنك أن تبني منها لوحتك الخاصة في أمسية واحدة. نعرض لك كيف: من اختيار المصدر، مروراً بـ REST في مواجهة WebSocket، وصولاً إلى الكود الذي يرسم الفقاعات.

مخطط تدفق البيانات: منصات تداول العملات الرقمية، المجمّعات، واجهة API وواجهة الفقاعات

بصراحة من العتبة

هل يملك Crypto Bubbles واجهة API عامة؟

لنبدأ بما يأتي معظم الناس من أجله إلى هنا. الموقع الرسمي cryptobubbles.net لا يعلن عن واجهة API عامة وموثقة للمطورين. لا بوابة مطورين هناك، ولا تسعيرة طلبات، ولا توثيق لنقاط النهاية. Crypto Bubbles منتج استهلاكي — تصوير لأكثر من ألف عملة، يتحدث تلقائياً، ومتاح في المتصفح وتطبيقات الهواتف (هكذا يقدّمه موقعه) — وليس مستودع بيانات بالجملة.

نكتب ذلك صراحة لأن الشبكة تعجّ بأدلة توحي بعكس ذلك، أو — وهذا أسوأ — تنتحل صفة «واجهة Crypto Bubbles API الرسمية» وتبيع مفاتيح لها. تعامل مع هذه العروض كما تتعامل مع ملفات APK المزيفة في المنتديات: أحدهم يحاول أن يبيعك ما لا يعرضه الصانع أصلاً. والقاعدة الواردة في دليل تحميل التطبيق سارية هنا أيضاً — مصدر الحقيقة الوحيد عن المنتج الرسمي هو cryptobubbles.net حصراً.

والآن الخبر السار: لبناء لوحة فقاعات خاصة بك لا تحتاج أصلاً إلى واجهة API لتطبيق بعينه. فالفقاعات ليست سوى طريقة لرسم بيانات ينشرها السوق على أي حال. تحتاج إلى أربعة أرقام لكل عملة وأربعين سطراً من الكود. ولهذا بالذات نخصص بقية هذه الصفحة.

كيف تحصل تطبيقات الفقاعات على بياناتها: سلسلة من ثلاث حلقات

كل تصوير للسوق — من الفقاعات إلى الخرائط الحرارية التي نتناولها في دليل خريطة السوق — يقوم على سلسلة التوريد نفسها:

  • الحلقة 1: المنصات. المصدر الأولي لكل سعر هو دفتر أوامر منصة تداول محددة. هنا تُبرم الصفقات، وسعر «بيتكوين» هو في الحقيقة عشرات الأسعار من عشرات قاعات التداول، تتفاوت بأجزاء من النقطة المئوية.
  • الحلقة 2: المجمّعات. خدمات البيانات تجمع الأسعار من مئات المنصات، وتحسب متوسطها (مرجحاً عادة بحجم التداول)، وتضيف المعروض المتداول، وتقدم مقاييس جاهزة: القيمة السوقية، والترتيب، والتغيرات المئوية في النوافذ الزمنية القياسية.
  • الحلقة 3: التطبيقات. التصويرات مثل لوحة الفقاعات تسحب من المجمّعات ملف JSON موحّداً وتحوّل الأرقام إلى هندسة ولون. كل «السحر» يجري في متصفح المستخدم.

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

البنية

REST أم WebSocket: طريقتان للشرب من الصنبور نفسه

كل واجهة API سوقية جادة تقدّم البيانات بطريقتين، والاختيار بينهما هو أول قرار معماري في مشروعك.

REST يعمل كسؤال وجواب: ترسل طلب HTTP، تستلم JSON، وتنتهي المحادثة. المزايا: البساطة، وسهولة تصحيح الأخطاء (يمكنك معاينة الاستجابة في المتصفح)، والتخزين المؤقت مجاناً. العيوب: كل تحديث طلب جديد، وحدود الطلبات (rate limits) في الخطط المجانية قد تكون ضيقة — عادة من بضعة طلبات إلى بضع عشرات في الدقيقة. للوحة فقاعات تتحدث كل 30–60 ثانية هذا كافٍ تماماً؛ وبالمناسبة، تطبيق Crypto Bubbles الرسمي نفسه يحدّث بياناته كل بضع عشرات من الثواني، كما يذكر موقعه.

WebSocket خط مفتوح: تنشئ اتصالاً واحداً، والخادم يدفع إليك بنفسه كل تغيير — حركة سعر جديدة، صفقة جديدة، تحديثاً لدفتر الأوامر. المزايا: تأخير بالميلي ثانية بدل الثواني، ولا إهدار للحدود على سؤال «هل تغيّر شيء؟». العيوب: عليك التعامل مع انقطاع الاتصالات، وإعادة الاشتراك، وترتيب طوابير الرسائل — الكود يصبح أثقل. الـ WebSocket لا غنى عنه في التداول الخوارزمي وشرائط الأسعار الحية؛ أما لتصوير «حالة السوق» فهو غالباً مدفع لصيد عصفور.

قاعدة عملية: ابدأ بـ REST. لا تنتقل إلى WebSocket إلا عندما تستطيع أن تقول ما الذي سيفسده لك تأخير 30 ثانية بالتحديد. إن لم تستطع — فلن يفسد شيئاً.

أربعة حقول تُرسم منها الفقاعات

لنفكك اللوحة إلى بيانات. لرسم عرض فقاعات ذي معنى، تحتاج لكل عملة إلى أربعة حقول بالضبط:

  • الرمز (BTC وETH…) — بطاقة الفقاعة.
  • القيمة السوقية — تتحكم في الحجم. إنها هي، لا سعر الوحدة، ما يعكس حجم المشروع؛ لماذا يعد هذا فرقاً جوهرياً؟ نشرحه بمناسبة حاسبة CoinCompare.
  • التغيّر المئوي في النافذة المختارة (ساعة، يوم، أسبوع…) — يتحكم في اللون ودرجة تشبعه.
  • حجم تداول 24 ساعة — لا يرسم شيئاً مباشرة، لكنه يتيح تصفية العملات «الميتة» التي يتغير سعرها على ثلاث صفقات في اليوم.

كل ما يتجاوز هذه المجموعة — الترتيب، المعروض، القمة التاريخية، الروابط — إضافات لبطاقة العملة، لا للوحة نفسها. لاحظ أننا نتحدث عن بضع مئات من البايتات لكل عملة: ألف عملة تعني استجابة JSON واحدة بحجم صورة صغيرة. ولهذا تعمل لوحات الفقاعات بسلاسة حتى على الهواتف الضعيفة.

ورشة العمل

درس مصغّر: لوحة فقاعات خاصة بك في أمسية واحدة

في الأسفل هيكل بلغة JavaScript — كود شبه جاهز مبسّط عمداً، عليك إكماله بعنوان واجهة API التي اخترتها. المنطق من ثلاث مراحل: اجلب الأسعار، حوّل القيمة السوقية إلى نصف قطر والتغيّر المئوي إلى لون، ثم ارسم.

// 1. جلب البيانات (REST، تحديث كل 60 ثانية)
async function fetchCoins() {
  const res = await fetch(API_URL + '/tickers?limit=100'); // مفتاح API في الترويسة، أبداً ليس في الكود
  const coins = await res.json();
  return coins.filter(c => c.volume24h > 1_000_000); // استبعد العملات الميتة
}

// 2. التحجيم: نصف القطر ~ الجذر التربيعي للقيمة السوقية
//    (العين تقارن مساحات الدوائر، لا أنصاف الأقطار!)
function radius(cap, maxCap) {
  const R_MAX = 90, R_MIN = 6;
  return Math.max(R_MIN, R_MAX * Math.sqrt(cap / maxCap));
}

// 3. اللون: أخضر للارتفاع، أحمر للهبوط،
//    والتشبع يزداد مع القيمة المطلقة للتغيّر
function color(changePct) {
  const sat = Math.min(Math.abs(changePct) / 15, 1); // تشبع كامل ابتداءً من ±15%
  return changePct >= 0
    ? `rgba(34, 197, 94, ${0.35 + 0.65 * sat})`
    : `rgba(239, 68, 68, ${0.35 + 0.65 * sat})`;
}

// 4. الرسم: canvas + محاكاة تنافر بسيطة
setInterval(async () => {
  const coins = await fetchCoins();
  const maxCap = Math.max(...coins.map(c => c.marketCap));
  draw(coins.map(c => ({
    label: c.symbol,
    r: radius(c.marketCap, maxCap),
    fill: color(c.change24h)
  })));
}, 60_000);

نصيحتان تتجاوزان الهيكل. أولاً، فيزياء التوزيع: كي لا تتراكب الفقاعات، استخدم محاكاة قوى جاهزة — في مكتبة d3 هي الوحدة d3-force مع التصادمات (forceCollide)، وعلى canvas خام تكفي حلقة تُبعد الدوائر المتقاطعة عن بعضها. ثانياً، الجذر التربيعي في دالة نصف القطر ليس ترفاً: مساحة الدائرة تنمو مع مربع نصف القطر، فالتحجيم الخطي لنصف القطر سيجعل عملة أكبر بمئة مرة تشغل مساحة أكبر بعشرة آلاف مرة. نصف اللوحات «الهاوية» على الشبكة ترتكب هذا الخطأ بالضبط وتكذب بصرياً بشأن نسب السوق — والنسب هي جوهر هذا التصوير كله، كما نفصّل في دليل ما هو Crypto Bubbles.

كيف تختار واجهة API للبيانات: ستة معايير

المعيارعمّ تسألممّ تحذر
تغطية السوقكم عملة ومنصة تشمل؟ هل تحسب القيم السوقية؟«10000 عملة» قد تُحسب مع توكنات ميتة بلا حجم تداول
WebSocketهل يوجد تدفق حي وما نطاقه (حركات أسعار، صفقات، دفتر أوامر)؟بعض الخطط لا تقدم WS إلا من العتبة المدفوعة
حدود الطلباتكم طلباً في الدقيقة/الشهر في خطتك؟الحدود المحسوبة لكل نقطة نهاية قد تفاجئك منتصف الشهر
السعركلفة الخطة عند حجم حركتك الحقيقي، لا الحاليالقفزات السعرية بين العتبات قد تبلغ أضعافاً
البيانات التاريخيةإلى أي عمق تعود الشموع وبأي دقة؟الخطط المجانية كثيراً ما تعطي أياماً فقط، لا سنوات
الاستقرار واتفاقية الخدمةصفحة حالة، تاريخ الأعطال، ضمانات التوافرغياب صفحة حالة علنية إجابةٌ بحد ذاته

ملاحظة مستقلة عن واجهات API الخاصة بالمنصات كمصدر كامل الأهلية: إذا كان مشروعك يخص التداول — اختبارات رجعية، أو بوت، أو مراقب أوامرك الخاصة — فواجهة API المنصة ليست بديلاً بل ضرورة، لأنها وحدها تمنحك دفتر الأوامر وتاريخ الصفقات وإمكانية إرسال الأوامر. توثيقات المنصات الناضجة تقدم REST وWebSocket، وبيئات تجريبية (sandbox) للاختبار، ومكتبات عملاء باللغات الشائعة. وهي أيضاً أقصر طريق لتصطدم نظرية هذه الصفحة بتدفق بيانات حقيقي.

المعلومات عن ميزات تطبيق Crypto Bubbles الرسمي (نطاق العملات، المنصات، تواتر التحديث) ننقلها عن cryptobubbles.net (حتى: يوليو 2026).

الأمان

مفاتيح API: دورة قصيرة في عدم إحراق حسابك

قسم مكتوب من موقع مدقق رأى مستودعات أكثر مما ينبغي بمفاتيح في تاريخ الالتزامات (commits). مفتاح API لبيانات عامة أمر تافه — أقصى ما يحدث أن يلتهم أحدهم حد طلباتك. أما مفتاح API لحساب على منصة تداول فمن فئة مختلفة كلياً: في الأيدي الخطأ قادر على تفريغ الرصيد. القواعد:

  • لا تُدرج المفاتيح في الالتزامات أبداً. احفظها في متغيرات البيئة أو في مدير أسرار؛ وملف .env في .gitignore من اليوم الأول. المفتاح الذي دخل تاريخ المستودع مرة اعتبره محروقاً وولّد غيره — حذف الملف لا يحذفه من التاريخ.
  • أدنى الصلاحيات. لقراءة البيانات يكفي مفتاح قراءة فقط (read-only). فعّل حق التداول للبوتات التي تتداول فعلاً فقط، أما حق السحب — فالأفضل ألا تفعّله أبداً. لا يحتاج أي بوت تحليلي إلى إمكانية سحب الأموال.
  • قائمة عناوين IP المسموح بها. واجهات API الناضجة تتيح قصر المفتاح على عناوين محددة. تسريب مفتاح مثبّت على IP خادمك عديم الفائدة للسارق.
  • التدوير والنظافة. مفتاح مستقل لكل مشروع، ومراجعة وحذف غير المستخدم كل ربع سنة، وتدوير فوري بعد أي اشتباه في تسريب. يبدو الأمر بيروقراطياً، ويستغرق عشر دقائق، وينقذ الحسابات.

تحذير: البوتات و«أدوات الإشارات» التي تطلب مفتاحاً بحق السحب هي القناة القياسية للسرقة. الأداة التحليلية الشرعية لا تحتاج أبداً إلى صلاحيات كهذه — وطلبها ينهي الحديث.

خلاصة هذه الصفحة في سطور

  • تطبيق Crypto Bubbles الرسمي لا يعلن عن API عامة — تجنّب عروض «المفاتيح الرسمية» تجنباً تاماً.
  • البيانات تتدفق عبر سلسلة المنصات ← المجمّعات ← التطبيقات؛ ويمكنك توصيل مشروعك عند أي حلقة.
  • REST يكفي للوحة تتحدث كل دقيقة؛ ولا تلجأ إلى WebSocket إلا عندما يؤلمك التأخير فعلاً.
  • لرسم الفقاعات يكفي الرمز والقيمة السوقية والتغيّر المئوي وحجم التداول — مع نصف قطر محجّم بالجذر التربيعي.
  • مفاتيح API: خارج المستودع، بأدنى الصلاحيات، مثبّتة على IP، ومدوّرة دورياً.

الأسئلة الشائعة

الأسئلة الأكثر شيوعاً عن Crypto Bubbles API وبيانات السوق

هل يوفر Crypto Bubbles واجهة API عامة؟

الموقع الرسمي cryptobubbles.net لا يعلن عن واجهة API عامة وموثقة للمطورين — فالتطبيق منتج استهلاكي وليس مزوّد بيانات. إذا أردت بناء تصويرك الخاص، فاستعن بواجهات API لمجمّعات بيانات السوق أو بواجهات API الخاصة بالمنصات مباشرة.

REST أم WebSocket — أيهما تستخدم لبيانات السوق؟

استخدم REST للبيانات التي تحدّثها كل بضع عشرات من الثواني (القيم السوقية، الترتيب، التغيرات المئوية) — فهو أبسط وأسهل في تصحيح الأخطاء. واستخدم WebSocket لتدفق الصفقات وحركات الأسعار اللحظية عندما تكون كل ثانية مهمة. لوحة الفقاعات تعمل بسلاسة على REST.

ما حقول البيانات اللازمة لرسم الفقاعات؟

الحد الأدنى أربعة حقول لكل عملة: الرمز، والقيمة السوقية، والتغيّر المئوي في النافذة الزمنية المختارة، وحجم التداول. القيمة السوقية تتحكم في نصف قطر الفقاعة، والتغيّر المئوي في اللون، وحجم التداول يفيد في تصفية العملات الميتة.

لماذا يُحسب نصف قطر الفقاعة بالجذر التربيعي للقيمة السوقية؟

لأن العين تقارن مساحات الدوائر لا أنصاف أقطارها. المساحة تنمو مع مربع نصف القطر، فلكي تشغل عملة أكبر بعشر مرات مساحة أكبر بعشر مرات، يجب أن ينمو نصف القطر كجذر القيمة السوقية. التحجيم الخطي لنصف القطر كان سيضخّم العملات الكبيرة بصرياً مئات المرات.

هل تكفي واجهة API مجانية لمشروعك الخاص؟

للتعلم ولوحة هواية — غالباً نعم: الخطط المجانية للمجمّعات تقدم من بضعة طلبات إلى بضع عشرات في الدقيقة، ولوحة تتحدث كل 30–60 ثانية تدخل في هذه الحدود. أما المنتج التجاري فيحتاج إلى خطة مدفوعة باتفاقية مستوى خدمة وحدود أعلى وبيانات تاريخية.

كيف تخزّن مفاتيح API بأمان؟

لا تضعها أبداً في الكود ولا في المستودع — فقط في متغيرات البيئة أو مدير أسرار. امنح المفاتيح أدنى الصلاحيات (قراءة فقط، من دون حق السحب)، وفعّل قائمة عناوين IP المسموح بها، وبدّلها بعد أي اشتباه في تسريب. تعامل مع مفتاح يملك حق التداول كما تتعامل مع كلمة مرور حسابك البنكي.

من قراءة التوثيق إلى أول طلب

أسرع طريقة لتعلم واجهات API السوقية هي إرسال طلبات حقيقية. توثيق API منصة تداول بما فيه من REST وWebSocket ومفاتيح محدودة الصلاحيات ميدان تدريب جيد للانطلاق.