# Integrări fără cod

Toate paginile de aici sunt actualizate pentru producția din 2026-09-17. Workflow-ul pentru n8n a fost importat și rulat în n8n real; pașii pentru Zapier și Make sunt scriși conform documentației proprii ale acestor unelte, iar cererile pe care le generează au fost trimise exact în acest format.

## De unde vine cererea

Asta depinde de ce cheie ai nevoie.

- **Zapier, Make și n8n** o trimit de pe serverele lor. Ai nevoie de o cheie "Doar server" cu domeniul de endpoint-uri și buget, așa cum este descris mai jos. Instrucțiuni: [Zapier](/integrations/zapier/), [Make](/integrations/make/), [n8n](/integrations/n8n/).
- **Bubble** trimite și el cereri de pe serverele sale, iar cheia se află în header, acolo unde rămâne: [Bubble](/integrations/bubble/).
- **FlutterFlow** este compilat într-o aplicație pe care o deține utilizatorul, deci apelul trebuie făcut privat: [FlutterFlow](/integrations/flutterflow/).
- **Wix, Squarespace, Shopify, Webflow și Tilda** afișează pagina în browserul vizitatorului. Inserează widgetul, nu cheia: [constructori de site-uri](/integrations/site-builders/).
- **WordPress** face cereri de pe propriul tău server. Cheia este gestionată de [pluginul AstroWay](https://wordpress.org/plugins/astroway/).

<Aside type="caution">
Cheia publică `pk_` nu funcționează cu Zapier, Make sau n8n. Aceasta respinge cererea fără origin din lista sa, iar aceste unelte nu trimit origin. Din pagina site-ului preia doar `/v1/public/*` și `/v1/embed/*`.
</Aside>

## Cheie pentru automatizare

Oricine poate edita Zap, script sau workflow vede cheia în interior. De aceea, dă fiecărei automatizări propria cheie și limitează-o la ceea ce face.

1. În dashboard, deschide [Chei API](https://api.astroway.info/dashboard/keys) și apasă **Cheie nouă**. Numește-o după automatizare, de exemplu `zapier-intake-form`.
2. La **Unde va fi folosită această cheie?**, lasă **Doar server**.
3. Copiază cheia. Dialogul o arată complet o singură dată; mai târziu este disponibilă prin **Afișare** în meniul cheii.
4. În meniul cheii, deschide **Domeniu endpoint-uri** și listează căile pe care le apelează automatizarea, câte una pe linie: `chart` pentru harta natală, `public/horoscope/*` pentru horoscopul zilnic.
5. În același meniu, deschide **Setare buget** și specifică câți credite poate cheltui această cheie pe ciclu.

Un apel în afara listei primește `403 ENDPOINT_NOT_IN_SCOPE`. O cheie care și-a epuizat bugetul primește `429 KEY_BUDGET_EXHAUSTED`, chiar dacă pe cont mai sunt credite, așa că o automatizare care intră într-o buclă se va opri la numărul specificat. Ambele limite funcționează pe orice tarif și sunt descrise în secțiunea [Autentificare](/authentication/).

## Trimite momentul nașterii, nu decalajul

Formularul dă data, ora ceasului și locația. Trimite-le așa:

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

- **`timezone`** este numele zonei, iar serverul găsește singur decalajul față de UTC pe care îl aveau ceasurile în acea dată, inclusiv ora de vară. Kiev 1990-05-15 era la UTC+4, nu +3: exact această oboseală o dă decalajul introdus manual. Trimite `auto` pentru a lua zona din coordonate.
- **Fără `timezone` și fără decalaj** harta se calculează pentru UTC. Răspunsul tot `200` este, așa că verifică că câmpul este mapat corect.
- **`timezone` gol** este respins cu `400`, altfel un câmp necompletat din formular ar fi citit ca UTC.
- **`date`** în format `YYYY-MM-DD`, **`time`** în format `HH:MM:SS`. Dacă formularul le salvează altfel, folosește formatarea datei în unelta însăși.
- **Numerele pot veni ca text.** `"latitude": "50.45"` este acceptat, și exact așa le trimite majoritatea câmpurilor de formular.
- **API-ul nu geocodifică.** Coordonatele trebuie să vină din formular sau din pasul de geocodificare din uneltă. Câmpul `city` este doar pentru etichetă.

Regulile pentru conversia orelor și datelor înainte de 1970 sunt descrise în [formatele câmpurilor](/agent-setup/field-formats/#timezone-numele-zonei-în-loc-de-decalaj).

## Cum să convertiți longitudinile în semne

`POST /v1/chart` răspunde în grade de-a lungul zodiacului, în învelișul `{ "ok": true, "data": { ... } }`. Semnul este `floor(longitudine / 30)`, numărând de la zero:

0 Berbec, 1 Taur, 2 Gemeni, 3 Rac, 4 Leu, 5 Fecioară, 6 Balanță, 7 Scorpion, 8 Săgetător, 9 Capricorn, 10 Vărsător, 11 Pești.

Unde se află cele trei valori cele mai populare:

- **Soarele**: înregistrarea în `data.planets` cu `"name": "Sun"`, prima.
- **Luna**: înregistrarea în `data.planets` cu `"name": "Moon"`, a doua.
- **Ascendentul**: `data.houses.ascendant`.
- **Decalajul folosit**: `data.input.timezoneOffset`.

Pentru exemplul de mai sus: Soarele 54.34, deci Taur; Luna 296.39, Capricorn; Ascendentul 159.26, Fecioară; decalajul 4.

## Cât costă

- `POST /v1/chart` costă 20 de credite. Tabelul complet pe pagina [Costul endpoint-urilor](/credits/).
- Aceeași cerere, trimisă din nou în decurs de cinci minute, se întoarce din cache și nu se scade. Un test care repetă același corp nu consumă buget.
- `GET /v1/public/horoscope/daily` nu consumă credite. Fără cheie sau cu cheie pe tariful Free se numără în limita de 30 de cereri pe oră de la adresa IP, iar platformele de automatizare împart adresele între clienți. O cheie pe tarif plătit are propria limită.
