Cosmic Notifications - webhookok asztrológiai eseményekre
Alakítsd át az AstroWay API-t kérés-válasz modellből eseményfolyammá. Ahelyett, hogy ciklusban kérdezgetnéd az eget, egy URL-t iratkoztatsz fel egy eseménytípusra - és az AstroWay maga küldi el a webhookot, amikor az esemény bekövetkezik (HMAC-SHA256 aláírással, automatikus újrapróbálással és a “halott” feliratkozások automatikus letiltásával).
Milyen események vannak (élesben)
Szekció neve “Milyen események vannak (élesben)”Mindezek az események globálisak (az ég állapotát tükrözik, nem függenek születési adatoktól) - minden feliratkozó ugyanazt a payloadot kapja.
| Esemény | Regisztráció | Mikor aktiválódik |
|---|---|---|
retrograde-start | POST /v1/webhooks/retrograde-start | egy bolygó (Merkúr–Plútó) retrográddá válik |
retrograde-end | POST /v1/webhooks/retrograde-end | egy bolygó kilép a retrográd mozgásból (direktté válik) |
sign-ingress | POST /v1/webhooks/sign-ingress | egy bolygó (Nap + Merkúr–Plútó) új jegybe lép |
void-of-course-start | POST /v1/webhooks/void-of-course-start | kezdődik az üres járású Hold (VOC) időszaka |
eclipse-alert | POST /v1/webhooks/eclipse-alert | 7 nappal egy nap- vagy holdfogyatkozás előtt |
Hogyan iratkozz fel
Szekció neve “Hogyan iratkozz fel”A fiókodhoz kötött API-kulcs szükséges.
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…", ← store it; it verifies the signature# "active": true }A feliratkozások kezelése: GET /v1/webhooks (lista), GET /v1/webhooks/{id}, DELETE /v1/webhooks/{id}, POST /v1/webhooks/{id}/test (tesztkézbesítés az URL-edre).
Mi érkezik az URL-edre
Szekció neve “Mi érkezik az URL-edre”Egy POST kérés X-AstroWay-Signature: sha256=<hmac>, X-AstroWay-Event, X-AstroWay-Delivery-Id fejlécekkel és ezzel a törzzsel:
{ "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 }}Az aláírás ellenőrzése
Szekció neve “Az aláírás ellenőrzése”Az aláírás HMAC-SHA256(signing_secret, raw_body) hex formában. Vesd össze az X-AstroWay-Signature fejléccel (a sha256= előtag nélkül):
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));}A feliratkozás 5 egymást követő sikertelen kézbesítés után (nem 2xx válasz vagy 8 mp-es időtúllépés) automatikusan letiltódik - kapcsold vissza a GET /v1/webhooks segítségével → a szüneteltetés/folytatás nullázza a számlálót.
A feliratkozások regisztrálása és kezelése hívásonként Tier 1 (10 kredit), és ritkán fordul elő. Az esemény kézbesítése az URL-edre nem kerül pénzbe - külön díjszabás nincs.