Notifications cosmiques - Webhooks sur l'astrologie
Transformez l’API AstroWay de requête-réponse en streaming en temps réel. Au lieu de demander au ciel en boucle, vous vous abonnez à une URL d’événement et AstroWay envoie un webhook à l’instant où il se produit (signé par HMAC-SHA256, avec des rétries et des désactivations automatiques des « abonnements morts »).
Quels sont les événements (en direct)
Section intitulée « Quels sont les événements (en direct) »Tous ces événements sont mondiaux (état du ciel, indépendant des données personnelles) - les abonnés reçoivent un payload identique.
| Événement | Inscription | Lorsqu’il se produit |
|---|---|---|
retrograde-start | POST /v1/webhooks/retrograde-start | La planète (Mercure à Pluton) devient rétrograde |
retrograde-end | POST /v1/webhooks/retrograde-end | La planète sort de la rétro (devient directe) |
sign-ingress | POST /v1/webhooks/sign-ingress | La planète (Soleil + Mercure à Pluton) entre dans un nouveau signe |
void-of-course-start | POST /v1/webhooks/void-of-course-start | Début du période de la Lune « sans cours » (VOC) |
eclipse-alert | POST /v1/webhooks/eclipse-alert | 7 jours avant un éclipse solaire ou lunaire |
Comment vous abonner
Section intitulée « Comment vous abonner »Vous avez besoin d’une clé API liée à votre compte.
curl -X POST https://api.astroway.info/v1/webhooks/retrograde-start \ -H "X-Api-Key: aw_live_..." \ -H "Content-Type: application/json" \ -d '{ "url": "https://your-app.com/hooks/astroway" }'# { "id": 44, "event": "retrograde-start",# "url": "https://your-app.com/hooks/astroway",# "signing_secret": "a1b2…", ← збережіть, ним перевіряється підпис# "active": true }Gérer les abonnements : GET /v1/webhooks (liste), GET /v1/webhooks/{id}, DELETE /v1/webhooks/{id}, POST /v1/webhooks/{id}/test (test de livraison sur votre URL).
Qu’est-ce qui arrive sur votre URL
Section intitulée « Qu’est-ce qui arrive sur votre URL »POST avec les en-têtes X-AstroWay-Signature: sha256=<hmac>, X-AstroWay-Event, X-AstroWay-Delivery-Id et un corps :
{ "event": "retrograde-start", "delivered_at": "2026-07-15T12:00:00.000Z", "subscription_id": 44, "data": { "planet": "Mercury", "station": "retrograde", "exactAt": "2026-07-15T11:48:09.967Z", "sign": "Leo", "longitude": 142.31 }}Vérification de la signature
Section intitulée « Vérification de la signature »La signature est HMAC-SHA256(signing_secret, raw_body) en hex. Vérifiez avec l’en-tête X-AstroWay-Signature (sans le préfixe sha256=):
import { createHmac, timingSafeEqual } from 'node:crypto';
function verify(rawBody, header, secret) { const expected = createHmac('sha256', secret).update(rawBody).digest('hex'); const got = header.replace(/^sha256=/, ''); return got.length === expected.length && timingSafeEqual(Buffer.from(got), Buffer.from(expected));}L’abonnement est désactivé après 5 échecs consécutifs de livraison (pas de 2xx ou timeout de 8 s) - activez-le à nouveau via GET /v1/webhooks → pause/activation réinitialise le compteur.
Inscription et gestion des abonnements - Tarif 1 (10 crédits) par appel, effectués rarement. La livraison de l’événement sur votre URL n’est pas facturée - pas de tarif spécifique.