# Make

날짜, 시간, 타임존, 출생 좌표를 API에 보내고 응답에서 태양, 달, 상승점 별자리를 가져오는 시나리오야. 아래 요청은 모듈이 구성하는 그대로 프로덕션에 보낸 것이고, Make 단계는 2026-09-17 기준 HTTP 애플리케이션 버전 4 문서에 따라 작성했어. HTTP 애플리케이션은 Make의 무료 플랜에서 사용할 수 있어.

먼저, [자동화용 키](/integrations/#ключ-для-автоматизації) 섹션에 설명된 대로 `chart` 영역을 가진 키를 만들어.

## 1. keychain으로 HTTP 모듈 추가

HTTP **애플리케이션**을 추가하고 **Make a request** 모듈을 사용해. Make는 인증 정보를 별도 필드에 넣고, 헤더가 아니라 keychain이 스크립트 밖에 키를 보관하도록 권장해.

1. **Authentication type**: API key.
2. **Credentials**: keychain을 만들고 이름을 정한 뒤, **Key**에 키를 넣고 **In the header**에 파라미터 이름 `X-Api-Key`를 지정해.

## 2. 요청 만들기

- **URL**:

  ```
  https://api.astroway.info/v1/chart
  ```

- **메서드**: `POST`.
- **본문 콘텐츠 유형**: `application/json`.
- **본문 입력 방식**: JSON 문자열.
- **본문 내용**: 아래 JSON에 트리거 값들을 넣어.
- **응답 파싱**: Yes.

```json
{
  "date": "1990-05-15",
  "time": "14:30:00",
  "timezone": "Europe/Kyiv",
  "latitude": "50.45",
  "longitude": "30.52"
}
```

각 매핑 값 주위에 따옴표를 남겨두고, 숫자도 마찬가지야: 값이 JSON 문자열에 단순 텍스트로 들어가고, API는 `"50.45"`를 숫자로 받아들여. 바로 **Parse response**를 Yes로 설정하면 `data`가 다음 모듈에서 매핑할 수 있게 돼.

모듈을 한 번 실행해. 예시로 `data.input.timezoneOffset`은 `4`와 같아: 그 날 키예프의 타임존 오프셋이야.

## 3. 별자리 매핑

다음 모듈 어디에서든 아래와 같은 수식이 상승점 별자리를 반환해:

```
get(split("Овен,Телець,Близнюки,Рак,Лев,Діва,Терези,Скорпіон,Стрілець,Козеріг,Водолій,Риби"; ","); floor(ASCENDANT / 30) + 1)
```

여기서 `ASCENDANT` 대신 `data.houses.ascendant`가 들어가. `+ 1`이 필요한 이유는 `get()`이 1부터 세고, 별자리 번호는 0부터 시작하기 때문이야. 예시로 `floor(159.26 / 30) + 1`은 `6`이고, 여섯 번째 별자리는 `처녀자리`야.

태양과 달의 경우 `data.planets`의 첫 번째와 두 번째 요소의 `longitude`를 사용해, Make에서는 `data.planets[1].longitude`와 `data.planets[2].longitude`로 매핑돼. 예시로는 황소자리와 염소자리야.

## 모듈이 실패할 때

- **`400 INVALID_FIELD` with `timezone` in `details`**: 매핑된 타임존이 비어있어, `EST` 같은 약어이거나 타임존 이름이 아니야.
- **`400` with `date` or `time` in `details`**: 트리거 형식이 `YYYY-MM-DD` / `HH:MM:SS`가 아니야; 호출 전에 `formatDate()`로 포맷해.
- **`403 ENDPOINT_NOT_IN_SCOPE`**: 키 영역에 `chart`가 없어.
- **`429 KEY_BUDGET_EXHAUSTED`**: 키 예산이 소진됐어; 대시보드에서 키를 올려.

<Aside type="note">
API는 지오코딩을 하지 않아. Make의 Google Maps 애플리케이션은 장소 이름을 좌표로 변환할 수 있지만, 결제 활성화된 Google Cloud API 키가 필요해.
</Aside>
