# 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**](/webaruhaz-integraciok/order-api)**:** Rendelések szinkronizálása (létrehozás, módosítás, törlés, lekérdezés).
* [**Product API**](/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**](/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**](/webaruhaz-integraciok/external-inventory-api)**:** Külső raktárról elérhető készlet mennyiség beállítása.
* [**GetStock API**](/webaruhaz-integraciok/getstock-api): Termék-készlet adatok tömeges lekérdezése.
* [**Get Brack History API**](/webaruhaz-integraciok/get-brack-history-api): Selejt előzmény(ek) lekérdezése.
* [**Create Bundle API**](/webaruhaz-integraciok/create-bundle-api): Termékcsomag létrehozása.
* [**Marketplace Price Change API**](/webaruhaz-integraciok/dropshippy-price-change-api): Marketplace nagyker árak módosítása.
* [**Marketplace Transaction API**](/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}
```


# Order API

Rendelésekkel kapcsolatos API funkciók

### **Rendelések lekérdezése**

| Szűrési feltétel | Leírás                                                                                                                                         |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `page`           | <p>A lekérdezendő oldal sorszáma.</p><p>(Alapértelmezett: 0.)</p>                                                                              |
| `limit`          | <p>Az egy oldalon szereplő találatok száma.</p><p>(Alapértelmezett: 100, maximum: 1000.)</p>                                                   |
| `wspyId`         | <p>Belső azonosító.</p><p>A rendelés létrehozásakor az API visszaadja válaszban.</p>                                                           |
| `referenceId`    | <p>Külső azonosító.</p><p>A rendelés létrehozásakor megadott azonosító.</p>                                                                    |
| `referenceName`  | <p>A rendelés neve.</p><p>A rendelés létrehozásakor megadott név.</p>                                                                          |
| `paymentStatus`  | <p>A fizetési státusz, lehetséges értékek:</p><ul><li><code>paid</code>, </li><li><code>pending</code>, </li><li>stb.</li></ul>                |
| `paymentGateway` | <p>A fizetés módja, lehetséges értékek:</p><ul><li><code>cod</code>, </li><li><code>card</code>, </li><li>stb.</li></ul>                       |
| `lastMod`        | <p>Az utolsó módosítás dátuma.</p><p>A megadott dátum után létrehozott vagy módosított rendeléseket listázza ki, akár egyszerre többet is.</p> |

A táblázatban megadott szűrési feltételek `ÉS` kapcsolatban állnak egymással, csak azokat a szűrőket kell megadni, amelyekre szűrni szeretnénk.

**XML** esetén:

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

Kérés:

```
<?xml version="1.0" encoding="utf-8"?>
<request>  
  <apiKey>api-key-comes-here</apiKey>  
  <page>0</page>  
  <limit>10</limit>  
  <filters>    
    <wspyId></wspyId>    
    <referenceId></referenceId>    
    <referenceName></referenceName>    
    <paymentStatus></paymentStatus>    
    <paymentGateway></paymentGateway>    
    <lastMod>2018-01-01 00:00:00</lastMod>  
  </filters>
</request>
```

Válasz (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>  
  <status>success</status>  
  <message/>  
  <result>    
    <elem>      
      <wspyId>176</wspyId>      
      <status>fulfilled</status>      
      <referenceId>87962-110037</referenceId>      
      <referenceName>87962-110037</referenceName>      
      <createdAt>2018-02-14 13:04:33</createdAt>      
      <fulfilledAt>2018-02-20 16:27:17</fulfilledAt>      
      <paymentGateway>cod</paymentGateway>      
      <paymentStatus>pending</paymentStatus>      
      <paymentTotalPrice>8940.00</paymentTotalPrice>      
      <paymentTotalDiscounts>1000.00</paymentTotalDiscounts>      
      <paymentCurrency>HUF</paymentCurrency>      
      <shippingMode>GLS-HU</shippingMode>   
      <packPoint>GLS</packPoint>
      <packPointId>123</packPointId>
      <shippingPrice>1290.00</shippingPrice>      
      <shippingVat>0.27</shippingVat>      
      <paidAt/>      
      <codAmount>1500.00</codAmount>      
      <codCurrency>HUF</codCurrency>      
      <codStatus/>      
      <codReceivedAt/>      
      <trackingCode>WSHPY176</trackingCode>      
      <invoiceStatus/>      
      <invoiceCreatedAt>2018-02-16 00:00:00</invoiceCreatedAt>      
      <invoiceNo>inv#00001</invoiceNo>      
      <refusedInvoiceNo/>      
      <invoiceUrl/>      
      <refusedDate/>      
      <updatedAt>2018-02-26 12:18:17</updatedAt>      
      <products>        
        <elem>          
          <sku>szuperhos-polo-piros-xl</sku>          
          <productName>Szuperhős Póló</productName>          
          <variantName>Piros, XL</variantName>          
          <priceGross>1890.00</priceGross>          
          <vat>0.27</vat>          
          <quantity>3</quantity>        
        </elem>        
        <elem>          
          <sku>cicanaci-one-size</sku>          
          <productName>CicaNaci - One Size</productName>          
          <variantName/>          
          <priceGross>990.00</priceGross>          
          <vat>0.27</vat>          
          <quantity>1</quantity>        
        </elem>        
        <elem>          
          <sku>akcios-sapka</sku>          
          <productName>Akciós sapka</productName>          
          <variantName>Fekete</variantName>          
          <priceGross>1990.00</priceGross>          
          <vat>0.27</vat>          
          <quantity>1</quantity>        
        </elem>      
      </products>    
    </elem>    
    <elem>      
      [ ... ]    
    </elem>    
      [ ... ]  
  </result>
</response>
```

Hibás kérés esetén (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>  
  <status>error</status>  
  <message>    
    <elem>[field: lastMod]The field must be a valid datetime (eg. yyyy-mm-dd hh:ii:ss)</elem>  
  </message>
</response>
```

**JSON** esetén:

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

Kérés:

```
{
  "apiKey": "api-key-comes-here",
  "page": "0",
  "limit": "10",
  "filters": {
    "wspyId": "",
    "referenceId": "",
    "referenceName": "",
    "paymentStatus": "",
    "paymentGateway": "",
    "lastMod": "2018-01-01 00:00:00"
  }
}
```

Válasz (példa):

```
{
   "status": "success",
   "message": [],
   "result": [
     {
       "wspyId": 176,
       "status": "fulfilled",
       "referenceId": "87962-110037",
       "referenceName": "87962-110037",
       "createdAt": "2018-02-14 13:04:33",
       "fulfilledAt": "2018-02-20 16:27:17",
       "paymentGateway": "cod",
       "paymentStatus": "pending",
       "paymentTotalPrice": 8940,
       "paymentTotalDiscounts": 1000,
       "paymentCurrency": "HUF",
       "shippingMode": "GLS-HU",
       "packPoint": "GLS",
       "packPointId": "123",
       "shippingPrice": 1290,
       "shippingVat": 0.27,
       "paidAt": "",
       "codAmount": 1500,
       "codCurrency": "HUF",
       "codStatus": "",
       "codReceivedAt": "",
       "trackingCode": "WSHPY176",
       "invoiceStatus": "",
       "invoiceCreatedAt": "2018-02-16 00:00:00",
       "invoiceNo": "inv#00001",
       "refusedInvoiceNo": "",
       "invoiceUrl": "",
       "refusedDate": "",
       "updatedAt": "2018-02-26 12:18:17",
       "products": [
         {
           "sku": "szuperhos-polo-piros-xl",
           "productName": "Szuperhős Póló",
           "variantName": "Piros, XL",
           "priceGross": 1890,
           "vat": 0.27,
           "quantity": 3
         },
         {
           "sku": "cicanaci-one-size",
           "productName": "CicaNaci - One Size",
           "variantName": "",
           "priceGross": 990,
           "vat": 0.27,
           "quantity": 1
         },
         {
           "sku": "akcios-sapka",
           "productName": "Akciós sapka",
           "variantName": "Fekete",
           "priceGross": 1990,
           "vat": 0.27,
           "quantity": 1
         }
       ]
     }
   ]
 }
```

Hibás kérés esetén (példa):

```
{  
  "status": "error",
  "message": [
     "[field: lastMod]The field must be a valid datetime (eg. yyyy-mm-dd hh:ii:ss)"  
  ]
}
```

| Mező               | Leírás                                                                                                                                                                                                                                                                                                      |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `status`           | <p>A művelet eredménye, lehetséges értékek: </p><ul><li><code>success</code>: sikeres,</li><li><code>error</code>: hiba.</li></ul>                                                                                                                                                                          |
| `message`          | Hibás kérés esetén ebbe a mezőbe kerülnek a hibaüzenetek.                                                                                                                                                                                                                                                   |
| `result`           | Sikeres kérés esetén ebbe a mezőbe kerül a lekérdezés eredménye, minden esetben tömbként kerül a válaszba.                                                                                                                                                                                                  |
| `wspyId`           | <p>Belső azonosító.</p><p>A rendelés létrehozásakor az API visszaadja válaszban.</p>                                                                                                                                                                                                                        |
| `status`           | <p>A rendelés státusza, lehetséges értékek:</p><ul><li><code>new</code>: új,</li><li><code>draft</code>: piszkozat,</li><li><code>ready</code>: kész,</li><li><code>packing</code>: csomagolás alatt,</li><li><code>fulfilled</code>: teljesített,</li><li><code>refused</code>: visszautasított.</li></ul> |
| `referenceId`      | <p>Külső azonosító.</p><p>A rendelés létrehozásakor megadott azonosító.</p>                                                                                                                                                                                                                                 |
| `referenceName`    | <p>A rendelés neve.</p><p>A rendelés létrehozásakor megadott név.</p>                                                                                                                                                                                                                                       |
| `createdAt`        | A rendelés létrehozásának (eredeti) ideje.                                                                                                                                                                                                                                                                  |
| `fulfilledAt`      | A rendelés csomagolt állapotba kerülésének ideje.                                                                                                                                                                                                                                                           |
| `paymentStatus`    | <p>A fizetési státusz, lehetséges értékek:</p><ul><li><code>paid</code>, </li><li><code>pending</code>, </li><li>stb.</li></ul>                                                                                                                                                                             |
| `paidAt`           | Amennyiben `paid` (fizetve), a kifizetés ideje.                                                                                                                                                                                                                                                             |
| `codAmount`        | Az utánvét összege.                                                                                                                                                                                                                                                                                         |
| `codCurrency`      | Az utánvét pénzneme.                                                                                                                                                                                                                                                                                        |
| `codStatus`        | Az utánvét státusza.                                                                                                                                                                                                                                                                                        |
| `codReceivedAt`    | Az utánvét beérkezésének ideje.                                                                                                                                                                                                                                                                             |
| `trackingCode`     | A futárszolgálat nyomon követő kódja. Több csomagos megrendelés esetén a főcsomag kódja.                                                                                                                                                                                                                    |
| `invoiceUrl`       | <p>Számla link a letöltéshez.</p><p><a href="http://example.com/invoice.pdf"><https://example.com/invoice.pdf></a></p>                                                                                                                                                                                      |
| `invoiceStatus`    | <p>A számlázási állapot, lehetséges értékek:</p><ul><li><code>uninvoiced</code>: nincs számlázva,</li><li><code>invoiced</code>: számlázva,</li><li><code>storno</code>: sztornózva.</li></ul>                                                                                                              |
| `invoiceCreatedAt` | A számla létrehozásának ideje.                                                                                                                                                                                                                                                                              |
| `invoiceNo`        | A számla azonosítója.                                                                                                                                                                                                                                                                                       |
| `refusedInvoiceNo` | A sztornó számla azonosítója.                                                                                                                                                                                                                                                                               |
| `refusedDate`      | A csomag visszaérkezésének ideje, és a sztornó számla kelte.                                                                                                                                                                                                                                                |
| `updatedAt`        | A rendszerünkben történt utolsó módosítás dátuma.                                                                                                                                                                                                                                                           |
| `products`         | A rendelés termékei, minden esetben tömb.                                                                                                                                                                                                                                                                   |
| `sku`              | A termék SKU-ja (cikkszáma).                                                                                                                                                                                                                                                                                |
| `productName`      | A termék neve.                                                                                                                                                                                                                                                                                              |
| `variantName`      | A termékvariáns neve.                                                                                                                                                                                                                                                                                       |
| `priceGross`       | A termék bruttó ára.                                                                                                                                                                                                                                                                                        |
| `vat`              | Az ÁFA kulcs.                                                                                                                                                                                                                                                                                               |
| `quantity`         | A rendelt mennyiség.                                                                                                                                                                                                                                                                                        |
| `serial`           | <p>A termékhez csomagoláskor rögzített egyedi azonosító.</p><p>(Opcionális.)</p>                                                                                                                                                                                                                            |

### **Rendelések létrehozása, módosítása**

Ezzel a funkcióval egyszerre lehet létrehozni és módosítani rendeléseket. Amennyiben a megadott `referenceId`-val még nem szerepel nálunk rendelés, akkor az API létrehozza. Amennyiben már szerepel, és a létező rendelés státusza új vagy piszkozat, valamint még nem történt rajta manuális módosítás, akkor módosítja azt. Sikeres létrehozás, vagy módosítás esetén az API visszaadja a rendelés belső azonosítóját.

<table data-header-hidden><thead><tr><th>Mező</th><th width="115.33333333333331">Kötelező?</th><th>Leírás</th></tr></thead><tbody><tr><td>Mező</td><td>Kötelező?</td><td>Leírás</td></tr><tr><td><code>apiKey</code></td><td>Igen</td><td>Az API kulcs.</td></tr><tr><td><code>order</code></td><td>Igen</td><td>A létrehozandó vagy módosítandó rendelés adatai.</td></tr><tr><td><code>referenceId</code></td><td>Igen</td><td><p>Külső azonosító. </p><p>Szabadszavas, ajánlott a megrendelés azonosítójának használata.</p></td></tr><tr><td><code>referenceName</code></td><td>Nem</td><td><p>A rendelés neve.</p><p>A rendelés létrehozásakor megadott név.</p><p>Szabadszavas, ajánlott a megrendelés azonosítójának használata, vagy egy abból képzett név.</p><p>(pl.:<code>RENDELES#1221</code>)</p></td></tr><tr><td><code>createdAt</code></td><td>Igen</td><td>A rendelés létrejöttének ideje.</td></tr><tr><td><code>shipping</code></td><td>Igen</td><td>A szállítási adatai.</td></tr><tr><td><code>shipping.name</code></td><td>Igen</td><td>A címzett neve.</td></tr><tr><td><code>shipping.company</code></td><td>Nem</td><td>Cég esetén, a cégnév.</td></tr><tr><td><code>shipping.email</code></td><td>Nem</td><td>E-mail cím.</td></tr><tr><td><code>shipping.phone</code></td><td>Nem</td><td>Telefonszám.</td></tr><tr><td><code>shipping.countryCode</code></td><td>Igen</td><td><p>Kétjegyű országkód. </p><p>(pl.: <code>HU</code>)</p></td></tr><tr><td><code>shipping.stateOrProvinceCode</code></td><td>Nem</td><td><p>Állam, tartomány.</p><p>(Főleg külföldi címzés esetén fontos.)</p></td></tr><tr><td><code>shipping.zip</code></td><td>Igen</td><td>Irányítószám.</td></tr><tr><td><code>shipping.city</code></td><td>Igen</td><td>Város.</td></tr><tr><td><code>shipping.address1</code></td><td>Igen</td><td>A cím első sora.</td></tr><tr><td><code>shipping.address2</code></td><td>Nem</td><td>A cím második sora.</td></tr><tr><td><code>shipping.note</code></td><td>Nem</td><td><p>A címhez tartozó megjegyzés, <code>&#x3C;![CDATA[]]></code>.</p><p>(Használata ajánlott.)</p></td></tr><tr><td><code>shipping.mode</code></td><td>Nem</td><td><p>A szállítási mód, lehetséges értékek:</p><ul><li><code>GLS-HU</code>,</li><li><code>DPD-HU,</code></li><li><code>FOXPOST-HU</code>,</li><li><code>PRIO</code>, </li><li><code>DHL</code>,</li><li><code>SPRINTER</code>,</li><li><code>GLS-SK</code>,</li><li><code>MPL.</code></li></ul></td></tr><tr><td><code>shipping.packPoint</code></td><td>Nem</td><td><p>A csomagpont fajtája, lehetséges értékek: </p><ul><li><code>GLS</code>,</li><li><code>FOXPOST-HU</code>,</li><li><code>CSOMAGKULDO</code>,</li><li><code>MPL</code>,</li><li><code>SPRINTER,</code></li><li><code>EUSHIPMENTS-328-ROMANIA-SAMEDAY,</code></li><li><code>EUSHIPMENTS-643-POLAND-INPOST-LOCKERS,</code></li><li><code>EUSHIPMENTS-722-CROATIA-GLS-LOCKERS,</code></li><li><code>EUSHIPMENTS-15-BULGARIA-ECONT.</code></li></ul></td></tr><tr><td><code>shipping.packPointId</code></td><td>Nem</td><td>A csomagpont azonosító Id-je.</td></tr><tr><td><code>billing</code></td><td>Nem*</td><td><p>A számlázás adatok.</p><p>(Kiszervezett számlázás esetén kötelező.)</p></td></tr><tr><td><code>billing.name</code></td><td>Igen</td><td>A számlázási név.</td></tr><tr><td><code>billing.company</code></td><td>Nem</td><td>Cég esetén, a cégnév.</td></tr><tr><td><code>billing.phone</code></td><td>Nem</td><td>Telefonszám.</td></tr><tr><td><code>billing.taxNumber</code></td><td>Nem</td><td>Adószám.</td></tr><tr><td><code>billing.countryCode</code></td><td>Igen</td><td><p>Kétjegyű országkód. </p><p>(pl.: <code>HU</code>)</p></td></tr><tr><td><code>billing.zip</code></td><td>Igen</td><td>Irányítószám.</td></tr><tr><td><code>billing.city</code></td><td>Igen</td><td>Város.</td></tr><tr><td><code>billing.address1</code></td><td>Igen</td><td>A cím első sora.</td></tr><tr><td><code>billing.address2</code></td><td>Nem</td><td>A cím második sora.</td></tr><tr><td><code>payment</code></td><td>Igen</td><td>A fizetéssel kapcsolatos információk.</td></tr><tr><td><code>payment.paymentMode</code></td><td>Igen</td><td><p>A fizetési mód, szabadszavas, intelligens felismerést használ, azonban az ajánlott értékek:</p><ul><li> <code>cod</code>, </li><li><code>card</code>, </li><li><code>paypal</code>, </li><li>stb.</li></ul></td></tr><tr><td><code>payment.codAmount</code></td><td>Nem</td><td><p>Az utánvét összege. </p><p>A végösszegtől eltérhet, ez az érték kerül a futárhoz utánvét összegeként.</p></td></tr><tr><td><code>payment.paymentStatus</code></td><td>Igen</td><td><p>A fizetés státusza, lehetséges értékek: </p><ul><li><code>paid</code>, </li><li><code>pending</code>. </li></ul><p>Egyéb esetben egyeztetés szükséges.</p></td></tr><tr><td><code>payment.paidDate</code></td><td>Nem*</td><td><p>A fizetés ideje. </p><p><code>paid</code> (fizetve) státusz esetén kötelező. </p></td></tr><tr><td><code>payment.shippingPrice</code></td><td>Nem</td><td><p>A szállítási költség összege.</p><p>(Bruttó összeg, ami a vevői számlán szerepelni fog.)</p></td></tr><tr><td><code>payment.shippingVat</code></td><td>Nem</td><td>A szállítási költség ÁFA kulcsa.</td></tr><tr><td><code>payment.currency</code></td><td>Igen</td><td><p>A rendelés pénzneme, 3 karakteres (ISO) azonosító.</p><p>(pl.: <code>HUF</code>)</p></td></tr><tr><td><code>payment.discount</code></td><td>Nem</td><td>Kedvezmény a megrendelés végösszegéből.</td></tr><tr><td><code>products</code></td><td>Nem</td><td>A rendelés termékei.</td></tr><tr><td><code>products.sku</code></td><td>Igen</td><td>A termék SKU-ja (cikkszáma).</td></tr><tr><td><code>products.productName</code></td><td>Igen</td><td>A termék neve.</td></tr><tr><td><code>products.variantName</code></td><td>Nem</td><td>A termékvariáns neve.</td></tr><tr><td><code>products.priceGross</code></td><td>Igen</td><td>A termék bruttó egységára.</td></tr><tr><td><code>products.vat</code></td><td>Igen</td><td>A termék ÁFA kulcsa.</td></tr><tr><td><code>products.quantity</code></td><td>Igen</td><td>A termékből rendelt mennyiség.</td></tr><tr><td><code>invoiceUrl</code></td><td>Nem</td><td><p>Számla link a letöltéshez.</p><p><a href="http://example.com/invoice.pdf">https://example.com/invoice.pdf</a></p><p>Csak akkor van jelentősége, ha van Manuális PDF számlafeltöltő beállítva az API kapcsolathoz, mert ebben az esetben használja fel a rendszer.</p></td></tr><tr><td><code>attachmentUrl</code></td><td>Nem</td><td><p>Csatolmány link a letöltéshez.</p><p><a href="http://example.com/invoice.pdf">https://example.com/attachment.pdf</a></p><p>Egy rendeléshez 1 pdf melléklet csatolható és minden esetben nyomtatásra kerül.</p><p>(pl. A használati útmutató a termékhez.)</p></td></tr><tr><td><code>pdfSource</code></td><td>Nem</td><td><p>Pdf formátumú számla fájl base64 kódolással.</p><p>Csak akkor van jelentősége, ha van Manuális PDF számlafeltöltő beállítva az API kapcsolathoz, mert ebben az esetben használja fel a rendszer.</p></td></tr></tbody></table>

**XML** esetén:

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

Kérés:

```
<?xml version="1.0" encoding="utf-8"?>
<request>  
  <apiKey>api-key-comes-here</apiKey>  
  <order>    
    <referenceId>87962-110037</referenceId>    
    <referenceName>87962-110037</referenceName>    
    <createdAt>2018-02-14 13:04:33</createdAt>    
    <shipping>      
      <name>Kováts Béla</name>      
      <company>Virág Bt.</company>      
      <email>bela@viragbt.hu</email>      
      <phone>+36301234567</phone>      
      <countryCode>HU</countryCode>      
      <stateOrProvinceCode></stateOrProvinceCode>      
      <zip>1234</zip>      
      <city>Budapest</city>      
      <address1>Virág utca 25.</address1>      
      <address2></address2>      
      <note>
        <![CDATA[Szállításkor kérem a futárt, hogy ne csengessen!!!]]>
      </note>      
      <mode>GLS-HU</mode>    
    </shipping>    
    <billing>      
      <name>Kováts Béla</name>      
      <company>Virág Bt.</company>      
      <phone>+36301234567</phone>      
      <countryCode>HU</countryCode>      
      <zip>1234</zip>      
      <city>Budapest</city>      
      <address1>Virág utca 25.</address1>      
      <address2></address2>    
    </billing>    
    <payment>      
      <paymentMode>COD</paymentMode>      
      <codAmount>1500.00</codAmount>      
      <paymentStatus>pending</paymentStatus>      
      <paidDate></paidDate>      
      <shippingPrice>1290.00</shippingPrice>      
      <shippingVat>0.27</shippingVat>      
      <currency>HUF</currency>      
      <discount>1000.00</discount>    
    </payment>    
    <products>      
      <elem>        
        <sku>szuperhos-polo-piros-xl</sku>        
        <productName>Szuperhős Póló</productName>        
        <variantName>Piros, XL</variantName>        
        <priceGross>1890.00</priceGross>        
        <vat>0.27</vat>        
        <quantity>3</quantity>      
      </elem>      
      <elem>        
        <sku>cicanaci-one-size</sku>        
        <productName>CicaNaci - One Size</productName>       
        <priceGross>990.00</priceGross>        
        <vat>0.27</vat>        
        <quantity>1</quantity>      
      </elem>      
      <elem>        
        <sku>akcios-sapka</sku>        
        <productName>Akciós sapka</productName>        
        <variantName>Fekete</variantName>        
        <priceGross>1990.00</priceGross>        
        <vat>0.27</vat>        
        <quantity>1</quantity>      
      </elem>    
    </products>  
  </order>
</request>
```

Válasz (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>  
  <status>success</status>  
  <message>    
    <elem>The order creation was successful</elem>  
  </message>  
  <wspyId>176</wspyId>
</response>
```

**JSON** esetén

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

Kérés:

```
{  
"apiKey": "api-key-comes-here",
  "order": {    
    "referenceId": "87962-110037",    
    "referenceName": "87962-110037",    
    "createdAt": "2018-02-14 13:04:33",    
    "shipping": {
      "name": "Kov\u00e1ts B\u00e9la",      
      "company": "Vir\u00e1g Bt.",      
      "email": "bela@viragbt.hu",      
      "phone": "+36301234567",      
      "countryCode": "HU",      
      "stateOrProvinceCode": "",      
      "zip": "1234",      
      "city": "Budapest",      
      "address1": "Vir\u00e1g utca 25.",      
      "address2": "",      
      "note": "",      
      "mode": "GLS-HU"    
    },    
    "billing": {      
      "name": "Kov\u00e1ts B\u00e9la",      
      "company": "Vir\u00e1g Bt.",      
      "phone": "+36301234567",      
      "countryCode": "HU",      
      "zip": "1234",      
      "city": "Budapest",      
      "address1": "Vir\u00e1g utca 25.",      
      "address2": ""    
    },    
    "payment": {      
      "paymentMode": "COD",      
      "codAmount": "1500.00",      
      "paymentStatus": "pending",      
      "paidDate": "",      
      "shippingPrice": "1290.00",      
      "shippingVat": "0.27",      
      "currency": "HUF",      
      "discount": "1000.00"    
    },    
    "products": [      
      {        
        "sku": "szuperhos-polo-piros-xl",        
        "productName": "Szuperh\u0151s P\u00f3l\u00f3",        
        "variantName": "Piros, XL",        
        "priceGross": "1890.00",        
        "vat": "0.27",        
        "quantity": "3"      
      },      
      {        
        "sku": "cicanaci-one-size",        
        "productName": "CicaNaci - One Size",        
        "priceGross": "990.00",        
        "vat": "0.27",        
        "quantity": "1"      
      },      
      {        
        "sku": "akcios-sapka",        
        "productName": "Akci\u00f3s sapka",        
        "variantName": "Fekete",        
        "priceGross": "1990.00",        
        "vat": "0.27",        
        "quantity": "1"      
      }    
    ]  
  }
}
```

Válasz (példa):

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

További válaszlehetőségek:

* `The order creation was successful`
* `The order modification was successful`

### **Rendelés törlése**

**XML**esetén:

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

Kérés:

```
<?xml version="1.0" encoding="utf-8"?>
<request> 
  <apiKey>api-key-comes-here</apiKey> 
  <filters>    
    <wspyId>917872738</wspyId>  
  </filters>
</request>
```

Válasz:

```
<?xml version="1.0" encoding="utf-8"?>
<response>
  <status>error</status>
  <message>
    <elem>Error: Order is already modified!</elem>
  </message>
  <wspyId>12345678</wspyId>
  <referenceId/>
  <referenceName>WSP#12345678</referenceName>
</response>
```

**JSON** esetén:

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

Kérés:

```
{  
"apiKey": "api-key-comes-here",  
  "filters": {    
    "wspyId": "917872738"  
  }
}
```

Válasz (példa):

```
{
    "status": "error",
    "message":  [
        {
          "Error": "Order is already modified!"
        }
    ]
}
```

| Szűrési feltétel | Leírás                                                                               |
| ---------------- | ------------------------------------------------------------------------------------ |
| `wspyId`         | <p>Belső azonosító.</p><p>A rendelés létrehozásakor az API visszaadja válaszban.</p> |
| `referenceId`    | <p>Külső azonosító. </p><p>A rendelés létrehozásakor megadott azonosító.</p>         |
| `referenceName`  | <p>A rendelés neve. </p><p>A rendelés létrehozásakor megadott név.</p>               |

{% hint style="info" %}
Egyszerre csak egy rendelés törölhető! Olyan rendelést, amit a Webshippy rendszer felületén a felhasználó manuálisan módosított, API hívással nem lehet törölni.&#x20;

Csak "new" vagy "draft" státusszal rendelkező megrendelések törölhetőek.
{% endhint %}


# Product API

Termékekkel kapcsolatos API funkciók

### **Termékek lekérdezése**

| Szűrési feltétel | Leírás                                                                                                                                       |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `page`           | <p>A lekérdezendő oldal sorszáma.</p><p>(Alapértelmezett: 0.)</p>                                                                            |
| `limit`          | <p>Az egy oldalon szereplő találatok száma.</p><p>(Alapértelmezett: 100, maximum: 1000.)</p>                                                 |
| `wspyId`         | <p>Belső azonosító.</p><p>A termék létrehozásakor az API visszaadja válaszban.</p>                                                           |
| `referenceId`    | <p>Külső azonosító.</p><p>A termék létrehozásakor megadott azonosító.</p>                                                                    |
| `productName`    | <p>A termék neve.</p><p>A termék létrehozásakor megadott név (SQL wildcard-ok engedélyezettek).</p>                                          |
| `sku`            | A termék SKU-ja (cikkszáma).                                                                                                                 |
| `barcode`        | A termék vonalkódja.                                                                                                                         |
| `lastMod`        | <p>Az utolsó módosítás dátuma.</p><p>A megadott dátum után létrehozott vagy módosított termékeket listázza ki, akár egyszerre többet is.</p> |
| `getAllProduct`  | Minden termék lekérdezése, nem csak a store API kulcsra leszűrve (true, false).                                                              |

A táblázatban megadott szűrési feltételek `ÉS` kapcsolatban állnak egymással, csak azokat a szűrőket kell megadni, amelyekre szűrni szeretnénk.

**XML** esetén:

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

Kérés:

```
<?xml version="1.0" encoding="utf-8"?>
<request>  
  <apiKey>api-key-comes-here</apiKey>  
  <page>0</page>  
  <limit>10</limit>  
  <filters>    
    <wspyId></wspyId>    
    <referenceId></referenceId>    
    <productName></productName>    
    <sku></sku>    
    <barcode></barcode>    
    <lastMod>2018-01-01 00:00:00</lastMod>  
  </filters>
</request>
```

Válasz (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>  
  <status>success</status>  
  <message/>  
  <result>    
    <elem>      
      <wspyId>74210</wspyId>      
      <referenceId>1231</referenceId>      
      <sku>szuperhos-polo-piros-xl</sku>      
      <barcode>126510305031</barcode>      
      <productName>Szuperhős Póló</productName>      
      <variantName>Piros, XL</variantName>   
      <hasSerial>no</hasSerial>      
      <dutiable>yes</dutiable>      
      <taricCode>12345</taricCode>      
      <lowStock>5</lowStock>     
      <price>1200.00</price>      
      <vat>0.27</vat>      
      <currency>HUF</currency>      
      <isAdr>yes</isAdr>      
      <adrCode>4</adrCode>      
      <adrQuantity>2</adrQuantity>      
      <coolingDemand>none</coolingDemand>      
      <isFragile>no</isFragile>      
      <category>Divat és ruházat</category>      
      <subCategory>Gyermek divat</subCategory>      
      <subSubCategory>Overál</subSubCategory>      
      <keepQuantity>5</keepQuantity>      
      <dropshippyWholesalePrice>1000.00</dropshippyWholesalePrice>      
      <dropshippyWholesaleVat>0.27</dropshippyWholesaleVat>      
      <dropshippyRecommendedPrice>1200.00</dropshippyRecommendedPrice>      
      <dropshippyPromotion>no</dropshippyPromotion>      
      <productDescription>Szuperhős Póló leírás</productDescription>    
      <type>product</type>      
      <productType>clothes</productType>		
      <imageUrls>https://micoedward.com/wp-content/uploads/2018/04/Love-your-product.png;https://www.noto.design/wp-content/uploads/18-06-14_Heritage_Render_Header-1-1100x619.jpg</imageUrls>      
      <quantity>191</quantity>      
      <available_quantity>189</available_quantity>      
      <reserved_by_orders>2</reserved_by_orders>      
      <updatedAt>2018-03-12 11:59:35</updatedAt>    
    </elem>    
    <elem>      
      <wspyId>74211</wspyId>      
      <referenceId>1232</referenceId>      
      <sku>cicanaci-one-size</sku>      
      <barcode>126510305032</barcode>      
      <productName>CicaNaci - One Size</productName>      
      <variantName/>  <hasSerial>no</hasSerial>      
      <dutiable>yes</dutiable>      
      <taricCode>12345</taricCode>      
      <lowStock>5</lowStock>      
      <price>1200.00</price>      
      <vat>0.27</vat>      
      <currency>HUF</currency>      
      <isAdr>yes</isAdr>      
      <adrCode>4</adrCode>      
      <adrQuantity>2</adrQuantity>      
      <coolingDemand>none</coolingDemand>      
      <isFragile>no</isFragile>      
      <category>Divat és ruházat</category>      
      <subCategory>Gyermek divat</subCategory>      
      <keepQuantity>5</keepQuantity>      
      <dropshippyWholesalePrice>1000.00</dropshippyWholesalePrice>      
      <dropshippyWholesaleVat>0.27</dropshippyWholesaleVat>      
      <dropshippyRecommendedPrice>1200.00</dropshippyRecommendedPrice>      
      <dropshippyPromotion>no</dropshippyPromotion>      
      <productDescription>CicaNaci - One Size</productDescription>    
      <type>product</type>      
      <productType>clothes</productType>		
      <imageUrls/>      
      <quantity>197</quantity>      
      <available_quantity>196</available_quantity>      
      <reserved_by_orders>1</reserved_by_orders>      
      <updatedAt>2018-03-12 11:59:32</updatedAt>    
    </elem>    
    <elem>      
      [ ... ]    
    </elem>    
    [ ... ]  
  </result>
</response>
```

Hibás kérés esetén (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>  
  <status>error</status>  
  <message>    
    <elem>[field: lastMod]The field must be a valid datetime (eg. yyyy-mm-dd hh:ii:ss)</elem>  
  </message>
</response>
```

**JSON** esetén:

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

Kérés:

```
{
  "apiKey": "api-key-comes-here",
  "page": "0",
  "limit": "10",
  "filters": {
    "wspyId": "",
    "referenceId": "",
    "productName": "",
    "sku": "",
    "barcode": "",
    "lastMod": "2018-01-01 00:00:00",
    "getAllProduct": true
  }
}
```

Válasz (példa):

```
{
  "status": "success",
  "message": [],
  "result": [
    {
      "wspyId": "74210",
      "referenceId": "1231",
      "sku": "szuperhos-polo-piros-xl",
      "barcode": "126510305031",
      "productName": "Szuperhős Póló",
      "variantName": "Piros, XL",
      "hasSerial": "no",
      "dutiable": "yes",
      "taricCode": "12345",
      "lowStock": "5",
      "price": "1200.00",
      "vat": "0.27",
      "currency": "HUF",
      "isAdr": "yes",
      "adrCode": "4",
      "adrQuantity": "2",
      "coolingDemand": "none",
      "isFragile": "no",
      "category": "Divat és ruházat",
      "subCategory": "Gyermek divat",
      "keepQuantity": "5",
      "dropshippyWholesalePrice": "1000.00",
      "dropshippyWholesaleVat": "0.27",
      "dropshippyRecommendedPrice": "1200.00",
      "dropshippyPromotion": "no",
      "productDescription": "Szuperhős Póló leírás",
      "type": "product",
      "productType": "clothes",
      "imageUrls": "https://micoedward.com/wp-content/uploads/2018/04/Love-your-product.png;https://www.noto.design/wp-content/uploads/18-06-14_Heritage_Render_Header-1-1100x619.jpg",
      "quantity": "191",
      "available_quantity": "189",
      "reserved_by_orders": "2",
      "updatedAt": "2018-03-12 11:59:35"
    },
    {
      "wspyId": "74211",
      "referenceId": "1232",
      "sku": "cicanaci-one-size",
      "barcode": "126510305032",
      "productName": "CicaNaci - One Size",
      "variantName": "",
      "hasSerial": "no",
      "dutiable": "yes",
      "taricCode": "12345",
      "lowStock": "5",
      "price": "1200.00",
      "vat": "0.27",
      "currency": "HUF",
      "isAdr": "yes",
      "adrCode": "4",
      "adrQuantity": "2",
      "coolingDemand": "none",
      "isFragile": "no",
      "category": "Divat és ruházat",
      "subCategory": "Gyermek divat",
      "subSubCategory": "Overál",
      "keepQuantity": "5",
      "dropshippyWholesalePrice": "1000.00",
      "dropshippyWholesaleVat": "0.27",
      "dropshippyRecommendedPrice": "1200.00",
      "dropshippyPromotion": "no",
      "productDescription": "CicaNaci - One Size",
      "type": "product",
      "productType": "clothes",
      "imageUrls": "",
      "quantity": "197",
      "available_quantity": "196",
      "reserved_by_orders": "1",
      "updatedAt": "2018-03-12 11:59:32"
    }
  ]
}
```

Hibás kérés esetén (példa):

```
{
  "status": "error",
  "message": [
    "[field: lastMod]The field must be a valid datetime (eg. yyyy-mm-dd hh:ii:ss)"
  ]
}
```

| Mező                         | Leírás                                                                                                                                                                                                                                                                      |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `status`                     | <p>A művelet eredménye, lehetséges értékek: </p><ul><li><code>success</code>: sikeres,</li><li><code>error</code>: hiba.</li></ul>                                                                                                                                          |
| `message`                    | Hibás kérés esetén ebbe a mezőbe kerülnek a hibaüzenetek.                                                                                                                                                                                                                   |
| `result`                     | Sikeres kérés esetén ebbe a mezőbe kerül a lekérdezés eredménye, minden esetben tömbként kerül a válaszba.                                                                                                                                                                  |
| `wspyId`                     | <p>Belső azonosító.</p><p>A termék létrehozásakor az API visszaadja válaszban.</p>                                                                                                                                                                                          |
| `referenceId`                | <p>Külső azonosító.</p><p>A termék létrehozásakor megadott azonosító.</p>                                                                                                                                                                                                   |
| `sku`                        | A termék SKU-ja (cikkszáma).                                                                                                                                                                                                                                                |
| `barcode`                    | <p>Termék vonalkódja(i). </p><p>Az első vonalkód a termék vonalkódja. A további vonalkódok, <strong>;</strong> \[pontosvessző] szeparátorral elválasztva, a termék alternatív vonalkódjai lesznek. <br>Formátum: \[a-zA-Z0-9-\_]<br>(pl.: HU-324;WSPY\_3456;12345; AAA)</p> |
| `productName`                | A termék neve.                                                                                                                                                                                                                                                              |
| `variantName`                | A termékvariáns neve.                                                                                                                                                                                                                                                       |
| `hasSerial`                  | <p>Rendelkezik-e a termék egyedi sorszámmal? Lehetséges értékek:</p><ul><li><code>yes</code>,</li><li><code>no</code>.</li></ul>                                                                                                                                            |
| `dutiable`                   | <p>Vámkezelendő-e a termék? Lehetséges értékek:</p><ul><li><code>yes</code>,</li><li><code>no</code>.</li></ul>                                                                                                                                                             |
| `taricCode`                  | A termék vámtarifaszáma.                                                                                                                                                                                                                                                    |
| `productType`                | Termékleírás a vámeljáráshoz.                                                                                                                                                                                                                                               |
| `lowStock`                   | <p>Megadható készletszint érték, ami alatt a termék szerepel a  termékkészlet utánpótlást figyelmeztető értesítésben.</p><p>Segíti a készleten tárolt termékek mennyiségének optimalizálását.</p>                                                                           |
| `price`                      | A termék eladási ára (nettó).                                                                                                                                                                                                                                               |
| `vat`                        | <p>ÁFA.</p><p>(pl.: 0.27)</p>                                                                                                                                                                                                                                               |
| `currency`                   | <p>Valuta. <br>Amennyiben nincs megadva (kitöltve), akkor az országnak megfelelő alapértelmezett pénznem.</p><p>(pl.: HUF, EUR, CZK, RON)</p>                                                                                                                               |
| `isAdr`                      | <p>Veszélyes árunak (ADR) számít-e a termék? Lehetséges értékek:</p><ul><li><code>yes</code>,</li><li><code>no</code>.</li></ul>                                                                                                                                            |
| `adrCode`                    | ADR kód.                                                                                                                                                                                                                                                                    |
| `adrQuantity`                | ADR mennyiség.                                                                                                                                                                                                                                                              |
| `coolingDemand`              | <p>A termék hűtést igényel, lehetséges értékek:</p><ul><li><code>refrigerator</code>,</li><li><code>freezer</code>,</li><li><code>none</code>.</li></ul>                                                                                                                    |
| `isFragile`                  | <p>Törékeny-e a termék? Lehetséges értékek:</p><ul><li><code>yes</code>,</li><li><code>no</code>.</li></ul>                                                                                                                                                                 |
| `categoryUniqueId`           | Kategória azonosító.                                                                                                                                                                                                                                                        |
| `category`                   | Termékcsoport.                                                                                                                                                                                                                                                              |
| `subCategory`                | Főkategória.                                                                                                                                                                                                                                                                |
| `sub_subCategory`            | Alkategória.                                                                                                                                                                                                                                                                |
| `keepQuantity`               | Foglalt saját készlet.                                                                                                                                                                                                                                                      |
| `dropshippyWholesalePrice`   | <p>Marketplace nagykereskedelmi ár.</p><p>(Nettó, forintban, csak nagykereskedő látja.)</p>                                                                                                                                                                                 |
| `dropshippyWholesaleVat`     | <p>Marketplace nagykereskedelmi ÁFA.</p><p>(pl: 0.27)</p>                                                                                                                                                                                                                   |
| `dropshippyRecommendedPrice` | <p>Marketplace ajánlott fogyasztói ár.</p><p>(Nettó, forintban, csak nagykereskedő látja.)</p>                                                                                                                                                                              |
| `dropshippyCatalogPrice`     | <p>Marketplace katalógus ár.</p><p>(A kiskereskedő részére.)</p>                                                                                                                                                                                                            |
| `dropshippyCatalogVat`       | <p>Marketplace katalógus ár ÁFA.</p><p>(A kiskereskedő részére.)</p>                                                                                                                                                                                                        |
| `productDescription`         | Termékleírás.                                                                                                                                                                                                                                                               |
| `type`                       | <p>A termék típusa, lehetséges értékek:</p><ul><li><code>product</code>,</li><li><code>virtual</code>.</li></ul>                                                                                                                                                            |
| `imageUrls`                  | <p>A termék kép linkek.</p><p>(<strong>;</strong> \[pontosvessző] szeparátorral elválasztva, maximum 6 darab link.)</p>                                                                                                                                                     |
| `quantity`                   | <p>A termék raktárkészlet állapota.</p><p>(A szabad készletet és a rendelésekhez lefoglalt mennyiségeket is tartalmazza.)</p>                                                                                                                                               |
| `available_quantity`         | <p>A termék szabad készletét tartalmazza.</p><p>(A rendelésekhez már lefoglalt mennyiségeket nem tartalmazza.)</p>                                                                                                                                                          |
| `external_quantity`          | <p>A termék külső készletről beszerezhető mennyisége.</p><p>(1-3 napos beszállítással teljesíthető.)</p>                                                                                                                                                                    |
| `reserved_by_orders`         | A termék készletből rendelésekhez lefoglalt mennyiség.                                                                                                                                                                                                                      |
| `updatedAt`                  | A termék utolsó módosításának ideje.                                                                                                                                                                                                                                        |

### **Termékek létrehozása, módosítása**

Ezzel a funkcióval egyszerre lehet létrehozni és módosítani termékeket. Amennyiben a megadott `sku`-val még nem szerepel nálunk termék, akkor az API létrehozza, amennyiben már szerepel, akkor módosítja azt. Minden mező szabadon módosítható, kivéve a `barcode`, ami csak akkor, ha még nincs megadva ez az adat vagy nem volt még belőle árubeszállítás rögzítve. Sikeres létrehozás, vagy módosítás esetén az API visszaadja a rendelés belső azonosítóját.

Egy API hívással egy termék hozható létre vagy módosítható.

{% hint style="info" %}
Dropshippy felhasználás esetén keresd fel a kapcsolódó [help](https://help.webshippy.com/hu/articles/3768583-sajat-termekek-belistazasa-a-dropshippy-katalogusba) anyagjainkat is.
{% endhint %}

| Mező                         | Kötelező? | Leírás                                                                                                                                                                                                                                                                      |
| ---------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `apiKey`                     | Igen      | Az API kulcs.                                                                                                                                                                                                                                                               |
| `product`                    | Igen      | Létrehozandó vagy módosítandó termék adatai.                                                                                                                                                                                                                                |
| `referenceId`                | Nem       | <p>Külső azonosító.</p><p>Szabadszavas, ajánlott a termék azonosítójának használata.</p>                                                                                                                                                                                    |
| `sku`                        | Igen      | A termék SKU-ja (cikkszáma).                                                                                                                                                                                                                                                |
| `barcode`                    | Igen      | <p>Termék vonalkódja(i). </p><p>Az első vonalkód a termék vonalkódja. A további vonalkódok, <strong>;</strong> \[pontosvessző] szeparátorral elválasztva, a termék alternatív vonalkódjai lesznek. <br>Formátum: \[a-zA-Z0-9-\_]<br>(pl.: HU-324;WSPY\_3456;12345; AAA)</p> |
| `productName`                | Igen      | A termék neve.                                                                                                                                                                                                                                                              |
| `variantName`                | Nem       | <p>A termék variáns neve.</p><p>(pl.: szín, méret)</p>                                                                                                                                                                                                                      |
| `type`                       | Nem       | <p>A termék típusa, lehetséges értékek:</p><ul><li><code>product</code>,</li><li><code>virtual</code>.</li></ul>                                                                                                                                                            |
| `productDescription`         | Nem       | A termékleírás.                                                                                                                                                                                                                                                             |
| `hasSerial`                  | Nem       | <p>Rendelkezik-e a termék egyedi sorszámmal? Lehetséges értékek:</p><ul><li><code>yes</code>,</li><li><code>no</code>.</li></ul>                                                                                                                                            |
| `dutiable`                   | Nem       | <p>Vámkezelendő-e a termék? Lehetséges értékek:</p><ul><li><code>yes</code>,</li><li><code>no</code>.</li></ul>                                                                                                                                                             |
| `taricCode`                  | Nem       | A termék vámtarifaszáma.                                                                                                                                                                                                                                                    |
| `productType`                | Nem       | Termékleírás a vámeljáráshoz.                                                                                                                                                                                                                                               |
| `lowStock`                   | Nem       | Alacsony készletszint értéke.                                                                                                                                                                                                                                               |
| `price`                      | Nem       | A termék eladási ára (nettó).                                                                                                                                                                                                                                               |
| `vat`                        | Nem       | ÁFA (termék eladás).                                                                                                                                                                                                                                                        |
| `currency`                   | Nem       | <p>Valuta. <br>Amennyiben nincs megadva (kitöltve), akkor az országnak megfelelő alapértelmezett pénznem.</p><p>(pl.: HUF, EUR, CZK, RON)</p>                                                                                                                               |
| `isAdr`                      | Nem       | <p>Veszélyes árunak (ADR) számít-e a termék? Lehetséges értékek:</p><ul><li><code>yes</code>,</li><li><code>no</code>.</li></ul>                                                                                                                                            |
| `adrCode`                    | Nem       | ADR kód.                                                                                                                                                                                                                                                                    |
| `adrQuantity`                | Nem       | ADR mennyiség.                                                                                                                                                                                                                                                              |
| `coolingDemand`              | Nem       | <p>A termék hűtést igényel, lehetséges értékek:</p><ul><li><code>refrigerator</code>,</li><li><code>freezer</code>,</li><li><code>none</code>.</li></ul>                                                                                                                    |
| `isFragile`                  | Nem       | <p>Törékeny-e a termék? Lehetséges értékek:</p><ul><li><code>yes</code>,</li><li><code>no</code>.</li></ul>                                                                                                                                                                 |
| `category`                   | Nem       | <p>Kategória azonosító.</p><p>(<a href="https://app.webshippy.com/products/exportCategories/">azonosítók letöltése</a>)</p>                                                                                                                                                 |
| `keepQuantity`               | Nem       | Foglalt saját készlet.                                                                                                                                                                                                                                                      |
| `dropshippyWholesalePrice`   | Nem       | <p>Marketplace nagykereskedelmi ár.</p><p>(Nettó, forintban.)</p>                                                                                                                                                                                                           |
| `dropshippyWholesaleVat`     | Nem       | <p>Marketplace nagykereskedelmi ÁFA.</p><p>(pl. 0.27)</p>                                                                                                                                                                                                                   |
| `dropshippyRecommendedPrice` | Nem       | <p>Marketplace ajánlott nettó fogyasztói ár.</p><p>(Forintban.)</p>                                                                                                                                                                                                         |
| `imageUrls`                  | Nem       | <p>A termék kép linkek.</p><p>(<strong>;</strong> \[pontosvessző] szeparátorral elválasztva, maximum 6 darab link.)</p>                                                                                                                                                     |

**XML** esetén:

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

Kérés:

```
<?xml version="1.0" encoding="utf-8"?>
<request>    
  <apiKey>api-key-comes-here</apiKey>    
  <product>        
    <referenceId>1231</referenceId>        
    <sku>szuperhos-polo-piros-xl</sku>        
    <barcode>126510305031</barcode>        
    <productName>Szuperhős Póló</productName>        
    <variantName>Piros, XL</variantName>        
    <type>product</type>        
    <hasSerial>no</hasSerial>        
    <dutiable>yes</dutiable>        
    <productDescription>Szuperhős Póló leírás</productDescription>        
    <taricCode>12345</taricCode>        
    <lowStock>5</lowStock>        
    <price>1200</price>        
    <vat>0.27</vat>        
    <currency>HUF</currency>        
    <isAdr>yes</isAdr>        
    <adrCode>4</adrCode>        
    <adrQuantity>2</adrQuantity>        
    <coolingDemand>none</coolingDemand>        
    <isFragile>no</isFragile>        
    <productType>clothes</productType>        
    <category>3-406</category>        
    <keepQuantity>5</keepQuantity>        
    <dropshippyWholesalePrice>1000</dropshippyWholesalePrice>        
    <dropshippyWholesaleVat>0.27</dropshippyWholesaleVat>        
    <dropshippyRecommendedPrice>1200</dropshippyRecommendedPrice>        
    <dropshippyPromotion>no</dropshippyPromotion>        
    <imageUrls>https://micoedward.com/wp-content/uploads/2018/04/Love-your-product.png;https://www.noto.design/wp-content/uploads/18-06-14_Heritage_Render_Header-1-1100x619.jpg</imageUrls>    
  </product>
</request>
```

Válasz (példa):

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

**JSON** esetén:

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

Kérés:

```
{
  "apiKey": "api-key-comes-here",
  "product": {
    "referenceId": "1231",
    "sku": "szuperhos-polo-piros-xl",
    "barcode": "126510305031",
    "productName": "Szuperhős Póló",
    "variantName": "Piros, XL",
    "type": "product",
    "hasSerial": "no",
    "dutiable": "yes",
    "productDescription": "Szuperhős Póló leírás",
    "taricCode": "12345",
    "lowStock": "5",
    "price": "1200",
    "vat": "0.27",
    "currency": "HUF",
    "isAdr": "yes",
    "adrCode": "4",
    "adrQuantity": "2",
    "coolingDemand": "none",
    "isFragile": "no",
    "productType": "clothes",
    "category": "3-406",
    "keepQuantity": "5",
    "dropshippyWholesalePrice": "1000",
    "dropshippyWholesaleVat": "0.27",
    "dropshippyRecommendedPrice": "1200",
    "dropshippyPromotion": "no",
    "imageUrls": "https://micoedward.com/wp-content/uploads/2018/04/Love-your-product.png;https://www.noto.design/wp-content/uploads/18-06-14_Heritage_Render_Header-1-1100x619.jpg"
  }
}
```

Válasz (példa):

```
{
  "status": "success",
  "message": [
    "The product creation was successful"
  ],
  "wspyId": 74210
}
```

További válaszlehetőségek:

* `The product creation was successful`
* `The product modification was successful`
* `No changes detected in product`

### **Termékcsomag létrehozása**

Ezzel a funkcióval lehet létrehozni termékcsomagokat. Ha a megadott `bundleSku`-val még nem szerepel nálunk sem termék,  sem termékcsomag akkor az API létrehozza. Sikeres létrehozás, vagy módosítás esetén az API visszaadja a termékcsomag belső azonosítóját

| Mező             | Kötelező? | Leírás                                                         |
| ---------------- | --------- | -------------------------------------------------------------- |
| `apiKey`         | Igen      | Az API kulcs.                                                  |
| `bundleSku`      | Igen      | A termékcsomag SKU-ja (cikkszáma).                             |
| `bundleName`     | Igen      | A termékcsomag neve.                                           |
| `bundlePriceNet` | Nem       | A termékcsomag nettó eladási ára.                              |
| `bundleVat`      | Nem       | <p>A termékcsomag ÁFA.</p><p>(pl.: 27)</p>                     |
| `bundleCurrency` | Nem       | <p>Az eladási ár pénzneme.</p><p>(pl.: HUF, EUR, CZK, RON)</p> |
| `products`       | Igen      | A termékcsomag termékei.                                       |
| `productSku`     | Igen      | A termék SKU-ja (cikkszáma).                                   |
| `quantity`       | Igen      | A rendelt mennyiség.                                           |

**XML** esetén:

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

Kérés:

```
<?xml version="1.0" encoding="utf-8"?>
<request>  
  <apiKey>api-key-comes-here</apiKey>
  <bundleSKU>123334</bundleSKU>
  <bundleName>Akciós csomag</bundleName>
  <bundlePriceNet>5000</bundlePriceNet>
  <bundleVat>26</bundleVat>
  <bundleCurrency>HUF</bundleCurrency>  
  <products>    
    <productSku>prod001</productSku>   
    <quantity>3</quantity>  
  </products>
</request>
```

Válasz (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>  
  <status>error</status>  
  <message>Request format is invalid</message>
</response>
```

**JSON** esetén:

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

Kérés:

```
{
	"apiKey": "xxx-own-apikey-xxx",  
	"bundleSku": "bundlesku-001",    
	"bundleName": "bundlename-001",
	"bundlePriceNet": "1000",
	"bundleCurrency": "HUF",
	"products": [{    
	"productSku": "09002",
	"quantity": "1"
	},
	{    
	"productSku": "09004",
	"quantity": "1"
	}
	]
	}
```

Válasz (példa):

```
{
"status": "error",
"message": [
"Request format is invalid"
]
}
```

### **Termék törlése**

Hamarosan…


# Inventory Transfer API

Áruszállításokkal kapcsolatos API funkciók

### Áruszállítás alapadatainak lekérdezése

| Mező       | Kötelező? | Leírás                                                                                                                                                                   |
| ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `apiKey`   | Igen      | Az API kulcs.                                                                                                                                                            |
| `page`     | Nem       | <p>A lekérdezendő oldal sorszáma.</p><p>(Alapértelmezett: 0.)</p>                                                                                                        |
| `limit`    | Nem       | <p>Az egy oldalon szereplő találatok száma.</p><p>(Alapértelmezett: 100, maximum: 1000.)</p>                                                                             |
| `wspyId`   | Nem       | Az áruszállítás egyedi, Webshippy azonosítója.                                                                                                                           |
| `lastMod`  | Nem       | <p>Az utolsó módosítás dátuma.</p><p>A megadott dátum után létrehozott vagy módosított termékeket listázza ki, akár egyszerre többet is.</p>                             |
| `status`   | Nem       | A lekérdezendő beszállítások státusza (lehetséges értékek: new, draft).                                                                                                  |
| `nickname` | Nem       | <p>Az API-n keresztül fantázianévvel létrehozott áruszállítás a neve alapján kereshető a listafelületen.<br>Áruszállítás frissítésekor a fantázianév is frissíthető.</p> |

**XML** esetén:

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

Kérés:

```
<?xml version="1.0" encoding="utf-8"?>
<request>
  <apiKey>api-key-comes-here</apiKey> 
  <page>0</page> 
  <limit>1000</limit> 
  <filters>     
    <wspyId></wspyId>     
    <lastMod>2019-01-01 00:00:00</lastMod> 
  </filters>
</request>
```

Válasz (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>  
  <status>success</status>  
  <message/>  
  <result>    
    <elem>      
      <wspyId>7258</wspyId>      
      <warehouseId/>
      <nickname>balloon</nickname>     
      <status>shipped</status>      
      <direction>in</direction>      
      <expectedArrival>2019-07-24</expectedArrival>      
      <note>t-takács</note>      
      <created>2019-07-23 10:54:33</created>      
      <updated>2019-07-24 07:24:10</updated>      
      <new>2019-07-23 11:51:25</new>      
      <arrived>2019-07-24 07:28:57</arrived>      
      <transfered>2019-07-24 07:30:45</transfered>        
    </elem>  
  </result>
</response>
```

**JSON** esetén:

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

Kérés:

```
{
  "apiKey": "api-key-comes-here",
  "page": "0",
  "limit": "1000",
  "filters": {
    "wspyId": "",
    "lastMod": "2019-01-01 00:00:00"
  }
}
```

Válasz (példa):

```
{
  "status": "success",
  "message": [],
  "result": [
    {
      "wspyId": "7258",
      "warehouseId": null,
      "nickname": "balloon",
      "status": "shipped",
      "direction": "in",
      "expectedArrival": "2019-07-24",
      "note": "t-takács",
      "created": "2019-07-23 10:54:33",
      "updated": "2019-07-24 07:24:10",
      "new": "2019-07-23 11:51:25",
      "arrived": "2019-07-24 07:28:57",
      "transfered": "2019-07-24 07:30:45"
    }
  ]
}
```

### Egy áruszállítás tételeinek lekérdezése

A `wspyId` ismeretében áruszállításonként lehet lekérdezni a szállításban szereplő tételeket és azok bekészített, valamint ténylegesen leszámolt mennyiségét.

| Mező       | Kötelező? | Leírás                                                                                                                                                                   |
| ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `apiKey`   | Igen      | Az API kulcs.                                                                                                                                                            |
| `wspyId`   | Igen      | Az áruszállítás egyedi, Webshippy azonosítója.                                                                                                                           |
| `nickname` | Nem       | <p>Az API-n keresztül fantázianévvel létrehozott áruszállítás a neve alapján kereshető a listafelületen.<br>Áruszállítás frissítésekor a fantázianév is frissíthető.</p> |

**XML** esetén:

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

Kérés:

```
<?xml version="1.0" encoding="utf-8"?>
<request> 
  <apiKey>api-key-comes-here</apiKey> 
  <filters>     
    <wspyId>6526</wspyId> 
  </filters>
</request>
```

Válasz (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>
  <status>success</status>  
  <message/>  
  <result>    
    <elem>      
      <wspyProductId>267812</wspyProductId>      
      <productName>Teszt termék 2</productName>      
      <variantName/> 
      <nickname>balloon</nickname>     
      <produtSku>TESZT-2</produtSku>      
      <productBarcode>TESZT-2</productBarcode>      
      <quantity>10</quantity>      
      <checkedQuantity>15</checkedQuantity>
    </elem>  
  </result>
</response>
```

**JSON** esetén:

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

Kérés:

```
{
  "apiKey": "api-key-comes-here",
  "filters": {
    "wspyId": "6526"
  }
}
```

Válasz (példa):

```
{
  "status": "success",
  "message": [],
  "result": [
    {
      "wspyProductId": "267812",
      "productName": "Teszt termék 2",
      "variantName": "",
      "nickname": "balloon",
      "produtSku": "TESZT-2",
      "productBarcode": "TESZT-2",
      "quantity": "10",
      "checkedQuantity": "15"
    }
  ]
}
```

### Á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.                                                                                                                                                                                                                                                                                                                                          |
| `nickname`  | Nem       | <p>Az API-n keresztül fantázianévvel létrehozott áruszállítás a neve alapján kereshető a listafelületen.<br>Áruszállítás frissítésekor a fantázianév is frissíthető.</p>                                                                                                                                                                               |
| `finalize`  | Nem       | <p>Az árubeszállítás rögzítése (véglegesítése), lehetséges értékek:</p><ul><li><code>normal</code>- a normál kapacitás terhére kívánja előjegyezni az árubeszállítását,</li><li><code>priority</code>- a feláras (priós) kapacitás terhére kívánja előjegyezni az árubeszállítását,</li><li><code>BLANK</code>- (üres) piszkozatban mentjük.</li></ul> |
| `direction` | Igen      | A létrehozandó áruszállítás iránya (in/out).                                                                                                                                                                                                                                                                                                           |
| `note`      | Igen      | Megjegyzés az áruszállításhoz.                                                                                                                                                                                                                                                                                                                         |
| `date`      | Nem       | <p>Az áruszállítás várható dátuma.</p><p>Amennyiben nincs megadva, piszkozatként jön létre az áruszállítás.</p>                                                                                                                                                                                                                                        |
| `quantity`  | Igen      | A szállított termék mennyisége (pozitív egész).                                                                                                                                                                                                                                                                                                        |
| `sku`       | Igen      | A szállított termék SKU-ja (cikkszáma).                                                                                                                                                                                                                                                                                                                |

{% hint style="info" %}
Amennyiben nincs rögzítve az áruszállítás várható dátuma (date), akkor a piszkozat státuszú áruszállítás már csak az Webshippy app felületén véglegesíthető.
{% endhint %}

**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>  
    <nickname>balloon</nickname>  
    <finalize></finalize>             
    <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",
    "nickname": "balloon",
    "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
}
```


# External Inventory API

Külső raktárkészlettel kapcsolatos API funkciók

### Külső raktárkészlet beállítása

Ezzel a funkcióval lehet beállítani a termékekhez külső raktárról elérhető készlet mennyiségét és a külső raktár megnevezését. A beállításokat egyszerre több termékhez is el lehet végezni, az adatokat termékenkénti felsorolásban kell megadni. Ha egy termék (SKU) többször is szerepel a beküldött adatok között, akkor a felsorolásban utoljára szereplő helyes adatok kerülnek mentésre a termékhez.

{% hint style="info" %}
Marketplace felhasználás esetén keresd fel a kapcsolódó [help](https://help.webshippy.com/hu/articles/3768583-sajat-termekek-belistazasa-a-dropshippy-katalogusba) anyagjainkat is.
{% endhint %}

| Mező                | Kötelező? | Leírás                                         |
| ------------------- | --------- | ---------------------------------------------- |
| `apiKey`            | Igen      | Az API kulcs.                                  |
| `products`          | Igen      | A felvinni kívánt adatok termékenként.         |
| `sku`               | Igen      | A termék SKU-ja (cikkszáma).                   |
| `externalQuantity`  | Igen      | A külső raktárról elérhető készlet mennyisége. |
| `externalWarehouse` | Nem       | A külső raktár megnevezése.                    |

**XML** esetén:

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

Kérés:

```
<?xml version="1.0" encoding="utf-8"?>
<request>    
  <apiKey>api-key-comes-here</apiKey>    
  <products>
    <sku>szuperhos-polo-piros-xl</sku>        
    <externalQuantity>50</externalQuantity>        
    <externalWarehouse>Külső raktár</externalWarehouse>    
  </products>    
  <products>        
    <sku>cicanaci-one-size</sku>        
    <externalQuantity>100</externalQuantity>        
    <externalWarehouse>Külső raktár</externalWarehouse>    
  </products>
</request>
```

Válasz (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>  
  <status>success</status>  
  <message>    
    <elem>2 updates successful.</elem>  
  </message>  
  <products>    
    <elem>      
      <sku>szuperhos-polo-piros-xl</sku>      
      <message>Update successful.</message>   
    </elem>	
    <elem>      
      <sku>cicanaci-one-size</sku>      
      <message>Update successful.</message>    
    </elem>  
  </products>
</response>
```

**JSON** esetén:

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

Kérés:

```
{
  "apiKey": "api-key-comes-here",
  "products": [
    {
      "sku": "szuperhos-polo-piros-xl",
      "externalQuantity": "50",
      "externalWarehouse": "Külső raktár"
    },
    {
      "sku": "cicanaci-one-size",
      "externalQuantity": "100",
      "externalWarehouse": "Külső raktár"
    }
  ]
}
```

Válasz (példa):

```
{    
	"status": "success",
    "message":[   
		"2 updates successful."  
	],   
	"products": [     
	   {            
		"sku": "szuperhos-polo-piros-xl",           
		"message": "Update successful."      
		},
	   {            
		"sku": "cicanaci-one-size",            
		"message": "Update successful." 
		}
	]
}
```

További válaszlehetőségek:

* `X updates successful.`
* `X updates successful. Rest Y records caused warning.`
* `No products present`


# GetStock API

A termékek aktuális készlet információinak tömeges lekérdezése csv formátumban.

### Lekérdezhető adatok

<table data-header-hidden><thead><tr><th width="224.84698224610344">Mező</th><th>Leírás</th></tr></thead><tbody><tr><td>Mező</td><td>Leírás</td></tr><tr><td><code>sku</code></td><td>A termék SKU-ja (cikkszáma).</td></tr><tr><td><code>quantity</code></td><td><p>A termék raktárkészlet állapota.</p><p>(A szabad készletet és a rendelésekhez lefoglalt mennyiségeket is tartalmazza.)</p></td></tr><tr><td><code>available_quantity</code></td><td><p>A termék szabad készletét tartalmazza.</p><p>(A rendelésekhez már lefoglalt mennyiségeket nem tartalmazza.)</p></td></tr><tr><td><code>reserved_by_orders</code></td><td>A termék készletből rendelésekhez lefoglalt mennyiség.</td></tr><tr><td><code>inventory_updated_at</code></td><td>A készlet utolsó módosításának ideje.</td></tr><tr><td><code>available_external_quantity</code></td><td>Az elérhető külső készlet (1-3 napos teljesítéssel).</td></tr><tr><td><code>immediate_quantity</code></td><td>Az azonnal beszerezhető készlet.</td></tr></tbody></table>

### Szűrési feltételek

| Mező                    | Leírás                               |
| ----------------------- | ------------------------------------ |
| `inventoryUpdatedSince` | A készlet változás utolsó időpontja. |

XML esetén:

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

Kérés:

```
<request> 
  <apiKey>api-key-comes-here</apiKey>
  <inventoryUpdatedSince>2020-12-01 00:00:00</inventoryUpdatedSince>
</request>
```

JSON esetén:

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

Kérés:

```
{
  "apiKey": "api-key-comes-here",
  "inventoryUpdatedSince": "2020-12-01"
}
```


# Get Brack History API

Selejt előzmény(ek) lekérdezése a Get Brack History API hívással.

| Szűrési feltétel | Leírás                                                                                                                        |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `page`           | A lekérdezendő oldal sorszáma.                                                                                                |
| `limit`          | <p>Az egy oldalon szereplő találatok száma.</p><p>(Maximum 1000/oldal, magasabb szám esetén, lapozva oldal paraméterrel.)</p> |
| `dateFrom`       | A létrehozás és visszaállítás dátuma.                                                                                         |

**XML** esetén:

Kérés (példa):

```
<request>
    <apiKey>LJF7X3OWZdzMaSubHDqhfKC04PTospIA62mtrklj1ReVExGn9B</apiKey>
    <page>0</page>
    <limit>1000</limit>
    <filters>
        <dateFrom>2019-03-08 00:00:00</dateFrom>
    </filters>
</request>
```

Válasz (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>
    <status>
        <![CDATA[success]]>
    </status>
    <message/>
    <result>
        <elem>
            <id>
                <![CDATA[1]]>
            </id>
            <sku>
                <![CDATA[T-SHIRT-SHIP-YOUR-IDEA-BLACK]]>
            </sku>
            <createdAt>
                <![CDATA[2019-03-19 10:45:11]]>
            </createdAt>
            <status>
                <![CDATA[restored]]>
            </status>
            <quantity>
                <![CDATA[1]]>
            </quantity>
            <description/>
            <restoredAt>
                <![CDATA[2022-03-01 16:09:49]]>
            </restoredAt>
            <restoreDescription/>
        </elem>
        <elem>
            <id>
                <![CDATA[5]]>
            </id>
            <sku>
                <![CDATA[T-SHIRT-SHIP-YOUR-IDEA-BLACK]]>
            </sku>
            <createdAt>
                <![CDATA[2019-04-04 16:42:21]]>
            </createdAt>
            <status>
                <![CDATA[restored]]>
            </status>
            <quantity>
                <![CDATA[1]]>
            </quantity>
            <description>
                <![CDATA[Róka tesztel]]>
            </description>
            <restoredAt>
                <![CDATA[2022-03-01 16:09:48]]>
            </restoredAt>
            <restoreDescription/>
        </elem>
        <elem>
            <id>
                <![CDATA[8]]>
            </id>
            <sku>
                <![CDATA[T-SHIRT-SHIP-YOUR-IDEA-GREEN]]>
            </sku>
            <createdAt>
                <![CDATA[2019-05-14 14:23:48]]>
            </createdAt>
            <status>
                <![CDATA[restored]]>
            </status>
            <quantity>
                <![CDATA[1]]>
            </quantity>
            <description>
                <![CDATA[Összetört a termék...]]>
            </description>
            <restoredAt>
                <![CDATA[2022-03-08 08:12:29]]>
            </restoredAt>
            <restoreDescription>
                <![CDATA[Mégsem tört el annyira.]]>
            </restoreDescription>
        </elem>
        <elem>
            <id>
                <![CDATA[9]]>
            </id>
            <sku>
                <![CDATA[T-SHIRT-SHIP-YOUR-IDEA-BLACK]]>
            </sku>
            <createdAt>
                <![CDATA[2019-06-13 13:55:29]]>
            </createdAt>
            <status>
                <![CDATA[bracked]]>
            </status>
            <quantity>
                <![CDATA[1]]>
            </quantity>
            <description>
                <![CDATA[Már nem is tudom]]>
            </description>
            <restoredAt/>
            <restoreDescription/>
        </elem>
    </result>
</response>
```

Hibás kérés esetén (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>
    <status>
        <![CDATA[error]]>
    </status>
    <message>
        <elem>
            <![CDATA[API key not present]]>
        </elem>
    </message>
</response>
```

**JSON** esetén:

Kérés (példa):

```
{
    "apiKey": "LJF7X3OWZdzMaSubHDqhfKC04PTospIA62mtrklj1ReVExGn9B",
    "page": 0,
    "limit": 1000,
    "filters": {
        "dateFrom": "2019-03-08 00:00:00”
    }
}
```

Válasz (példa):

```
{
    "status": "success",
    "message": [],
    "result": [
        {
            "id": "1",
            "sku": "T-SHIRT-SHIP-YOUR-IDEA-BLACK",
            "createdAt": "2019-03-19 10:45:11",
            "status": "restored",
            "quantity": "1",
            "description": "",
            "restoredAt": "2022-03-01 16:09:49",
            "restoreDescription": null
        },
        {
            "id": "5",
            "sku": "T-SHIRT-SHIP-YOUR-IDEA-BLACK",
            "createdAt": "2019-04-04 16:42:21",
            "status": "restored",
            "quantity": "1",
            "description": "Róka tesztel",
            "restoredAt": "2022-03-01 16:09:48",
            "restoreDescription": null
        },
        {
            "id": "8",
            "sku": "T-SHIRT-SHIP-YOUR-IDEA-GREEN",
            "createdAt": "2019-05-14 14:23:48",
            "status": "restored",
            "quantity": "1",
            "description": "Összetört a termék...",
            "restoredAt": "2022-03-08 08:12:29",
            "restoreDescription": "Mégsem tört el annyira."
        },
        {
            "id": "9",
            "sku": "T-SHIRT-SHIP-YOUR-IDEA-BLACK",
            "createdAt": "2019-06-13 13:55:29",
            "status": "bracked",
            "quantity": "1",
            "description": "Már nem is tudom",
            "restoredAt": null,
            "restoreDescription": null
        }
    ]
}
```

Hibás kérés esetén (példa):

```
{
    "status": "error",
    "message": [
        "API key not present"
    ]
}
```


# Create Bundle API

Termékcsomagok létrehozása.

### Termékcsomag létrehozása

| Mező             | Kötelező | Leírás                                      |
| ---------------- | -------- | ------------------------------------------- |
| `apiKey`         | Igen     | Az API kulcs.                               |
| `bundleSku`      | Igen     | A termékcsomag SKU-ja (cikkszáma).          |
| `bundleName`     | Igen     | A termékcsomag neve.                        |
| `bundlePriceNet` | Igen     | A termékcsomag nettó ára.                   |
| `bundleCurrency` | Igen     | A termékcsomag árának pénzneme.             |
| `productSku`     | Igen     | A csomagban lévő termék SKU-ja (cikkszáma). |
| `quantity`       | Igen     | A csomagban lévő termék mennyisége (darab). |

**XML** esetén:

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

Kérés:

```
<?xml version="1.0" encoding="utf-8"?>
<request>  
  <apiKey>api-key-comes-here</apiKey>
  <bundleSKU>123334</bundleSKU>
  <bundleName>Akciós csomag</bundleName>
  <bundlePriceNet>5000</bundlePriceNet>
  <bundleVat>26</bundleVat>
  <bundleCurrency>HUF</bundleCurrency>  
  <products>    
    <productSku>prod001</productSku>   
    <quantity>3</quantity>  
  </products>
</request>
```

Válasz (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>  
  <status>error</status>  
  <message>Request format is invalid</message>
</response>
```

**JSON** esetén:

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

Kérés:

```
{
	"apiKey": "xxx-own-apikey-xxx",  
	"bundleSku": "bundlesku-001",    
	"bundleName": "bundlename-001",
	"bundlePriceNet": "1000",
	"bundleCurrency": "HUF",
	"products": [{    
	"productSku": "09002",
	"quantity": "1"
	},
	{    
	"productSku": "09004",
	"quantity": "1"
	}
	]
	}
```

Válasz (példa):

```
{
"status": "error",
"message": [
"Request format is invalid"
]
}
```


# Marketplace Price Change API

A Marketplace nagyker árak módosításához használatos API hívás.

### Termék nagyker árak beállítása

| Mező               | Kötelező? | Leírás                                                |
| ------------------ | --------- | ----------------------------------------------------- |
| `apiKey`           | Igen      | Az API kulcs.                                         |
| `sku`              | Igen      | Az ármódosítással érintett termék sku-ja (cikkszáma). |
| `wholesalePrice`   | Igen      | A termék nagykereskedelmi ára (nettó).                |
| `recommendedPrice` | Igen      | A termék ajánlott fogyasztói ára (nettó).             |

**XML** esetén:

Url: <https://app.webshippy.com/wspyapi/DropshippyPriceChange/xml>

Kérés:

```
<?xml version="1.0" encoding="utf-8"?>
<request>
  <apiKey>api-key-comes-here</apiKey>
  <products>
    <sku>piros-polo</sku>
    <wholesalePrice>1000</wholesalePrice>
    <recommendedPrice>1700</recommendedPrice>
  </products>
  <products>
    <sku>zold-sapka</sku>
    <wholesalePrice>300</wholesalePrice>
    <recommendedPrice>800</recommendedPrice>
  </products>
</request>
```

Válasz (példa):

```
<?xml version="1.0" encoding="utf-8"?>
<response>
  <status>success</status>
  <message>
    <elem>2 records were processed.</elem>
    <elem>2 updates successful.</elem>
  </message>
  <products>
    <elem>
      <sku>piros-polo</sku>
      <message>Update successful.</message>
    </elem>
    <elem>
      <sku>zold-sapka</sku>
      <message>Update successful.</message>
    </elem>
  </products>
</response>
```

**JSON** esetén:

Url: [https://app.webshippy.com/wspyapi/DropshippyPriceChange/](https://app.webshippy.com/wspyapi/DropshippyPriceChange/xml)json

Kérés:

```
{
 "apiKey": "api-key-comes-here",
 "products": [ 
 {
 "sku": "piros-polo",
 "wholesalePrice": "1000",
 "recommendedPrice": "1700" 
},
 {
 "sku": "zold-sapka",
 "wholesalePrice": "300",
 "recommendedPrice": "800"
  } ]
}
```

Válasz (példa):

```
{
  "status": "success",
  "message": [
    "2 records were processed.",
    "2 updates successful."
  ],
  "products": [
    {
      "sku": "piros-polo",
      "message": "Update successful."
    },
    {
      "sku": "zold-sapka",
      "message": "Update successful."
    }
  ]
}
```

###

### Hibaüzenetek

Missing SKU. \
Property wholesalePrice missing. \
Property recommendedPrice missing. \
No price was provided. \
Product is not dropshipped or SKU doesn't exists. \
Incorrect price format, only positive numbers allowed!


# Marketplace Transaction API

### Tranzakciók lekérdezése

Ezzel a funkcióval lekérdezhetőek a Marketplace tranzakciók részletes adatai.

Url: <https://app.webshippy.com/wspyapi/getMarketplaceTransactions/{contentType}>

<table><thead><tr><th width="366.7279029462738">Szűrési feltétel</th><th>Leírás</th></tr></thead><tbody><tr><td><code>invoiceStatus</code></td><td><p>Számla státusza (adott tranzakcióhoz van-e már számla), lehetséges értékei:</p><ul><li><code>invoiced</code>,</li><li><code>uninvoiced</code>,</li><li><code>error</code>.</li></ul></td></tr><tr><td><code>dateFrom</code></td><td>Tranzakció létrehozás dátuma aznapi vagy frissebb.</td></tr><tr><td><code>dateTo</code></td><td>Tranzakció létrehozás dátuma aznapi vagy régebbi.</td></tr><tr><td><code>transactionRole</code></td><td><p>A tranzakcióban betöltött szerep, lehetséges értékek:</p><ul><li><code>supplier</code>,</li><li> <code>retailer</code>.</li></ul></td></tr></tbody></table>

A táblázatban megadott szűrési feltételek `ÉS` kapcsolatban állnak egymással, csak azokat a szűrőket kell megadni, amelyekre szűrni szeretnénk.

**XML** esetén:

Kérés (példa):

```
<?xml version="1.0" encoding="UTF-8"?>
<request>
	<apiKey>your-api-key</apiKey>
	<filters>
		<invoiceStatus>invoiced</invoiceStatus>
		<dateFrom>2021-04-21</dateFrom>
		<dateTo>2022-01-12</dateTo>
		<transactionRole>supplier</transactionRole>
	</filters>
</request>
```

Válasz (példa):

```
<?xml version="1.0" encoding="UTF-8"?>
<response>
	<status>success</status>
	<result>
		<transactionId>DSPY1000134</transactionId>
		<date>2021-02-14 13:09:11</date>
		<paymentStatus>paid</paymentStatus>
		<transferredAt>2021-06-12 14:12:00</transferredAt>
		<parties>
			<supplier>
				<name>Webshippy</name>
			</supplier>
			<retailer>
				<name>Koala Adventures Teszt Bt.</name>
				<address>7621 Hungary Pécs Asd street</address>
				<email>retail@now.com</email>
				<billingTaxNumber>000000000000-99</billingTaxNumber>
			</retailer>
		</parties>
		<payment>
			<paymentId>500864504</paymentId>
		</payment>
		<products>
			<name>Premium Quality Shirt</name>
			<sku>ws2_dspy_rules_11</sku>
			<barcode>ws2_dspy_rules_11-b</barcode>
			<quantity>2</quantity>
			<transactionAmountNet>3800</transactionAmountNet>
			<vat>0</vat>
			<vatSum>0</vatSum>
			<transactionAmountGross>3800</transactionAmountGross>
			<currency>HUF</currency>
		</products>
		<invoice>
			<url>http://webshippy.lh/dropshippy/getTransactionInvoice/1000134</url>
			<status>invoiced</status>
			<serialNumber>Invoice-12345-1-54365</serialNumber>
		</invoice>
	</result>
</response>
```

Hibás kérés esetén (példa):

```
<?xml version="1.0" encoding="UTF-8"?>
<response>
	<status>error</status>
	<notagname>Invalid API key</notagname>
</response>
```

**JSON** esetén:

Kérés (példa):

```
{
  "apiKey": "your-api-key",
  "filters": {
    "invoiceStatus": "invoiced",
    "dateFrom": "2021-04-21",
    "dateTo": "2022-01-12",
    "transactionRole": "supplier"
  }
}
```

Válasz (példa):

```
{
  "status": "success",
  "result": [
    {
      "transactionId": "DSPY1000134",
      "date": "2021-02-14 13:09:11",
      "paymentStatus": "paid",
      "transferredAt": "2021-06-12 14:12:00",
      "parties": {
        "supplier": {
          "name": "Webshippy"
        },
        "retailer": {
          "name": "Koala Adventures Teszt Bt.",
          "address": "7621 Hungary Pécs Asd street",
          "email": "retail@now.com",
          "billingTaxNumber": "000000000000-99"
        }
      },
      "payment": {
        "paymentId": 500864504
      },
      "products": [
        {
          "name": "Premium Quality Shirt",
          "sku": "ws2_dspy_rules_11",
          "barcode": "ws2_dspy_rules_11-b",
          "quantity": 2,
          "transactionAmountNet": 3800,
          "vat": 0,
          "vatSum": 0,
          "transactionAmountGross": 3800,
          "currency": "HUF"
        }
      ],
      "invoice": {
        "url": "http://webshippy.lh/dropshippy/getTransactionInvoice/1000134",
        "status": "invoiced",
        "serialNumber": "Invoice-12345-1-54365"
      }
    }
  ]
}
```

Hibás kérés esetén (példa):

```
{
  "status": "error",
  "message": [
    "Invalid API key"
  ]
}
```

### Kiállított számla feltöltés

Ezzel a funkcióval a Marketplace beszállító partnerek a kiállított számláikat fel tudják tölteni a vonatkozó tranzakciókhoz. 1 api hívással n tranzakcióhoz lehet feltölteni számlát. 1 db számla feltöltés base64 formátumban tranzakciónként. Amennyiben a megadott tranzakció azonosítóhoz még nem szerepel nálunk számla, akkor az API létrehozza.

Url: <https://app.webshippy.com/wspyapi/uploadMarketplaceTransactionInvoice/{contentType}>

<table><thead><tr><th width="260.3333333333333">Mező</th><th width="150">Kötelező?</th><th>Leírás</th></tr></thead><tbody><tr><td><code>apiKey</code> </td><td>Igen</td><td>Az API kulcs.</td></tr><tr><td><code>transactionId</code></td><td>Igen</td><td>A tranzakció azonosítója.</td></tr><tr><td><code>invoiceSerialNumber</code></td><td>Igen</td><td>A számla sorszáma (a fájl neve).</td></tr><tr><td><code>fileInput</code></td><td>Igen</td><td>A számla base64 formátumban.</td></tr></tbody></table>

**XML** esetén:

Kérés (példa):

```
<?xml version="1.0" encoding="UTF-8"?>
<request>
	<apiKey>your-api-key</apiKey>
	<invoice>
		<transactionId>DSPY1000134</transactionId>
		<invoiceSerialNumber>Invoice-12345-1-54365</invoiceSerialNumber>
		<fileInput>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==</fileInput>
	</invoice>
</request>
```

Válasz (példa):

```
<?xml version="1.0" encoding="UTF-8"?>
<response>
	<status>success</status>
	<result>
		<transactionId>DSPY1000134</transactionId>
		<invoiceSerialNumber>Invoice-12345-1-54365</invoiceSerialNumber>
		<fileInput>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==</fileInput>
	</result>
</response>
```

Hibás kérés esetén (példa):

```
<?xml version="1.0" encoding="UTF-8"?>

<response>

	<status>error</status>

	<result>

		<transactionId>DSPY1000134</transactionId>

		<invoiceSerialNumber>Invoice-12345-1-54365</invoiceSerialNumber>

		<fileInput>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==</fileInput>

	</result>

	<message>Invoice [invoiceSerialNumber] upload failed, due to: [error]</message>

</response>
```

**JSON** esetén:

Kérés (példa):

```
{
  "apiKey": "your-api-key",
  "invoice": [
    {
      "transactionId": "DSPY1000134",
      "invoiceSerialNumber": "Invoice-12345-1-54365",
      "fileInput": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="
    }
  ]
}
```

Válasz (példa):

```
{
  "status": "success",
  "result": [
    {
      "transactionId": "DSPY1000134",
      "invoiceSerialNumber": "Invoice-12345-1-54365",
      "fileInput": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="
    }
  ]
}
```

Hibás kérés esetén (példa):

```
{
  "status": "error",
  "result": [
    {
      "transactionId": "DSPY1000134",
      "invoiceSerialNumber": "Invoice-12345-1-54365",
      "fileInput": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="
    }
  ],
  "message": [
    "Invoice [invoiceSerialNumber] upload failed, due to: [error]"
  ]
}
```

**További válasz lehetőségek** hibás kérés esetén:

* `"[field:example] Example field has to be integer"`
* `"Invalid API key"`
* `"Entity not found"`
* `"Already existing entity"`


# Shipping Mode API

A szállítási mód (shipping) választó API kosártarta.om és szállítási cím (input) alapján fuvarozási céget ajánl (output). A vásárló a visszaküldött partnercégek közül a webáruház felületén választhat.

A Szállítási mód választó API (Shipping mode) egy webáruház motorok fejlesztői számára készült eszköz, mely lehetővé teszi, hogy a webáruház checkout folyamatában a látogatóknak a Webshippynél elérhető szállítási módokat (output) adjuk vissza dinamikusan kosártartalom és szállítási cím (input) által. A vásárló a visszaküldött partnercégek közül a webáruház felületén választhat.

{% file src="/files/-M\_61T2aJu6uzJ0JhvNa" %}
Webshippy Shipping AI v1.0.0
{% endfile %}

{% hint style="info" %}

1. A fájl megnyitásához használd: <https://editor.swagger.io/> > File > Import file

2. Autentikációról: <https://apidoc.webshippy.com/#authnetikacio-api-kulcs-generalasa>
   {% endhint %}

3. **Aktuális verzió** \
   openapi: 3.0.3\
   title: Webshippy API version: 1.0.0
   1. Fejlesztői üzemmód:
      1. ha a countryCode = HU csak akkor küldünk GLS-t
      2. ha a zipCode "1"-sel kezdődik akkor a Webshippy Prio is listázódik
   2. Éles üzemmód:
      1. ha a countryCode = HU, akkor GLS
      2. ha budapesti cím, akkor Webshippy Prio is listázódik


# Push API

A megrendelés és az áruszállítás státusz-változásának jelzése a fizikai események alapján.

Az értesítés a Webshippy API értékesítési csatorna (webshippy.api) beállításai között rögzített, előre beállítható (külön) végpontokra történik.

{% hint style="info" %}
A push api az első aktív értékesítési csatornában definiált végpontokra érkezik meg.&#x20;
{% endhint %}

&#x20;A folyamat státusza mellett, az értesítés tartalmazza a megrendelés azonosítóját és nevét, illetve az áruszállítás ID-ját és nickname-jét, valamint, hogy mikor történt a státusz-változás.

### **Megrendelés**&#x20;

| Mező        | Leírás                                                                                                                                               |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`        | A rendelés egyedi, Webshippy azonosítója.                                                                                                            |
| `name`      | <p>A rendelés neve.</p><p>A rendelés létrehozásakor megadott név.</p>                                                                                |
| `status`    | <p>A rendelés státusza, lehetséges értékek:</p><ul><li><code>refused</code>: visszautasított,</li><li><code>fulfilled</code>: teljesített.</li></ul> |
| `updatedAt` | A státusz-változás dátuma és ideje.                                                                                                                  |

### **Áruszállítás**

| Mező        | Leírás                                                                                                                                                                   |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `id`        | Az áruszállítás egyedi, Webshippy azonosítója.                                                                                                                           |
| `nickname`  | <p>Az API-n keresztül fantázianévvel létrehozott áruszállítás a neve alapján kereshető a listafelületen.<br>Áruszállítás frissítésekor a fantázianév is frissíthető.</p> |
| `status`    | Az áruszállítás státusza (`shipped`).                                                                                                                                    |
| `updatedAt` | A státusz-változás dátuma és ideje.                                                                                                                                      |

{% file src="/files/CLEbAzcp3XvFX5FtVCP9" %}


# Track Info API

A megrendelések szállításának státuszát és a trackingurl-t lehet lekérdezni az alábbi futárszolgálatok esetén:

|             | trackingNo | shippingStatus | trackingUrl | history |
| ----------- | :--------: | :------------: | :---------: | :-----: |
| GLS         |      ✅     |        ✅       |      ✅      |    ✅    |
| Foxpost     |      ✅     |        ✅       |      ✅      |    ✅    |
| MPL         |      ✅     |        ❌       |      ✅      |    ❌    |
| Sprinter    |      ✅     |        ✅       |      ✅      |    ✅    |
| Packeta     |      ✅     |        ✅       |      ✅      |    ✅    |
| DPD         |      ✅     |        ❌       |      ❌      |    ❌    |
| DHL         |      ✅     |        ❌       |      ✅      |    ❌    |
| Eushipments |      ✅     |        ✅       |  partially  |    ✅    |

Példa kérés (XML):

```
https://app.webshippy.com/wspyapi/getTrackInfo/xml?apiKey={{apiKey}}&page=0&orderIds=32042911
```

Példa kérés (JSON):

```
https://app.webshippy.com/wspyapi/getTrackInfo/json?apiKey={{apiKey}}&page=0&orderIds=32042911
```

<table><thead><tr><th width="179">Paraméter</th><th>Leírás</th><th>Kötelező</th></tr></thead><tbody><tr><td>apiKey</td><td>Api kulcs.</td><td>igen</td></tr><tr><td>limit</td><td>A lista elemeinek száma (maximum 1000).</td><td>nem</td></tr><tr><td>page</td><td>A lekérdezni kívánt oldal száma.</td><td>nem</td></tr><tr><td>orderIds</td><td>A rendelések webshippy azonosítói vesszővel tagolva. </td><td>opcionális*</td></tr><tr><td>updatedAt</td><td>A futárszolgálat általi legkorábbi frissítés ideje, Y-m-d\TH:i:sP formátumban megadva.</td><td>opcionális*</td></tr></tbody></table>

{% hint style="info" %}
\*Az orderIds és az updatedAt mező közül legalább az egyik megadása kötelező.
{% endhint %}

Válasz (JSON):

```
{
    "status": "success",
    "message": [],
    "result": {
        "274": {
            "orderId": "274",
            "trackingNo": "3300597015",
            "shippingStatus": "completed",
            "trackingUrl": "https://gls-group.eu/HU/hu/csomagkovetes?match=3300597015",
            "history": [
                {
                    "status": "delivered",
                    "statusCode": "05",
                    "date": "2024-01-03 14:31:49"
                },
                {
                    "status": "Can be picked up from GLS parcel locker",
                    "statusCode": "54",
                    "date": "2024-01-02 10:44:03"
                },
                {
                    "status": "Data sent",
                    "statusCode": "51",
                    "date": "2023-12-29 13:15:05"
                }
            ]
        }
    }
}
```

Válasz hibás kérés esetén:

```
{
    "status": "error",
    "message": [
        "Error: At least one field is required: orderIDs, updatedAt"
    ]
}
```


# External Inventory Feed

Termékek külső raktárkészlet szinkronizálása XML feed segítségével

Feed használatával tömegesen beállítható a már rögzített termékek külső raktárról elérhető készletének mennyisége. Ha többször szerepel a feed-ben ugyanaz az sku, akkor az utoljára szereplőhöz tartozó érték kerül rögzítésre.&#x20;

A feed-ek feldolgozása minden nap 7 és 17 órakor (UTC) történik.

Az elkészült feed elérhetőségét a <support@webshippy.com> címre várjuk.

#### Használható mezők:

| Mező    | Leírás                                      |
| ------- | ------------------------------------------- |
| `sku`   | A termék cikkszáma.                         |
| `stock` | A termék elérhető külső készlet mennyisége. |

#### Minta feed:

```
<?xml version="1.0" encoding="utf-8"?>
<products>
  <product>
    <sku>shirt001</sku>
    <stock>30</stock>
  </product>
  <product>
    <sku>boot234</sku>
    <stock>15</stock>
  </product>
</products>
```

{% hint style="info" %}
Amennyiben már meglévő feed bekötésére van szükség, akkor a fentivel egyező struktúra mellett lehetőség van eltérő mezőnevek használatára is, viszont erre vonatkozóan külön egyeztetés szükséges!

Ha az XML állomány az sku és stock mezőkön kívül további adatokat is tartalmaz, akkor a többlet információk nem kerülnek feldolgozásra.
{% endhint %}


