في 30 سبتمبر 2026 كان الدولار الأمريكي الواحد يعادل 17,891.1 روبية إندونيسية. اطلب من نقطة نهاية observations العملة الأساسية وعملة التسعير والتاريخ، ثم اقرأ السعر من صف ذلك اليوم.
الحصول على السعر المؤرخ عبر API
- اختر العملتين والتاريخ ضع العملة الأساسية في مسار observations وعملة التسعير في
currencies؛ فمن USD إلى IDR استخدمUSDفي المسار وIDRفي المعامل. اضبطstart_dateوend_dateعلى2026-09-30لطلب الملاحظة الخاصة بيوم 30 سبتمبر 2026، مع استخدام التاريخ نفسه عند طرفي النطاق. - اضبط مفتاح API الخاص بك احصل على مفتاح مجاني واحتفظ به في متغير البيئة
NARWHAL_API_KEY. يقرأ السكربت هذا المتغير لترويسةAuthorization: Bearer YOUR_KEY، لذا ضع مفتاحك في البيئة قبل إرسال الطلب. - اطلب الملاحظة استخدم نقطة نهاية observations مع معاملات التاريخ وترويسة التفويض الموضحة هنا. يقرأ السكربت مصفوفة
observationsفي الاستجابة ويطبع تاريخ كل يوم مُرجَع مع مصفوفةratesالتي تظهر فيها عملة التسعير وسعرها معًا.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"]) - اقرأ التاريخ والسعر المُرجَعين في 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 سبتمبر 2026 | 17,891.1 IDR لكل دولار أمريكي |
| الضرب | 1,000 USD × 17,891.1 IDR لكل دولار أمريكي |
| المبلغ بعملة التسعير | 17,891,100 IDR |
نُشر في .