Webshop

Hogyan kösd össze egyedi webshopodat az easySales-szel API-n át

Hogyan kösd össze egyedi webshopodat az easySales-szel API-n át

Kösd össze API-n keresztül bármelyik egyedi vagy nem támogatott webshopot az easySales-szel: a két szükséges hitelesítő adat, termék- és készletfeltöltés, rendelésküldés és a változások visszakapása.

Mikor van erre szükséged

Az easySales kész összekötőket kínál a szokásos webáruház-platformokhoz. Ha valami egyedit üzemeltetsz — házon belül fejlesztett boltot, vagy olyan platformot, amelyhez nincs integrációnk —, az API-n keresztül magad kötheted össze.

Ez fejlesztői feladat. Olyan kódot írsz, amely feltölti a katalógusodat az easySalesbe és átküldi a rendeléseket, az easySales pedig visszahív a boltodhoz, ha valami megváltozik. Az itt leírtakhoz semmilyen bővítményt nem kell telepíteni.

Hogyan működik a kapcsolat

Két hitelesítő adat vesz részt benne, és a leggyakoribb ok, amiért egy első integráció 403-at ad vissza, az, hogy összekeverik őket.

Hitelesítő adat Honnan származik Hogyan kell küldeni Ha hiányzik
Hozzáférési token POST /oauth/token, az API beállítások alatt létrehozott OAuth-klienssel Authorization: Bearer <token> fejléc 401
Webáruház-token Az összekötő varázsló Konfiguráció lépése Egy website_token mező a kérés törzsében, nem fejlécben 403 Invalid website token
A két hitelesítő adat, és mire való mindegyik

Minden íráshoz mindkettő kell. A hozzáférési token azt igazolja, ki hív; a webáruház-token azt mondja meg, melyik bolthoz tartoznak az adatok.

1. lépés — Add hozzá a webáruházat

Menj az Integrációk → Webáruházak menüpontra, kattints a Bejelentkezés a weboldalba gombra, töltsd ki az űrlapot, majd válaszd az API csempét és alatta az API V2 verziót.

A Bejelentkezés a weboldalba űrlap az easySalesben, kiválasztott API csempével és zöld pipával, alatta az API V2 verziócsempével, a Válassza ki a platform verzióját a weboldalának cím alatt.
Válaszd az API csempét, majd alatta az API V2 verziót.
Mező Mit csinál
Weboldal neve A saját címkéd. Ez alapján különíted el később a boltjaidat.
Weboldal URL-je A boltod címe, a helyes protokollal.
Ország Meghatározza, milyen áfakulcsokat kínál a következő mező. Végleges.
ÁFA A tétel nélkül érkező termékekre alkalmazott áfa. Listából választható, nem beírható.
Szállítási ÁFA A szállításra alkalmazott áfa, ha a rendelés nem hoz magával egyet.
Nyelv / Pénznem A bolt nyelve és az a pénznem, amelyben az áraid vannak. Mindkettő végleges.
Új rendelés egyedi státusza Opcionális. Minden importált rendelést a saját státuszaid egyikébe tesz.
A raktáron levő termékek forrása Ahol a mérvadó készletérték található. Alapértelmezetten az easySales.
Csomagtípus A rendelésekhez generált fuvarlevelek alapértelmezett csomagtípusa.
Számlák sorozata A számlázási sorozat, amelyet akkor használunk, ha az adataid nem adnak meg egyet.
Az összekötő űrlap

2. lépés — Másold ki a webáruház-tokent

A varázsló Konfiguráció lépése egy 60 karakteres tokent mutat. Ezt a régi cikk soha nem említi, pedig minden írási hívásnak szüksége van rá.

Az easySales összekötő varázsló Konfiguráció lépése API V2-höz, a csak olvasható, 60 karakteres generált webáruház-tokennel és a vágólapra másoló gombbal.
A webáruház-token. Minden írási hívás ezt viszi magával, a kérés törzsében.

A gombbal másold ki, ne gépeld át, és titokként tárold az alkalmazásodban. A webáruház létrehozásához kattints a Mentés gombra.

A bolt ezután megjelenik az Integrációk → Webáruházak oldalon, a kártyáján ugyanazzal a tokennel — később itt találod meg újra.

A Webáruházak képernyő az easySalesben, egy összekötött API V2 bolt kártyájával: URL, áfa, webáruház-token és Bekapcsolva kapcsoló.
Egy összekötött API-bolt. A kártyán szereplő token ugyanaz, amelyet a kódod küld.

3. lépés — Hozz létre egy OAuth-klienst

Menj a Beállítások → API beállítások oldalra. Az OAuth-hitelesítő adatok itt találhatók.

Az API beállítások képernyő az easySalesben, egy OAuth-klienssel, annak azonosítójával, nevével és elrejtett titkos kulcsával, alatta egy személyes hozzáférési tokennel.
Beállítások → API beállítások. Fent az OAuth-kliensek, lent a személyes hozzáférési tokenek.

Kattints az Új ügyfél létrehozása gombra, nevezd el arról a rendszerről, amelyik hívni fogja, és a Grant típus mezőt állítsd Website Grant értékre.

Az ügyfél létrehozása űrlap az easySales API beállításai között, kitöltött névvel és Website Grant értékre állított Grant típus mezővel, azzal a magyarázattal, hogy a Website Grant egy website_token használatával szerez hozzáférési tokent.
Website Grant — ez váltja a webáruház-tokenedet hozzáférési tokenre.

A Website Grant pontosan erre a feladatra készült: a webáruház-tokenedet hozzáférési tokenre váltja, böngészős átirányítás és felhasználói beavatkozás nélkül. Mentsd el, majd másold ki a megjelenő Ügyfél-azonosító és Titkos kulcs értéket.

4. lépés — Kérj hozzáférési tokent

POST https://easy-sales.com/oauth/token
Content-Type: application/json

{
  "grant_type":    "website",
  "client_id":     "your-client-id",
  "client_secret": "your-client-secret",
  "website_token": "your-60-character-website-token",
  "scope":         "add-products update-products update-stock add-orders update-orders read-orders"
}

A válasz egy szokásos OAuth-törzs:

{
  "token_type":    "Bearer",
  "expires_in":    31536000,
  "access_token":  "eyJ0eXAiOiJKV1Qi...",
  "refresh_token": "def50200a1b2c3..."
}

Minden további híváshoz Authorization: Bearer <access_token> formában küldd.

5. lépés — Töltsd fel a katalógusodat

Az alábbiak alap-URL-je https://easy-sales.com/api/v2.

A sorrend számít. A kategóriáknak és a jellemzőknek létezniük kell, mielőtt egy termék hivatkozna rájuk, különben a termékhívás elutasításra kerül.

  1. POST /categories/save — a kategóriáid
  2. POST /characteristics/save — a jellemzőid
  3. POST /products/save — a termékeid
POST https://easy-sales.com/api/v2/products/save
Authorization: Bearer <access_token>
Content-Type: application/json

{
  "website_token": "your-60-character-website-token",
  "product": {
    "product_website_id": "10231",
    "sku": "TS-BLK-M",
    "name": "Black T-shirt, size M",
    "sale_price": 79.99,
    "full_price": 99.99,
    "stock": 24,
    "type": "simple",
    "tax_rate": 21,
    "url": "https://my-shop.example.com/p/ts-blk-m",
    "images": ["https://my-shop.example.com/img/ts-blk-m.jpg"],
    "categories": ["cat-778"],
    "characteristics": [{ "id": "char-12", "value": "Black" }]
  }
}
Mező Kötelező Megjegyzés
product_website_id Igen A boltod saját azonosítója a termékhez
sku Igen Webáruházanként egyedi; az upsert kulcsa
name Igen
sale_price Igen Az az ár, amelyet a vásárló fizet
stock Igen Számnak kell lennie
type Igen simple vagy complex
full_price Nem Kedvezmény előtti ár, ha megjelenítesz ilyet
tax_rate Nem A webáruház országában érvényes kulcsnak kell lennie
categories Nem A saját kategóriaazonosítóid — mindegyiknek léteznie kell már
characteristics Nem A saját jellemzőazonosítóid — mindegyiknek léteznie kell már
images Nem URL-ek tömbje, amelyeket le tudunk tölteni
weight, handling_time, description, url Nem Futárszolgálatokhoz, szállítási becslésekhez és piactéri hirdetésekhez használjuk
Termékmezők

6. lépés — Tartsd szinkronban a készletet

A készlet az, aminek naprakésznek kell maradnia, és ez a legolcsóbb hívás ahhoz, hogy gyakran fusson. Egyszerre legfeljebb 100 sort küldj:

PATCH https://easy-sales.com/api/v2/stocks/bulk
Authorization: Bearer <access_token>

{
  "website_token": "your-60-character-website-token",
  "data": [
    { "sku": "TS-BLK-M", "stock": 24 },
    { "sku": "TS-BLK-L", "stock": 0 }
  ]
}

Minden SKU-nak léteznie kell már ezen a webáruházon; az ismeretleneket elutasítjuk, nem hozzuk létre.

7. lépés — Küldd be a rendeléseidet

POST https://easy-sales.com/api/v2/orders/save
Authorization: Bearer <access_token>

{
  "website_token": "your-60-character-website-token",
  "order": {
    "order_id": "SO-100244",
    "order_date": "2026-09-09 14:31:00",
    "order_total": 179.98,
    "status": "new",
    "payment_mode": "card",
    "shipment_tax": 21,
    "billing_address":  { "country": "RO", "city": "Cluj-Napoca", "street": "Str. Memorandumului 4" },
    "shipping_address": { "country": "RO", "city": "Cluj-Napoca", "street": "Str. Memorandumului 4" },
    "order_products": [
      { "product_website_id": "10231", "sku": "TS-BLK-M", "name": "Black T-shirt, size M",
        "quantity": 2, "price": 79.99, "total": 159.98 }
    ]
  }
}

Ha ugyanazt az order_id értéket küldöd újra, a rendelés frissül, nem duplikálódik — így az újrapróbálkozás biztonságos.

8. lépés — Kapd vissza a változásokat

A boltodnak tudnia kell, ha egy rendelést kiszámláztak, fuvarlevelet kapott vagy státuszt váltott. Lekérdezés helyett iratkozz fel webhookra:

GET https://easy-sales.com/api/v2/webhooks
Authorization: Bearer <access_token>
POST https://easy-sales.com/api/v2/webhooks/order-updated
Authorization: Bearer <access_token>

{
  "url":    "https://my-shop.example.com/hooks/easysales",
  "secret": "a-shared-secret-of-at-least-24-characters"
}

Egyszerre egy eseményre iratkozol fel, ezért ismételd meg a hívást mindegyikre: order-created, order-updated, awb-created, invoice-created és delivery-status-updated.

Minden kézbesítés alá van írva, ezért ellenőrizd az aláírást, mielőtt megbíznál a tartalomban. Válaszolj gyorsan — a kérés néhány másodperc után lejár, és csak korlátozott számban ismételjük meg, ezért előbb nyugtázd, és utána dolgozd fel.

Korlátok

Korlát Érték
Kérések Percenként 500 a teljes API-n
Token-kérések Percenként 60 — tárold gyorsítótárban a tokent
Termék, készlet, ár, kategória, jellemző egy tömeges hívásban 100
Termék egy tömeges archiváló hívásban 50
Webáruház fiókonként 30
Termékleírás 65 534 karakter
Korlátok, amelyekre érdemes tervezni

Ha valami hibára fut

Kód Jelentés Szokásos ok
400 Invalid json A kérés törzse nem érvényes JSON
401 Nincs hitelesítve Hiányzó, lejárt vagy hibás hozzáférési token
403 Invalid website token A website_token hiányzik vagy hibás
403 The website has been deactivated A webáruház Bekapcsolva kapcsolója ki van kapcsolva
422 Sikertelen ellenőrzés Hiányzik egy kötelező mező, egy SKU duplikált, vagy egy kategória, illetve jellemző még nem létezik
429 Túl sok kérés Percenként több mint 500
503 Átmenetileg nem érhető el A beolvasás torlódik; próbáld újra a megadott idő után
Mit jelent az egyes válaszkódok

Ami a mi oldalunkon hibára fut, az a Termékek → Online Áruházak → Webáruház hibák oldalon is megjelenik, a küldött adattal és egy újrapróbálkozás művelettel — ez általában gyorsabb, mint újrajátszani a hívást.

Hivatkozás

A teljes végpont-dokumentáció, minden mezővel és minden válasszal, a https://api.easy-sales.com címen érhető el.

Gyakran ismételt kérdések

A hozzáférési token egy OAuth2 bearer token, amely a fiókodat azonosítja, és az Authorization fejlécbe kerül. A webáruház-token egyetlen konkrét boltot azonosít, és a kérés törzsébe kerül website_token néven. Az írási hívásokhoz mindkettő kell: a 401 azt jelenti, hogy a hozzáférési token hibás, a 403 az "Invalid website token" üzenettel pedig azt, hogy a webáruház-token.

Egyedi webáruháznál nincs frissítési gyakoriság, és nincs rá mező az űrlapon sem. Semmit nem kérdezünk le ciklikusan — te döntöd el, mikor küldesz terméket, készletet és rendelést, a változásokat pedig webhookokon kapod vissza. A régi cikk olyan mezőt írt le, amely már nem része az összekötési folyamatnak.

Nem. Az API-webáruházakon nem fut kapcsolatteszt, mert az easySalesnek nincs mit hívnia, amíg el nem kezdesz adatot küldeni. A jelvényt a rekord létrehozásakor állítjuk be. A valódi próba az, hogy a termékeid megjelennek-e a Termékek → Online Áruházak → Termékek oldalon.

Website Grant. Pontosan erre való: a webáruház-tokent hozzáférési tokenre váltja átirányítás és felhasználói beavatkozás nélkül, vagyis pont úgy, ahogy egy szerver-szerver integrációnak kell. A Személyes hozzáférési token is működik, de a teljes fiókra szól, nem egyetlen boltra, és csak egyszer jelenik meg.

A hozzáférési tokenek, a frissítő tokenek és a személyes hozzáférési tokenek egy évig érvényesek. A webáruház-token egyáltalán nem jár le — addig él, amíg meg nem nyomod a Zseton újrafrissítése gombot, vagy törlöd a webáruházat. A hozzáférési tokent tárold gyorsítótárban, ahelyett hogy hívásonként újat kérnél; a token-végpont percenként 60 kérésre van korlátozva.

A kategóriáknak és a jellemzőknek létezniük kell, mielőtt egy termék hivatkozna rájuk. Előbb a kategóriákat küldd, aztán a jellemzőket, végül a termékeket. Ugyanez vonatkozik a tömeges készletfrissítésre is: minden SKU-nak léteznie kell már a webáruházon.

Igen, ha a /save végpontokat használod. A POST /products/save SKU-ra, a POST /orders/save pedig order_id-ra végez upsertet, így az újrapróbálkozás biztonságos, és az ismételt kézbesítés nem hoz létre duplikátumot. A sima POST /products és POST /orders végpont ezzel szemben 422-vel utasítja el a duplikátumot.

Egyedi webáruháznál nem. A készlet egy irányba halad, a boltodból az easySalesbe, tehát a boltod marad az igazság forrása. Ami visszajön, az rendelésszintű: státuszváltozás, fuvarlevél és számla, azokon a webhookokon keresztül, amelyekre feliratkozol.

Hasznos volt ez az útmutató?