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

Bắt đầu nhanh

Năm phút từ lúc đăng ký đến một bản đồ sao cá nhân đầy đủ dưới dạng JSON. Bao gồm cài đặt SDK, request đầu tiên, header phản hồi, xác thực và xử lý lỗi.

  1. Vào dashboard và nhấn Generate key. Gói miễn phí cho 10 000 credit/tháng mãi mãi - không cần nhập thẻ. Key bắt đầu bằng:

    • aw_live_*: production, tính phí thật
    • aw_test_*: sandbox, không trừ credit, phản hồi tất định
  2. API là REST + JSON thông thường, nên SDK không bắt buộc. Nhưng cả ba đều đã được phát hành: TypeScript (@astroway/sdk), Python (astroway) và PHP (astroway/sdk), cùng với máy chủ MCP (@astroway/mcp) cho AI agent.

    Terminal window
    # No SDK needed - just curl and a key:
    export AW_KEY="aw_test_demo_replaceme"
  3. Tính bản đồ sao cá nhân cho 24 tháng 8 năm 1991, 16:30 EEST, Kyiv:

    first-request.sh
    curl -X POST https://api.astroway.info/v1/chart \
    -H "X-Api-Key: $AW_KEY" \
    -H "Content-Type: application/json" \
    -d '{
    "date": "1991-08-24",
    "time": "16:30:00",
    "timezoneOffset": 3,
    "latitude": 50.4501,
    "longitude": 30.5234,
    "houseSystem": "P"
    }'

    timezoneOffset là độ lệch mà đồng hồ áp dụng vào ngày đó, tính bằng giờ. Nếu bạn không biết, hãy gửi "timezone": "Europe/Kyiv" thay thế, hoặc "timezone": "auto" để lấy múi giờ từ tọa độ, và máy chủ sẽ tự tính độ lệch, bao gồm cả giờ mùa hè: định dạng trường.

  4. Mỗi phản hồi là JSON với các hành tinh, nhà, góc chiếu và khối meta (cache hit, credit, phiên bản engine).

    response.json
    {
    "ok": true,
    "data": {
    "julianDay": 2448493.0625,
    "planets": [
    { "id": 0, "name": "Sun", "longitude": 150.894819, "latitude": 0.00019, "isRetrograde": false, "declination": 11.15726 },
    { "id": 1, "name": "Moon", "longitude": 321.634655, "latitude": 2.834053, "isRetrograde": false, "declination": -11.609723 }
    ],
    "houses": {
    "system": "P",
    "cusps": [264.384681, 306.997683, 353.867426],
    "ascendant": 264.384681,
    "mc": 207.315669
    },
    "aspects": [
    {
    "planet1": "Sun",
    "planet2": "Moon",
    "type": { "name": "Opposition", "angle": 180, "isMajor": true },
    "exactAngle": 170.739837,
    "orb": 9.260163,
    "isApplying": true
    }
    ],
    "chartSect": "diurnal",
    "meta": { "engineVersion": "2.10.03", "calculatedAt": "2026-08-22T20:53:31.431Z" }
    }
    }
  5. Dashboard hiển thị mức sử dụng theo thời gian thực: api.astroway.info/dashboard. Hoặc qua API:

    Terminal window
    curl https://api.astroway.info/v1/keys/usage \
    -H "X-Api-Key: $AW_KEY"

AstroWay API xác thực request qua header X-Api-Key. Bearer token và key trong query string không được hỗ trợ.

Terminal window
curl -H "X-Api-Key: aw_live_..." https://api.astroway.info/v1/health
Loại keyTiền tốHành vi
Productionaw_live_*Trừ credit thật từ tài khoản
Sandboxaw_test_*Phản hồi mock tất định, không tính phí
Restricted (Pro+)aw_live_* có giới hạnGiới hạn theo endpoint / IP / RPS cụ thể

Key được xoay vòng không downtime - key cũ tiếp tục hoạt động 24 giờ sau khi tạo key mới. Chi tiết: /authentication/.

Mọi lỗi được trả về theo định dạng ok: false + object error. Trường error.code (UPPER_SNAKE_CASE) ổn định cho script - hãy switch theo nó, không theo message.

error-response.json
{
"ok": false,
"error": {
"code": "INVALID_INPUT",
"message": "Validation failed: date: Invalid input: expected string, received undefined",
"details": [
{ "path": "date", "message": "Invalid input: expected string, received undefined" }
]
}
}

Các mã phổ biến nhất:

  • INVALID_INPUT (400): không qua validation của Zod; details chứa mảng { path, message }
  • INVALID_API_KEY (401): key không tồn tại hoặc đã bị thu hồi
  • PLAN_UPGRADE_REQUIRED (402): cần gói cao hơn hoặc pack add-on
  • CREDITS_EXHAUSTED (429): đã dùng hết ngân sách credit của tháng
  • RATE_LIMIT (429): vượt RPM; trả về kèm header Retry-After: <sec>
  • internal_calc_error (500): lỗi ephemeris; SDK tự động retry

Danh sách đầy đủ và ngữ nghĩa: /errors/.

GóiHạn mức
Free10 req/min
Indie30 req/min
Starter120 req/min
Pro400 req/min
Business1 000 req/min
Enterprisetùy chỉnh

Vượt mức → 429 kèm Retry-After (giây). Các SDK chính thức mặc định có retry với exponential backoff. Chi tiết: /rate-limits-credits/.

Hữu ích chứ?
Đề xuất chỉnh sửa

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