# Code‑freie Integrationen

Alles auf diesen Seiten wurde gegen den Produktionsstand vom 2026-09-17 ausgeführt. Der Workflow für n8n wurde importiert und in einem echten n8n gestartet; die Schritte für Zapier und Make wurden nach der eigenen Dokumentation dieser Werkzeuge geschrieben, und die Anfragen, die sie zusammenstellen, werden genau in dieser Form gesendet.

## Woher kommt die Anfrage

Davon hängt ab, welcher Schlüssel benötigt wird.

- **Zapier, Make und n8n** senden ihn von ihren Servern. Es wird ein Schlüssel „Nur Server“ mit einem Endpunktbereich und Budget benötigt, wie unten beschrieben. Anleitungen: [Zapier](/integrations/zapier/), [Make](/integrations/make/), [n8n](/integrations/n8n/).
- **Bubble** sendet ebenfalls Anfragen von seinen Servern, und der Schlüssel liegt im Header, der dort bleibt: [Bubble](/integrations/bubble/).
- **FlutterFlow** wird zu einer App kompiliert, die der Nutzer hält, daher muss der Aufruf privat sein: [FlutterFlow](/integrations/flutterflow/).
- **Wix, Squarespace, Shopify, Webflow und Tilda** zeigen die Seite im Browser des Besuchers. Füge das Widget ein, nicht den Schlüssel: [Website‑Builder](/integrations/site-builders/).
- **WordPress** greift von deinem eigenen Server aus zu. Der Schlüssel wird vom [AstroWay‑Plugin](https://wordpress.org/plugins/astroway/) verwaltet.

<Aside type="caution">
Der öffentliche Schlüssel `pk_` funktioniert nicht mit Zapier, Make oder n8n. Er lehnt Anfragen ohne Origin aus seiner Liste ab, und diese Werkzeuge senden keinen Origin. Von der Website holt er nur `/v1/public/*` und `/v1/embed/*`.
</Aside>

## Schlüssel für die Automatisierung

Jeder, der einen Zap, ein Skript oder einen Workflow bearbeiten kann, sieht den Schlüssel im Inneren. Gib also jeder Automatisierung einen eigenen Schlüssel und beschränke ihn auf das, was sie tut.

1. Öffne im Dashboard die [API‑Schlüssel](https://api.astroway.info/dashboard/keys) und klicke auf **Neuer Schlüssel**. Benenne ihn nach der Automatisierung, zum Beispiel `zapier-intake-form`.
2. Im Feld **Wo wird dieser Schlüssel verwendet?** wähle **Nur Server**.
3. Kopiere den Schlüssel. Der Dialog zeigt ihn einmal vollständig; später ist er über **Anzeigen** im Schlüsselmenü verfügbar.
4. Im Schlüsselmenü öffne **Endpunktbereich** und liste die Pfade, die die Automatisierung aufruft, jeweils in einer Zeile auf: `chart` für die Geburtshoroskop, `public/horoscope/*` für tägliche Horoskope.
5. Im selben Menü öffne **Budget festlegen** und gib an, wie viele Credits dieser Schlüssel pro Zyklus ausgeben darf.

Ein Aufruf außerhalb der Liste erhält `403 ENDPOINT_NOT_IN_SCOPE`. Ein Schlüssel, der das Budget ausgeschöpft hat, erhält `429 KEY_BUDGET_EXHAUSTED`, selbst wenn noch Credits auf dem Konto sind, sodass die automatisierte Schleife bei der angegebenen Zahl stoppt. Beide Beschränkungen gelten für jeden Tarif und sind im Abschnitt [Authentifizierung](/authentication/) beschrieben.

## Sende den Geburtsmoment, nicht die Verschiebung

Das Formular liefert Datum, Uhrzeit und Ort. Sende sie so:

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

- **`timezone`** ist der Zonenname, und der Server ermittelt selbst die Verschiebung von UTC, die die Uhren zu diesem Datum hatten, inklusive Sommerzeit. Kiew am 1990‑05‑15 war UTC+4 und nicht +3: genau diesen Fehler verursacht eine manuell eingegebene Verschiebung. Sende `auto`, um die Zone aus den Koordinaten zu übernehmen.
- **Ohne `timezone` und ohne Verschiebung** wird die Karte für UTC berechnet. Die Antwort ist trotzdem `200`, also prüfe, dass das Feld zugeordnet ist.
- **Leeres `timezone`** wird mit `400` abgelehnt, da sonst ein leeres Formularfeld als UTC interpretiert würde.
- **`date`** im Format `YYYY‑MM‑DD`, **`time`** im Format `HH:MM:SS`. Wenn das Formular sie anders speichert, nutze die Datumsformatierung im jeweiligen Tool.
- **Zahlen können als Text kommen.** `\"latitude\": \"50.45\"` wird akzeptiert, und so senden die meisten Formularfelder die Werte.
- **API geokodiert nicht.** Koordinaten müssen aus dem Formular oder aus einem Geokodierungsschritt im Tool kommen. Das Feld `city` ist nur ein Label.

Regeln für die Umstellung von Uhren und Daten vor 1970 sind in den [Feldformaten](/agent-setup/field-formats/#timezone-назва-зони-замість-зсуву) beschrieben.

## Wie man Längen in Tierkreiszeichen umwandelt

`POST /v1/chart` antwortet in Grad entlang des Tierkreises, verpackt in `{ "ok": true, "data": { ... } }`. Das Zeichen entspricht `floor(longitude / 30)`, beginnend bei Null:

0 Widder, 1 Stier, 2 Zwillinge, 3 Krebs, 4 Löwe, 5 Jungfrau, 6 Waage, 7 Skorpion, 8 Schütze, 9 Steinbock, 10 Wassermann, 11 Fische.

Wo die drei beliebtesten Werte liegen:

- **Sonne**: Eintrag in `data.planets` mit `"name": "Sun"`, der erste.
- **Mond**: Eintrag in `data.planets` mit `"name": "Moon"`, der zweite.
- **Aszendent**: `data.houses.ascendant`.
- **Verwendete Verschiebung**: `data.input.timezoneOffset`.

Für das obige Beispiel: Sonne 54.34, also Stier; Mond 296.39, Steinbock; Aszendent 159.26, Jungfrau; Verschiebung 4.

## Was kostet das

- `POST /v1/chart` kostet 20 Credits. Die vollständige Tabelle findest du auf der Seite [Kosten der Endpunkte](/credits/).
- Die gleiche Anfrage, die innerhalb von fünf Minuten erneut gesendet wird, wird aus dem Cache zurückgegeben und kostet nichts. Ein Testlauf, der denselben Body wiederholt, verbraucht kein Budget.
- `GET /v1/public/horoscope/daily` verbraucht keine Credits. Ohne Schlüssel oder mit einem Schlüssel im Free‑Tarif wird er auf das Limit von 30 Anfragen pro Stunde pro IP‑Adresse gezählt, und Automatisierungsplattformen teilen ihre Adressen unter den Kunden. Ein Schlüssel im kostenpflichtigen Tarif hat ein eigenes Limit.
