• Register

Penguin Random House Developer Blog

Enhanced API v1.4.1 released

On Monday February 4, 2019, version 1.4.1 of the Enhanced PRH API was released to production. If you encounter any problems with your applications as a result of these changes, please contact us at api@penguinrandomhouse.com.

Version 1.4.1 release notes

In 2019 we will be starting to do monthly releases for the PRH API code. That means that as long as issues don't come out of testing during the second half of the month, a code update will go in some time shortly after the first of each month. This month we have a number of bug fixes along with a couple of enhancements.

Among the bugs that were addressed, we resolved an issue with the /works/{workId}/views/also-in/author endpoint where illustrators were being incorrectly considered. We also made a couple of fixes to the /works/views/sales-display view adjusting the SQL that was being generated to better match the requirements. Finally we fixed an issue where some missing data was causing some Australian queries to return a 500.

Flag and ignoreFlag filters

Two new features were added with this release. The first are two new filter parameters: flag and ignoreFlag. One of the elements in the Title representation is called flags and it can contain several different keywords indicating membership in different metadata groups. For example the 3PD flag indicates that an ISBN is owned by one of the third party distributions that PRH fulfills; the LIBRARY_BINDING flag indicates that this is a kids book with the heavy duty binding suitable for libraries. These keyword values can now be specified to either include (flag) or exclude (ignoreFlag) ISBNs with that quality from the result.

For example, this request will list the works that have at least one ISBN with a LIBRARY_BINDING.

/domains/PRH.US/works?flag=LIBRARY_BINDING

{
"status": "ok",
"recordCount": 2030,

While this will give us all of the "coming soon" titles excluding any 3PD.

/domains/PRH.US/titles?showComingSoon=true&ignoreFlag=3PD

{
"status": "ok",
"recordCount": 2339,

Addition of hasAudioEdition element to work list display

The endpoint /works/views/list-display has a new element called hasAudioEdition that indicates whether any of its child ISBNs has a format family of "Audio". Here is an example call:

/domains/PRH.US/works/views/list-display?workId=202476&workId=221591

{
  "status": "ok",
  "recordCount": 2,
  "startTimestamp": "2019-02-04T19:58:35Z",
  "endTimestamp": "2019-02-04T19:58:35Z",
  "timeTaken": 22,
  "data": {
    "works": [
      {
        "workId": 202476,
        "title": "Last Boat Out of Shanghai",
        ...
        "hasExcerpt": true,
        "hasAudioEdition": false,
        ...
      },
      {
        "workId": 221591,
        "title": "The Golden Tresses of the Dead",
        ...
        "hasExcerpt": true,
        "hasAudioEdition": true,

Bug

  • [RHAPI-1127] - also in author view should only consider Author role
  • [RHAPI-1130] - isbnSort=higherEducation is not working anymore
  • [RHAPI-1131] - AU author display view generating JBoss error
  • [RHAPI-1134] - Retail - sales-display call is returning record count but no actual data for catUri=childrens (S1)
  • [RHAPI-1135] - Higher Education sales-display - Record count and number of results returned not in sync

Task

  • [RHAPI-1125] - Add flags and ignoreFlags filter parameters
  • [RHAPI-1129] - Add hasAudioEdition flag to /works/views/list-display
  • [RHAPI-1132] - Testing v1.4.1 (February 2019)
  • [RHAPI-1137] - Deploy to DEV sometimes fails