Order Update API

Application Change Log

  • August 2026 — Added the searchOrders action to search purchase orders. Added shipping speed and last status update date fields to the order response (version 1.3)
  • November 2024 — Added returnless refund rule ID tag to return response and item weight unit/value tags (version 1.2)
  • June 2024 — New endpoints added to manage returns (get, search, initiate, update)
  • October 2023 — The API response for <extraItemShippingCost> and <firstItemShippingCost> fields will return 0.0 if users change rate types or use multiple templates
  • April 2021 — Version 1.1 released adding support for tax information, seller direct purchase methods, and increased tracking character limit

Introduction

The Order Update API may be used to retrieve and update new orders for a seller, and is based on industry standards including XML and HTTPS. There is no software for the seller to install, only this specification document that can be used to create an interface with the Order Update service using an appropriate software development language that supports TLS 1.2 and XML 1.0.

Minimum Requirements

  • An AbeBooks bookseller account with a valid username and API Key.
  • In-depth understanding of XML. For more information, see https://www.w3.org/XML/.
  • Appropriate system access to open port 443 for bi-directional TLS traffic.
  • Ability to work with and deploy a programming language that supports TLS and XML.
  • Because each XML request contains your username and API Key, you must use a TLS certified secure client.
  • Operation through a proxy server is not supported.

Service Address

Server: https://orderupdate.abebooks.com

Port: 10003

Security

Security is based on TLS 1.2 and API key. Click here to generate an API key.

Testing

At this time, AbeBooks has no test environment for the Order Update API.

You will be responsible for ensuring that your client software is performing as required. We suggest that you create (as a buyer) one or more orders against "dummy" books in your AbeBooks inventory. (If you don't have dummy books in your inventory, you can upload a few (no more than 5) with whatever process you usually use to maintain your book inventory with AbeBooks.) You can then run tests against these orders without affecting real buyers.

Important Notes

When you submit an order to our API server for processing as "Shipped", we will attempt to charge the buyer's card immediately, and the API will respond with the new status of each item in the order. It is critical to examine the "status" tags for each item in the response, as they will indicate whether the items should be shipped or not. Note that it is possible for orders to be partially cancelled by the buyer (i.e. only some items in the order should be shipped).

Requests for extra charges cannot be made via the OrderUpdate API. If you would like to request extra charges for an order, please go directly to your AbeBooks account to submit the request. You will receive an email notification once the buyer has accepted or rejected the charges, at which point you can process the order normally via the OrderUpdate API.

AbeBooks provides fraud protection only for orders where the payment method is Credit Card. Should a buyer contact you with a change to their payment or shipping information after an order has been placed, please review this information carefully.

AbeBooks.com Purchase Orders

The core of the Order Update service is the AbeBooks.com Purchase Order (ABEPO). All successful requests to the Order Update server will return a single ABEPO instance or a list of ABEPOs, depending on the call. ABEPOs provide name and address information for the buyer, shipping information, as well as order currency and total value. Each ABEPO has a unique number (the "ABEPOID").

Each ABEPO includes one or more Purchase Order Items (ABEPOITEMs). Each ABEPOITEM references exactly one book sold. Book title, seller's book ID, description, author, and item price are typical fields in the ABEPOITEM record. All items in an order will be from the same bookseller to the same book buyer. Each ABEPOITEM has a unique number (the "ABEPOITEMID"), as well as a reference to the parent ABEPO (ABEPOID).

The API is flexible in that the client need not always explicitly refer to the ABEPOITEMs. Some calls allow access to the order itself, without reference to the items included. For example, a single call allows the client to set the status of the entire ABEPO and all the included items.

Note that both ABEPOs and ABEPOITEMs pass through a number of standard order statuses during sales processing. These statuses and the values that can be set are defined in detail below.

API Versions

Version Features
1.0 Initial release
1.1 Includes tax information for applicable orders. Includes Seller Direct method. Increase of the number of characters when updating tracking information. Support for return requests.
1.2 Adds item weight and item weight type. Adds the returnless refund rulesId to the return object field if it exists.
1.3 Adds shipping speed and last status update date to order responses.