# n8n

Dört düğüm workflow'ü: girişte doğum verileri, ortada API ile doğum haritası, çıkışta Güneş, Ay ve Yükselen işaretleri. Bu, n8n 2.39.7'ye ithal edilmiş ve 2026-09-17'de üretime karşı çalıştırılmıştır ve aşağıdaki sonuç tam olarak döndürdüğü şeydir.

Öncelikle, [Otomatikleşme için Anahtar](/integrations/#otomatikleşme-i̇çi̇n-anahtar) bölümünde açıklandığı gibi bir anahtar oluşturun, `chart` kapsamıyla.

## 1. Anahtarı kimlik bilgisi olarak ekleyin

Anahtar, n8n'in kimlik bilgileri deposunda saklanır, düğümde değil, bu nedenle dışa aktarılan workflow'a girmez.

1. n8n'de yeni bir **Header Auth** türünde kimlik bilgisi oluşturun.
2. **Name**: `X-Api-Key`.
3. **Value**: Anahtarınız.
4. **AstroWay API key** adıyla kaydedin. Aşağıdaki workflow tam olarak bu adla kimlik bilgisi arar.

## 2. Workflow'u ithal edin

[n8n-natal-chart.json](/integrations/n8n-natal-chart.json) dosyasını yükleyin, boş bir workflow açın ve dosyanın içeriğini tuvale yapıştırın veya menüden dosyadan içe aktarma seçeneğini kullanın.

İçinde dört düğüm vardır:

- **Start**, Manuel Tetikleyici düğümü: test sırasında workflow'u başlatır.
- **Birth data**, Edit Fields (Set) düğümü: bir kişinin `date`, `time`, `timezone`, `latitude` ve `longitude` değerleri.
- **AstroWay chart**, HTTP Request düğümü: `POST /v1/chart` çağrısı yapar.
- **Big three**, Edit Fields (Set) düğümü: boylakları işaret adlarına dönüştürür.

## 3. Çalıştırın

Workflow'u çalıştırın. **Big three** şunu döndürür:

```json
{
  "sun": "Taurus",
  "moon": "Capricorn",
  "rising": "Virgo",
  "offset_used": 4
}
```

`offset_used`, sunucunun `Europe/Kyiv` için 1990-05-15'te bulduğu UTC'den sapmadır: 4, genellikle elle yazılan 3 değil.

## HTTP Request düğümü nasıl ayarlanmıştır

- **Method**: `POST`.
- **URL**:

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

- **Authentication**: Generic Credential Type.
- **Generic Auth Type**: Header Auth, credential **AstroWay API key**.
- **Send Body**: etkin.
- **Body Content Type**: JSON.
- **Specify Body**: Using JSON.

Gövde bir ifadeyle tanımlandığı için, önceki düğümden gelen herhangi bir değer olduğu gibi iletilir:

```js
{{ JSON.stringify({ date: $json.date, time: $json.time, timezone: $json.timezone, latitude: $json.latitude, longitude: $json.longitude }) }}
```

## İşaretler nasıl hesaplanır

**Big three** içindeki her alan bir ifadedir. İşaret, boylak 30'a bölünüp aşağıya yuvarlandığında elde edilen listedeki dizin gibidir:

```js
{{ ['Aries','Taurus','Gemini','Cancer','Leo','Virgo','Libra','Scorpio','Sagittarius','Capricorn','Aquarius','Pisces'][Math.floor($json.data.houses.ascendant / 30)] }}
```

Güneş ve Ay için boylak `$json.data.planets.find(p => p.name === 'Sun').longitude` ve benzeri şekilde `'Moon'`'dan alınır.

## Kendi verilerinizi ekleyin

**Start** ve **Birth data** yerine, gerçekten kullandığınız bir tetikleyiciyle değiştirin: form, webhook veya tablodan yeni bir satır, ve alanlarını yukarıdaki beş adla eşleştirin. Kontrol etmeniz gereken iki şey var:

- **`timezone` boş olamaz.** Boş değer `400` ile reddedilir, bu nedenle alanı eşleştirin veya koordinatlar güvenilirse `auto` koyun.
- **Koordinatlar zorunludur.** API şehir adını coğrafi kodlamaz; form sadece yer soruyorsa, **AstroWay chart** öncesine coğrafi kodlama adımı ekleyin.

<Aside type="note">
Kapsam dışı bir çağrı çalıştırmayı `403 ENDPOINT_NOT_IN_SCOPE` ile durdurur, ve bütçe aşımı olan bir anahtar `429 KEY_BUDGET_EXHAUSTED` ile durdurur. Her ikisi de bu amaçla vardır: limiti panodan yükseltin, isteği tekrarlamayın.
</Aside>
