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").