# Zapier

Zap, który pobiera datę, czas, strefę i współrzędne urodzenia z triggera, zapytuje API o kartę i przekształca Ascendent na nazwę znaku. Zapytanie poniżej zostało wysłane na produkcję dokładnie w takiej formie, w jakiej je tworzy krok; kroki w Zapier są napisane zgodnie z dokumentacją Zapier z dnia 2026-09-17.

<Aside type="caution" title="Wymagany płatny plan Zapier">
API by Zapier, Webhooks by Zapier i Formatter są aplikacjami premium. Dokumentacja Zapier oznacza wszystkie trzy jako niedostępne w planie Free, a krok Lookup Table wymaga planu Professional lub wyższego. W Free użyj [Make](/integrations/make/) lub [n8n](/integrations/n8n/).
</Aside>

Najpierw utwórz klucz, jak opisano w sekcji [Klucz do automatyzacji](/integrations/#ключ-для-автоматизації), z obszarem `chart`.

## 1. Umieść klucz w połączeniu

Nagłówki wprowadzone w kroku Webhooks by Zapier są przechowywane w samym kroku i widzi je każdy, kto ma dostęp do Zapa. API by Zapier przechowuje je w połączeniu.

1. Na stronie **Apps** kliknij **+ Add connection** i wybierz **API by Zapier**.
2. **Authentication type**: Static Headers (API key).
3. **Headers**: `X-Api-Key: ` i dalej Twój klucz, w jednym wierszu.
4. **Domain filter**: `api.astroway.info`, aby połączenie nie mogło być skierowane gdzie indziej.

## 2. Wywołaj kartę

Dodaj akcję, wybierz **API by Zapier**, zdarzenie **API Request** i połączenie.

- **Method**: `POST`.
- **URL**:

  ```
  https://api.astroway.info/v1/chart
  ```

- **Body**: JSON poniżej z polami triggera zamiast wartości.

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

Zastąp każdą wartość odpowiednim polem triggera i pozostaw cudzysłowy wokół każdej, także liczby. Zapier wstawia dopasowane pole jako zwykły tekst i nie dodaje cudzysłowów, a API przyjmuje `"50.45"` jako liczbę. Nie dodawaj klucza w nagłówkach kroku: jest on wstawiany przez połączenie.

Przetestuj krok. Poprawna odpowiedź zaczyna się od `"ok": true`, a `data.input.timezoneOffset` w przykładzie wynosi `4`: przesunięcie, które Kijów miał tego dnia.

## 3. Przekształć Ascendent na znak

Dwa kroki Formatter.

**Formatter, zdarzenie Numbers, przekształcenie Spreadsheet-Style Formula.** Formuła:

```
FLOOR(ASCENDANT / 30)
```

gdzie zamiast `ASCENDANT` wstawiono `data.houses.ascendant` z kroku 2. W przykładzie wynik to `5`.

**Formatter, zdarzenie Utilities, przekształcenie Lookup Table.** Lookup Key to wynik formuły. Tabela:

| Key | Value |
|---|---|
| 0 | Aries |
| 1 | Taurus |
| 2 | Gemini |
| 3 | Cancer |
| 4 | Leo |
| 5 | Virgo |
| 6 | Libra |
| 7 | Scorpio |
| 8 | Sagittarius |
| 9 | Capricorn |
| 10 | Aquarius |
| 11 | Pisces |

W przykładzie wynik `Virgo`. Aby uzyskać polskie nazwy, wpisz je w kolumnie Value.

Słońce i Księżyc liczone są tak samo. To pierwszy i drugi rekord w `data.planets`, każdy z własną `longitude`: w przykładzie 54.34 (Byk) i 296.39 (Koziorożec).

## Jeśli używasz Webhooks by Zapier

Działa, ale klucz znajduje się w kroku, a nie w połączeniu. Dla karty wybierz zdarzenie **Custom Request**: wysyła pole Data dokładnie tak, jak zostało wprowadzone, więc JSON powyżej przejdzie bez zmian. Ustaw **Method** `POST`, a w **Headers** dodaj zarówno `X-Api-Key` z Twoim kluczem, jak i `Content-Type` z wartością `application/json`.

## Kiedy krok się nie udaje

- **`400 INVALID_FIELD` z `timezone` w `details`**: dopasowana strefa jest pusta, to skrót w stylu `EST` lub nie jest nazwą strefy.
- **`400` z `date` lub `time` w `details`**: format triggera nie jest `YYYY-MM-DD` / `HH:MM:SS`; dodaj przed wywołaniem krok Formatter dla daty.
- **`403 ENDPOINT_NOT_IN_SCOPE`**: w obszarze klucza nie ma `chart`.
- **`429 KEY_BUDGET_EXHAUSTED`**: klucz wyczerpał swój budżet; podnieś go w dashboardzie.

API nie geokoduje. Jeśli trigger ma tylko nazwę miejsca, współrzędne muszą pochodzić z samego triggera lub z usługi geokodowania, do której masz klucz.
