Public API Reference — Hantavirus
Ikhtisar
Hantavirus.app menyediakan API publik baca-saja untuk akses programatik ke data wabah. API dibangun di atas tRPC dan dapat diakses di https://api.hantavir.us.com/api/trpc.
Autentikasi
API publik tidak memerlukan autentikasi. Semua prosedur baca tersedia tanpa kunci API.
Batas laju
- 60 permintaan per menit per alamat IP
- Header batas laju disertakan dalam respons:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset - Melebihi batas mengembalikan
429 Too Many Requests
Router tRPC
| Router | Prosedur utama | TTL cache |
|---|---|---|
outbreak.* | getCurrent, getBySlug, list, getRiskLevel | 30 dtk |
cases.* | getCounts, getTimeSeries | 30 dtk |
regions.* | list, byCountry | 60 dtk |
news.* | list, getById | Tidak ada |
timeline.* | list | 60 dtk (halaman pertama) |
faqs.* | list | Tidak ada |
advisories.* | list, byCountry | Tidak ada |
ticker.* | list | 10 dtk |
Dokumentasi prosedur lengkap tersedia di referensi API internal.
Endpoint REST
Untuk kemudahan, kami juga menyediakan pembungkus REST:
| Endpoint | Metode | Deskripsi |
|---|---|---|
/v1/outbreak/:slug | GET | Dapatkan header wabah berdasarkan slug |
/v1/outbreaks | GET | Cantumkan semua wabah aktif |
/v1/cases/:slug | GET | Dapatkan jumlah kasus untuk suatu wabah |
Server-Sent Events (SSE)
| Stream | Deskripsi | Peristiwa |
|---|---|---|
/sse/ticker | Pembaruan ticker berita langsung | text, severity, link |
/sse/ships/:mmsi | Pembaruan posisi kapal | lat, lng, speed, heading |
Contoh: SSE ticker
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);
};Dukungan lokal
Semua prosedur yang sadar lokal menerima bahasa melalui:
- Cookie
hv-locale - Header
Accept-Language - Default:
en
Didukung: en, ar (Khaleeji Teluk), fr
Untuk detail API lengkap, lihat dokumentasi API lengkap.