Első lépések
Megnyitás Markdownként

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.

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):

[
  {
    "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
  }
]

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.

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:

{
  "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 oldalt.

Ugyanez a kérés JavaScriptben

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:

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:

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

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 oldalt.

Következő lépések