# Make

Scenario che invia all'API data, ora, fuso orario e coordinate di nascita e riceve in risposta i segni del Sole, della Luna e dell'Ascendente. La richiesta qui sotto è stata invata in production esattamente così come viene composta dal modulo; i passaggi in Make sono scritti secondo la documentazione Make per l'applicazione HTTP versione 4 al 2026-09-17. L'applicazione HTTP è disponibile sul piano gratuito di Make.

Per prima cosa, crea una chiave come descritto nella sezione [Chiave per l'automazione](/integrations/#chiave-per-l-automazione), con ambito `chart`.

## 1. Aggiungi il modulo HTTP con keychain

Aggiungi l'applicazione **HTTP**, il modulo **Make a request**. Make consiglia di passare le credenziali attraverso un campo separato anziché attraverso gli header, e il keychain tiene la chiave fuori dallo scenario stesso.

1. **Authentication type**: API key.
2. **Credentials**: crea un keychain. Dai un nome, inserisci la chiave in **Key**, posizionamento **In the header**, nome parametro `X-Api-Key`.

## 2. Compila la richiesta

- **URL**:

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

- **Method**: `POST`.
- **Body content type**: `application/json`.
- **Body input method**: JSON string.
- **Body content**: JSON sotto con i valori del tuo trigger.
- **Parse response**: Yes.

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

Mantieni le virgolette attorno a ogni valore corrispondente, anche i numeri: il valore entra nella stringa JSON come testo semplice, e l'API accetta `"50.45"` come numero. È proprio **Parse response** con valore Yes che rende `data` disponibile per il mapping nel modulo successivo.

Esegui il modulo una volta. Nel pacchetto di output `data.input.timezoneOffset` per esempio è `4`: lo scostamento che Kiev aveva in quel giorno.

## 3. Mappa i segni zodiacali

In qualsiasi modulo successivo, il campo con questa formula dà il segno dell'Ascendente:

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

dove invece di `ASCENDANT` si inserisce `data.houses.ascendant`. `+ 1` è necessario perché `get()` conta da 1, mentre il numero del segno parte da 0. Per esempio `floor(159.26 / 30) + 1` è `6`, e il sesto nome è `Vergine`.

Per Sole e Luna prendi la `longitude` del primo e secondo elemento `data.planets`, che Make mappa come `data.planets[1].longitude` e `data.planets[2].longitude`. Per esempio sono Toro e Capricorno.

## Quando il modulo fallisce

- **`400 INVALID_FIELD` con `timezone` in `details`**: il fuso orario mappato è vuoto, è un abbreviazione come `EST` o non è il nome di un fuso.
- **`400` con `date` o `time` in `details`**: il formato del trigger non è `YYYY-MM-DD` / `HH:MM:SS`; prima della chiamata, formattalo con `formatDate()`.
- **`403 ENDPOINT_NOT_IN_SCOPE`**: nell'ambito della chiave non c'è `chart`.
- **`429 KEY_BUDGET_EXHAUSTED`**: la chiave ha esaurito il proprio budget; aumentala nella dashboard.

<Aside type="note">
L'API non geocodifica. L'applicazione Google Maps in Make può convertire il nome di un luogo in coordinate, ma richiede una chiave API Google Cloud con il pagamento abilitato.
</Aside>
