# Kreatory stron

## Wstaw jeden ze snippetów

Kreator stron internetowych wyświetla Twoją stronę w przeglądarce odwiedzającego, więc zasada jest przeciwna do instrukcji dla automatyzacji: wstawiasz widget, a nie klucz. Oba snippeti poniżej zostały załadowane ze strony na obcej domenie w Chrome 2026-09-17, i oba się wyrenderowały.

```html
<iframe src="https://api.astroway.info/v1/embed/moon-phase?theme=light&lang=uk"
        width="320" height="360" style="border:0"></iframe>
```

Loader, gdy nie chcesz dobierać rozmiaru: zastępuje siebie iframe i dopasowuje wysokość do zawartości przez `postMessage`.

```html
<script src="https://cdn.astroway.info/embed.js"
        data-widget="moon-phase" data-lang="uk" data-theme="light"></script>
```

Piętnaście widgetów, wszystkie parametry i przycisk kopiowania dla każdego na stronie [Widgety](/products/embed-widgets/). Każdy atrybut `data-*` staje się parametrem zapytania.

## Gdzie wstawiać kod

| Konstruktor | Co szukać |
|---|---|
| Wix | [element wstawiania kodu HTML](https://support.wix.com/en/article/wix-editor-embedding-a-site-or-a-widget) |
| Squarespace | [blok kodu](https://support.squarespace.com/hc/en-us/articles/205815908-Code-blocks) |
| Shopify | sekcję custom liquid lub edytor kodu szablonu |
| Webflow | element embed |
| Tilda | blok kodu HTML, T123 |

Dla Wix i Squarespace linki prowadzą do ich dokumentacji; pozostałe trzy nazwano według nazwy funkcji, ponieważ ich strony dokumentacyjne nie otwierają się automatyczną weryfikacją, a nie będziemy się odwoływać do niezweryfikowanych.

## Klucz nie jest potrzebny i nie jest przyjmowany

Endpointy `/v1/embed/*` są publiczne. Klucz w atrybucie strony zobaczyłby każdy odwiedzający, więc loader go ignoruje i o tym pisze w konsoli.

Limity: **30 zapytań na godzinę z IP odwiedzającego**, odpowiedzi są cache'owane na pięć minut. Więc strona z dużą liczbą odwiedzających działa dobrze, a jeden odwiedzający, który ją odświeża w pętę, nie.

## Czego strona nie może wywołać

Przeglądarce na obcej domenie odpowiadają tylko `/v1/public/*` i `/v1/embed/*`. Wszystko inne pod `/v1/*` odrzuca preflight: ze strony na obcej domenie `POST /v1/chart` zwróciło się bez nagłówka `access-control-allow-origin`, i Chrome je zablokowało, a `POST /v1/public/chart` z tej samej strony odpowiedziało `200`.

Więc jeśli chcesz, aby odwiedzający wprowadzał własne dane urodzenia i widział mapę, skorzystaj z [endpointów bez klucza](/free/) lub [widgetem kalkulatorem mapy urodzeniowej](/products/embed-widgets/#okr%C4%99tny-widget-kalkulator-mapy-urodzeniowej), który oblicza po prostu w przeglądarce. Wszystko, co wymaga tajnego klucza, żyje na serwerze: Twoim własnym lub w jednym z narzędzi z sekcji [Integracje bez kodu](/integrations/).

<Aside type="note" title="Kiedy przyda się klucz publiczny">
Klucz `pk_` warto stworzyć, jeśli strona sama odwołuje się do `/v1/public/*` i wspólnego limitu dla odwiedzających za mało: na płatnym taryfikacie klucz ma własny limit, a lista origin czyni go bezużytecznym na każdym innym domenie. Dla widgetów powyżej nie jest wcale potrzebny.
</Aside>
