# Constructori de site-uri

Constructorul de site-uri afișează pagina dvs. în browserul vizitatorului, deci regulă este opusă instrucțiunilor pentru automatizări: introduci widget-ul, nu cheia. Ambele fragmente de mai jos au fost încărcate de pe o pagină pe un domeniu extern în Chrome 2026-09-17, și ambele s-au afișat.

## Introduce un fragment
Iframe obișnuit, când dimensiunea este cunoscută:
```html
<iframe src="https://api.astroway.info/v1/embed/moon-phase?theme=light&lang=uk"
        width="320" height="360" style="border:0"></iframe>
```
Loader-ul, când nu vrei să alegi dimensiunea: el se înlocuiește cu un iframe și ajustează înălțimea în funcție de conținut prin `postMessage`.
```html
<script src="https://cdn.astroway.info/embed.js"
        data-widget="moon-phase" data-lang="uk" data-theme="light"></script>
```
Cisprezece widget-uri, toți parametrii și un buton de copiere pentru fiecare pe pagina [Widget-uri](/products/embed-widgets/). Orice atribut `data-*` devine un parametru de cerere.

## Unde inseri codul
| Constructor | Ce cauţi |
|---|---|
| Wix | [element de inserare a codului HTML](https://support.wix.com/en/article/wix-editor-embedding-a-site-or-a-widget) |
| Squarespace | [bloc de cod](https://support.squarespace.com/hc/en-us/articles/205815908-Code-blocks) |
| Shopify | secțiune custom liquid sau editor de cod al temei |
| Webflow | element embed |
| Tilda | bloc de cod HTML, T123 |
Pentru Wix și Squarespace, linkurile te duc către documentația lor; celelalte trei au fost denumite după numele funcției, deoarece paginile lor de documentație nu se deschid automat prin verificare, și nu te vei referi la ceva neverificat.

## Cheia nu este necesară și nu este acceptată
Endpoint-urile `/v1/embed/*` sunt publice. Cheia în atributul paginii ar fi văzut de orice vizitator, deci loader-ul o ignorează și scrie asta în consolă.
Limite: **30 de cereri pe oră de la IP-ul vizitatorului**, răspunsurile sunt memorate în cache timp de cinci minute. Astfel, o pagină cu un număr mare de vizitatori se simte bine, iar un vizitator care o reîncarcă în buclă, nu.

## Ce nu poate să apeleze pagina
Browserul de pe un domeniu straniu răspunde doar la `/v1/public/*` și `/v1/embed/*`. Tot restul sub `/v1/*` este respins de preflight: de la o pagină pe un domeniu extern, `POST /v1/chart` a returnat fără antetul `access-control-allow-origin`, și Chrome l-a blocat, iar `POST /v1/public/chart` de la aceeași pagină a răspuns cu `200`.
Deci dacă vrei ca vizitatorul să introducă propriile sale date de naștere și să vadă harta, folosește [endpoint-urile fără cheie](/free/) sau [widget-ul calculator de hartă natală](/products/embed-widgets/#widget-ul-calculator-de-hartă-natală), care calculează direct în browser. Tot ce necesită o cheie secretă locuiește pe server: al tău sau în unul din instrumentele din secțiunea [Integrații fără cod](/integrations/).
<Aside type="note" title="Când devine utilă cheia publică">
Cheia `pk_` ar trebui creată, dacă pagina se adresă singură la `/v1/public/*` și limita comună pe vizitator este prea mică: pe planul plătit, cheia are propriul ei limită, iar lista de origin o face înutilă pe orice alt domeniu. Pentru widget-urile de mai sus, ea nu este necesară deloc.
</Aside>
