Frequently Asked Questions
PLEASE NOTE: THIS API DOCUMENTATION IS FOR EXISTING API USERS ONLY. NO NEW CREDENTIALS WILL BE ISSUED.
Below are documented questions and their answers:
I'm having a hard time getting started, can you provide more detailed instructions?
First, make sure you have the following dependencies installed:
Once these dependencies are installed, then download the latest datafeed client (DFClient) executable from http://developer.liebermans.net/DataFeed.aspx.
Unzip the contents of the executeable only zip file (DFClient_v1021_Executable.zip) and copy all of the files into a folder, we'll use C:\DFClient as an example. Next, edit the file C:\DFClient\DFClient.exe.config file and add in your web service credentials. After you have done that, create two more folders: C:\LiebermansData, and C:\LiebermansData\images. You will then use the dfclient.exe program to download the Lieberman's data to those folders.
To download the Lieberman's data...
Go to Start > Run, type cmd and then press enter, to bring up a command prompt.
Once you have opened a command prompt, type the following (press Enter after each line):
cd C:\DFClient
dfclient.exe -get:baseline -recordspath:C:\LiebermansData
The command above will download the baseline data that includes all artwork records, categorization, etc.
After that is complete, type the following:
dfclient.exe -get:images -imagespath:C:\LiebermansData\images
The command above will download all of the images, and will take a few hours to complete.
What is the difference between the baseline and the update (recordschangedsince) downloads when using the DFClient?
The baseline download is a snapshot of our data. When it is downloaded, it will contain 4 files: artwork.txt, categories.txt, category_def.txt, and keywords.txt. The artwork.txt file contains all of the artwork records, categories.txt contains a mapping of artwork to categories, category_def.txt contains a list of all categories, and keywords.txt contains a mapping of artwork to keywords. When an update (recordschangedsince) download is performed, the same files are created, but a "CH_" is appended to each file with the exception of the category_def.txt file, which still contains a list of all the categories. The "CH_" files only contain data for artwork records that were modified since the requested date.
What is the recommended way to retrieve periodic updates using the DFClient?
You retrieve updates by running the following command:
dfclient.exe -get:records -recordspath:c:\targetdir -recordschangedsince:2008-10-30
The first time you get updates, you should request records changed since the data of the last baseline was generated on our server, in this case 10-30-2008 (this is also the created date of the artwork.txt file). The next time you get updates, you should use the date that you last requested updates. For example, if you wanted to get weekly data updates:
On 2008-11-01 -> dfclient.exe -get:baseline -recordspath:c:\targetdir
On 2008-11-08 -> dfclient.exe -get:records -recordspath:c:\targetdir -recordschangedsince:2008-10-30
On 2008-11-15 -> dfclient.exe -get:records -recordspath:c:\targetdir -recordschangedsince:2008-11-08
When you get updates, the DFClient will create files that are prefixed with "CH_" in the targetdir that contain the updated data. When you get updates, the DFClient will create files that are prefixed with "CH_" in the targetdir. These records represent any records that have been changed since the specified date. If an artwork record has been changed, all of its corresponding category and keyword records will be provided in the CH_categories.txt and CH_keywords.txt files, respectively.
When a product is deleted how are we notified?
Products are never deleted, the are marked as unavailable. When an item is unavailable, the IsAvailable value for that record will be 0 in the (CH_)artwork.txt file.
When an item is removed from a category how are we notified?
When an item is removed from a category, it will show up as a record in the (CH_)artwork.txt file. The corresponding categories for that record are present in the (CH_)categories.txt file. The best way to process this data is to delete all of your categorization records for the artwork in question, and then reload the categorization records based on the latest (CH_)categories.txt file.
Are the image names listed in the artwork.txt file or any other datafeed files?
Not directly, you can build the image filename from the data in the artwork.txt file.
Assuming your image directory is C:\datafeed\images, the image filename is:
C:\datafeed\images\[PUBLISHER]\[PUBITEMNUM].jpg
The thumbnail filename is:
C:\datafeed\images\[PUBLISHER]\thumbs\[PUBITEMNUM].jpg
How do I find images and shipping times for Publishers with duplicate Publisher Codes (i.e., AppleJack and Capital Decor)?
The images use the format [PUBLISHER CODE]\[PUBLISHER ITEM NUMBER], so you'll just have one APP directory, for example, that stores the images for "both" publishers. There will be no duplicate item numbers for these publishers.
To determine the proper publisher to use for shipping times, use the following method:
For APP (AppleJack and Capital Decor), the publisher is AppleJack.
For ICA (Icon Art and ICA (DEAD)), the publisher is Icon Art.
For OWP (Old World Prints and Old Word Prints Hand Colored), every artwork record that has an item number that ends in C or K is OWP Hand Colored, everything else is Old World Prints.
For PYR, the workaround is a bit more difficult. We stock everything that we sell through Pyramid Posters, while Pyramid Art Prints is on regular day to day ordering. You'll have to download the Inventory Levels to determine which items are available through Pyramid Posters. Any PYR item that is in the Inventory Levels download will be available to ship the same day. Any item that is not in the Inventory Levels download will use the Pyramid Art Prints ship time.
Going forward, we will be adding a unique Publisher ID field to the data feed to resolve this issue.
I don't have access to a Windows PC, can I use the DFClient under other operating systems?
Yes, you can execute the DFClient using mono, a cross platform implementation of the .NET Framework. Unfortunately, the DFClient will not run "out of the box" on mono, but there is a simple procedure you can follow to create a mono compatible DFClient.
Click here to learn how to compile the DFClient under mono.
WSE065: Creation time of the timestamp is in the future
While running get:images of DFClient, I encountered the following error:
System.Web.Services.Protocols.SoapHeaderException:
Microsoft.Web.Services3.Security.SecurityFault:
An error was discovered processing the <Security> header ---> System.Exception:
WSE065: Creation time of the timestamp is in the future.
To correct this error, be sure the time on the computer running the DFClient is equal to or slightly earlier (a few seconds) than the time displayed on the web page listed below:
https://services.liebermans.net/api/v2/servertime.aspx
This error indicates a synchronization error between the calling application and the Lieberman's web services.
Why am I getting "[Parameter] is not a valid input parameter." errors when attempting to submit an order?
For simplicity's sake, we use the same Order objects for requests as we do repsonses. This does, however, allow a user to supply the web service with more information than it needs. Fortunately, these are non-fatal errors and can be ignored. Alternatively, you can opt to not set these parameters when making your request.
Still have questions?
If you are an existing Lieberman's customer and need assistance with the Lieberman's API, please contact our development team at developersupport@liebermans.net. Please include as much information as possible in describing your question.