CurrencyRateAPI

أداة التشغيل السريع

هل تحتاج إلى اختبار واجهة برمجة التطبيقات دون الحاجة إلى البحث في الوثائق الكاملة؟ توجه إلى لوحة التحكم، حيث ستجد أداة التشغيل السريع - وهي طريقة بسيطة لتجربة جميع نقاط النهاية المتاحة بنقرة واحدة.

انقر على الزر أدناه للتسجيل مجاناً والبدء في استخدام أداة التشغيل السريع.

ابدء

المصطلحات والمفاهيم الأساسية التي ستحتاجها للبدء في العمل مع واجهة برمجة تطبيقات أسعار العملات:

تعريف وصف
رمز رمز العملة المكون من ثلاثة أحرف (مثل الدولار الأمريكي، اليورو). ندعم رموز معيار ISO 4217 للعملات الورقية ورموزًا متنوعة للعملات المشفرة .
العملة الأساسية العملة التي يبدأ منها التحويل. على سبيل المثال، إذا كان 1 دولار أمريكي = س يورو، فإن الدولار الأمريكي هو العملة الأساسية. العملة الأساسية الافتراضية هي اليورو.
العملة المستهدفة العملة التي يتم تحويل العملة الأساسية إليها. باستخدام المثال نفسه، اليورو هو العملة المستهدفة.
العملات المشفرة بالإضافة إلى العملات الورقية التقليدية، تقوم واجهة برمجة التطبيقات الخاصة بنا بمعالجة وتوفير أسعار الصرف لمجموعة واسعة من العملات المشفرة الشائعة.
عنوان URL الأساسي عنوان URL الأساسي المستخدم لجميع نقاط نهاية واجهة برمجة التطبيقات. يتم إرسال جميع الطلبات إلى هذا المسار الأساسي.

استجابة واجهة برمجة التطبيقات

أسعار الصرف التي يوفرها موقع CurrencyRateAPI هي باليورو افتراضياً. تُعاد جميع البيانات بتنسيق JSON القياسي، ويمكن تحليلها بسهولة باستخدام أي لغة برمجة.

نموذج للإجابة:
ستجد أدناه نموذجًا لاستجابة واجهة برمجة التطبيقات (API) يحتوي على مجموعة من العملات العالمية الشائعة، وكلها مرتبطة بعملة اليورو (EUR) مع طابع زمني لوقت استلامها.

{
    "success": true,
    "base": "eur",
    "date": "2025-08-25",
    "rates": {
        "usd": "1.1697",
        "gbp": "0.8659",
        "cad": "1.6171"
    },
    "last_update_unix": "1769067006"
}

كما هو موضح أعلاه، تتضمن استجابة واجهة برمجة التطبيقات (API) لأسعار الصرف في الوقت الفعلي عدة حقول رئيسية:

  • success يشير إلى ما إذا كان الطلب قد تم بنجاح.
  • base يقوم هذا الأمر بإرجاع رمز العملة الأساسية المكون من 3 أحرف والمستخدم في هذا الطلب.
  • date يقوم بإرجاع التاريخ الفعلي الذي يتم فيه توفير أسعار الصرف (بالتنسيق YYYY-MM-DD).
  • rates يحتوي على قائمة العملات المطلوبة وأسعار صرفها الحالية.
  • last_update_unix يعرض الطابع الزمني (بتنسيق يونكس) لأحدث البيانات المتاحة في النظام.

نقاط النهاية المتاحة

تتضمن واجهة برمجة تطبيقات أسعار العملات (CurrencyRateAPI) عدة نقاط نهاية، تقدم كل منها وظائف محددة. ويعتمد توفر بعض نقاط النهاية على خطة اشتراكك.

  • نقطة نهاية قائمة العملات. تُعيد هذه النقطة النهائية القائمة الكاملة لجميع العملات المدعومة. /api/codes (بديل: /api/currencies)
  • نقطة نهاية أحدث الأسعار. توفر هذه النقطة النهائية بيانات أسعار الصرف في الوقت الفعلي لجميع العملات المدعومة. /api/latest
  • نقطة نهاية المعدلات التاريخية. تقوم هذه النقطة النهائية بإرجاع بيانات أسعار الصرف التاريخية لتاريخ محدد. /api/YYYY-MM-DD (بديل: /api/history?date=YYYY-MM-DD). تتوفر البيانات التاريخية اعتبارًا من 4 يناير 1999.

منهجية سعر الصرف

لضمان دقة البيانات واتساقها، يتبع CurrencyRateAPI منهجية صارمة لإدارة أسعار الصرف وتقديمها:

  • أسعار السوق المتوسطة: بشكل افتراضي، تُرجع واجهة برمجة التطبيقات معدلات mid . تمثل هذه المعدلات المتوسط الحسابي بين أسعار الشراء ( bid ) والبيع ( ask ) في السوق، أو أسعار الفائدة المرجعية الرسمية من البنوك المركزية.
  • إتمام إجراءات نهاية اليوم: يتم تحديد الأسعار التاريخية التي توفرها واجهة برمجة التطبيقات (API) بشكل نهائي اعتبارًا من نهاية اليوم بالتوقيت العالمي المنسق ( UTC ).
  • حساب معدل التحويل المتبادل: بالنسبة لأزواج العملات التي لا تتوفر مباشرة من مصادرنا، يقوم النظام تلقائيًا بحساب أسعار الصرف المتقاطعة بدقة عالية باستخدام العملات العالمية الرئيسية كجسر (محور).
  • آلية احتياطية ذكية: إذا كانت البيانات الخاصة بتاريخ مطلوب غير متوفرة (على سبيل المثال، بسبب إغلاق الأسواق في عطلات نهاية الأسبوع أو العطلات الرسمية)، فإن النظام يبحث تلقائيًا عن أحدث سعر صالح ضمن نافذة زمنية متغيرة مدتها 8 أيام .
  • دقة عالية: ولتجنب أخطاء التقريب في الحسابات المالية، يتم تخزين أسعار الصرف ومعالجتها بما يصل إلى 18 منزلة عشرية .

نقاط النهاية

نقاط نهاية الرموز المدعومة

https://currencyrateapi.com/api/codes

تُعيد هذه النقطة النهائية القائمة الكاملة لجميع العملات المدعومة. يمكنك أيضًا استخدام الاسم المستعار /api/currencies.

تتوفر أيضًا قائمة سهلة القراءة لجميع العملات المدعومة على صفحة العملات المدعومة لدينا.

العملات الأساسية: بشكل افتراضي، تُعيد بعض نقاط النهاية الأخرى (مثل /latest و/{YYYY-MM-DD}) مجموعة محدودة من العملات العالمية الرئيسية لتقليل حجم البيانات المتداولة. وهذه العملات "الأساسية" هي:

USD, EUR, GBP, CHF, JPY, CAD, AUD, NZD, SEK, NOK, DKK, ISK, PLN, CZK, HUF, RON, HRK, RSD,
MKD, MDL, TRY, SGD, HKD, KRW, TWD, ILS, AED, SAR, QAR, KWD, BHD, OMR, ZAR

استجابة واجهة برمجة التطبيقات:

{
    "success": true,
    "currencies": {
        "EUR": {
            "entity": "EUROPEAN UNION",
            "currency": "Euro",
            "alphabetic_code": "EUR",
            "numeric_code": 978,
            "minor_unit": 2,
            "title": "Euro",
            "symbol": "€",
            "data_from": "1999-01-04"
        },
        "BTC": {
            "entity": "CRYPTOCURRENCY",
            "currency": "Bitcoin",
            "alphabetic_code": "BTC",
            "title": "Bitcoin",
            "symbol": "₿",
            "is_crypto": true,
            "data_from": "2024-03-02"
        },
        [...]
    }
}

كائنات الاستجابة:

مفتاح وصف
success تُرجع الدالة القيمة true في حالة نجاح الطلب. أما إذا كانت القيمة false، فسيتم تضمين كائن خطأ في الاستجابة.
currencies يعرض جميع العملات المدعومة مع معلومات تفصيلية عن كل منها.
entity البلد أو المنطقة التي تُستخدم فيها العملة، أو "العملة المشفرة" للأصول الرقمية.
currency الاسم الرسمي الكامل للعملة.
alphabetic_code رمز أبجدي قياسي مكون من 3 أحرف (ISO 4217 للعملات الورقية).
numeric_code رمز ISO 4217 الرقمي إن وجد.
minor_unit عدد المنازل العشرية المستخدمة في العملة.
withdrawal_date تاريخ سحب العملة من التداول، إن وجد.
title عنوان عرض مختصر للعملة.
symbol الرمز الرسومي للعملة (على سبيل المثال، $، €، ₿).
is_crypto قم بتمييز ( true ) إذا كانت العملة عملة مشفرة.
data_from أقدم تاريخ تتوفر فيه بيانات سعر الصرف لهذه العملة.

نقطة نهاية أحدث الأسعار

https://currencyrateapi.com/api/latest?
    base=USD&
    quote=GBP,JPY,EUR

معلمات الطلب:

المعلمة وصف
base [خياري] أدخل رمز العملة ISO المكون من 3 أحرف لتعيين العملة الأساسية للتحويل. القيمة الافتراضية هي اليورو (EUR).
quote [خياري] أدخل قائمة برموز العملات مفصولة بفواصل لحصر الاستجابة بعملات محددة. (بديل: codes)
extended_list [خياري] إذا تم ضبط القيمة على 1، فإن واجهة برمجة التطبيقات (API) تُرجع القائمة الكاملة للعملات المتاحة. افتراضيًا، يتم إرجاع قائمة مختصرة فقط لتقليل حجم البيانات المُرسلة.
precision [خياري] يُحدد عدد المنازل العشرية في معدلات الإخراج (من 0 إلى 18). القيمة الافتراضية تُعيد الدقة الكاملة المتاحة بدون استخدام الترميز العلمي.

استجابة واجهة برمجة التطبيقات:

{
    "success": true,
    "base": "usd",
    "date": "2026-01-22",
    "rates": {
        "gbp": "0.74350935478637",
        "jpy": "158.00358051914",
        "eur": "0.8518613169776"
    },
    "last_update_unix": "1769067006"
}

كائنات الاستجابة:

مفتاح وصف
success تُرجع الدالة القيمة true في حالة نجاح الطلب. أما إذا كانت القيمة false، فسيتم تضمين كائن خطأ في الاستجابة.
base يُعيد رمز العملة الأساسية المكون من 3 أحرف.
date يُعيد التاريخ الفعلي الذي تم توفير أسعار الصرف بناءً عليه.
rates يُعيد بيانات أسعار الصرف للعملات المحددة في الطلب.
last_update_unix يُعيد هذا الأمر طابعًا زمنيًا بنظام يونكس يشير إلى آخر وقت تم فيه تحديث البيانات المُعادة.

نهاية الأسعار التاريخية

https://currencyrateapi.com/api/2025-08-25?
    base=EUR&
    quote=USD,GBP,CAD

صيغة بديلة: /api/history?date=2025-08-25...

معلمات الطلب:

المعلمة وصف
date [مطلوب] التاريخ التاريخي المطلوب فيه أسعار الصرف. التنسيق: YYYY-MM-DD. يمكن إدخاله في مسار عنوان URL (مثلاً: /api/2025-08-25) أو كمعامل استعلام (مثلاً: /api/history?date=2025-08-25).
base [خياري] أدخل رمز العملة المكون من 3 أحرف لتحديد العملة الأساسية للتحويل. العملة الافتراضية هي اليورو (EUR).
quote [خياري] أدخل قائمة برموز العملات مفصولة بفواصل لحصر الاستجابة بعملات محددة. (بديل: codes)
extended_list [خياري] إذا تم ضبط القيمة على 1، فإن واجهة برمجة التطبيقات (API) تُرجع القائمة الكاملة للعملات المتاحة. افتراضيًا، يتم إرجاع قائمة مختصرة فقط لتقليل حجم البيانات المُرسلة.
precision [خياري] يُحدد عدد المنازل العشرية في معدلات الإخراج (من 0 إلى 18). القيمة الافتراضية تُعيد الدقة الكاملة المتاحة بدون استخدام الترميز العلمي.

استجابة واجهة برمجة التطبيقات:

{
    "success": true,
    "base": "eur",
    "date": "2025-08-25",
    "rates": {
        "usd": "1.1697",
        "gbp": "0.8659",
        "cad": "1.6171"
    },
    "last_update_unix": "1769067006"
}

كائنات الاستجابة:

مفتاح وصف
success تُرجع الدالة القيمة true في حالة نجاح الطلب. أما إذا كانت القيمة false، فسيتم تضمين كائن خطأ في الاستجابة.
base يُعيد رمز العملة الأساسية المكون من 3 أحرف.
date يُعيد التاريخ الفعلي الذي تم توفير أسعار الصرف بناءً عليه.
rates يُعيد بيانات أسعار صرف العملات في التاريخ المحدد في الطلب.
last_update_unix يُعيد هذا الأمر طابعًا زمنيًا بنظام يونكس يشير إلى آخر وقت تم فيه تحديث البيانات المُعادة.

نموذج التعليمات البرمجية

PHP (cURL)

// Set API Endpoint (can be 'latest' or a date 'YYYY-MM-DD')
$endpoint = 'latest';

// Initialize CURL:
$ch = curl_init('https://currencyrateapi.com/api/'.$endpoint.'?base=USD"e=GBP,JPY');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Store the data:
$json = curl_exec($ch);
curl_close($ch);

// Decode JSON response:
$exchangeRates = json_decode($json, true);

// Access the exchange rate values, e.g. GBP:
echo $exchangeRates['rates']['GBP'];

جافا سكريبت (جلب البيانات)

 // Set endpoint (can be 'latest' or a date 'YYYY-MM-DD')
const endpoint = 'latest';
const params = '?base=USD"e=GBP,JPY';

// Get exchange rates via the selected endpoint:
fetch('https://currencyrateapi.com/api/' + endpoint + params)
    .then(response => {
        return response.json();
    })
    .then(json => {

        // Exchange rate data is stored in json.rates
        console.log(json.rates.GBP);

        // Timestamp can be accessed in json.last_update_unix
        console.log(json.last_update_unix);
    })
    .catch(error => {
        console.error('Fetch error:', error);
    });