نقاط نهاية أخرى
جميع نقاط النهاية تقع ضمن https://calc.dev.emrgex.com/v1.
POST /v1/carry
حساب الحمل اليومي (الفائدة الفعلية) لمجموعة من الأدوات المُنشأة آنيًا و/أو المُخزَّنة — دفعةً واحدة. يشير كل عنصر في carries إلى أداة ويُحدِّد مُدخَلًا و(اختياريًا) أفق carry_to (فارغ = تاريخ القسيمة التالية).
curl -s https://calc.dev.emrgex.com/v1/carry -H 'content-type: application/json' -d '{
"carries": [
{ "instrument_id": "MH12034", "input_kind": "yield", "input_value": 0.10,
"settlement_date": "2026-06-09", "carry_to": "2026-09-09" }
]
}'
POST /v1/generate_cash_flows
إنشاء جداول التدفقات النقدية لمجموعة من الأدوات المُنشأة آنيًا و/أو المُخزَّنة — دفعةً واحدة.
curl -s https://calc.dev.emrgex.com/v1/generate_cash_flows -H 'content-type: application/json' -d '{
"schedules": [ { "instrument_id": "MH12034" } ]
}'
GET /v1/admin/conventions
الاستكشاف: كل rate_type وday_count يدعمه المحرك، مع وصف لكل منها، إضافةً إلى صيغة calculation_code. انظر الأعراف.
curl https://calc.dev.emrgex.com/v1/admin/conventions
GET /v1/admin/instruments
سرد خصائص الأدوات المُخزَّنة (دون مصفوفات التدفقات النقدية ما لم يُحدَّد with_cashflows=true؛ يُدرَج cashflow_count دائمًا). جميع المُرشِّحات اختيارية وتُدمَج بعلاقة AND.
| Query param | المطابقة |
|---|---|
rate_type, day_count, calculation_code, currency, period_name | تطابق تام |
issuer, rate_kind, name | سلسلة فرعية (غير حسّاسة لحالة الأحرف) |
q | سلسلة فرعية عبر id / nemo / isin / issuer / name |
amortizing, callable | قيمة منطقية (boolean) |
maturity_from, maturity_to | نطاق تاريخي شامل للطرفين |
coupon_min, coupon_max | نطاق |
sort | id · nemo · issuer · maturity · coupon |
order | asc · desc |
limit (≤ 1000), offset | ترقيم الصفحات؛ limit=0 يُرجِع الإجمالي فقط |
with_cashflows | تضمين الجدول المُخزَّن لكل أداة |
curl "https://calc.dev.emrgex.com/v1/admin/instruments?callable=true&sort=maturity&limit=10"
PATCH /v1/admin/instruments/{id}
تحديث coupon_rate و/أو coupon_type لأداة مُخزَّنة في مكانها — مثل إعادة ضبط معدّل متغيّر أو إعادة تسعير (repactuação). يُعدّ التغيير تجاوزًا في الذاكرة (تُعيد إعادة تحميل الكتالوج عرض الملف الأصلي) ويُبطِل ذاكرة التخزين المؤقت بحيث يعكسه الحساب التالي.
curl -s -X PATCH https://calc.dev.emrgex.com/v1/admin/instruments/MH12034 \
-H 'content-type: application/json' -d '{ "coupon_rate": 0.12 }'
POST /v1/admin/cache/reload
إعادة تحميل مستودع الأدوات (تبديل ذرّي، غير قاتل).
فحوص السلامة
| Endpoint | الغرض |
|---|---|
GET /v1/health/livez | الحيوية (العملية فقط) |
GET /v1/health/readyz | الجاهزية (تفشل أثناء التصريف) |
GET /v1/health/startupz | بدء التشغيل (اكتمال التحميل الأوّلي) |
curl https://calc.dev.emrgex.com/v1/health/livez # {"status":"alive"}
الأخطاء
تستخدم الأخطاء RFC 7807 بنوع المحتوى application/problem+json مع type وtitle وstatus وdetail. في الدفعة، تظهر إخفاقات العناصر الفردية ضمن error الخاص بذلك العنصر بينما تنجح بقيتها.