Przejdź do głównej zawartości
AstroWay/api v2.254.12 · pl
wszystkie systemy w normie

Szybki start

Pięć minut od rejestracji do pełnego kosmogramu urodzeniowego w JSON. Obejmuje instalację SDK, pierwsze żądanie, nagłówki odpowiedzi, uwierzytelnianie i obsługę błędów.

  1. Wejdź do panelu i kliknij Generate key. Darmowy plan daje 10 000 kredytów/mies. na zawsze - bez podawania karty. Klucze zaczynają się od:

    • aw_live_*: produkcja, prawdziwe obciążenia
    • aw_test_*: sandbox, bez pobierania kredytów, deterministyczna odpowiedź
  2. API to zwykły REST + JSON, więc SDK nie jest obowiązkowy. Ale wszystkie trzy są już opublikowane: TypeScript (@astroway/sdk), Python (astroway) i PHP (astroway/sdk), plus serwer MCP (@astroway/mcp) dla agentów AI.

    Okno terminala
    # No SDK needed - just curl and a key:
    export AW_KEY="aw_test_demo_replaceme"
  3. Obliczenie kosmogramu urodzeniowego dla 24 sierpnia 1991, 16:30 EEST, Kijów:

    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 to przesunięcie, na którym chodziły zegary w tej dacie, w godzinach. Jeśli go nie znasz, wyślij zamiast tego "timezone": "Europe/Kyiv" albo "timezone": "auto", żeby wziąć strefę ze współrzędnych, a serwer sam obliczy przesunięcie, łącznie z czasem letnim: formaty pól.

  4. Każda odpowiedź to JSON z planetami, domami, aspektami i blokiem meta (cache hit, kredyty, wersja silnika).

    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. Panel pokazuje zużycie w czasie rzeczywistym: api.astroway.info/dashboard. Albo przez API:

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

AstroWay API uwierzytelnia żądania nagłówkiem X-Api-Key. Tokeny Bearer i klucze w query string nie są obsługiwane.

Okno terminala
curl -H "X-Api-Key: aw_live_..." https://api.astroway.info/v1/health
Typ kluczaPrefiksZachowanie
Productionaw_live_*Pobiera prawdziwe kredyty z konta
Sandboxaw_test_*Deterministyczna odpowiedź-atrapa, bez obciążeń
Restricted (Pro+)aw_live_* z ograniczeniemOgraniczony do konkretnych endpointów / IP / RPS

Klucze rotuje się bez przestoju - stary klucz działa jeszcze 24 godziny po wygenerowaniu nowego. Szczegóły: /authentication/.

Wszystkie błędy są zwracane w formacie ok: false + obiekt error. Pole error.code (UPPER_SNAKE_CASE) jest stabilne dla skryptów - rób switch po nim, nie po 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" }
]
}
}

Najczęstsze kody:

  • INVALID_INPUT (400): nieudana walidacja Zod; details zawiera tablicę { path, message }
  • INVALID_API_KEY (401): klucz nie istnieje lub został unieważniony
  • PLAN_UPGRADE_REQUIRED (402): potrzebny wyższy plan lub pakiet add-on
  • CREDITS_EXHAUSTED (429): miesięczny budżet kredytów wyczerpany
  • RATE_LIMIT (429): przekroczono RPM; zwracany z nagłówkiem Retry-After: <sec>
  • internal_calc_error (500): błąd efemeryd; automatyczny retry po stronie SDK

Pełna lista i semantyka: /errors/.

PlanLimit
Free10 req/min
Indie30 req/min
Starter120 req/min
Pro400 req/min
Business1 000 req/min
Enterpriseindywidualnie

Przekroczenie → 429 z Retry-After (sek.). Oficjalne SDK domyślnie ponawiają z wykładniczym backoffem. Szczegóły: /rate-limits-credits/.

Przydatne?
Zaproponuj edycję

Ostatnia aktualizacja: