Syndetics Solutions Services

Last updated on
30 April 2025
Introduction

"Syndetic Solutions is the premier provider of specialized, quality bibliographic data to enhance library online catalogs, and is the only company dedicated exclusively to that end." (from Syndetic Solution's web site). Several libraries, including University of Rochester use this service to enrich its catalog. This module's purpose is to provide wrapper methods to make it easy to call Syndetic Solution's APIs. The service is not free of charge, you should contract with Syndetic Solution before using this module. You will receive an institutional code, what you should register in Drupal (for details see Settings section). The institutional code will identify your intitution and maybe your permissions.

The service based on URL requests and XML response. The XML is schemaless, and during development I have not found a good documentation about the possible changes of the XML structure. The structure we depends based on experiences with the XMLs we received for the University of Rochester's institutional code. If you feel, that you receive different XMLs, please contact us.

Settings

Currently there is only one thing you should set up: the institutional code which identifies your library at Syndetics Solution. It will be the part of every URLs the toolkit will send to Syndetics to retrieve content.

  1. Go to admin/xc/syndetics
  2. enter Syndetics Solution client code
  3. click Save configuration

The code will be saved as general Drupal variable as 'syndetics_client_code'. You can modify your code any time.

API functions

These functions are those we provide for external modules. If you would like to see more examples, please review the code of xc_search.module inside the eXtensible Catalog Drupal Toolkit.

syndetics_image_url()

To get URL of cover images corresponding one or more bibliographic identifiers:

$urls = syndetics_image_url($ids, $id_type, $image_size, $only_cached_images)

example:

$urls = syndetics_image_url('62364586', SYNDETICS_TYPE_OCLC, SYNDETICS_SMALL, FALSE);
// the same result given the default values of 3rd and 4th parameters
$urls = syndetics_image_url('62364586', SYNDETICS_TYPE_OCLC);
// get only the cached images
$urls = syndetics_image_url('62364586', SYNDETICS_TYPE_OCLC, SYNDETICS_SMALL, TRUE);

The funtion returns the list of image URLs. Parameters:

ids (Array)
Associative array of Syndetics identifiers (ISBN, OCLC, UPC numbers), where the keys are: ISBN, OCLC, and UPC and the values are the actual identifiers of the corresponding type, or an array of identifier values.
id_type (String)
The type of the identifier. One of the following: 'ISBN' - the default value (constant: SYNDETICS_TYPE_ISBN), 'OCLC' (SYNDETICS_TYPE_OCLC), 'UPC' (SYNDETICS_TYPE_UPC), 'COMPLEX' (SYNDETICS_TYPE_COMPLEX). COMPLEX means that the $IDs parameter is an associative array.
image_size (String)
The size of the image. Possible values: 'LC' - for large images (corresponding constant: SYNDETICS_LARGE), 'MC' - for medium size image (SYNDETICS_MEDIUM), and 'SC' - for small size image, the default value (SYNDETICS_SMALL)
only_cached_images (Boolean)
Flag whether to retrieve only the cached image URLs, or access the Syndetics service. Default id FALSE

syndetics_get_object()

To get other type of contents from Syndetics.

$object = syndetics_get_object($ids, $id_type, $object_type);

example:

$library_journal_review = syndetics_get_object('62364586', 'OCLC', 'LJREVIEW');

Parameters of syndetics_get_object:

ids (Array)
Associative array of Syndetics identifiers (ISBN, OCLC, UPC numbers), where the keys are: ISBN, OCLC, and UPC and the values are the actual identifiers of the corresponding type, or an array of identifier values.
id_type (String)
The type of the identifier. One of the following: 'ISBN' - the default value (constant: SYNDETICS_TYPE_ISBN), 'OCLC' (SYNDETICS_TYPE_OCLC), 'UPC' (SYNDETICS_TYPE_UPC), 'COMPLEX' (SYNDETICS_TYPE_COMPLEX). COMPLEX means that the $IDs parameter is an associative array.
object_type (String)
The type of object you would like to retrieve. Possible known values:
  • 'INDEX' - Index (or Menu) page,
  • 'TOC' - Table of Contents,
  • BNATOC - Table of Contents,
  • 'FICTION' - Fiction/Biography Profile,
  • 'FFICTION' - Fiction Search (Find Similar Titles),
  • 'SUMMARY' - Summary / Annotation,
  • 'GMSUMMARY' - German-Language Summary,
  • 'SPSUMMARY' - Spanish-Language Summary,
  • 'SPREVIEW' - Spanish Language Review,
  • 'SWEDSUMMARY' - Swedish-Language Summary,
  • 'SWEDTOC' - Swedish Language TOC,
  • 'SWEDREVIEW' - Swedish Language Review,
  • 'ITASUMMARY' - Italian Language Summary,
  • 'AVSUMMARY' - Music & Video Summary,
  • 'DBCHAPTER' - First Chapter or Excerpt,
  • 'LJREVIEW' - Library Journal Review,
  • 'PWREVIEW' - Publishers Weekly Review,
  • 'SLJREVIEW' - School Library Journal Review,
  • 'CHREVIEW' - CHOICE Review,
  • 'BLREVIEW' - Booklist Review,
  • 'HBREVIEW' - Horn Book Review,
  • 'KIRKREVIEW' - Kirkus Book Review,
  • 'ANOTES' - Author Notes.

I have not find a good documentation of all possible values the Syndetics service support, so it is probable, that other values are possible as well.

Future plans

We would like to extend the XC eXternal Services Framework API, and use this framework's (still unexistent) hooks to retrieve additional informations (cover images, table of contents etc.) in a unified way from different external sources, like Syndetics, Amazon, Google Books, Open Library and similar services. There are stubs in this module, like caching, and mapping of object types. The framework will work later this year (2010).

Help improve this page

Page status: Not set

You can: