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

Τρία επίσημα SDK: TypeScript, Python, PHP αντί για ακατέργαστο curl

Ακατέργαστο HTTP λειτουργεί, αλλά ο τυποποιημένος πελάτης εξοικονομεί ώρες: αυτόματη συμπλήρωση διαδρομών, τύποι αιτήματος και απάντησης, ενσωματωμένο retry σε 408/409/429/5xx και ιεραρχία σφαλμάτων τύπου Stainless. Αναλύουμε τρία επίσημα SDK - @astroway/sdk (npm), astroway (PyPI), astroway/sdk (Packagist) - και πώς δημιουργήθηκαν από ένα OpenAPI συμβόλαιο.

Μπορείς να καλέσεις το API με ακατέργαστο curl ή fetch – η σύμβαση είναι απλή, ένα header X-Api-Key, JSON μπρος-πίσω. Αλλά όταν τα endpoints είναι πάνω από 758 και τα σώματα των αιτημάτων έχουν δεκάδες πεδία, ένας τυποποιημένος client σου εξοικονομεί ώρες: αυτόματη συμπλήρωση διαδρομών, τύποι αιτήματος και απάντησης, αυτόματες επαναλήψεις σε ασταθή δίκτυο.

Γι’ αυτό έχουμε τρία επίσημα SDK, που δημιουργήθηκαν από ένα OpenAPI 3.1 contract.

Terminal window
# TypeScript / JavaScript
npm install @astroway/sdk
# Python
pip install astroway
# PHP
composer require astroway/sdk

Η ίδια κλήση για το natal chart με τρεις γλώσσες.

TypeScript – ελαφριά επικάλυψη πάνω από openapi-fetch (~6 KB runtime), με αυτόματη συμπλήρωση διαδρομών:

import { Astroway } from '@astroway/sdk';
const aw = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY! });
const { data: chart } = await aw.client.POST('/chart', {
body: {
date: '1990-07-14',
time: '14:30:00',
timezoneOffset: 3,
latitude: 50.4501,
longitude: 30.5234,
houseSystem: 'P',
},
});
// aw.client.POST is the raw typed fetch, so `chart` is the { ok, data } envelope
console.log(chart.data.houses.ascendant); // 212.0952574979425

Python – συγχρονισμένο Astroway και ασύγχρονο AsyncAstroway με ίδια διεπαφή, πάνω από httpx:

from astroway import Astroway
aw = Astroway(api_key=os.environ['ASTROWAY_API_KEY'])
chart = aw.post('/chart', body={
'date': '1990-07-14',
'time': '14:30:00',
'timezoneOffset': 3,
'latitude': 50.4501,
'longitude': 30.5234,
'houseSystem': 'P',
})
print(chart['houses']['ascendant'])

PHP – πάνω από Guzzle 7 και PSR-18:

<?php
use Astroway\Astroway;
$aw = new Astroway(['apiKey' => getenv('ASTROWAY_API_KEY')]);
$chart = $aw->post('/chart', body: [
'date' => '1990-07-14',
'time' => '14:30:00',
'timezoneOffset' => 3,
'latitude' => 50.4501,
'longitude' => 30.5234,
'houseSystem' => 'P',
]);
echo $chart['houses']['ascendant'];

Τρεις διαφορετικές γλώσσες, αλλά ίσες εγγυήσεις – επειδή και οι τρεις δημιουργούνται από το ίδιο OpenAPI contract:

  • Τύποι αιτήματος και απάντησης για όλα τα endpoints. Το TS παρέχει αυτόματη συμπλήρωση διαδρομών και τυποποιημένα σώματα· Python – PEP 561 typed‑πακέτο· PHP – τυποποιημένες υπογραφές. Το IDE σου προτείνει πεδία, όχι τεκμηρίωση σε άλλη καρτέλα.
  • Ενσωματωμένο retry με backoff στα 408, 409, 429, 5xx. Ένα προσωρινό σφάλμα δικτύου ή rate‑limit δεν σπάει τον κώδικά σου – ο client επαναλαμβάνει αυτόματα.
  • Ιεραρχία σφαλμάτων σε στυλ Stainless. Τα σφάλματα τυποποιούνται με κλάσεις, όχι με συμβολοσειρά στο catch. Πιάνεις συγκεκριμένο τύπο – RateLimitError, ValidationError – και το διαχειρίζεσαι επιλεκτικά.
  • OpenAPI 3.1 ως πηγή. Προσθέτεις ένα endpoint στο API – εμφανίζεται στο SDK στην επόμενη έκδοση, χωρίς χειροκίνητη αντιγραφή.
  • OIDC + SLSA provenance στην έκδοση: TS και PHP – μέσω Trusted Publisher / auto‑mirror, Python – Trusted Publisher OIDC στο PyPI. Η αλυσίδα εφοδιασμού είναι επαληθεύσιμη.

Base URL σε όλα – https://api.astroway.info/v1/, το κλειδί περνάει ως header X-Api-Key. Το ίδιο κλειδί όπως στα ακατέργαστα HTTP calls· το SDK δεν αλλάζει τίποτα στην εξουσιοδότηση.

Πάνω από τα τρία βασικά SDK υπάρχουν έτοιμες ενσωματώσεις για συγκεκριμένα stack:

  • @astroway/react – hooks για εφαρμογές React
  • astroway/sdk-symfony – bundle για Symfony
  • astroway/sdk-laravel – πακέτο για Laravel

Σε ανάπτυξη, αλλά ακόμη μη δημοσιευμένα – Go, Ruby και Rust. Οι σελίδες τους υπάρχουν ήδη στον κατάλογο SDK με preview της install‑εντολής· όταν το πακέτο βγει στο registry, η κατάσταση αλλάζει σε «διαθέσιμο».

  1. Κλειδί στο dashboard/sign-up – 10 000 credits το μήνα δωρεάν
  2. Εγκατέστησε το SDK στη γλώσσα σου (εντολές παραπάνω)
  3. Πρώτη κλήση – natal chart από το snippet παραπάνω, βάλε το κλειδί σου στο ASTROWAY_API_KEY

Πλήρης λίστα SDK με παραδείγματα για καθένα – στη σελίδα SDK.

MakSeong · AstroWay

Δημιουργώ το AstroWay API: τυλίγω το Swiss Ephemeris σε καθαρό REST και γράφω για τις βαρετές λεπτομέρειες που είναι πραγματικά σημαντικές.

// δημιούργησε πάνω σε αυτό

Αυτή η ίδια Swiss Ephemeris που υπάρχει στο Solar Fire - σε 4 γραμμές κώδικα.

Δωρεάν κλειδί χωρίς κάρτα. 5.000 αιτήματα ανά μήνα μέχρι την πρώτη πληρωμή.

Περισσότερα από το blog όλες οι δημοσιεύσεις →

Ephemeris 2026-07-19

Πώς διατηρούμε την ακρίβεια υπό έλεγχο: CI εναντίον swetest και NASA

Η ακρίβεια στο astro-API υποβαθμίζεται εύκολα από μια μόνο ανασυγκρότηση των εφεμερίδων. Αναλύουμε την προστασία: ένας πυρήνας Swiss Ephemeris για το πρόγραμμα περιήγησης και τον διακομιστή, εκατοντάδες παγωμένα snapshots σε πρότυπους χάρτες και τριγωνοποίηση κάθε PR εναντίον swetest CGI, Kerykeion, Prokerala και του καταλόγου σκιών της NASA.

Industry 2026-06-05

Free Astrology API: Which One Has the Best Free Tier in 2026?

A side-by-side of free tiers across the major astrology APIs - credits, request caps, card requirements - and how much you can actually build for free.

Engineering 2026-06-05

Horoscope API Tutorial: Build a Daily Horoscope Feature

Add daily, weekly and monthly horoscopes to your app via API - sign-based text vs transit-based personalization - with TypeScript and Python code.