// sdk · Go
Go SDK για το AstroWay API
Το επίσημο AstroWay Go module: κάθε API endpoint ως μέθοδο, όπως aw.Chart.Compute, με context σε κάθε κλήση. Οι επαναπροσπάθειες στα 408/409/429/5xx σέβονται το Retry-After, και ένα POST κρατά ένα Idempotency-Key, ώστε η επαναληπτική κλήση να μην χρεώνεται δύο φορές. Τα σφάλματα ελέγχονται με errors.Is, και η απάντηση αποκωδικοποιείται στον δικό σου τύπο. Μόνο standard library, Go 1.22+.
// 01 / install
Εγκατάσταση
go get github.com/astroway/astroway-go εισαγωγή: astroway "github.com/astroway/astroway-go"
Προβολή στο μητρώο → github.com/astroway/astroway-go
// 02 / highlights
Χαρακτηριστικά
- 725 μέθοδοι από OpenAPI
- context.Context σε κάθε κλήση
- Επαναπροσπάθειες με Retry-After & Idempotency-Key
- errors.Is: ErrQuotaExceeded, ErrRateLimit
- Μόνο standard library
// 03 / first request
Πρώτη αίτηση
package main
import (
"context"
"fmt"
"log"
"os"
astroway "github.com/astroway/astroway-go"
)
func main() {
aw := astroway.New(os.Getenv("ASTROWAY_API_KEY"))
res, err := aw.Chart.Compute(context.Background(), map[string]any{
"date": "1990-07-14", "time": "14:30:00", "timezoneOffset": 3,
"latitude": 50.4501, "longitude": 30.5234, "houseSystem": "P",
})
if err != nil {
log.Fatal(err)
}
var chart struct {
Houses struct {
Ascendant float64 `json:"ascendant"`
} `json:"houses"`
}
if err := res.Decode(&chart); err != nil {
log.Fatal(err)
}
fmt.Println(chart.Houses.Ascendant) // 212.0952574979425
} Ξεκίνα με Go
10.000 credits δωρεάν ανά μήνα. SDK ανοιχτού κώδικα, δημιουργείται από OpenAPI 3.1, πάντα συγχρονισμένο με το backend.