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
Name | Description | Type | Additional 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
Name | Description | Type | Additional 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, "reference_id": "783bf7b7471742bbbcaa12807c3860e9" }, "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 - Fine Art Paper Prints", "description_short": "Giclee - Fine Art Paper Prints", "description_long": "<h4>Framed Giclee - Fine Art 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>", "labels": [ { "key": "sku", "value": "AP1556P79511", "priority": 5 }, { "key": "type", "value": "Framed Giclee - Fine Art Paper Prints", "priority": 0 }, { "key": "media", "value": "8 x 10\" Archival Canvas Paper", "priority": 1 }, { "key": "style", "value": "1/2\" Extra Border Added", "priority": 1 }, { "key": "collection", "value": "Rustic Britanny", "priority": 1 }, { "key": "frame", "value": "13 x 15 Vermill Red 1-1/2\"", "priority": 1 }, { "key": "base mat", "value": "Off White", "priority": 1 }, { "key": "glazing", "value": "Premium Clear", "priority": 1 } ], "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": "3c9aa4bb-dc6c-4068-9e5d-20aec1416c40", "product_size": null, "third_party_integrations": null, "debug": null } ], "page_number": 0, "per_page": 0, "count": 0 }