# Bevezetés

Ez a leírás részletesen bemutatja, hogy a Webshippy különböző API végpontjait felhasználva, hogyan kommunikálhatsz külső rendszerekből a Webshippy rendszerével.

## Használható API végpontok

* [**Order API**](https://apidoc.webshippy.com/webaruhaz-integraciok/order-api)**:** Rendelések szinkronizálása (létrehozás, módosítás, törlés, lekérdezés).
* [**Product API**](https://apidoc.webshippy.com/webaruhaz-integraciok/product-api)**:** Termékek szinkronizálása (létrehozás, módosítás, törlés, lekérdezés, készletinfó).
* [**Inventory Transfer API**](https://apidoc.webshippy.com/webaruhaz-integraciok/inventory-transfer-api)**:** Áruszállítások kezelése (létrehozás, módosítás, törlés, lekérdezés).
* [**External Inventory API**](https://apidoc.webshippy.com/webaruhaz-integraciok/external-inventory-api)**:** Külső raktárról elérhető készlet mennyiség beállítása.
* [**GetStock API**](https://apidoc.webshippy.com/webaruhaz-integraciok/getstock-api): Termék-készlet adatok tömeges lekérdezése.
* [**Get Brack History API**](https://apidoc.webshippy.com/webaruhaz-integraciok/get-brack-history-api): Selejt előzmény(ek) lekérdezése.
* [**Create Bundle API**](https://apidoc.webshippy.com/webaruhaz-integraciok/create-bundle-api): Termékcsomag létrehozása.
* [**Marketplace Price Change API**](https://apidoc.webshippy.com/webaruhaz-integraciok/dropshippy-price-change-api): Marketplace nagyker árak módosítása.
* [**Marketplace Transaction API**](https://apidoc.webshippy.com/webaruhaz-integraciok/marketplace-transaction-api)**:** Ezzel a funkcióval lekérdezhetőek a Marketplace tranzakciók részletes adatai.
* [**Shipping Mode API**](https://apidoc.webshippy.com/webaruhaz-integraciok/shipping-api): Szállítási mód kiválasztása.
* [**Push API**](https://apidoc.webshippy.com/webaruhaz-integraciok/push-api): Értesítés a megrendelés és szállítás státuszváltozásáról.
* [**Track Info API**](https://apidoc.webshippy.com/webaruhaz-integraciok/track-info-api): A megrendelések szállításának státuszát lehet lekérdezni.

#### Használandó API URL -ek

* API XML url: `https://app.webshippy.com/wspyapi/{ACTION}/xml`
* API JSON url: `https://app.webshippy.com/wspyapi/{ACTION}/json`

## Autentikáció - API kulcs generálása

A Webshippy API minden esetben egy külön értékesítési csatornaként jelenik meg a Webshippy Admin rendszerében. Ahhoz, hogy sikeres adatkommunikáció jöjjön létre, rendelkeznünk kell egy saját API kulcssal. Ennek létrehozásához navigálj a Beállítások / Webáruházak kezelése oldalra, majd a Webshippy.API gombra kattinva hozz létre egy új értékesítési csatornát. Az alapadatok kitöltése után a rendszer legenerálja az API kulcsot, ami innentől kezdve készen áll a kommunikációra.

## Az API hívások működése

A WSAPI a biztonság érdekében HTTPS csatornát használ, az UTF-8 karakterkódolást támogatja, valamint képes kommunikálni XML és JSON formátumban is.

* API XML url: `https://app.webshippy.com/wspyapi/{ACTION}/xml`
* API JSON url: `https://app.webshippy.com/wspyapi/{ACTION}/json`

Ahol az {ACTION} helyőrző a kért funkciót/akciót jelenti.

Az API minden esetben POST metódust használ, és az átadott adatokat a `request` mező tartalmazza JSON vagy XML String-ként.

**Példa a PHP alapú API hívásra:**

```
$request = '<?xml version="1.0" encoding="UTF-8"?>
<request>  
  <apiKey>apiKey</apiKey>  
  <filters>    
    <lastMod>2018-01-01 00:00:00</lastMod>  
  </filters>
</request>';$ch = curl_init();curl_setopt($ch, CURLOPT_URL, 'https://app.webshippy.com/wspyapi/GetProduct/xml/');curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['request' => $request]));$result = curl_exec($ch);
```

### Példa: Áruszállítás létrehozása

Ezzel a funkcióval áruszállítások hozhatóak létre.

| Mező        | Kötelező? | Leírás                                        |
| ----------- | --------- | --------------------------------------------- |
| `apiKey`    | Igen      | Az API kulcs.                                 |
| `direction` | Igen      | A létrehozandó áruszállítás iránya (in/out).  |
| `note`      | Nem       | Megjegyzés az áruszállításhoz.                |
| `date`      | Igen      | Az áruszállítás várható dátuma.               |
| `quantity`  | Igen      | Szállított termék mennyisége (pozitív egész). |
| `sku`       | Igen      | Szállított termék SKU-ja (cikkszáma).         |

**XML** esetén:

Url: `https://app.webshippy.com/wspyapi/CreateTransfer/xml`

Kérés:

```
<?xml version="1.0" encoding="utf-8"?>
<request> 
  <apiKey>api-key-comes-here</apiKey> 
  <transfer>     
    <direction>in</direction>     
    <note>délután érkezik</note>     
    <date>2018-01-01</date>     
    <products>       
      <elem>         
        <quantity>3</quantity>         
        <sku>4345</sku>       
      </elem>       
      <elem>         
        <quantity>1</quantity>         
        <sku>67657</sku>       
      </elem>       
      <elem>         
        <quantity>1</quantity>         
        <sku>56464</sku>       
      </elem>     
    </products> 
  </transfer>
</request>
```

Válasz (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>  
  <status>success</status>  
  <message>    
    <elem>The transfer creation was successful</elem>  
  </message>  
  <transfer_id>74210</transfer_id>
</response>
```

**JSON** esetén:

Url: `https://app.webshippy.com/wspyapi/CreateTransfer/json`

Kérés:

```
{  "apiKey": "api-key-comes-here",  "transfer": {  "direction": "in",  "transfer_id": 59,  "note": "délután viszik el",  "date": "2018-08-20",  "products": [   {     "quantity": 3,     "sku": 343545   },   {     "quantity": 2,     "sku": 654564   },   {     "quantity": 1,     "sku": 32432432   }   ] }}
```

Válasz (példa):

```
{  "status": "success",  "message": [    "The transfer creation was successful"  ],  "transfer_id": 176}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://apidoc.webshippy.com/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
