Endpoints
XML Request Format
Send HTTP PUT (or POST) requests with an XML body to https://inventoryupdate.abebooks.com:10027/. The server responds with an XML document containing the result of each book operation.
Request Elements
All inventory update requests follow XML standards and should include the standard XML header:
<?xml version="1.0" encoding="ISO-8859-1"?>The following is an example of an inventoryUpdateRequest with a TransactionType of "add" and a Quantity of "2":
<?xml version="1.0" encoding="ISO-8859-1"?>
<inventoryUpdateRequest version="1.0">
<action name="bookupdate">
<username>YOUR_CLIENT_PIN</username>
<password>YOUR_API_KEY</password>
</action>
<AbebookList>
<Abebook>
<transactionType>add</transactionType>
<vendorBookID>000001</vendorBookID>
<author>Wittgenstein, Ludwig</author>
<title>Tractatus Logico-Philosophicus</title>
<publisher>Dover Publications</publisher>
<subject>Philosophy Logic Linguistics</subject>
<price currency="USD">1234567.89</price>
<languageIsoCode>ENG</languageIsoCode>
<dustJacket>true</dustJacket>
<binding type="hard">Leather</binding>
<firstEdition>false</firstEdition>
<signed>false</signed>
<booksellerCatalogue>Philosophy</booksellerCatalogue>
<description>Clean and unmarked; with original intro.</description>
<bookCondition>Fine</bookCondition>
<size>8.4" x 5.4"</size>
<jacketCondition>Fine</jacketCondition>
<bookType>Ex-Library</bookType>
<isbn>0486404455</isbn>
<publishPlace>Toronto, Canada, ON</publishPlace>
<publishYear>1999</publishYear>
<edition>Reprint</edition>
<inscriptionType>Signed by previous owner.</inscriptionType>
<quantity amount="2"></quantity>
<shippingTemplateID>ST-0001</shippingTemplateID>
<weight unit="GRAMS">12.56</weight>
<pictureList>
<pictureURL>https://www.abebooks.com/images/123456_1.jpg</pictureURL>
<pictureURL>https://www.abebooks.com/images/123456_2.jpg</pictureURL>
</pictureList>
</Abebook>
</AbebookList>
</inventoryUpdateRequest>inventoryUpdateRequest Tag
This tag wraps the entire inventory update request. It has one attribute that indicates the version of the XML request and two elements: AbebookList and Abebook. Currently the only valid version is "1.0".
action Tag
This tag tells the inventory server which action to take and which user is performing it. The attribute "name" may have the value of "bookupdate". The elements username and password must identify a unique, valid vendor account, where username is the vendor's client PIN and password is the API Key.
AbebookList Tag
The AbebookList element must contain at least one Abebook element and can contain up to 100.
Abebook Tag
The Abebook tag contains all of the elements that describe a book. transactionType, vendorBookID and price are required. One of author, title or publisher is also required. The remaining elements are optional as described in the tag dictionary.
Quantity Tag
Specifying the quantity of a book can be done with the quantity tag. This tag has two attributes: "amount" and "limit".
Specify a quantity of 2:
<quantity amount="2"></quantity>Specify unlimited quantity:
<quantity limit="1"></quantity>Note: Setting amount="0" will delete the listing, equivalent to using a "delete" transaction type.
editionList Tag
To specify multiple edition types for a single listing, use the editionList tag containing one or more edition child elements:
<editionList>
<edition>Signed limited edition</edition>
<edition>Reprint</edition>
</editionList>This can be used instead of or in addition to the single <edition> tag. See the Keywords Reference for recognized edition values.
The Inventory Update Response
Example Response
<?xml version="1.0" encoding="ISO-8859-1"?>
<inventoryUpdateResponse version="1.0">
<code>600</code>
<message lang="en">English Message</message>
<AbebookList>
<Abebook>
<code>600</code>
<message>Book added or updated</message>
<transactionType>ADD</transactionType>
<vendorBookID>8484848E8e8e8</vendorBookID>
</Abebook>
<Abebook>
<code>600</code>
<message>Book deleted</message>
<transactionType>DELETE</transactionType>
<vendorBookID>1212121</vendorBookID>
</Abebook>
</AbebookList>
</inventoryUpdateResponse>Error Response Format
<?xml version="1.0" encoding="ISO-8859-1"?>
<requestError version="1.0">
<code>501</code>
<message lang="en">English Error Message</message>
</requestError>Tag Dictionary
| Tag | Required (Add/Upd/Del) | Size | Notes |
|---|---|---|---|
<inventoryUpdateRequest> |
Yes/Yes/Yes | N/A | 1.0 is the only valid version. |
<action name> |
Yes/Yes/Yes | N/A | "bookupdate" is the only valid value. |
<username/> |
Yes/Yes/Yes | 30 | |
<password/> |
Yes/Yes/Yes | 30 | |
<transactionType/> |
Yes/Yes/Yes | N/A | ADD, UPDATE or DELETE (not case sensitive). |
<vendorBookID/> |
Yes/Yes/Yes | 40 | Must be unique. |
<author/> |
Yes/Yes/No | 750 | On add/update, at least one of author, title, publisher required. |
<title/> |
Yes/Yes/No | 750 | |
<publisher/> |
Yes/Yes/No | 750 | |
<subject/> |
No/No/No | 2000 | KEYWORDS field. |
<price> |
Yes/Yes/No | 8.2 | Currency attribute is three-letter ISO code. Format: #.## |
<dustJacket/> |
No/No/No | Bool | TRUE/FALSE |
<binding> |
No/No/No | 30 | Type attribute: "hard" or "soft". |
<firstEdition/> |
No/No/No | Bool | TRUE/FALSE |
<signed/> |
No/No/No | Bool | TRUE/FALSE |
<booksellerCatalogue/> |
No/No/No | 750 | If value is "Sold", the book will be deleted. |
<description/> |
No/No/No | 4000 | |
<illustrator/> |
No/No/No | 254 | |
<bookCondition/> |
No/No/No | 30 | See Keywords Reference for values. |
<size/> |
No/No/No | 50 | |
<jacketCondition/> |
No/No/No | 30 | See Keywords Reference for values. |
<bookType/> |
No/No/No | 30 | See Keywords Reference for values. |
<isbn/> |
No/No/No | 15 | |
<publishPlace/> |
No/No/No | 50 | |
<publishYear/> |
No/No/No | 4 | |
<printing/> |
No/No/No | 20 | See Keywords Reference. |
<edition/> |
No/No/No | 40 | See Keywords Reference. Use <editionList> for multiples. |
<editionList> |
No/No/No | N/A | Contains multiple <edition> child elements. See Keywords Reference. |
<inscriptionType/> |
No/No/No | 50 | See Keywords Reference for values. |
<quantity/> |
No/No/No | 999 | Max 999. limit="1" for unlimited. amount="0" deletes listing. |
<pictureList> |
No/No/No | N/A | Up to 20 <pictureURL> items. |
<pictureURL> |
No/No/No | 2000 | URLs from Amazon, eBay, etc. are blocked. |
<productionMethod/> |
No/No/No | N/A | "P" = printed on demand, "E" = eBook. |
<productType/> |
No/No/No | N/A | See Keywords Reference for values. |
<shippingTemplateID/> |
No/No/No | 40 | Must match a published Shipping Template ID. |
<weight/> |
No/No/No | N/A | Unit: "GRAMS", "KILOGRAMS", "OUNCES", "POUNDS". Format: #.## |
<languageIsoCode/> |
No/No/No | 3 | 3-letter ISO code (e.g., "ENG", "DEU"). |