List Virtual Inventory
Uri: https://test-api.finerworks.com/v3/list_virtual_inventory
Method: POST

Provides a list of a user's virtual inventory (products) stored in their account.


Body

NameDescriptionTypeAdditional information
search_filter

Optional - Search query filter that searches based on text in the title or description.

text

None.

sku_filter

Optional - Search query filter that searches based on a list of product skus. The max it will search is 50, otherwise the filter will be ignored.

array (text)

None.

product_code_filter

Optional - Search query filter that searches based on a list of product codes. The max it will search is 50, otherwise the filter will be ignored.

array (text)

None.

guid_filter

Optional - If you have a list of image guids you can filter by a list of image unique identifiers.

array (globally unique identifier)

None.

page_number

Optional - Page number.

number

None.

per_page

Optional - Default is 10 however you can display up to 50 at a time.

number

None.

sort_field

Optional - Default is by id. Alternatively these fields can also be used: title, file_name, file_size, or date_added.

text

None.

sort_direction

Optional - Default is "DESC" for descending order however if you want it to be ascending order, use "ASC".

text

None.

created_date_from

Optional - Default is null however you can filter by earliest date added.

date

None.

created_date_to

Optional - Default is null however you can filter by latest date added.

date

None.

Example JSON Body

application/json, text/json

{
  "search_filter": "",
  "sku_filter": null,
  "product_code_filter": null,
  "guid_filter": null,
  "page_number": 1,
  "per_page": 10,
  "sort_field": "id",
  "sort_direction": "DESC",
  "created_date_from": null,
  "created_date_to": null
}

Sample Code Library


                        
curl --location --request sample_method 'https://test-api.finerworks.comsample_endpoint' \
--header 'Content-Type: application/json' \
--header 'web_api_key: my-web-api-key-goes-here' \
--header 'app_key: my-app-key-goes-here' \
--data-raw '{
  "search_filter": "",
  "sku_filter": null,
  "product_code_filter": null,
  "guid_filter": null,
  "page_number": 1,
  "per_page": 10,
  "sort_field": "id",
  "sort_direction": "DESC",
  "created_date_from": null,
  "created_date_to": null
}'
                            
                        


require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://test-api.finerworks.comsample_endpoint');
$request->setMethod(HTTP_Request2::METHOD_sample_method);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'web_api_key' => 'my-web-api-key-goes-here',
'app_key' => 'my-app-key-goes-here'
));
$request->setBody('{
  'search_filter': '',
  'sku_filter': null,
  'product_code_filter': null,
  'guid_filter': null,
  'page_number': 1,
  'per_page': 10,
  'sort_field': 'id',
  'sort_direction': 'DESC',
  'created_date_from': null,
  'created_date_to': null
}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}

                        


var client = new RestClient("https://test-api.finerworks.comsample_endpoint");
client.Timeout = -1;
var request = new RestRequest(Method.sample_method);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("web_api_key", "my-web-api-key-goes-here");
request.AddHeader("app_key", "my-app-key-goes-here");
request.AddParameter("application/json", "{
  'search_filter': '',
  'sku_filter': null,
  'product_code_filter': null,
  'guid_filter': null,
  'page_number': 1,
  'per_page': 10,
  'sort_field': 'id',
  'sort_direction': 'DESC',
  'created_date_from': null,
  'created_date_to': null
},  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

                        


var settings = {
"url": "https://test-api.finerworks.comsample_endpoint",
"method": "sample_method",
"timeout": 0,
"headers": {
"Content-Type": "application/json",
"web_api_key": "my-web-api-key-goes-here",
"app_key": "my-app-key-goes-here"
},
"data": JSON.stringify({
  'search_filter': '',
  'sku_filter': null,
  'product_code_filter': null,
  'guid_filter': null,
  'page_number': 1,
  'per_page': 10,
  'sort_field': 'id',
  'sort_direction': 'DESC',
  'created_date_from': null,
  'created_date_to': null
}),
};

$.ajax(settings).done(function (response) {
console.log(response);
});

                        

                        
var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
'method': 'sample_method',
'hostname': 'api.finerworks.com',
'path': 'sample_endpoint',
'headers': {
'Content-Type': 'application/json',
'web_api_key': 'my-web-api-key-goes-here',
'app_key': 'my-app-key-goes-here'
},
'maxRedirects': 20
};

var req = https.request(options, function (res) {
var chunks = [];

res.on("data", function (chunk) {
chunks.push(chunk);
});

res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});

res.on("error", function (error) {
console.error(error);
});
});

var postData = JSON.stringify({
  "search_filter": "",
  "sku_filter": null,
  "product_code_filter": null,
  "guid_filter": null,
  "page_number": 1,
  "per_page": 10,
  "sort_field": "id",
  "sort_direction": "DESC",
  "created_date_from": null,
  "created_date_to": null
});

req.write(postData);

req.end();
                            
                        

                        
    require "uri"
    require "net/http"

    url = URI("https://test-api.finerworks.comsample_endpoint")

    https = Net::HTTP.new(url.host, url.port)
    https.use_ssl = true

    request = Net::HTTP::sample_method.new(url)
    request["Content-Type"] = "application/json"
    request["web_api_key"] = "my-web-api-key-goes-here"
    request["app_key"] = "my-app-key-goes-here"
    request.body = "{
  'search_filter': '',
  'sku_filter': null,
  'product_code_filter': null,
  'guid_filter': null,
  'page_number': 1,
  'per_page': 10,
  'sort_field': 'id',
  'sort_direction': 'DESC',
  'created_date_from': null,
  'created_date_to': null
}"

    response = https.request(request)
    puts response.read_body


                        

NameDescriptionTypeAdditional information
status

Response status details

response_status

None.

products

The list of products returned from the virtual inventory query

array (product_details)

None.

page_number

Current page number.

number

None.

per_page

Current count of products returned.

number

None.

count

Total products count based on the query

number

None.

Example JSON Response

application/json, text/json

{
  "status": {
    "success": true,
    "status_code": 200,
    "message": "",
    "debug": null
  },
  "products": [
    {
      "monetary_format": "USD",
      "quantity": 1,
      "quantity_in_stock": 0,
      "sku": "AP1556P79511",
      "product_code": "5M41M9S8X10F131S13X15J2S9X11G1",
      "price_details": null,
      "per_item_price": 113.0,
      "total_price": 113.0,
      "asking_price": 200.0,
      "name": "Framed Giclee - Paper Prints",
      "description_short": "Giclee - Paper Prints",
      "description_long": "<h4>Framed Giclee - Paper Prints</h4><ul><li>8 x 10\" Archival Canvas Paper<ul><li>1/2\" Extra Border Added</li></ul></li><li>Frame: Rustic Britanny<ul><li>Vermill Red 1-1/2\" (354303)<ul><li>13 x 15\"</li></ul></li></ul></li><li>Single Mat: Off White (A4902)<ul><li>13 x 15\" (window: 9 x 11)</li></ul></li><li>Glazing (Acrylic Glass): Premium Clear </li></ul>",
      "image_url_1": "https://somewhere.com/image.png",
      "image_url_2": null,
      "image_url_3": null,
      "image_url_4": null,
      "image_url_5": null,
      "image_guid": "06c86f7c-2ea6-4650-a6ab-d0ea0a855f63",
      "product_size": null,
      "third_party_integrations": null,
      "debug": null
    }
  ],
  "page_number": 0,
  "per_page": 0,
  "count": 0
}