# Gyors kezdés

> Küldd el az első Haszno API-kérésedet két percen belül. Nincs szükség hitelesítési adatokra — a nyilvános demóvégpontok nyitva vannak.

## Mielőtt elkezded

Csak egy terminálra vagy böngészőre van szükséged. A `https://haszno.com` nyilvános demóvégpontjai semmilyen hitelesítési adat nélkül visszaadnak szintetikus példaadatot. Minden ár és termék kizárólag bemutató célra szolgál.

## Első kérés — kategóriák listázása

A `/api/categories` végpont a teljes kategória-taxonómiát adja vissza. Hitelesítés nélkül érhető el, és mindig működik.

```bash
curl --fail-with-body \
  'https://haszno.com/api/categories'
```

Egy 14 kategóriaobjektumból álló tömböt kapsz válaszként. Minden objektum így néz ki (rövidítve):

```json
[
  {
    "key": "auto",
    "label": "Autó, gumi és motor",
    "emoji": "🛞",
    "partnerCount": 0,
    "exampleCount": 1,
    "productCount": 100
  },
  {
    "key": "kert",
    "label": "Kert és növény",
    "emoji": "🌿",
    "partnerCount": 0,
    "exampleCount": 1,
    "productCount": 100
  }
]
```

> [!NOTE]
> A `partnerCount` a nyilvános demón minden kategóriánál `0`. A demó csak példa (szintetikus) partnereket tartalmaz, amelyek száma az `exampleCount` mezőben szerepel.

## Termékek szűrése kategória szerint

A `/api/products` végpont elfogad egy `cats` lekérdezési paramétert, amely vesszővel elválasztott kategóriaazonosítókat vár.

```bash
curl --fail-with-body \
  'https://haszno.com/api/products?cats=kert&shippingMarkets=HU'
```

A válaszban minden termékhez szerepel az aktuális eladási ár, a nettó beszerzési költség, és a Haszno árazási motorja által számolt `recommended` (ajánlott) árjavaslat-objektum:

```json
{
  "id": 101,
  "category": "kert",
  "name": "Kerti napernyő · 1. változat",
  "sku": "DEMO-101",
  "priceGross": 2190,
  "costNet": 1121,
  "stock": 0,
  "listed": true,
  "recommended": {
    "priceGross": 2090,
    "floorGross": 1590,
    "status": "versenykepes",
    "marginNet": 525,
    "marginPct": 31.9
  },
  "marketByCountry": {
    "hu": {
      "minGross": 2124,
      "shop": "Példa-bolt · HU",
      "source": "mock",
      "isCheapest": true
    },
    "sk": null,
    "eu": null
  }
}
```

Minden ár egész szám, forintban (HUF). Egy ármezon lévő `null` ismeretlen értéket jelent, nem nullát. A teljes pénznem- és mezőreferenciáért lásd a [Konvenciók](conventions.md) oldalt.

## Ugyanez a kérés JavaScriptben

```js
const response = await fetch(
  'https://haszno.com/api/products?cats=kert&shippingMarkets=HU'
);

if (!response.ok) {
  throw new Error(`API error: ${response.status}`);
}

const products = await response.json();

for (const p of products) {
  console.log(p.name, p.recommended.priceGross, 'HUF');
}
```

Nincsenek függőségek. Az API az összes adatvégponton `Content-Type: application/json` fejlécet küld.

## Ugyanez a kérés a CLI-vel

A CLI-t állandó telepítés nélkül is futtathatod `npx`-szel, közvetlenül GitHubról:

```bash
npx -y github:haszno-labs/haszno-cli products list --json
```

Ez JSON-termékek tömbjét írja ki. Szűréshez irányítsd `jq`-ba:

```bash
npx -y github:haszno-labs/haszno-cli products list --json \
  | jq '.[] | select(.recommended.status == "versenykepes") | .name'
```

> [!TIP]
> Az `npx` a GitHubról tölti le a csomagot és telepíti a függőségeit (a lefordított `dist/` benne van a repóban, fordítás nem fut), ezért az első futtatás lassabb.

A teljes CLI-referenciáért — telepítéssel, konfigurációval és az összes paranccsal — lásd a [CLI-referencia](cli.md) oldalt.

## Következő lépések

- [Hitelesítés](authentication.md) — hogyan érheted el a védett végpontokat HTTP Basic vagy Bearer tokennel.
- [API-referencia](api-reference.md) — teljes végpontdokumentáció minden paraméterrel és válaszmezővel.
- [Hibák és sebességkorlátok](errors.md) — a hibaválasz alakja és a HTTP-státuszkódok.
- [Agentek áttekintése és gyors kezdés](agents.md) — a CLI, az MCP-szerver vagy az agent skill telepítése.
