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 with valid product codes.
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. |
account_key |
Optional - This retrieves virtual inventory by account_key. Note, this will only be accepted for accounts with permission to utilize this parameter, otherwise it will be ignored and virtual inventory will be retrieved based upon the user's api credentials. Leave as null if not authorized to use this parameter. |
text |
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, "account_key": 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,
"account_key": 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,
'account_key': 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,
'account_key': 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,
'account_key': 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,
"account_key": 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,
'account_key': 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": "749faa41b2de4ba49d7140580dd0202a" }, "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>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": "09d83a97-086d-42d0-a29b-c4e18cf5f519", "product_size": null, "third_party_integrations": null, "framing_options": null, "product_guid": "00000000-0000-0000-0000-000000000000", "debug": null } ], "page_number": 0, "per_page": 0, "count": 0 }