Bỏ qua để đến nội dung
AstroWay/api v2.202.7 · vi
tất cả hệ thống hoạt động bình thường

Cosmic Notifications - thông báo vũ trụ

Chuyển đổi AstroWay API từ request-response thành streaming. Thay vì hỏi bầu trời trong vòng lặp, bạn đăng ký URL theo kiểu sự kiện - và AstroWay sẽ gửi webhook vào thời điểm đó (chứng nhận HMAC-SHA256, với tự động lặp lại và tự động tắt “morts” đăng ký).

Tất cả các sự kiện này là toàn cầu (tình trạng bầu trời, không phụ thuộc vào dữ liệu cá nhân) - người đăng ký sẽ nhận payload giống nhau.

Sự kiệnĐăng kýKhi xảy ra
retrograde-startPOST /v1/webhooks/retrograde-startoplanet (Merkury–Pluto) trở thành retrograde
retrograde-endPOST /v1/webhooks/retrograde-endoplanet thoát khỏi retro (trở thành trực tiếp)
sign-ingressPOST /v1/webhooks/sign-ingressoplanet (Sun + Merkury–Pluto) vào dấu hiệu mới
void-of-course-startPOST /v1/webhooks/void-of-course-startBắt đầu giai đoạn Mặt Trăng “bỏ cuộc” (VOC)
eclipse-alertPOST /v1/webhooks/eclipse-alertTrong 7 ngày trước khi xảy ra nhật thực hoặc nguyệt thực

Cần có API-key, liên kết với tài khoản của bạn.

Terminal window
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 }

Quản lý đăng ký: GET /v1/webhooks (danh sách), GET /v1/webhooks/{id}, DELETE /v1/webhooks/{id}, POST /v1/webhooks/{id}/test (dữ liệu thử nghiệm đến URL của bạn).

POST với tiêu đề X-AstroWay-Signature: sha256=<hmac>, X-AstroWay-Event, X-AstroWay-Delivery-Id và nội dung:

{
"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
}
}

Chữ ký là HMAC-SHA256(signing_secret, raw_body) trong hex. Kiểm tra với tiêu đề X-AstroWay-Signature (bỏ tiền tố 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));
}

Đăng ký tự động tắt sau 5 lần giao tiếp liên tiếp không thành công (không-2xx hoặc thời gian chờ 8 s) - hãy bật lại qua GET /v1/webhooks → tạm dừng/đóng lại sẽ bỏ qua số lần giao tiếp.

Đăng ký và quản lý đăng ký - Tier 1 (10 credits) cho mỗi lần gọi, được thực hiện ít. Giao tiếp sự kiện đến URL của bạn không tính phí - không có phí riêng biệt.

Hữu ích chứ?
Запропонувати правку

Cập nhật lần cuối: