Sari la conținut
AstroWay/api v2.254.12 · ro
toate sistemele sunt în stare normală

Pornire rapidă

Cinci minute de la înregistrare până la o hartă natală completă în JSON. Acoperă instalarea SDK-ului, prima cerere, antetele răspunsului, autentificarea și tratarea erorilor.

  1. Intră în dashboard și apasă Generate key. Planul gratuit oferă 10 000 de credite/lună pentru totdeauna - fără card. Cheile încep cu:

    • aw_live_*: producție, taxare reală
    • aw_test_*: sandbox, fără consum de credite, răspuns determinist
  2. API-ul este un REST + JSON obișnuit, deci SDK-ul nu este obligatoriu. Dar toate trei sunt deja publicate: TypeScript (@astroway/sdk), Python (astroway) și PHP (astroway/sdk), plus serverul MCP (@astroway/mcp) pentru agenți AI.

    Terminal window
    # No SDK needed - just curl and a key:
    export AW_KEY="aw_test_demo_replaceme"
  3. Calculul hărții natale pentru 24 august 1991, 16:30 EEST, Kiev:

    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 este decalajul pe care îl aveau ceasurile la acea dată, în ore. Dacă nu îl știi, trimite în schimb "timezone": "Europe/Kyiv" sau "timezone": "auto", ca să iei zona din coordonate, iar serverul va calcula singur decalajul, inclusiv ora de vară: formatele câmpurilor.

  4. Fiecare răspuns este un JSON cu planete, case, aspecte și blocul meta (cache hit, credite, versiunea motorului).

    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-ul arată utilizarea în timp real: api.astroway.info/dashboard. Sau prin API:

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

AstroWay API autentifică cererile prin antetul X-Api-Key. Tokenurile Bearer și cheile în query-string nu sunt suportate.

Terminal window
curl -H "X-Api-Key: aw_live_..." https://api.astroway.info/v1/health
Tipul cheiiPrefixComportament
Productionaw_live_*Consumă credite reale din cont
Sandboxaw_test_*Răspuns mock determinist, fără taxare
Restricted (Pro+)aw_live_* cu restricțiiLimitată la anumite endpoint-uri / IP / RPS

Cheile se rotesc fără downtime - cheia veche continuă să funcționeze 24 de ore după generarea celei noi. Detalii: /authentication/.

Toate erorile sunt returnate în formatul ok: false + obiectul error. Câmpul error.code (UPPER_SNAKE_CASE) este stabil pentru scripturi - fă switch după el, nu după 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" }
]
}
}

Cele mai frecvente coduri:

  • INVALID_INPUT (400): validare Zod picată; details conține un array { path, message }
  • INVALID_API_KEY (401): cheia nu există sau a fost revocată
  • PLAN_UPGRADE_REQUIRED (402): e nevoie de un plan superior sau de un pachet add-on
  • CREDITS_EXHAUSTED (429): bugetul lunar de credite este epuizat
  • RATE_LIMIT (429): RPM depășit; vine cu antetul Retry-After: <sec>
  • internal_calc_error (500): eroare de efemeride; retry automat în SDK

Lista completă și semantica: /errors/.

PlanCotă
Free10 req/min
Indie30 req/min
Starter120 req/min
Pro400 req/min
Business1 000 req/min
Enterprisecustom

Depășirea → 429 cu Retry-After (sec). SDK-urile oficiale au implicit retry-uri cu backoff exponențial. Detalii: /rate-limits-credits/.

Util?
Sugerează o corectură

Ultima actualizare: