# Websitebouwers

Een websitebouwer toont je pagina in de browser van de bezoeker, dus de regel is het tegenovergestelde van de instructies voor automatiseringen: je voegt een widget in, geen sleutel. Beide onderstaande snippets zijn geladen vanaf een pagina op een extern domein in Chrome op 2026-09-17, en beide zijn gerenderd.

## Voeg een van de snippets in

Een standaard iframe, wanneer de grootte bekend is:

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

Een loader, wanneer je de grootte niet handmatig wilt aanpassen: deze vervangt zichzelf door een iframe en past de hoogte aan de inhoud aan via `postMessage`.

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

Vijftien widgets, alle parameters en een kopieerknop voor elk op de pagina [Widgets](/products/embed-widgets/). Elk `data-*` attribuut wordt een queryparameter.

## Waar de code in te voegen

| Websitebouwer | Wat te zoeken |
|---|---|
| Wix | [HTML-code-invoegelement](https://support.wix.com/en/article/wix-editor-embedding-a-site-or-a-widget) |
| Squarespace | [codeblok](https://support.squarespace.com/hc/en-us/articles/205815908-Code-blocks) |
| Shopify | custom liquid sectie of thema code-editor |
| Webflow | embed-element |
| Tilda | HTML-codeblok, T123 |

Voor Wix en Squarespace leiden de links naar hun helpdocumentatie; de overige drie zijn genoemd naar de functie, omdat hun help-pagina's niet automatisch worden gecontroleerd, en we zullen niet verwijzen naar ongecontroleerde informatie.

## Sleutel is niet nodig en wordt niet geaccepteerd

De `/v1/embed/*` endpoints zijn openbaar. Een sleutel in een pagina-attribuut zou door elke bezoeker worden gezien, dus de loader negeert deze en schrijft hierover naar de console.

Limieten: **30 verzoeken per uur vanaf het IP-adres van de bezoeker**, antwoorden worden vijf minuten gecached. Dus een pagina met veel bezoekers presteert goed, terwijl één bezoeker die de pagina herhaaldelijk herlaadt, dat niet doet.

## Wat de pagina niet kan aanroepen

Alleen `/v1/public/*` en `/v1/embed/*` reageren op een browser op een extern domein. Al het andere onder `/v1/*` wordt door de preflight geweigerd: vanaf een pagina op een extern domein keerde `POST /v1/chart` terug zonder de `access-control-allow-origin` header, en Chrome blokkeerde deze, terwijl `POST /v1/public/chart` vanaf dezelfde pagina met `200` antwoordde.

Dus als je wilt dat een bezoeker zijn eigen geboortegegevens invoert en een kaart ziet, gebruik dan de [endpoints zonder sleutel](/free/) of de [geboortehoroscoop-calculator widget](/products/embed-widgets/#окремий-віджет-калькулятор-натальної-карти), die direct in de browser berekent. Alles wat een geheime sleutel vereist, bevindt zich op een server: je eigen server of in een van de tools uit de sectie [No-code integraties](/integrations/).

<Aside type="note" title="Wanneer een publieke sleutel van pas komt">
Het is de moeite waard om een `pk_` sleutel aan te maken als de pagina zelf `/v1/public/*` aanroept en de gedeelde limiet per bezoeker onvoldoende is: op een betaald abonnement heeft de sleutel zijn eigen limiet, en de origin-lijst maakt deze nutteloos op elk ander domein. Voor de bovenstaande widgets is deze helemaal niet nodig.
</Aside>
