사이트용 천문학 위젯
공개 HTML 위젯 GET /v1/embed/*은 바로 사용할 수 있는 iframe 조각(SVG 휠, 운세, 수비학 등)을 반환해. API 키 없이 사용 가능하고, 방문자 IP 기준으로 제한돼(시간당 120 요청, /v1/public/*과 별도라서 여러 위젯이 있는 페이지도 제한에 걸리지 않아), 캐시는 public, max-age=300이야. 마케팅 페이지에 적합하고, 트래픽이 많은 프로덕션에는 SDK를 사용해.
<iframe src="https://api.astroway.info/v1/embed/wheel?date=1990-05-15&time=14:30&lat=50.45&lng=30.52&tz=2&theme=dark" width="460" height="560" style="border:0"></iframe>시작하기
섹션 제목: “시작하기”삽입 방법은 사이트가 무엇으로 만들어졌는지에 따라 달라져. 콘텐츠는 동일하고, 네가 해야 할 작업량만 다를 뿐이야.
| 사이트 | 무엇을 사용할까 |
|---|---|
| WordPress | AstroWay 플러그인: 숏코드 18개와 Gutenberg 블록 26개. 11개 위젯은 설치 직후 키 없이 바로 작동해. |
| Elementor가 있는 WordPress | AstroWay for Elementor: 에디터에서 드래그 앤 드롭으로 사용하는 위젯 7개. |
| Tilda, Squarespace, Wix, 일반 HTML | 아래 스크립트 로더 또는 갤러리의 완성된 <iframe>. 버튼 하나로 복사돼. |
| 자체 프론트엔드 | 동일한 /v1/embed/* endpoint, 또는 마크업을 완전히 제어해야 한다면 SDK. |
플러그인은 이 페이지의 endpoint와 동일한 콘텐츠를 제공하지만, 네 테마 스타일에 맞춰 렌더링하고 높이를 수동으로 맞출 필요가 없어.
별도 위젯: 네이탈 차트 계산기
섹션 제목: “별도 위젯: 네이탈 차트 계산기”이 페이지의 위젯은 네가 이미 알고 있는 것을 그려줘: 날짜, 시간, 장소를 네가 전달하는 거야. 방문자가 직접 데이터를 입력하게 하려면 다른 위젯인 네이탈 차트 계산기(패키지 @astroway/widget)가 있어. 폼, 계산, 휠을 한 번의 삽입으로 제공하며, 10개 언어와 라이트/다크 테마를 지원해.
차이는 디자인이 아니라 계산이 어디서 일어나는지야. 계산기는 방문자의 브라우저에서 계산하므로 출생 데이터가 서버로 전혀 전송되지 않아. /v1/embed/* 위젯은 우리가 계산하기 때문에 파라미터가 iframe 주소에 보여.
| 필요한 것 | 선택 |
|---|---|
| 방문자가 자신의 출생 데이터를 입력 | @astroway/widget 계산기 |
| 출생 데이터가 브라우저를 떠나면 안 됨 | @astroway/widget 계산기 |
| 운세, 트랜짓, 타로, 수비학, 판창 등 12가지 이상의 유형 | 이 페이지의 위젯 |
| 10개가 아닌 20개 언어 | 이 페이지의 위젯 |
스크립트 로더
섹션 제목: “스크립트 로더”iframe 높이를 직접 계산하고 싶지 않다면 로더를 연결해: 로더가 자기 자신 대신 iframe을 삽입하고, 위젯이 postMessage로 자신의 크기를 알려주기 때문에 콘텐츠에 맞춰 높이를 자동으로 조정해.
<script src="https://cdn.astroway.info/embed.js" data-widget="wheel" data-date="1990-05-15" data-time="14:30" data-lat="50.45" data-lng="30.52" data-tz="3"></script>모든 data-* 속성은 쿼리 파라미터가 되므로 data-theme="light"와 data-lang="en"도 iframe 예제와 똑같이 작동해. data-height="500"은 높이를 고정하고 자동 조정을 끄고, 한 페이지의 여러 위젯은 서로 간섭하지 않아.
키는 필요 없고 받지도 않아. /v1/embed/* endpoint는 공개이며, 속성에 키를 넣으면 페이지 소스 코드에 노출돼. 로더는 그런 속성을 콘솔 경고와 함께 무시해.
어떤 주소를 연결할까
섹션 제목: “어떤 주소를 연결할까”| 파일 | 캐시 | 대상 |
|---|---|---|
https://cdn.astroway.info/embed.js | 5분 | 기본 선택. 수정 사항을 자동으로 받아. |
https://cdn.astroway.info/embed.v1.js | 1년, immutable | 불변성이 필요할 때. 보안을 위해서만 업데이트되며, 동작 변경은 embed.v2.js로 나가. |
위젯 갤러리
섹션 제목: “위젯 갤러리”16개 위젯 전부의 라이브 미리보기. 테마와 콘텐츠 언어를 선택하고, 스니펫을 <iframe>과 <script> 로더 사이에서 전환한 뒤 완성된 코드를 복사해.
공통 파라미터
섹션 제목: “공통 파라미터”모든 위젯이 받는 파라미터:
| 파라미터 | 값 | 기본값 | 설명 |
|---|---|---|---|
theme | dark · light · console | dark | 색상 스키마. |
lang | uk · en · +18개 언어 | uk | 콘텐츠 언어. Accept-Language header에서도 읽어. |
disclaimer | 1 · true · yes | 꺼짐 | 푸터에 콘텐츠가 오락·정보 제공 목적임을 알리는 고지를 추가해(의료, 심리, 금융, 법률 상담이 아님). |
| 위젯 | Endpoint | 전용 파라미터 |
|---|---|---|
| 오늘의 운세 | GET /embed/daily-horoscope | sign, date |
| 네이탈 휠 | GET /embed/wheel (별칭 /embed/natal) | date, time, lat, lng, tz, city |
| 트랜짓 타임라인 | GET /embed/transit-timeline | date, days (최대 30) |
| 바디그래프 (Human Design) | GET /embed/bodygraph | date, time, lat, lng, tz |
| 베다 쿤달리 | GET /embed/kundli | date, time, lat, lng, tz |
| 미니 차트 | GET /embed/mini-chart | date, time, lat, lng, tz, city |
| 오늘의 행성 | GET /embed/planet-of-day | date |
| 달의 위상 | GET /embed/moon-phase | date |
| 오늘의 타로 | GET /embed/daily-tarot | date |
| 월간 운세 | GET /embed/monthly-forecast | sign, month (YYYY-MM) |
| 하늘의 트랜짓 | GET /embed/transit | date |
| 수비학 | GET /embed/numerology | name, date, system (pythagorean · chaldean) |
| 판창 | GET /embed/panchang | date, lat, lng, tz (좌표 필수) |
| 시나스트리 | GET /embed/synastry | date_a, time_a, lat_a, lng_a, tz_a, date_b, time_b, lat_b, lng_b, tz_b |
| 달력 | GET /embed/moon-calendar | month (YYYY-MM), tz |
| 타로 스프레드 | GET /embed/tarot-spread | spread (single-card · three-card · decision · career), date, seed, reversed, art |
형식: 날짜 - YYYY-MM-DD, 시간 - HH:MM, tz - UTC 기준 시간 단위 오프셋. 지정하지 않은 파라미터는 합리적인 기본값으로 채워져(현재 날짜, 정오, 적도).