# Nhà xây dựng trang web

Trình tạo website hiển thị trang của bạn trong trình duyệt của khách, vì vậy quy tắc ngược lại với hướng dẫn cho tự động hoá: bạn chèn widget, không phải key. Cả hai snippet dưới đây đã được tải từ trang trên miền khác trong Chrome 2026-09-17, và cả hai đều hiển thị.

## Chèn một trong các snippet

Iframe thông thường, khi kích thước đã biết:

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

Loader, khi không muốn tự chọn kích thước: nó thay thế mình bằng iframe và điều chỉnh chiều cao theo nội dung qua `postMessage`.

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

Mười lăm widget, tất cả các tham số và nút sao chép cho mỗi cái trên trang [Widgets](/products/embed-widgets/). Bất kỳ thuộc tính `data-*` nào cũng trở thành tham số truy vấn.

## Nơi chèn mã

| Trình tạo | Cần tìm gì |
|---|---|
| Wix | [element chèn mã HTML](https://support.wix.com/en/article/wix-editor-embedding-a-site-or-a-widget) |
| Squarespace | [khối mã](https://support.squarespace.com/hc/en-us/articles/205815908-Code-blocks) |
| Shopify | phần custom liquid hoặc trình chỉnh sửa mã theme |
| Webflow | phần tử embed |
| Tilda | khối mã HTML, T123 |

Đối với Wix và Squarespace, các liên kết dẫn tới tài liệu của họ; ba phần còn lại được đặt tên theo chức năng vì trang tài liệu của chúng không mở bằng kiểm tra tự động, và chúng tôi sẽ không liên kết tới những nguồn chưa được xác minh.

## Key không cần thiết và không được chấp nhận

Các endpoint `/v1/embed/*` là công khai. Key trong thuộc tính của trang sẽ bị mọi khách nhìn thấy, vì vậy loader bỏ qua nó và ghi thông báo vào console.

Giới hạn: **30 yêu cầu mỗi giờ từ IP của khách**, phản hồi được cache trong năm phút. Vì vậy trang có nhiều khách sẽ hoạt động tốt, nhưng một khách liên tục tải lại sẽ không.

## Những gì trang không thể gọi

Trình duyệt trên miền khác chỉ nhận được phản hồi từ `/v1/public/*` và `/v1/embed/*`. Các endpoint khác dưới `/v1/*` bị từ chối preflight: từ trang trên miền khác `POST /v1/chart` trả về mà không có header `access-control-allow-origin`, Chrome đã chặn, trong khi `POST /v1/public/chart` từ cùng trang trả về `200`.

Vì vậy nếu muốn khách nhập dữ liệu sinh nhật của mình và xem bản đồ, hãy dùng [các endpoint không cần key](/free/) hoặc [widget‑máy tính bản đồ sinh](/products/embed-widgets/#окремий-віджет-калькулятор-натальної-карти) tính trực tiếp trong trình duyệt. Mọi thứ cần key bí mật sẽ chạy trên server: server của bạn hoặc một trong các công cụ trong mục [Tích hợp không code](/integrations/).

<Aside type="note" title="Khi nào public key sẽ hữu ích">
Bạn nên tạo key `pk_` nếu trang tự gọi `/v1/public/*` và giới hạn chung cho khách không đủ: trên gói trả phí key có giới hạn riêng, và danh sách origin khiến nó vô dụng trên bất kỳ miền nào khác. Đối với các widget ở trên, nó không cần thiết chút nào.
</Aside>
