// sdk · Go
AstroWay API के लिए Go SDK
आधिकारिक AstroWay Go मॉड्यूल: हर API endpoint एक मेथड के रूप में, जैसे aw.Chart.Compute, हर कॉल पर एक context के साथ। 408/409/429/5xx पर Retry-After का सम्मान करते हुए रीट्राइज़, और POST एक Idempotency-Key रखता है, इसलिए रीट्राइड कॉल दो बार चार्ज नहीं होती। Errors को errors.Is से टेस्ट किया जाता है, और रिस्पॉन्स आपके अपने टाइप में डिकोड होता है। सिर्फ़ स्टैंडर्ड लाइब्रेरी, 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
खासियतें
- OpenAPI spec से 725 मेथड
- हर कॉल पर context.Context
- Retry-After, Idempotency-Key रीट्राइज़
- errors.Is: ErrQuotaExceeded, ErrRateLimit
- सिर्फ़ स्टैंडर्ड लाइब्रेरी
// 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 क्रेडिट मुफ्त। ओपन-सोर्स SDK, OpenAPI 3.1 से जनरेट, हमेशा बैकएंड के साथ सिंक में रहता है।