Cosmic Notifications - webhooks voor astrofeiten
Verander de AstroWay API van request-response naar een event stream. In plaats van de hemel in een lus te bevragen, abonneert u een URL op een type gebeurtenis - en AstroWay stuurt zelf een webhook op het moment dat deze plaatsvindt (ondertekend met HMAC-SHA256, met automatische herhalingen en automatische beëindiging van ‘dode’ abonnementen).
Welke gebeurtenissen (live)
Section titled “Welke gebeurtenissen (live)”Alle gebeurtenissen zijn globaal (staat van de hemel, niet afhankelijk van geboortegegevens) - abonnees ontvangen dezelfde payload.
| Gebeurtenis | Registratie | Wanneer activeert |
|---|---|---|
retrograde-start | POST /v1/webhooks/retrograde-start | een planeet (Mercurius–Pluto) retrograde wordt |
retrograde-end | POST /v1/webhooks/retrograde-end | een planeet retrograde verlaat (direct wordt) |
sign-ingress | POST /v1/webhooks/sign-ingress | een planeet (Zon + Mercurius–Pluto) een nieuw teken binnenkomt |
void-of-course-start | POST /v1/webhooks/void-of-course-start | het begin van de Maanperiode “without course” (VOC) |
eclipse-alert | POST /v1/webhooks/eclipse-alert | 7 dagen voor een zons- of maansverduistering |
Hoe abonneren
Section titled “Hoe abonneren”Een API-sleutel die aan uw account is gekoppeld is vereist.
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 }Abonnementen beheren: GET /v1/webhooks (lijst), GET /v1/webhooks/{id}, DELETE /v1/webhooks/{id}, POST /v1/webhooks/{id}/test (testlevering naar uw URL).
Wat er naar uw URL wordt verzonden
Section titled “Wat er naar uw URL wordt verzonden”POST met headers X-AstroWay-Signature: sha256=<hmac>, X-AstroWay-Event, X-AstroWay-Delivery-Id en body:
{ "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 }}Handtekening controleren
Section titled “Handtekening controleren”De handtekening is HMAC-SHA256(signing_secret, raw_body) in hex. Vergelijk met de header X-AstroWay-Signature (zonder het sha256= voorvoegsel):
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));}Het abonnement wordt automatisch beëindigd na 5 opeenvolgende mislukte leveringen (niet-2xx of time-out van 8s) - activeer het opnieuw via GET /v1/webhooks → pauzeren/hervatten reset de teller.
Registratie en beheer van abonnementen - Tier 1 (10 credits) per aanroep, die zelden worden uitgevoerd. Levering van een gebeurtenis naar uw URL wordt niet in rekening gebracht - er is geen apart tarief.