Μετάβαση στο περιεχόμενο
AstroWay/api v2.254.12 · el
όλες οι υπηρεσίες λειτουργούν κανονικά

Γρήγορη εκκίνηση

Πέντε λεπτά από την εγγραφή μέχρι έναν πλήρη γενέθλιο χάρτη σε JSON. Καλύπτει εγκατάσταση SDK, πρώτο αίτημα, κεφαλίδες απάντησης, αυθεντικοποίηση και χειρισμό σφαλμάτων.

  1. Μπες στο dashboard και πάτησε Generate key. Το δωρεάν πλάνο δίνει 10 000 credits/μήνα για πάντα, χωρίς να βάλεις κάρτα. Τα κλειδιά ξεκινούν με:

    • aw_live_*: production, πραγματικές χρεώσεις
    • aw_test_*: sandbox, χωρίς χρέωση credits, ντετερμινιστική απάντηση
  2. Το API είναι απλό REST + JSON, οπότε το SDK δεν είναι υποχρεωτικό. Όμως και τα τρία έχουν ήδη δημοσιευτεί: TypeScript (@astroway/sdk), Python (astroway) και PHP (astroway/sdk), καθώς και ο MCP server (@astroway/mcp) για AI agents.

    Terminal window
    # No SDK needed - just curl and a key:
    export AW_KEY="aw_test_demo_replaceme"
  3. Υπολογισμός γενέθλιου χάρτη για 24 Αυγούστου 1991, 16:30 EEST, Κίεβο:

    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 είναι η απόκλιση που έδειχναν τα ρολόγια εκείνη την ημερομηνία, σε ώρες. Αν δεν την ξέρεις, στείλε αντί γι’ αυτήν "timezone": "Europe/Kyiv" ή "timezone": "auto" για να ληφθεί η ζώνη από τις συντεταγμένες, και ο server θα υπολογίσει μόνος του την απόκλιση, μαζί με τη θερινή ώρα: μορφές πεδίων.

  4. Κάθε απάντηση είναι JSON με πλανήτες, οίκους, όψεις και ένα μπλοκ meta (cache hit, credits, έκδοση μηχανής).

    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 δείχνει τη χρήση σε πραγματικό χρόνο: api.astroway.info/dashboard. Ή μέσω του API:

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

Το AstroWay API αυθεντικοποιεί τα αιτήματα μέσω της κεφαλίδας X-Api-Key. Bearer tokens και κλειδιά στο query string δεν υποστηρίζονται.

Terminal window
curl -H "X-Api-Key: aw_live_..." https://api.astroway.info/v1/health
Τύπος κλειδιούΠρόθεμαΣυμπεριφορά
Productionaw_live_*Χρεώνει πραγματικά credits από τον λογαριασμό
Sandboxaw_test_*Ντετερμινιστική mock απάντηση, χωρίς χρέωση
Restricted (Pro+)aw_live_* με περιορισμόΠεριορισμένο σε συγκεκριμένα endpoints / IP / RPS

Τα κλειδιά εναλλάσσονται χωρίς downtime: το παλιό κλειδί συνεχίζει να λειτουργεί για 24 ώρες μετά τη δημιουργία του νέου. Λεπτομέρειες: /authentication/.

Όλα τα σφάλματα επιστρέφονται στη μορφή ok: false + αντικείμενο error. Το πεδίο error.code (UPPER_SNAKE_CASE) είναι σταθερό για scripts: κάνε switch σε αυτό, όχι στο 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" }
]
}
}

Οι πιο συχνοί κωδικοί:

  • INVALID_INPUT (400): αποτυχημένη επικύρωση Zod. Το details περιέχει πίνακα { path, message }
  • INVALID_API_KEY (401): το κλειδί δεν υπάρχει ή έχει ανακληθεί
  • PLAN_UPGRADE_REQUIRED (402): απαιτείται ανώτερο πλάνο ή add-on πακέτο
  • CREDITS_EXHAUSTED (429): ο μηνιαίος προϋπολογισμός credits εξαντλήθηκε
  • RATE_LIMIT (429): ξεπεράστηκε το RPM. Επιστρέφεται με την κεφαλίδα Retry-After: <sec>
  • internal_calc_error (500): σφάλμα εφημερίδων. Αυτόματο retry από τη μεριά του SDK

Πλήρης λίστα και σημασίες: /errors/.

ΠλάνοQuota
Free10 req/min
Indie30 req/min
Starter120 req/min
Pro400 req/min
Business1 000 req/min
Enterprisecustom

Υπέρβαση → 429 με Retry-After (sec). Τα επίσημα SDK έχουν από προεπιλογή retries με exponential backoff. Λεπτομέρειες: /rate-limits-credits/.

Χρήσιμο;
Προτείνετε διόρθωση

Τελευταία ενημέρωση: