# Ứng dụng chiêm tinh

Bạn đang xây dựng ứng dụng astro tương tự như Co-Star, Sanctuary, The Pattern, Chani hay Costar Compat? API AstroWay thay thế nhu cầu cấp phép Solar Fire ($495) hoặc tự viết engine tính toán vị trí thiên thể: {siteMeta.endpoints} endpoints (bản đồ sao, tương tác, vận hành, Human Design, giải thích AI), OpenAPI 3.1 để sinh ra các client có kiểu dữ liệu (TS / Python SDK trong roadmap), độ chính xác Swiss Ephemeris — chính là engine được dùng bởi Astrodienst và Kepler.

## Kiến trúc tiêu biểu

```
Người dùng (trình duyệt / mobile)
     ↓
Backend của bạn (Node.js / Python / PHP)
     ↓ HTTPS + X-Api-Key
api.astroway.info/v1/*
     ↓
JSON response → render trong UI của bạn
```

<Aside type="caution">
Không bao giờ đặt API key vào code frontend. Các cuộc gọi tới API AstroWay phải đi qua backend hoặc server functions (Next.js API routes, Vercel Functions, AWS Lambda).
</Aside>

## Các endpoints quan trọng cho ứng dụng astro

### MVP (sản phẩm tối thiểu khả thi)

| Endpoint | Credit | Mục đích |
|---|---|---|
| `/v1/chart` | 20 | Tạo bản đồ sao cá nhân |
| `/v1/synastry` | 50 | Tương tác giữa hai người |
| `/v1/horoscope/daily` | 20 | Lá số hàng ngày |

Chỉ ba endpoints này, bạn đã có sản phẩm hoạt động với bản đồ sao cá nhân, tương tác và nội dung hàng ngày.

### Sản phẩm mở rộng

| Endpoint | Credit | Mục đích |
|---|---|---|
| `/v1/transits` | 50 | Vận hành hiện tại trên bản đồ sao cá nhân |
| `/v1/solar-return` | 50 | Solar return (bản đồ năm) |
| `/v1/progressions` | 50 | Tiến triển thứ cấp |
| `/v1/interpret/natal` | 50 | Giải thích bản đồ sao cá nhân bằng AI |
| `/v1/transit-calendar` | 100 | Lịch các sự kiện vận hành |
| `/v1/human-design` | 50 | Bản đồ Human Design |

### Tính năng cao cấp

| Endpoint | Credit | Mục đích |
|---|---|---|
| `/v1/rectification` | 500 | Hiệu chỉnh thời gian sinh |
| `/v1/acg` | 50 | Astrocartography (nơi tốt nhất để sống) |
| `/v1/forecast-calendar` | 100 | Lịch dự báo hàng năm (heatmap) |
| `/v1/group-synastry` | 100 | Tương tác nhóm |

## Ước tính ngân sách

### Kịch bản: 100 DAU (người dùng hoạt động hàng ngày)

Giả sử mỗi người dùng thực hiện 3 hành động mỗi ngày:

| Hành động | Endpoint | Credit | Lượt gọi/ngày | Credit/ngày |
|---|---|---|---|---|
| Xem bản đồ sao | `/v1/chart` | 20 | 100 | 2 000 |
| Lá số hàng ngày | `/v1/horoscope/daily` | 20 | 100 | 2 000 |
| Tương tác | `/v1/synastry` | 50 | 30 | 1 500 |
| **Tổng** | | | **230** | **5 500/ngày** |

**~165 000 credit/tháng** (5 500 × 30) → gói **Starter ($19/tháng, 200 000 credit)** với 21% dư phòng, hoặc **Indie ($5/tháng, 50 000 credit)** với phí overage ~$5 cho 110K credit dư.

### Kịch bản: MVP với 20 DAU

| Hành động | Credit/ngày |
|---|---|
| 20 bản đồ sao | 400 |
| 20 lá số hàng ngày | 400 |
| 5 tương tác | 250 |
| **Tổng** | **1 050/ngày** |

**~31 500 credit/tháng** → gói **Indie ($5/tháng, 50 000 credit)**.

## Mẹo

- **Cache bản đồ sao cá nhân** — đầu vào không đổi (ngày sinh không thay đổi), nên kết quả có thể cache vĩnh viễn trong database của bạn
- **Cache lá số hàng ngày** — lá số hàng ngày giống nhau cho tất cả mọi người cùng cung hoàng đạo, sinh ra một lần rồi chia sẻ
- **Khóa sandbox** (`aw_test_*`) — dùng cho phát triển, không trừ credit
- **Codegen từ OpenAPI 3.1** — đưa `/v1/openapi.json` vào `openapi-typescript` hoặc `openapi-python-client` để nhận client có kiểu dữ liệu (các SDK sẵn sàng trong roadmap)

<CardGrid>
  <LinkCard title="Bắt đầu nhanh chóng →" href="/getting-started/" description="Làm request đầu tiên trong 5 phút" />
  <LinkCard title="Birth Chart API" href="/products/birth-chart-api/" description="Chi tiết về bản đồ sao cá nhân" />
  <LinkCard title="Bảng giá" href="/pricing/" description="Từ miễn phí đến Enterprise" />
</CardGrid>
