مرجع واجهة البرمجة العامة — هانتا
نظرة عامة
Hantavirus.app يوفر API عام للقراءة فقط للوصول البرمجي لبيانات الفاشيات. الـ API مبني على tRPC ومتوفر على https://api.hantavir.us.com/api/trpc.
المصادقة
API العام ما يحتاج مصادقة. كل إجراءات القراءة متوفرة بدون مفتاح API.
حدود الطلبات
- 60 طلب بالدقيقة لكل عنوان IP
- ترويسات حدود الطلبات متضمنة في الردود:
X-RateLimit-Limit،X-RateLimit-Remaining،X-RateLimit-Reset - تجاوز الحدود يرجع
429 Too Many Requests
موجهات tRPC
| الموجه | الإجراءات الرئيسية | مدة التخزين المؤقت |
|---|---|---|
outbreak.* | getCurrent, getBySlug, list, getRiskLevel | 30ث |
cases.* | getCounts, getTimeSeries | 30ث |
regions.* | list, byCountry | 60ث |
news.* | list, getById | بدون |
timeline.* | list | 60ث (الصفحة الأولى) |
faqs.* | list | بدون |
advisories.* | list, byCountry | بدون |
ticker.* | list | 10ث |
التوثيق الكامل للإجراءات متوفر في مرجع API الداخلي.
نقاط REST
للراحة، نوفر أيضا واجهات REST مغلّفة:
| نقطة الوصول | الطريقة | الوصف |
|---|---|---|
/v1/outbreak/:slug | GET | الحصول على عنوان الفاشية بالـ slug |
/v1/outbreaks | GET | عرض كل الفاشيات النشطة |
/v1/cases/:slug | GET | الحصول على أعداد الحالات لفاشية |
الأحداث المرسلة من الخادم (SSE)
| البث | الوصف | الأحداث |
|---|---|---|
/sse/ticker | تحديثات شريط الأخبار الحية | text, severity, link |
/sse/ships/:mmsi | تحديثات موقع السفينة | lat, lng, speed, heading |
مثال: شريط الأخبار SSE
const source = new EventSource('https://api.hantavir.us.com/sse/ticker');
source.onmessage = (e) => {
const data = JSON.parse(e.data);
console.log(data.text, data.severity);
};دعم اللغات
كل الإجراءات اللي تدعم اللغات تقبل اللغة عبر:
- كوكي
hv-locale - ترويسة
Accept-Language - الافتراضي:
en
المدعوم: en، ar (خليجي)، fr
لتفاصيل API الكاملة، شوف توثيق API الكامل.