# Ενσωματώσεις χωρίς κώδικα

Όλα σε αυτές τις σελίδες έχουν υλοποιηθεί έναντι της παραγωγής 2026-09-17. Το workflow για το n8n έχει εισαχθεί και εκτελεστεί σε πραγματικό n8n· τα βήματα για το Zapier και το Make έχουν γραφτεί σύμφωνα με την τεκμηρίωση αυτών των εργαλείων, και τα αιτήματα που δημιουργούν έχουν σταλεί ακριβώς όπως είναι.

## Από πού προέρχεται το αίτημα

Από αυτό εξαρτάται ποιο κλειδί χρειάζεσαι.

- **Το Zapier, το Make και το n8n** το στέλνουν από τους διακομιστές τους. Χρειάζεσαι ένα κλειδί «Μόνο διακομιστής» με πεδίο εφαρμογής endpoint και προϋπολογισμό, όπως περιγράφεται παρακάτω. Οδηγίες: [Zapier](/integrations/zapier/), [Make](/integrations/make/), [n8n](/integrations/n8n/).
- Το **Bubble** στέλνει επίσης αιτήματα από τους διακομιστές του, και το κλειδί βρίσκεται στην κεφαλίδα, όπου και παραμένει: [Bubble](/integrations/bubble/).
- Το **FlutterFlow** μεταγλωττίζεται σε μια εφαρμογή που κρατά ο χρήστης, οπότε η κλήση πρέπει να γίνει ιδιωτική: [FlutterFlow](/integrations/flutterflow/).
- Τα **Wix, Squarespace, Shopify, Webflow και Tilda** εμφανίζουν τη σελίδα στο πρόγραμμα περιήγησης του επισκέπτη. Εισήγαγε ένα widget, όχι ένα κλειδί: [δημιουργοί ιστοσελίδων](/integrations/site-builders/).
- Το **WordPress** κάνει κλήσεις από τον δικό σου διακομιστή. Το [plugin AstroWay](https://wordpress.org/plugins/astroway/) διαχειρίζεται το κλειδί.

<Aside type="caution">
Το δημόσιο κλειδί `pk_` δεν λειτουργεί με το Zapier, το Make ή το n8n. Απορρίπτει αιτήματα χωρίς origin από τη λίστα του, και αυτά τα εργαλεία δεν στέλνουν origin. Από τη σελίδα του ιστότοπου, λαμβάνει μόνο `/v1/public/*` και `/v1/embed/*`.
</Aside>

## Κλειδί για αυτοματοποίηση

Όποιος μπορεί να επεξεργαστεί ένα Zap, ένα σενάριο ή ένα workflow, βλέπει το κλειδί μέσα. Γι' αυτό, δώσε σε κάθε αυτοματοποίηση το δικό της κλειδί και περιόρισέ το σε αυτό που κάνει.

1. Στο dashboard, άνοιξε τα [κλειδιά API](https://api.astroway.info/dashboard/keys) και πάτησε **Νέο κλειδί**. Ονόμασέ το σύμφωνα με την αυτοματοποίηση, για παράδειγμα `zapier-intake-form`.
2. Στο πεδίο **Πού θα χρησιμοποιηθεί αυτό το κλειδί;** άφησε **Μόνο διακομιστής**.
3. Αντίγραψε το κλειδί. Το παράθυρο διαλόγου το εμφανίζει πλήρως μία φορά· αργότερα είναι διαθέσιμο μέσω του **Εμφάνιση** στο μενού του κλειδιού.
4. Στο μενού του κλειδιού, άνοιξε το **Πεδίο εφαρμογής endpoint** και καταχώρισε τις διαδρομές που καλεί η αυτοματοποίηση, μία ανά γραμμή: `chart` για τον γενέθλιο χάρτη, `public/horoscope/*` για τα καθημερινά ωροσκόπια.
5. Στο ίδιο μενού, άνοιξε το **Ορισμός προϋπολογισμού** και καθόρισε πόσες μονάδες μπορεί να ξοδέψει αυτό το κλειδί ανά κύκλο.

Μια κλήση εκτός λίστας λαμβάνει `403 ENDPOINT_NOT_IN_SCOPE`. Ένα κλειδί που έχει εξαντλήσει τον προϋπολογισμό λαμβάνει `429 KEY_BUDGET_EXHAUSTED`, ακόμα κι αν υπάρχουν ακόμα μονάδες στον λογαριασμό, οπότε μια αυτοματοποίηση που έχει κολλήσει σε βρόχο θα σταματήσει στον καθορισμένο αριθμό. Και οι δύο περιορισμοί λειτουργούν σε οποιοδήποτε πρόγραμμα και περιγράφονται στην ενότητα [Έλεγχος ταυτότητας](/authentication/).

## Στείλε την ώρα γέννησης, όχι την μετατόπιση

Η φόρμα δίνει την ημερομηνία, την ώρα στο ρολόι και την τοποθεσία. Στείλε τα ως εξής:

```json
{
  "date": "1990-05-15",
  "time": "14:30:00",
  "timezone": "Europe/Kyiv",
  "latitude": 50.45,
  "longitude": 30.52
}
```

- Το **`timezone`** είναι το όνομα της ζώνης, και ο διακομιστής βρίσκει μόνος του την μετατόπιση από το UTC που είχαν τα ρολόγια εκείνη την ημερομηνία, μαζί με τη θερινή ώρα. Το Κίεβο στις 1990-05-15 ζούσε με UTC+4, όχι +3: ακριβώς αυτό το σφάλμα δίνει μια χειροκίνητη μετατόπιση. Στείλε `auto` για να λάβεις τη ζώνη από τις συντεταγμένες.
- **Χωρίς `timezone` και χωρίς μετατόπιση** ο χάρτης υπολογίζεται για UTC. Η απάντηση είναι `200` ούτως ή άλλως, οπότε βεβαιώσου ότι το πεδίο έχει αντιστοιχιστεί.
- **Ένα κενό `timezone`** απορρίπτεται με `400`, γιατί αλλιώς ένα μη συμπληρωμένο πεδίο φόρμας θα διαβαζόταν ως UTC.
- Το **`date`** είναι σε μορφή `YYYY-MM-DD`, το **`time`** σε μορφή `HH:MM:SS`. Αν η φόρμα τα αποθηκεύει διαφορετικά, χρησιμοποίησε τη μορφοποίηση ημερομηνίας στο ίδιο το εργαλείο.
- **Οι αριθμοί μπορούν να έρχονται ως κείμενο.** Το `"latitude": "50.45"` είναι αποδεκτό, και έτσι ακριβώς τα στέλνουν τα περισσότερα πεδία φορμών.
- Το **API δεν γεωκωδικοποιεί.** Οι συντεταγμένες πρέπει να προέλθουν από τη φόρμα ή από ένα βήμα γεωκωδικοποίησης στο εργαλείο. Το πεδίο `city` είναι μόνο μια ετικέτα.

Οι κανόνες για την αλλαγή ώρας και τις ημερομηνίες πριν από το 1970 περιγράφονται στις [μορφοποιήσεις πεδίων](/agent-setup/field-formats/#timezone-назва-зони-замість-зсуву).

## Πώς να μετατρέψεις τις γεωγραφικές μήκη σε ζώδια

Το `POST /v1/chart` απαντά σε μοίρες κατά μήκος του ζωδιακού κύκλου, σε ένα wrapper `{ "ok": true, "data": { ... } }`. Το ζώδιο ισούται με `floor(longitude / 30)`, μετρώντας από το μηδέν:

0 Κριός, 1 Ταύρος, 2 Δίδυμοι, 3 Καρκίνος, 4 Λέων, 5 Παρθένος, 6 Ζυγός, 7 Σκορπιός, 8 Τοξότης, 9 Αιγόκερως, 10 Υδροχόος, 11 Ιχθύες.

Πού βρίσκονται οι τρεις πιο δημοφιλείς τιμές:

- **Ήλιος**: καταχώριση στο `data.planets` με `"name": "Sun"`, η πρώτη.
- **Σελήνη**: καταχώριση στο `data.planets` με `"name": "Moon"`, η δεύτερη.
- **Ωροσκόπος**: `data.houses.ascendant`.
- **Χρησιμοποιημένη μετατόπιση**: `data.input.timezoneOffset`.

Για το παραπάνω παράδειγμα: Ήλιος 54.34, άρα Ταύρος· Σελήνη 296.39, Αιγόκερως· Ωροσκόπος 159.26, Παρθένος· μετατόπιση 4.

## Πόσο κοστίζει

- Το `POST /v1/chart` κοστίζει 20 μονάδες. Ο πλήρης πίνακας βρίσκεται στη σελίδα [Κόστος endpoint](/credits/).
- Το ίδιο αίτημα, αν σταλεί ξανά εντός πέντε λεπτών, επιστρέφεται από την κρυφή μνήμη και δεν χρεώνεται. Μια δοκιμαστική εκτέλεση που επαναλαμβάνει το ίδιο σώμα δεν καταναλώνει προϋπολογισμό.
- Το `GET /v1/public/horoscope/daily` δεν καταναλώνει μονάδες. Χωρίς κλειδί ή με κλειδί στο πρόγραμμα Free, υπολογίζεται στο όριο των 30 αιτημάτων ανά ώρα από μια διεύθυνση IP, και οι πλατφόρμες αυτοματοποίησης μοιράζονται τις διευθύνσεις τους μεταξύ των πελατών. Ένα κλειδί σε ένα επί πληρωμή πρόγραμμα έχει το δικό του όριο.
