# Integrazioni senza codice

Tutto in queste pagine è stato realizzato contro la produzione del 2026-09-17. Il workflow per n8n è stato importato e avviato in un vero n8n; i passaggi per Zapier e Make sono scritti secondo la documentazione di questi strumenti, e le richieste che generano sono inviate proprio in questo modo.

## Da dove proviene la richiesta

Da questo dipende quale chiave è necessaria.

- **Zapier, Make e n8n** lo inviano dai loro server. È necessaria una chiave «Solo server» con area di endpoint e budget, come descritto sotto. Istruzioni: [Zapier](/integrations/zapier/), [Make](/integrations/make/), [n8n](/integrations/n8n/).
- **Bubble** invia anche richieste dai suoi server, e la chiave si trova nell'intestazione, che rimane lì: [Bubble](/integrations/bubble/).
- **FlutterFlow** viene compilato in un'applicazione che tiene l'utente, quindi la chiamata deve essere privata: [FlutterFlow](/integrations/flutterflow/).
- **Wix, Squarespace, Shopify, Webflow e Tilda** mostrano la pagina nel browser del visitatore. Inserisci il widget, non la chiave: [costruttori di siti](/integrations/site-builders/).
- **WordPress** si rivolge dal tuo server. La chiave è gestita dal [plugin AstroWay](https://wordpress.org/plugins/astroway/).

<Aside type="caution">
La chiave pubblica `pk_` non funziona con Zapier, Make o n8n. Rifiuta la richiesta senza origin dal suo elenco, e questi strumenti non inviano origin. Dalla pagina del sito ottiene solo `/v1/public/*` e `/v1/embed/*`.
</Aside>

## Chiave per l'automazione

Chiunque possa modificare Zap, script o workflow vede la chiave all'interno. Quindi assegna a ogni automazione una chiave propria e limitane l'uso a ciò che fa.

1. Nel dashboard apri [API-chiavi](https://api.astroway.info/dashboard/keys) e clicca **Nuova chiave**. Dagliela un nome in base all'automazione, ad esempio `zapier-intake-form`.
2. Nel campo **Dove verrà usata questa chiave?** lascia **Solo server**.
3. Copia la chiave. Il dialogo la mostra per intero una sola volta; in seguito è disponibile tramite **Mostra** nel menu della chiave.
4. Nel menu della chiave apri **Area endpoint** e elenca i percorsi che l'automazione chiama, uno per riga: `chart` per la carta natale, `public/horoscope/*` per gli oroscopi giornalieri.
5. Nello stesso menu apri **Imposta budget** e indica quanti crediti questa chiave può spendere per ciclo.

Una chiamata fuori dall'elenco restituisce `403 ENDPOINT_NOT_IN_SCOPE`. Una chiave che ha esaurito il budget restituisce `429 KEY_BUDGET_EXHAUSTED`, anche se sull'account ci sono ancora crediti, quindi l'automazione che è in loop si fermerà al numero indicato. Entrambi i limiti funzionano su qualsiasi piano e sono descritti nella sezione [Autenticazione](/authentication/).

## Invia il momento di nascita, non lo spostamento

Il modulo fornisce data, ora sull'orologio e luogo. Inviali così:

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

- **`timezone`** è il nome della zona, e il server trova da solo lo spostamento da UTC, che gli orologi di quella data avevano, includendo l'ora legale. Kiev il 1990-05-15 era a UTC+4, non +3: questo è l'errore che dà uno spostamento inserito manualmente. Invia `auto` per prendere la zona dalle coordinate.
- **Senza `timezone` e senza spostamento** la carta è calcolata per UTC. La risposta è comunque `200`, quindi verifica che il campo sia mappato.
- **`timezone` vuoto** viene rifiutato con `400`, perché altrimenti un campo vuoto del modulo verrebbe interpretato come UTC.
- **`date`** nel formato `YYYY-MM-DD`, **`time`** nel formato `HH:MM:SS`. Se il modulo li salva diversamente, usa la formattazione della data nello strumento stesso.
- **I numeri possono arrivare come testo.** `\"latitude\": \"50.45\"` è accettato, ed è così che la maggior parte dei campi del modulo li invia.
- **L'API non fa geocoding.** Le coordinate devono arrivare dal modulo o dal passaggio di geocoding nello strumento. Il campo `city` è solo una descrizione.

Le regole per la conversione di orologi e date prima del 1970 sono descritte nei [formati dei campi](/agent-setup/field-formats/#timezone-назва-зони-замість-зсуву).

## Come convertire le longitudini in segni

`POST /v1/chart` risponde in gradi lungo lo zodiaco, in un wrapper `{ "ok": true, "data": { ... } }`. Il segno è `floor(longitude / 30)`, contando da zero:

0 Ariete, 1 Toro, 2 Gemelli, 3 Cancro, 4 Leone, 5 Vergine, 6 Bilancia, 7 Scorpione, 8 Sagittario, 9 Capricorno, 10 Acquario, 11 Pesci.

Dove si trovano i tre valori più popolari:

- **Sole**: voce in `data.planets` con `"name": "Sun"`, la prima.
- **Luna**: voce in `data.planets` con `"name": "Moon"`, la seconda.
- **Ascendente**: `data.houses.ascendant`.
- **Offset usato**: `data.input.timezoneOffset`.

Per l'esempio sopra: Sole 54.34, quindi Toro; Luna 296.39, Capricorno; Ascendente 159.26, Vergine; offset 4.

## Quanto costa

- `POST /v1/chart` costa 20 crediti. Tabella completa nella pagina [Costo degli endpoint](/credits/).
- La stessa richiesta inviata di nuovo entro cinque minuti viene restituita dalla cache e non viene addebitata. Un'esecuzione di test che ripete lo stesso corpo non consuma budget.
- `GET /v1/public/horoscope/daily` non consuma crediti. Senza chiave o con chiave sul piano Free è conteggiato nel limite di 30 richieste all'ora per IP, e le piattaforme di automazione dividono i loro indirizzi tra i clienti. Una chiave su un piano a pagamento ha un limite proprio.
