# Inventory Transfer API

### Á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
}
```
