البدء السريع
تتيح لك واجهة finlight.me WebSocket API استقبال مقالات الأخبار المالية في الوقت الفعلي فور نشرها. وعلى عكس واجهة REST API التي تتطلّب استطلاعًا دوريًا لجلب البيانات الجديدة، تدفع واجهة WebSocket API إليك المقالات المنشورة حديثًا في الوقت الفعلي، مما يبقيك مطّلعًا دون تكرار الطلبات.
- تحديثات في الوقت الفعلي: بمجرّد الاتصال، تتلقّى أولًا أحدث مقال يطابق استعلامك. وبعد ذلك، تُرسَل إليك تلقائيًا أي مقالات منشورة حديثًا تطابق استعلامك.
- بث مستمر: ابقَ متّصلًا طوال المدة التي تحتاجها. تتضمّن كل باقة تسعير عددًا ثابتًا من اتصالات WebSocket المتوازية التي يمكن أن تبقى مفتوحة طوال الشهر. لا توجد تسعيرة قائمة على الاستخدام — فأنت مقيّد فقط بعدد الاتصالات المتزامنة المسموح بها في باقتك.
- تحليل المشاعر: تأتي المقالات مع بيانات المشاعر لمساعدتك على تقييم مزاج السوق بسرعة.
سجّل واحصل على مفتاح API المجاني الخاص بك
إن لم تكن قد فعلت بعد، سجّل في لوحة تحكم finlight للحصول على مفتاح API المجاني. سيُستخدم هذا المفتاح لمصادقة اتصال WebSocket الخاص بك، تمامًا كما في واجهة REST API.
اختر عميلك
للاتصال بواجهة finlight.me WebSocket API، يمكنك استخدام مكتبتَي العميل لدينا بلغتي Node.js أو Python. تبسّط هاتان المكتبتان معالجة الاتصال والمصادقة وآليات إبقاء الاتصال حيًّا (ping/pong).
# Install the Node.js client library via npm
npm install finlight-client
اتّصل واستقبل المقالات في الوقت الفعلي
بوجود مفتاح API والعميل الذي اخترته، يمكنك الآن إنشاء اتصال WebSocket. عند الاتصال، ستتلقّى فورًا أحدث مقال يطابق استعلامك، تليه المقالات الجديدة فور ورودها. تتولّى مكتبات العميل المصادقة وآلية إبقاء الاتصال حيًّا (ping/pong) نيابةً عنك.
import { FinlightApi } from 'finlight-client'
const client = new FinlightApi({
apiKey: 'YOUR_API_KEY',
})
client.websocket.connect(
{ query: 'nvidia', language: 'en' },
(article) => {
console.log('New article received:', article)
},
)
يبقى هذا الاتصال مفتوحًا طوال المدة التي تحتاجها، ويسلّم باستمرار المقالات الجديدة التي تطابق استعلامك. تذكّر أن فوترتك تعتمد على مدة الاتصال، لذا احرص على قطع الاتصال عندما لا تعود بحاجة إلى التحديثات.
إدارة حدود الاتصال
تتضمّن كل باقة تسعير عددًا ثابتًا من اتصالات WebSocket المتوازية. إذا بلغت الحد وحاولت فتح اتصال آخر، يمكنك تفعيل خيار takeover لإغلاق أقدم اتصال تلقائيًا:
import { FinlightApi } from 'finlight-client'
const client = new FinlightApi(
{
apiKey: 'YOUR_API_KEY',
},
{
// WebSocket-specific options
takeover: true, // Automatically close oldest connection when limit is reached (default: false)
},
)
client.websocket.connect(
{ query: 'nvidia', language: 'en' },
(article) => {
console.log('New article received:', article)
},
)
مع takeover: true، إذا كنت قد بلغت حد الاتصالات، فسيحلّ الاتصال الجديد تلقائيًا محلّ أقدم اتصال قائم. وهذا مفيد أثناء التطوير أو عند إعادة نشر التطبيقات. أما في الإنتاج، فقد ترغب في الإبقاء على القيمة الافتراضية (takeover: false) للحفاظ على تحكّم صريح في اتصالاتك.
ما الخطوة التالية؟
الآن بعد أن نجحت في الاتصال بواجهة WebSocket API واستقبلت مقالات في الوقت الفعلي، إليك بعض الخطوات التالية التي قد تجدها مفيدة:
- استكشِف التصفية حسب
sourceأو استعلاماتextendedلتنقيح المقالات التي تتلقّاها. - اضبط معاملات
queryحسب الحاجة لتتبّع شركات أو مؤشّرات أو موضوعات مالية مختلفة. - راجِع استخدامك ودقائق الاتصال في لوحة تحكم finlight للبقاء ضمن حدود الباقة المجانية.