> For the complete documentation index, see [llms.txt](https://www.apidoc-en.webshippy.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.apidoc-en.webshippy.com/webshippy-api-guide/product-related-functions.md).

# Product API

## **Product requests**

| Filtering terms | Description                                                                                   |
| --------------- | --------------------------------------------------------------------------------------------- |
| `limit`         | Hits within a page (default: 100, maximum: 1000)                                              |
| `page`          | Number of the requested page (default: 0)                                                     |
| `wspyId`        | The Internal ID, API returns it when an order is created                                      |
| `referenceId`   | External ID, the ID given when an order is created                                            |
| `productName`   | Product name, name when the prodcut was created (SQL wildcards allowed)                       |
| `sku`           | Product's SKU, item number                                                                    |
| `barcode`       | Product's barcode                                                                             |
| `lastMod`       | Last modification's date. Lists even several created or modified orders after the given date. |
| `getAllProduct` | Query all products, not limited to the given store API key (true, false)                      |

Filtering terms listed above are linked with `ÉS` , you need to add only the terms that you'd like to filter.&#x20;

In case of **XML**:

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

Request:

```
<?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>
```

Response (example):

```
<?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>
      <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>
```

In case of a failed request (example):

```
<?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>
```

In case of **JSON**:

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

Request:

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

Response (example):

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

In case of a failed request (example):

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

| Field                        | Description                                                                                                                                                                                                    |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `status`                     | Action's result. Possible values: `success`, `error`                                                                                                                                                           |
| `message`                    | Error messages are in this field in case of a failed request                                                                                                                                                   |
| `result`                     | Results of a successful request are in this field as a block in each case                                                                                                                                      |
| `wspyId`                     | The Internal ID, API returns it when an product is created                                                                                                                                                     |
| `referenceId`                | External ID, the ID given when an product is created                                                                                                                                                           |
| `sku`                        | Product's SKU, item number                                                                                                                                                                                     |
| `barcode`                    | <p>Product's barcode. The first will be the product's default barcode, further alternative barcodes can be added seperated with ;</p><p>Format: \[a-zA-Z0-9-\_]</p><p>(e.g.: HU-324;WSPY\_3456;12345; AAA)</p> |
| `productName`                | Product name                                                                                                                                                                                                   |
| `variantName`                | Product variant name                                                                                                                                                                                           |
| `hasSerial`                  | Product has serial number ("yes", "no")                                                                                                                                                                        |
| `dutiable`                   | Clearance ("yes", "no")                                                                                                                                                                                        |
| `taricCode`                  | Customs tariff number                                                                                                                                                                                          |
| `lowStock`                   | Reorder (low stock) notification                                                                                                                                                                               |
| `price`                      | Product price (net)                                                                                                                                                                                            |
| `vat`                        | VAT (Product selling)                                                                                                                                                                                          |
| `currency`                   | <p>Currency.<br>If not defined, the currency of the specific country will be used as default setting.<br>(e.g.: HUF, EUR, CZK, RON)</p>                                                                        |
| `isAdr`                      | Is it hazardous product (ADR)? ("yes", "no")                                                                                                                                                                   |
| `adrCode`                    | ADR code                                                                                                                                                                                                       |
| `adrQuantity`                | ADR value                                                                                                                                                                                                      |
| `coolingDemand`              | Requires cooling ("refrigerator", "freezer", "none")                                                                                                                                                           |
| `isFragile`                  | Is the product fragile? ("yes", "no")                                                                                                                                                                          |
| `categoryUniqueId`           | Category ID                                                                                                                                                                                                    |
| `category`                   | Category name                                                                                                                                                                                                  |
| `subCategory`                | Subcategory name                                                                                                                                                                                               |
| `sub_subCategory`            | Sub-Subcategory name                                                                                                                                                                                           |
| `keepQuantity`               | Reserved own stock                                                                                                                                                                                             |
| `dropshippyWholesalePrice`   | Marketplace wholesale price (in Hungarian forint)                                                                                                                                                              |
| `dropshippyWholesaleVat`     | Marketplace wholesale VAT (ie. 0.27)                                                                                                                                                                           |
| `dropshippyRecommendedPrice` | Marketplace recommended retail price Net (in front)                                                                                                                                                            |
| `productDescription`         | Product description                                                                                                                                                                                            |
| `type`                       | Product type ("product", "virtual")                                                                                                                                                                            |
| `productType`                | Product description for customs                                                                                                                                                                                |
| `imageUrls`                  | Product image urls (with ; \[semicolon] separator, maximum 6 urls)                                                                                                                                             |
| `quantity`                   | Product's stock state (contains both available and reserved quantity)                                                                                                                                          |
| `available_quantity`         | Contains only the available stock (reserved for orders quantity is not included)                                                                                                                               |
| `reserved_by_orders`         | Contains the stock reserved for orders                                                                                                                                                                         |
| `updatedAt`                  | Product's date of last modification                                                                                                                                                                            |

## Generating and modifying a product

With this function you can create and modify a product. In case we do not have the product's `sku`  the API creates one, in case we do have, the API modifies it. All fields are free to modify, except `barcode` field, which is only modifiable if we do not have the data. In case of a successful generation or modification, API returns the order's Internal ID.

{% hint style="info" %}
For Dropshippy use, please go and refer to related [help](https://help.webshippy.com/hu/articles/3768583-sajat-termekek-belistazasa-a-dropshippy-katalogusba) which fields you need to specify
{% endhint %}

| Field                        | Required? | Description                                                                                                                                                                                                    |
| ---------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `apiKey`                     | Yes       | API key                                                                                                                                                                                                        |
| `product`                    | Yes       | Created or modified product's data                                                                                                                                                                             |
| `referenceId`                | No        | External ID, free word, recommended to use the product's ID                                                                                                                                                    |
| `sku`                        | Yes       | Product's SKU, item number                                                                                                                                                                                     |
| `barcode`                    | No        | <p>Product's barcode. The first will be the product's default barcode, further alternative barcodes can be added seperated with ;</p><p>Format: \[a-zA-Z0-9-\_]</p><p>(e.g.: HU-324;WSPY\_3456;12345; AAA)</p> |
| `productName`                | Yes       | Product name                                                                                                                                                                                                   |
| `variantName`                | No        | Product variant name (e.g.: color, size)                                                                                                                                                                       |
| `type`                       | No        | Product type ("product", "virtual")                                                                                                                                                                            |
| `hasSerial`                  | No        | Product has serial number ("yes", "no")                                                                                                                                                                        |
| `dutiable`                   | No        | Clearance? ("yes", "no")                                                                                                                                                                                       |
| `productDescription`         | No        | Product description                                                                                                                                                                                            |
| `taricCode`                  | No        | Customs tariff number                                                                                                                                                                                          |
| `lowStock`                   | No        | Reorder (low stock) notification                                                                                                                                                                               |
| `price`                      | No        | Product price (net)                                                                                                                                                                                            |
| `vat`                        | No        | VAT (Product selling)                                                                                                                                                                                          |
| `Currency`                   | No        | <p>Currency.<br>If not defined, the currency of the specific country will be used as default setting.<br>(e.g.: HUF, EUR, CZK, RON)</p>                                                                        |
| `isAdr`                      | No        | Is it hazardous product (ADR)? ("yes", "no")                                                                                                                                                                   |
| `adrCode`                    | No        | ADR code                                                                                                                                                                                                       |
| `adrQuantity`                | No        | ADR value                                                                                                                                                                                                      |
| `coolingDemand`              | No        | Requires cooling ("refrigerator", "freezer", "none")                                                                                                                                                           |
| `isFragile`                  | No        | Is the product fragile? ("yes", "no")                                                                                                                                                                          |
| `productType`                | No        | Product description for customs                                                                                                                                                                                |
| `category`                   | No        | Main category ID or name                                                                                                                                                                                       |
| `subCategory`                | No        | Subcategory ID or name                                                                                                                                                                                         |
| `keepQuantity`               | No        | Reserved own stock                                                                                                                                                                                             |
| `dropshippyWholesalePrice`   | No        | Marketplace wholesale price (in forint)                                                                                                                                                                        |
| `dropshippyWholesaleVat`     | No        | Marketplace wholesale VAT (ie. 0.27)                                                                                                                                                                           |
| `dropshippyRecommendedPrice` | No        | Marketplace recommended retail price Net (in forint)                                                                                                                                                           |
| `imageUrls`                  | No        | Product image urls (with ; \[semicolon] separator, maximum 6 urls)                                                                                                                                             |

In case of **XML**:

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

Request:

```
<?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>Divat és ruházat</category>
    <subCategory>Gyermek divat</subCategory>
    <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>
```

Response (example):

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

In case of **JSON**:

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

Request:

```
{
  "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": "Divat és ruházat",
    "subCategory": "Gyermek divat",
    "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"
  }
}
```

Response (example):

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

Additional response possibilities:

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

## **Product deletion**

Soon…
