# Integracje bez kodu

Wszystko na tych stronach zostało wykonane na podstawie produkcji z 2026-09-17. Workflow dla n8n został zaimportowany i uruchomiony w prawdziwym n8n; kroki dla Zapier i Make zostały napisane zgodnie z własną dokumentacją tych narzędzi, a zapytania, które tworzą, zostały wysłane dokładnie w takiej formie.

## Skąd pochodzi zapytanie

Od tego zależy, jaki klucz jest potrzebny.

- **Zapier, Make i n8n** wysyłają go ze swoich serwerów. Potrzebujesz klucza „Tylko serwer” z zakresem endpointów i budżetem, jak opisano poniżej. Instrukcje: [Zapier](/integrations/zapier/), [Make](/integrations/make/), [n8n](/integrations/n8n/).
- **Bubble** również wysyła zapytania ze swoich serwerów, a klucz znajduje się w nagłówku, który tam pozostaje: [Bubble](/integrations/bubble/).
- **FlutterFlow** kompiluje się w aplikację, którą posiada użytkownik, więc wywołanie musi być prywatne: [FlutterFlow](/integrations/flutterflow/).
- **Wix, Squarespace, Shopify, Webflow i Tilda** wyświetlają stronę w przeglądarce odwiedzającego. Wstaw widżet, a nie klucz: [kreatory stron](/integrations/site-builders/).
- **WordPress** odwołuje się z twojego własnego serwera. Kluczem zajmuje się [wtyczka AstroWay](https://wordpress.org/plugins/astroway/).

<Aside type="caution">
Klucz publiczny `pk_` nie działa z Zapier, Make ani n8n. Odrzuca on zapytanie bez origin z listy, a te narzędzia nie wysyłają origin. Ze strony internetowej pobiera on tylko `/v1/public/*` i `/v1/embed/*`.
</Aside>

## Klucz do automatyzacji

Każdy, kto może edytować Zap, scenariusz lub workflow, widzi klucz w środku. Dlatego daj każdej automatyzacji własny klucz i ogranicz go do tego, co robi.

1. W panelu otwórz [Klucze API](https://api.astroway.info/dashboard/keys) i kliknij **Nowy klucz**. Nazwij go zgodnie z automatyzacją, na przykład `zapier-intake-form`.
2. W polu **Gdzie będzie używany ten klucz?** pozostaw **Tylko serwer**.
3. Skopiuj klucz. Okno dialogowe pokazuje go w całości raz; później jest dostępny poprzez **Pokaż** w menu klucza.
4. W menu klucza otwórz **Zakres endpointów** i wymień ścieżki, które wywołuje automatyzacja, po jednej w wierszu: `chart` dla horoskopu urodzeniowego, `public/horoscope/*` dla codziennych horoskopów.
5. W tym samym menu otwórz **Ustaw budżet** i określ, ile kredytów ten klucz może wydać na cykl.

Wywołanie spoza listy otrzymuje `403 ENDPOINT_NOT_IN_SCOPE`. Klucz, który wyczerpał budżet, otrzymuje `429 KEY_BUDGET_EXHAUSTED`, nawet gdy na koncie są jeszcze kredyty, więc automatyzacja, która się zapętliła, zatrzyma się na wskazanej liczbie. Oba ograniczenia działają na każdym planie taryfowym i są opisane w sekcji [Uwierzytelnianie](/authentication/).

## Wysyłaj moment urodzenia, a nie przesunięcie

Formularz podaje datę, godzinę na zegarze i miejsce. Wysyłaj je w ten sposób:

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

- **`timezone`** to nazwa strefy, a serwer sam znajduje przesunięcie od UTC, które zegary utrzymywały w tej dacie, wraz z czasem letnim. Kijów 1990-05-15 żył w UTC+4, a nie +3: właśnie taki błąd daje ręcznie wprowadzone przesunięcie. Wyślij `auto`, aby pobrać strefę z koordynatów.
- **Bez `timezone` i bez przesunięcia** mapa jest obliczana dla UTC. Odpowiedź i tak jest `200`, więc sprawdź, czy pole jest mapowane.
- **Pusty `timezone`** jest odrzucany z `400`, ponieważ w przeciwnym razie niewypełnione pole formularza byłoby interpretowane jako UTC.
- **`date`** w formacie `YYYY-MM-DD`, **`time`** w formacie `HH:MM:SS`. Jeśli formularz przechowuje je inaczej, skorzystaj z formatowania daty w samym narzędziu.
- **Liczby mogą przychodzić jako tekst.** `"latitude": "50.45"` jest akceptowane, a właśnie tak wysyła je większość pól formularzy.
- **API nie geokoduje.** Koordynaty muszą pochodzić z formularza lub z kroku geokodowania w narzędziu. Pole `city` to tylko etykieta.

Zasady dotyczące zmiany czasu i dat przed 1970 rokiem są opisane w [formatach pól](/agent-setup/field-formats/#timezone-назва-зони-замість-зсуву).

## Jak przekształcić długości geograficzne na znaki

`POST /v1/chart` odpowiada w stopniach wzdłuż zodiaku, w otoczce `{ "ok": true, "data": { ... } }`. Znak równa się `floor(longitude / 30)`, licząc od zera:

0 Baran, 1 Byk, 2 Bliźnięta, 3 Rak, 4 Lew, 5 Panna, 6 Waga, 7 Skorpion, 8 Strzelec, 9 Koziorożec, 10 Wodnik, 11 Ryby.

Gdzie leżą trzy najpopularniejsze wartości:

- **Słońce**: wpis w `data.planets` z `"name": "Sun"`, pierwszy.
- **Księżyc**: wpis w `data.planets` z `"name": "Moon"`, drugi.
- **Ascendent**: `data.houses.ascendant`.
- **Użyte przesunięcie**: `data.input.timezoneOffset`.

Dla powyższego przykładu: Słońce 54.34, czyli Byk; Księżyc 296.39, Koziorożec; Ascendent 159.26, Panna; przesunięcie 4.

## Ile to kosztuje

- `POST /v1/chart` kosztuje 20 kredytów. Pełna tabela znajduje się na stronie [Koszt endpointów](/credits/).
- To samo zapytanie, wysłane ponownie w ciągu pięciu minut, jest zwracane z pamięci podręcznej i nie jest naliczane. Testowe uruchomienie, które powtarza jedno ciało, nie zużywa budżetu.
- `GET /v1/public/horoscope/daily` nie zużywa kredytów. Bez klucza lub z kluczem na planie Free jest wliczany do limitu 30 zapytań na godzinę z adresu IP, a platformy automatyzacji dzielą swoje adresy między klientów. Klucz na płatnym planie ma własny limit.
