بوابة المطورين في BrokerTrust
ضمّن أسعار الأسواق الحية في أي موقع. ويدجتات جاهزة، واجهة REST API مجانية للقراءة، وأمثلة كود بـ HTML و JavaScript و PHP و cURL.
البدء السريع
تقدم BrokerTrust طريقتين لعرض بيانات الأسواق الحية على موقعك:
- ويدجتات قابلة للتضمين — انسخ والصق المقتطف وانتهيت. بدون أي خطوة بناء.
- واجهة REST API عامة — اجلب JSON من الواجهة الخلفية أو الأمامية لموقعك.
أسرع طريقة للبدء: انسخ مقتطف الشريط المتحرك التالي إلى صفحة HTML.
<div data-bt-widget="ticker" data-assets="bitcoin,ethereum,gold,oil"></div>
<script src="http://localhost:4173/embed.js" async></script>ويدجت الشريط المتحرك
شريط متحرك يعرض أحدث الأسعار. مثالي لرأس وذيل الصفحات. يُعيد ضبط حجم iframe تلقائياً ويُحدّث كل 30 ثانية.
<!-- Drop this anywhere on your page -->
<div data-bt-widget="ticker" data-assets="bitcoin,ethereum,gold,oil" data-theme="light"></div>
<script src="http://localhost:4173/embed.js" async></script>| الخاصية | القيم | الافتراضي |
|---|---|---|
| data-assets | قائمة slugs مفصولة بفاصلة | bitcoin,ethereum,gold,silver,oil,natural-gas |
| data-theme | "light" · "dark" · "auto" | auto |
| data-speed | "slow" · "normal" · "fast" | normal |
ويدجت بطاقة السعر
بطاقة مدمجة تعرض السعر الحالي لأصل واحد، تغير 24 ساعة، والطابع الزمني. تُحدَّث كل 60 ثانية.
<!-- Drop this anywhere on your page -->
<div data-bt-widget="card" data-assets="bitcoin" data-theme="light"></div>
<script src="http://localhost:4173/embed.js" async></script>| الخاصية | القيم | الافتراضي |
|---|---|---|
| data-assets | slug واحد | bitcoin |
| data-theme | "light" · "dark" · "auto" | auto |
ويدجت جدول الأسعار
جدول نظيف متعدد الأصول يُظهر آخر سعر، تغير 24 ساعة، والوحدة. مثالي للأشرطة الجانبية وصفحات نظرة عامة على السوق. يُحدَّث كل 60 ثانية.
<!-- Drop this anywhere on your page -->
<div data-bt-widget="table" data-assets="bitcoin,ethereum,gold,silver,oil,aramco" data-theme="light"></div>
<script src="http://localhost:4173/embed.js" async></script>| الخاصية | القيم | الافتراضي |
|---|---|---|
| data-assets | قائمة slugs مفصولة بفاصلة | bitcoin,ethereum,gold,silver,oil,aramco |
| data-cols | مجموعة جزئية من "price,change,unit" | price,change,unit |
| data-theme | "light" · "dark" · "auto" | auto |
ويدجت الرسم البياني
رسم بياني خطي خفيف لأصل واحد على مدى محدد (7 أو 30 أو 90 يوماً). يُظهر آخر سعر بالإضافة إلى نسبة التغير للمدى. يُحدَّث كل 5 دقائق — البيانات التاريخية يومية.
<!-- Drop this anywhere on your page -->
<div data-bt-widget="chart" data-asset="bitcoin" data-range="30d" data-theme="light"></div>
<script src="http://localhost:4173/embed.js" async></script>| الخاصية | القيم | الافتراضي |
|---|---|---|
| data-asset | slug واحد | bitcoin |
| data-range | "7d" · "30d" · "90d" | 30d |
| data-theme | "light" · "dark" · "auto" | auto |
(آخر − أول) ÷ أول × 100 عبر النقاط المُرجعة. إن كان عدد النقاط أقل من 2، لا تُعرض النسبة.واجهة REST API
واجهة JSON بسيطة للقراءة فقط. CORS مفتوح (*) لتتمكن من الجلب مباشرة من المتصفح.
https://pmmapwoadyuzrupxpyrl.supabase.co/functions/v1/public-api/v1نقاط النهاية
/assetsقائمة slugs الأصول المدعومة./prices/latestآخر سعر لكل أصل مدعوم./prices/{slug}/latestآخر سعر لأصل واحد (مثل bitcoin، gold، oil)./prices/{slug}/history?days=7|30|90سجل أسعار يومي للنافذة المطلوبة.أمثلة
curl https://pmmapwoadyuzrupxpyrl.supabase.co/functions/v1/public-api/v1/prices/bitcoin/latestنقطة البيانات التاريخية
تُرجع نقاط أسعار يومية لأصل واحد ضمن نافذة محددة. days يجب أن تكون 7 أو 30 أو 90 — أي قيمة أخرى تُرجع bad_request. مُخزّنة مؤقتاً لمدة 5 دقائق.
curl "https://pmmapwoadyuzrupxpyrl.supabase.co/functions/v1/public-api/v1/prices/gold/history?days=30"صيغة الاستجابة
جميع الاستجابات الناجحة تتبع نفس البنية:
{
"data": {
"slug": "bitcoin",
"category": "crypto",
"price": 76579.42,
"unit": "USD",
"change_percent": 1.24,
"date": "2026-04-18",
"data_source": "CoinGecko"
},
"meta": {
"source": "brokertrust",
"updated_at": "2026-04-18T09:31:02.117Z",
"cached": false
}
}أكواد الأخطاء
تتشارك الأخطاء بنية واحدة قابلة للتنبؤ:
{
"error": {
"code": "invalid_slug",
"message": "Unsupported asset slug: \"foo\". See /api/v1/assets for the supported list."
},
"meta": { "source": "brokertrust" }
}| الكود | HTTP | متى |
|---|---|---|
| invalid_slug | 400 | الـ slug غير مدرج في القائمة المدعومة. |
| bad_request | 400 | معامل استعلام غير صالح (مثل days ليست 7/30/90). |
| not_found | 404 | لا توجد بيانات لهذا الـ endpoint أو الأصل بعد. |
| rate_limited | 429 | تجاوزت 60 طلباً في الدقيقة من نفس IP. |
| server_error | 500 | فشل غير متوقع. أعد المحاولة بعد ثوانٍ. |
حدود الاستخدام
الحد الافتراضي: 60 طلباً في الدقيقة لكل IP. كل استجابة تتضمن:
X-RateLimit-Limit— الحد الأقصى (60).X-RateLimit-Remaining— الطلبات المتبقية في النافذة.X-RateLimit-Reset— طابع زمني Unix لإعادة ضبط النافذة.
تحتاج حدوداً أعلى؟ أنشئ مفتاح API للحصول على حصص يومية وشهرية مخصصة.
خارطة الطريق
- إنشاء ذاتي للمفاتيح من /developers/keys/
- حصص يومية وشهرية لكل مفتاح
- لوحة تحليلات استخدام لآخر 30 يوماً
- endpoint محمي /v1/companies بنطاق companies:read
- endpoint /v1/scams لتحذيرات الاحتيال
- endpoint /v1/articles للمقالات والتوقعات
- محدد نطاقات (scopes) عند إنشاء المفتاح
- قائمة نطاقات (domains) مسموح بها للويدجتات
- تنبيهات عبر Webhook عند تغيرات الأسعار
- تنبيهات عند تصنيف وسيط جديد كاحتيالي
- تنبيهات استهلاك الحصة (80% / 100%)
- مكتبة JavaScript/TypeScript رسمية
- مكتبة Python للمحللين
- OpenAPI spec كاملة + Postman collection