كيف تحصل على سعر الدولار في تاريخ معين

في 30 سبتمبر 2026 كان الدولار الأمريكي الواحد يعادل 17,891.1 روبية إندونيسية. اطلب من نقطة نهاية observations العملة الأساسية وعملة التسعير والتاريخ، ثم اقرأ السعر من صف ذلك اليوم.

الحصول على السعر المؤرخ عبر API

  1. اختر العملتين والتاريخ ضع العملة الأساسية في مسار observations وعملة التسعير في currencies؛ فمن USD إلى IDR استخدم USD في المسار وIDR في المعامل. اضبط start_date وend_date على 2026-09-30 لطلب الملاحظة الخاصة بيوم 30 سبتمبر 2026، مع استخدام التاريخ نفسه عند طرفي النطاق.
  2. اضبط مفتاح API الخاص بك احصل على مفتاح مجاني واحتفظ به في متغير البيئة NARWHAL_API_KEY. يقرأ السكربت هذا المتغير لترويسة Authorization: Bearer YOUR_KEY، لذا ضع مفتاحك في البيئة قبل إرسال الطلب.
  3. اطلب الملاحظة استخدم نقطة نهاية observations مع معاملات التاريخ وترويسة التفويض الموضحة هنا. يقرأ السكربت مصفوفة observations في الاستجابة ويطبع تاريخ كل يوم مُرجَع مع مصفوفة rates التي تظهر فيها عملة التسعير وسعرها معًا.
    Python، من USD إلى IDR في تاريخ سابق
    import os
    import requests
    
    r = requests.get(
        "https://api.narwhalapi.com/v1/fx/rates/USD/observations",
        params={"currencies": "IDR", "start_date": "2026-09-30", "end_date": "2026-09-30"},
        headers={"Authorization": f"Bearer {os.environ['NARWHAL_API_KEY']}"},
        timeout=10,
    )
    r.raise_for_status()
    for day in r.json()["observations"]:
        print(day["date"], day["rates"])
  4. اقرأ التاريخ والسعر المُرجَعين في 30 سبتمبر 2026 يكون الناتج 2026-09-30 [{'currency': 'IDR', 'rate': '17891.1'}]؛ استخدم تاريخ الصف المُرجَع عند ربط السعر بتاريخ في سجلاتك. وللحصول على قائمة تواريخ، اطلب تاريخ بداية وتاريخ نهاية، ثم استخدم limit وnext_cursor للتنقل بين صفحات الملاحظات، لأن الصفحة الواحدة قد تحوي أيامًا كثيرة.

استخدم GET /v1/fx/rates/{base}/observations للتاريخ السابق. أما نقطة النهاية الخاصة بالسعر الحالي فهي GET /v1/fx/rates/{base}?currencies=...؛ ومكان الطلب المؤرخ هو مسار observations مع معاملات البداية والنهاية.

تحتوي الاستجابة على base وobservations وnext_cursor. وفي observations يضم كل صف date ومصفوفة rates، ولكل سعر الحقلان currency وrate. عند استخراج القيمة لجدول بيانات، خذ التاريخ من الملاحظة والقيمة من إدخال IDR، مع الحفاظ على الصلة بين عملة التسعير المطلوبة والسعر المُرجَع.

إذا أعاد الطلب خطأً فإن جسمه بصيغة application/problem+json ويحتوي على status وcode وdetail وrequest_id. اقرأ code وdetail الخاصين بالخطأ قبل التعامل مع الاستجابة على أنها ملاحظات. يحمل جسم الخطأ هذه الحقول، أما الأسعار المؤرخة فتكون في مصفوفة observations ضمن الاستجابة الناجحة.

البحث عن سعر تاريخي دون كود

للبحث عن تاريخ بعينه يدويًا، استخدم صفحات العملات في Narwhal التي تعرض الأسعار التاريخية. اعثر على العملتين والتاريخ الذي تحتاجه، واحتفظ بالتاريخ مع السعر عند نسخه إلى جدول بيانات. فالقيمة المؤرخة تتيح لك الرجوع إلى الملاحظة التي استخدمتها في التحويل.

للقائمة، الصق التواريخ والأسعار التي كتبها السكربت في جدول بيانات، مع وضع التواريخ في عمود البحث والأسعار في العمود التالي. استخدم date للتاريخ المطلوب وtable لهذين العمودين في الصيغة، واستبدل هذين العنصرين بمرجع التاريخ ونطاق البحث في جدولك. يحدد FALSE الأخير تطابق التاريخ تمامًا، ويختار 2 عمود السعر. احتفظ بزوج العملتين مع الجدول لتعرف أي عملة أساسية وأي عملة تسعير تخصان القيم الملصقة، واستخدم تواريخ الملاحظات المُرجَعة في عمود البحث.

البحث عن تاريخ في جدول بيانات
=VLOOKUP(date, table, 2, FALSE)

متى تستخدم كل خيار

الحالةالخيار الأنسبالسبب
تاريخ واحد يدويًاصفحة العملةتعرض صفحات العملات الأسعار التاريخية
قائمة تواريخنقطة نهاية observationsاطلب تاريخ بداية ونهاية ثم ابحث عن كل تاريخ

يقرأ كل حساب السجل الكامل. تحقق من أول تاريخ مُرجَع، فقد تبدأ السلسلة بعد تاريخ البداية الذي طلبته.

ماذا لو كان التاريخ عطلة نهاية أسبوع أو عطلة رسمية؟

إذا لم يكن للتاريخ المطلوب سعر، فخذ آخر تاريخ سابق له صف. الأسعار ملاحظات يومية، وأيام عطلة نهاية الأسبوع وغيرها من الأيام التي لا سعر لها لا صف لها، لذا فطلب يوم سبت لا يعيد ملاحظة لذلك التاريخ.

استخدم تاريخ الصف السابق عند تسجيل الملاحظة التي وفّرت السعر. وتشرح طريقة تاريخ الفاتورة البديل المعتمد لتاريخ لا توجد له ملاحظة.

ماذا يعني سعر الصرف؟

سعر الصرف هو عدد وحدات عملة التسعير مقابل وحدة واحدة من العملة الأساسية. في ملاحظة USD/IDR ليوم 30 سبتمبر 2026 تكون USD هي العملة الأساسية وIDR هي عملة التسعير، فيعني 17,891.1 عدد الروبيات الإندونيسية لكل دولار أمريكي. اضرب مبلغ الدولار في ذلك السعر المؤرخ لتحصل على قيمته بـ IDR.

كيف أتعامل مع الأسعار العشرية؟

عند إجراء حسابات مالية، احتفظ بالأسعار المُرجَعة كأعداد عشرية أو نصوص. تعيد الواجهة سلاسل عشرية، كما يوضح '17891.1' المقتبس في ناتج 30 سبتمبر 2026. استخدم تمثيلًا عشريًا في عملية الضرب بدلًا من تحويل السعر إلى عدد عشري ثنائي.

مثال تطبيقي: USD/IDR في 30 سبتمبر 2026

لتحويل 1,000 USD باستخدام ملاحظة 30 سبتمبر 2026، اقرأ أولًا سعر IDR من صف USD لذلك التاريخ. ثم اضرب مبلغ الدولار في 17,891.1 IDR لكل دولار. أبقِ التاريخ مرفقًا بالنتيجة ليرتبط المبلغ بالملاحظة التاريخية المستخدمة في الحساب. وفي جدول البيانات، ابحث عن 30 سبتمبر 2026 بين التواريخ الملصقة، وخذ سعره، واستخدمه مضاعِفًا لمبلغ USD.

الخطوةالقيمة
تاريخ المشاهدة30 سبتمبر 2026
المبلغ بالعملة الأساسية1,000 USD
السعر في 30 سبتمبر 202617,891.1 IDR لكل دولار أمريكي
الضرب1,000 USD × 17,891.1 IDR لكل دولار أمريكي
المبلغ بعملة التسعير17,891,100 IDR

نُشر في .

الخطوات التالية