Référence API publique — Hantavirus
Présentation
Hantavirus.app fournit une API publique en lecture seule pour un accès programmatique aux données sur les épidémies. L'API est construite sur tRPC et accessible à l'adresse https://api.hantavir.us.com/api/trpc.
Authentification
L'API publique est non authentifiée. Toutes les procédures de lecture sont accessibles sans clé API.
Limites de débit
- 60 requêtes par minute par adresse IP
- En-têtes de limite de débit inclus dans les réponses :
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset - Le dépassement des limites renvoie
429 Too Many Requests
Routeurs tRPC
| Routeur | Procédures clés | Cache TTL |
|---|---|---|
outbreak.* | getCurrent, getBySlug, list, getRiskLevel | 30s |
cases.* | getCounts, getTimeSeries | 30s |
regions.* | list, byCountry | 60s |
news.* | list, getById | None |
timeline.* | list | 60s (première page) |
faqs.* | list | None |
advisories.* | list, byCountry | None |
ticker.* | list | 10s |
La documentation complète des procédures est disponible dans la référence API interne.
Points d'accès REST
Pour plus de commodité, nous fournissons également des encapsulations REST :
| Point d'accès | Méthode | Description |
|---|---|---|
/v1/outbreak/:slug | GET | Obtenir l'en-tête d'une épidémie par slug |
/v1/outbreaks | GET | Lister toutes les épidémies actives |
/v1/cases/:slug | GET | Obtenir les décomptes de cas pour une épidémie |
Server-Sent Events (SSE)
| Flux | Description | Événements |
|---|---|---|
/sse/ticker | Mises à jour du fil d'actualité en direct | text, severity, link |
/sse/ships/:mmsi | Mises à jour de la position des navires | lat, lng, speed, heading |
Exemple : flux SSE du fil d'actualité
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);
};Prise en charge des langues
Toutes les procédures prenant en charge les langues acceptent la langue via :
- Cookie
hv-locale - En-tête
Accept-Language - Par défaut :
en
Langues prises en charge : en, ar (arabe khaliji), fr
Pour les détails complets de l'API, consultez la documentation API complète.