# Make

Scenariul care trimite în API data, ora, zona și coordonatele nașterii și extrage din răspuns semnele Soarelui, Lunii și Ascendentului. Cererea de mai jos a fost trimisă în producție exact în forma în care o compune modulul; pașii în Make sunt scriși conform documentației Make pentru versiunea 4 a aplicației HTTP la data de 2026-09-17. Aplicația HTTP este disponibilă în planul gratuit al Make.

Mai întâi creează o cheie, așa cum este descris în secțiunea [Cheie pentru automatizare](/integrations/#ключ-для-автоматизації), cu domeniul `chart`.

## 1. Adaugă modulul HTTP cu keychain

Adaugă aplicația **HTTP**, modulul **Make a request**. Make recomandă să transmiți acreditările printr-un câmp separat, nu prin antete, iar keychain păstrează cheia în afara scenariului.

1. **Authentication type**: API key.
2. **Credentials**: creează un keychain. Dă-i un nume, inserează cheia în **Key**, locația **In the header**, numele parametrului `X-Api-Key`.

## 2. Construiți cererea

- **URL**:

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

- **Method**: `POST`.
- **Body content type**: `application/json`.
- **Body input method**: JSON string.
- **Body content**: JSON de mai jos cu valorile declanșatorului tău.
- **Parse response**: Yes.

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

Păstrează ghilimelele în jurul fiecărei valori mapate, inclusiv a numerelor: valoarea ajunge în șirul JSON ca text simplu, iar API acceptă `"50.45"` ca număr. Exact **Parse response** cu valoarea Yes face ca `data` să fie disponibil pentru mapare în modulul următor.

Rulează modulul o singură dată. În pachetul de ieșire `data.input.timezoneOffset` pentru exemplu este egal cu `4`: decalajul pe care l‑avea Kiev în acea zi.

## 3. Mapă semnele

În orice modul următor, un câmp cu această formulă oferă semnul Ascendentului:

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

unde în loc de `ASCENDANT` este inserat `data.houses.ascendant`. `+ 1` este necesar, deoarece `get()` numără de la 1, iar numărul semnului începe de la 0. Pentru exemplu `floor(159.26 / 30) + 1` este egal cu `6`, iar al șaselea nume este `Fecioară`.

Pentru Soare și Lună ia `longitude` al primului și celui de-al doilea element din `data.planets`, pe care Make le mapează ca `data.planets[1].longitude` și `data.planets[2].longitude`. Pentru exemplu acestea sunt Taur și Capricorn.

## Când modulul eșuează

- **`400 INVALID_FIELD` cu `timezone` în `details`**: zona mapată este goală, este o abreviere de genul `EST` sau nu este un nume de zonă.
- **`400` cu `date` sau `time` în `details`**: formatul declanșatorului nu este `YYYY-MM-DD` / `HH:MM:SS`; înainte de apel, formatează-l cu `formatDate()`.
- **`403 ENDPOINT_NOT_IN_SCOPE`**: domeniul cheii nu include `chart`.
- **`429 KEY_BUDGET_EXHAUSTED`**: cheia și-a epuizat bugetul propriu; ridică-l în dashboard.

<Aside type="note">
API nu geocodează. Aplicația Google Maps în Make poate transforma numele unui loc în coordonate, dar necesită o cheie Google Cloud API cu plata activată.
</Aside>
