# Tarot

Három pakli: Rider-Waite-Smith (78 kártya), Marseille Tarot (78) és Lenormand (36). Minden kártya minden tarot válaszban képet kap, és a `POST /v1/interpret/tarot` átalakítja a kiterítést értelmezéssé: minden pozíció a kontextusban, a teljes kiterítés összefoglalása és egy tanács.

## Válaszd ki a kártyák megjelenését

`GET /v1/tarot/decks` visszaadja minden paklit, annak kiterítéseit és a megjelenítési készleteket, amelyeket `art`‑ként lehet átadni bármely tarot útvonalnak (a POST törzsben vagy `?art=`‑ként a GET‑ben). Minden készlet közközönség tulajdonú és a mi CDN‑ünkről kerül kiszolgálásra.

| Pakli | `art` | Kártyák |
|---|---|---|
| Rider-Waite-Smith | `rws-1909` (alapértelmezett), `rws-restored`, `rws-vector` | 78 |
| Marseille Tarot | `arnoult-1748` | 78 |
| Lenormand | `dondorf` | 35 a 36‑ból, a Hold nélkül |

Minden kártya kap egy `image`‑t a `urlSmall`‑val (300 px szélesség, a kártyákhoz kb. 150 px a lapon), `url`‑val (600 px), `url2x`‑val (1200 px), `width`, `height` és `art`. A kiterítés továbbá visszaad egy `back`‑et, a kártya hátoldalát, hogy az oldal először lefelé néző kártyákat mutathasson. Egy másik pakli `art`‑ja `400 INVALID_ART`‑t ad a megengedett listával. Az a kártya, amelyhez a készletben nincs kép (a Hold a Lenormand‑ban), a `missing`‑ben szerepel, és `image` nélkül érkezik, ezért jeleníts meg helyette egy szöveges kártyát.

<Tabs>
  <TabItem label="cURL">
    ```bash frame="terminal"
    curl -X POST https://api.astroway.info/v1/tarot/rider-waite/draw/three-card \
      -H "X-Api-Key: aw_live_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{ "seed": 12345, "art": "rws-restored" }'
    ```
  </TabItem>
</Tabs>

```json
{
  "drawn": [
    {
      "position": { "index": 0, "name": "Past", "meaning": "Forces from the past shaping the situation." },
      "card": {
        "slug": "8-of-pentacles",
        "name": "Eight of Pentacles",
        "image": {
          "url": "https://cdn.astroway.info/tarot/rws-restored/8-of-pentacles.webp",
          "url2x": "https://cdn.astroway.info/tarot/rws-restored/8-of-pentacles@2x.webp",
          "urlSmall": "https://cdn.astroway.info/tarot/rws-restored/8-of-pentacles-300.webp",
          "width": 600,
          "height": 1028,
          "art": "rws-restored"
        }
      },
      "reversed": false
    }
  ],
  "back": { "url": "https://cdn.astroway.info/tarot/rws-1909/back.webp", "url2x": "https://cdn.astroway.info/tarot/rws-1909/back@2x.webp", "urlSmall": "https://cdn.astroway.info/tarot/rws-1909/back-300.webp", "width": 600, "height": 1039, "art": "rws-1909" }
}
```

A `POST /v1/tarot/rider-waite/draw/three-card` kiterítés **10 kredit**-be kerül.

## Kártyaszövegek modell nélkül

`GET /v1/public/tarot/texts?cards=the-fool,9-of-swords&lang=uk` kulcs nélkül működik, és minden kártyához egy `description`‑t ad vissza három bekezdésben (kép, egyenes jelentés, fordított jelentés) valamint szöveget a `love`, `career`, `finance`, `health` és `spirit` témákról `upright` és `reversed` esetén, a lokalizált `name`‑nel és legfeljebb öt `keywords`‑kel mindkét oldalra. `cards` nélkül az összes 78 érkezik. A szövegek nem változnak, ezért töltsd le a lap által megjelenített kártyákat, és cache‑ld őket.

```bash
curl 'https://api.astroway.info/v1/public/tarot/texts?cards=the-fool,9-of-swords&lang=uk'
```

## A teljes kiterítés értelmezése

`POST /v1/interpret/tarot` elfogad egy paklit, egy kiterítést, kártyákat és egy opcionális kérdést, és egy értelmezést ír a `language` nyelven (21 nyelv). A kártyákat slug‑okkal, objektumokkal `{ "slug", "reversed" }` vagy egy `drawn` tömbbel lehet átadni bármely kiterítési válaszból változtatás nélkül.

<Tabs>
  <TabItem label="Node.js">
    ```js
    const headers = { 'Content-Type': 'application/json', 'X-Api-Key': process.env.ASTROWAY_API_KEY };
    const api = (path, body) =>
      fetch(`https://api.astroway.info/v1${path}`, { method: 'POST', headers, body: JSON.stringify(body) }).then((r) => r.json());
    
    const { data: spread } = await api('/tarot/rider-waite/draw/three-card', { art: 'rws-1909' });
    const { data: reading } = await api('/interpret/tarot', {
      spread: 'three-card',
      question: 'What should I focus on at work?',
      cards: spread.drawn,
      language: 'en',
    });
    
    for (const p of reading.positions) {
      console.log(p.position, p.card.name, p.reversed ? '(reversed)' : '', p.card.image.url);
      console.log(' ', p.reading);
    }
    console.log('Summary:', reading.synthesis);
    ```
  </TabItem>
</Tabs>

A válaszban `positions[]` (pozíció, kártya `image`‑rel, `reversed`, `reading`), `synthesis`, `advice` és `disclaimer`. A Rider-Waite-Smith kártyáknak van `nameLocalized` és `positionLocalized` a választott nyelven. Az értelmezés **100 kredit**-be kerül (Tier 4), és a Free tarifán elérhető; saját modellkulccsal olcsóbb, lásd a [Saját modellkulcs](/agent-setup/).

<Aside type="note">
Az értelmezés egy generált szöveg a kártya hagyományos jelentésének pozíciójában alapulva. Az API a kártyákat, azok helyzetét és pozícióit a kérésedhez köti, és elutasítja azokat az értelmezéseket, amelyek kihagyják a kártyát, de tekintsd a szöveget gondolkodásra ösztönző anyagnak, nem jóslatnak.
</Aside>
