# Zapier

Zap, che prende la data, l'ora, il fuso orario e le coordinate di nascita dal trigger, effettua una richiesta all'API per ottenere la carta e converte l'Ascendente nel nome del segno. La richiesta qui sotto è stata inviata in produzione esattamente nella forma in cui la costruisce il passaggio; i passaggi in Zapier sono scritti secondo la guida di Zapier aggiornata al 2026-09-17.

<Aside type="caution" title="Потрібен платний тариф Zapier">
API by Zapier, Webhooks by Zapier e Formatter sono applicazioni premium. La documentazione di Zapier indica che tutti e tre non sono disponibili nel piano Free, mentre il passaggio Lookup Table richiede il piano Professional o superiore. Nella versione Free utilizza [Make](/integrations/make/) o [n8n](/integrations/n8n/).
</Aside>

Prima crea la chiave come descritto nella sezione [Chiave per l'automazione](/integrations/#ключ-для-автоматизації), con ambito `chart`.

## 1. Metti la chiave nella connessione
Gli intestazioni inserite nel passaggio Webhooks by Zapier vengono salvate nello stesso passaggio e sono visibili a chiunque abbia accesso allo Zap. API by Zapier le conserva nella connessione.

1. Nella pagina **Apps** fai clic su **+ Add connection** e seleziona **API by Zapier**.
2. **Tipo di autenticazione**: Static Headers (API key).
3. **Intestazioni**: `X-Api-Key: ` seguito dalla tua chiave, su una sola riga.
4. **Filtro dominio**: `api.astroway.info`, in modo che la connessione non possa essere reindirizzata altrove.

## 2. Richiedi la carta
Aggiungi un'azione, seleziona **API by Zapier**, l'evento **API Request** e la connessione.

- **Metodo**: `POST`.
- **URL**:

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

- **Corpo**: JSON qui sotto con i campi del trigger al posto dei valori.

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

Sostituisci ogni valore con il corrispondente campo del trigger e lascia le virgolette attorno a ciascuno, anche i numeri. Zapier inserisce il campo mappato come testo semplice e non aggiunge virgolette, mentre l'API accetta `"50.45"` come numero. Non aggiungere la chiave nelle Intestazioni del passaggio: viene fornita dalla connessione.
Testa il passaggio. La risposta corretta inizia con `"ok": true`, mentre `data.input.timezoneOffset` nell'esempio è uguale a `4`: lo spostamento che aveva Kiev quel giorno.

## 3. Converti l'Ascendente nel segno
Due passaggi Formatter.

**Formatter, evento Numbers, conversione Formula stile foglio di calcolo.** Formula:

```
FLOOR(ASCENDANT / 30)
```

dove al posto di `ASCENDANT` viene inserito `data.houses.ascendant` dal passaggio 2. Nell'esempio restituisce `5`.

**Formatter, evento Utilities, conversione Lookup Table.** La Chiave di ricerca è il risultato della formula. Tabella:

| Chiave | Valore |
|---|---|
| 0 | Aries |
| 1 | Taurus |
| 2 | Gemini |
| 3 | Cancer |
| 4 | Leo |
| 5 | Virgo |
| 6 | Libra |
| 7 | Scorpio |
| 8 | Sagittarius |
| 9 | Capricorn |
| 10 | Aquarius |
| 11 | Pisces |

Nell'esempio il risultato è `Virgo`. Per ottenere i nomi italiani, inseriscili nella colonna Valore.
Sole e Luna vengono calcolati allo stesso modo. Sono il primo e il secondo record in `data.planets`, ciascuno con la propria `longitude`: ad esempio 54.34 (Toro) e 296.39 (Capricorno).

## Se utilizzi Webhooks by Zapier
Funziona, ma la chiave si trova nel passaggio, non nella connessione. Per la carta seleziona l'evento **Custom Request**: invia il campo Data esattamente come lo hai inserito, quindi il JSON sopra verrà inviato senza modifiche. Imposta **Method** `POST` e negli **Headers** aggiungi sia `X-Api-Key` con la tua chiave, sia `Content-Type` con valore `application/json`.

## Quando il passaggio fallisce
- **`400 INVALID_FIELD` con `timezone` in `details`**: la fuso orario corrispondente è vuoto, è un'abbreviazione tipo `EST` o non è un nome di fuso orario.
- **`400` con `date` o `time` in `details`**: il formato del trigger non è `YYYY-MM-DD` / `HH:MM:SS`; aggiungi prima della chiamata un passaggio Formatter per la data.
- **`403 ENDPOINT_NOT_IN_SCOPE`**: nell'ambito della chiave manca `chart`.
- **`429 KEY_BUDGET_EXHAUSTED`**: la chiave ha esaurito il proprio budget; aumentalo nella dashboard.
L'API non esegue geocodifica. Se il trigger fornisce solo il nome del luogo, le coordinate devono provenire dallo stesso trigger o da un servizio di geocodifica di cui disponi della chiave.
