# API συναστρίας και συμβατότητας

Πλήρης κατάλογος τελικών σημείων (endpoints) για την ανάλυση συμβατότητας μεταξύ ανθρώπων — από την κλασική σύναστρη μέχρι τους ομαδικούς πίνακες έως 10 ατόμων.

## Τι υπολογίζεται

- **Διασταυρούμενοι αспекτοί** — αспекτοί μεταξύ των πλανητών δύο χαρτών (π.χ. Sun-Venus trine, Moon-Mars square κ.λπ.)
- **Βαθμός συμβατότητας** — αριθμητικός βαθμός 0–100 με ετικέτα (harmonious, balanced, mixed, challenging)
- **Harmony/Tension** — σταθμισμένο άθροισμα των αρμονικών και των τεταμένων ασπεκτών
- **Σύνθετος χάρτης** — μέσες θέσεις μεταξύ των πλανητών δύο ανθρώπων
- **Χάρτης Davidson** — χάρτης στη μέση ημερομηνία και συντεταγμένες
- **Ομαδικός πίνακας** — ζευγαρωτή συμβατότητα κάθε ατόμου με κάθε άλλο (2–10 άτομα)

## Τελικά σημεία (endpoints)

| Τελικό σημείο | Πιστώσεις | Τι επιστρέφει |
|---|---|---|
| `/v1/synastry` | 50 | Διασταυρούμενοι αспекτοί + βαθμός συμβατότητας |
| `/v1/composite` | 50 | Σύνθετος χάρτης (μεσαίες θέσεις) |
| `/v1/davison` | 50 | Χάρτης Davidson (μέση ημερομηνία) |
| `/v1/coalescent` | 50 | Συγχωνευμένος χάρτης |
| `/v1/group-synastry` | 100 | Πίνακας συμβατότητας 2–10 ατόμων |
| `/v1/human-design/compatibility` | 100 | Συμβατότητα Human Design |

## Παράδειγμα

<Tabs>
  <TabItem label="cURL">
    ```bash frame="terminal"
    curl -X POST https://api.astroway.info/v1/synastry \
      -H "X-Api-Key: aw_live_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{
        "chart1": {
          "date": "1990-07-14", "time": "14:30:00",
          "timezoneOffset": 3, "latitude": 50.45, "longitude": 30.52
        },
        "chart2": {
          "date": "1992-03-22", "time": "09:15:00",
          "timezoneOffset": 2, "latitude": 48.85, "longitude": 2.35
        }
      }'
    ```
  </TabItem>
  <TabItem label="Node.js">
    ```ts
    const r = await fetch('https://api.astroway.info/v1/synastry', {
      method: 'POST',
      headers: {
        'X-Api-Key': process.env.ASTROWAY_API_KEY!,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        chart1: { date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.45, longitude: 30.52 },
        chart2: { date: '1992-03-22', time: '09:15:00', timezoneOffset: 2, latitude: 48.85, longitude: 2.35 },
      }),
    });
    const { data: result } = await r.json();

    console.log(`Score: ${result.compatibility.score}/100`);
    console.log(`Label: ${result.compatibility.label}`);
    ```
  </TabItem>
  <TabItem label="Python">
    ```python

    r = requests.post(
        'https://api.astroway.info/v1/synastry',
        headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'},
        json={
            'chart1': {'date': '1990-07-14', 'time': '14:30:00', 'timezoneOffset': 3, 'latitude': 50.45, 'longitude': 30.52},
            'chart2': {'date': '1992-03-22', 'time': '09:15:00', 'timezoneOffset': 2, 'latitude': 48.85, 'longitude': 2.35},
        },
    )
    result = r.json()['data']
    print(f"Score: {result['compatibility']['score']}/100 ({result['compatibility']['label']})")
    ```
  </TabItem>
  <TabItem label="PHP">
    ```php
    <?php
    use GuzzleHttp\Client;

    $aw = new Client(['base_uri' => 'https://api.astroway.info/v1/']);
    $r = $aw->post('synastry', [
        'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')],
        'json' => [
            'chart1' => ['date' => '1990-07-14', 'time' => '14:30:00', 'timezoneOffset' => 3, 'latitude' => 50.45, 'longitude' => 30.52],
            'chart2' => ['date' => '1992-03-22', 'time' => '09:15:00', 'timezoneOffset' => 2, 'latitude' => 48.85, 'longitude' => 2.35],
        ],
    ]);
    $result = json_decode($r->getBody(), true)['data'];
    echo "Score: {$result['compatibility']['score']}/100 ({$result['compatibility']['label']})\n";
    ```
  </TabItem>
</Tabs>

## Παράδειγμα απόκρισης (compatibility)

```json
{
  "compatibility": {
    "score": 72,
    "label": "harmonious",
    "harmony": 18.5,
    "tension": 7.2
  }
}
```

## Σεναρίων χρήσης

### Εφαρμογές dating

Κλήση του `/v1/synastry` κατά το match — ο βαθμός συμβατότητας ως πρόσθετος παράγοντας κατάταξης. Προσπάθεια αποθήκευσης του αποτελέσματος για το ζευγάρι (αμετάβλητη είσοδος = αμετάβλητη έξοδος).

### Αστρολογικές εφαρμογές

Πλήρης ανάλυση: σύναστρη + σύνθετος + Davidson. Τρεις κλήσεις — 150 πιστώσεις, πλήρης εικόνα των σχέσεων.

### Εργαλεία ομάδων

`/v1/group-synastry` με 5 άτομα — πίνακας 10 ζευγών σε μία κλήση (100 πιστώσεις αντί για 500 ξεχωριστές).

## Κόστος

Σύναστρη — **50 πιστώσεις**. Στο δωρεάν πρόγραμμα, 200 σύναστρες το μήνα δωρεάν.

<CardGrid>
  <LinkCard title="Λεπτομερές παράδειγμα →" href="/examples/synastry/" description="Παράμετροι, απόκριση, διασταυρούμενοι αспекτοί" />
  <LinkCard title="Γρήγορη εκκίνηση" href="/getting-started/" description="Η πρώτη σου κλήση σε 5 λεπτά" />
  <LinkCard title="Πρόγραμμα τιμών" href="/pricing/" description="Από δωρεάν έως Enterprise" />
</CardGrid>
