Cosmic Notifications - Notifikasi Langsung untuk Fenomena Astronomi
Ubah AstroWay API dari request-response menjadi streaming event. Buatlah URL yang dapat di-subscribe untuk menerima event secara langsung, dan AstroWay akan mengirim event ke URL Anda secara otomatis (dengan HMAC-SHA256, auto-retry, dan auto-disable “dead” subscription).
Event apa saja (live)
Section titled “Event apa saja (live)”Semua event ini global (tidak tergantung pada data lokasi) - pengirim akan menerima payload yang sama.
| Event | Registrasi | Kapan terjadi |
|---|---|---|
retrograde-start | POST /v1/webhooks/retrograde-start | Planet (Merkurius-Putin) menjadi retrograde |
retrograde-end | POST /v1/webhooks/retrograde-end | Planet keluar dari retrograde (menjadi direkt) |
sign-ingress | POST /v1/webhooks/sign-ingress | Planet (Matahari + Merkurius-Putin) masuk ke dalam tanda baru |
void-of-course-start | POST /v1/webhooks/void-of-course-start | Mulai periode Bulan “tanpa kurs” (VOC) |
eclipse-alert | POST /v1/webhooks/eclipse-alert | 7 hari sebelum matahari atau bulan terjadi |
Bagaimana mendaftar
Section titled “Bagaimana mendaftar”Perlu API-key yang terkait dengan akun Anda.
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 }Manajemen subscription: GET /v1/webhooks (daftar), GET /v1/webhooks/{id}, DELETE /v1/webhooks/{id}, POST /v1/webhooks/{id}/test (tes delivery ke URL Anda).
Apa yang datang ke URL Anda
Section titled “Apa yang datang ke URL Anda”POST dengan header X-AstroWay-Signature: sha256=<hmac>, X-AstroWay-Event, X-AstroWay-Delivery-Id dan 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 }}Verifikasi tanda tangan
Section titled “Verifikasi tanda tangan”Tanda tangan adalah HMAC-SHA256(signing_secret, raw_body) dalam bentuk hex. Periksa dengan header X-AstroWay-Signature (tanpa prefix 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));}Subscription akan di-disable setelah 5 kali delivery gagal (tidak 2xx atau timeout 8 s) - aktifkan kembali melalui GET /v1/webhooks → pause/aktifkan untuk reset counter.
Pendaftaran dan manajemen subscription - Tier 1 (10 kredit) per panggilan, dilakukan jarang. Delivery event ke URL Anda tidak dikenakan biaya - tidak ada biaya tambahan.