API (v3.0) Migration Documentation

The base URL has moved forward to /api/v3 for all methods. Replace /api/v2 with /api/v3.

Exhibition Venue has been added as a new file type in this version. All files can now store dynamic fields published from Vernon CMS. These files can have unidirectional or bidirectional relationships with one or many files hence the roles API method has been deprecated and replaced with the relationship API method.

The new API version is not backwardly compatible cause of significant file changes. There are also changes to the JSON object structure (domain objects) returned via the API. View the domain object changes in this version.

Any API method or JSON domain object not listed below remains unchanged. If you notice any errors contact us at support@vernonsystems.com.

Authority

New

1. GET /opacpersons/authorities/{authorityFieldName} has been added to retrieve authority terms for Person records.

2. GET /opacvenues/authorities/{authorityFieldName} has been added to retrieve authority terms for Exhibition Venue records.

Modified

1. GET /authorities/{authorityFieldName} has been changed to /opaccollections/defaultcollection/authorities/{authorityFieldName}.

Collection

Deprecated

1. GET /directory/opaccollections has been removed. Use /opaccollections instead.

Colour

New

1. GET /colors/css has been added to retrieve all the available CSS colour palette in the system.

Comment

Modified

1. GET /comments has been changed to /opacobjects/comments.

Exhibition Venue

New

1. GET /opacvenues has been added to retrieve all Exhibition Venue records available in the system.

1. GET /opacvenues/{opacVenueId} has been added to retrieve a specific Exhibition Venue.

1. GET /opacvenues/facets/{facetId} has been added to retrieve facet information for Exhibition Venue results.

Highlight

Modified

1. Query parameter derivative has been removed from /highlights. The endpoint now returns all available image derivatives.

2. Query parameter derivative has been removed from /highlights/{highlightId}. The endpoint now returns all available image derivatives.

Image Label

New

1. GET /opacrecords/imagelabels has been added to retrieve all available image labels (from Google Cloud Vision).

2. GET /opacobjects/{opacObjectId}/imagelabels has been added to retrieve all available image labels for an OPACObject record.

3. GET /opacobjects/{opacObjectId}/imagelabels/{imageLabelId} has been added to retrieve a specific image label for an OPACObject record.

Object

Deprecated

1. GET /opaccollections/{opacCollectionId}/opacobjects has been deprecated. Use the /opacobjects method instead with the term collections in the query parameter. e.g. query=collections:"1".

2. GET /opaccollections/{opacCollectionId}/opacobjects/facets/{facetId} has been deprecated. Use the /opacobjects/facets/{facetId} method instead with the term collections in the query parameter. e.g. query=collections:"1".

3. GET /highlights/{highlightId}/opacobjects has been deprecated. Use the /opacobjects method instead with the term highlight in the query parameter. e.g. query=highlight:"2".

4. GET /highlights/{highlightId}/opacobjects/facets/{facetId} has been deprecated. Use the /opacobjects/facets/{facetId} method instead with the term highlight in the query parameter. query=highlight:"2".

5. GET /opaccollections/{opacCollectionId}/opacobjects/search/advanced has been deprecated. Use the /opacobjects method instead with the term collections AND {Vernon CMS field name or Vernon Browser field alias} in the query parameter. e.g. query=collections:"4" AND name:vase.

6. GET /opaccollections/{opacCollectionId}/opacobjects/facets/{facetId}/search/advanced has been deprecated. Use the /opacobjects/facets/{facetId} method instead with the term collections AND {Vernon CMS field name or Vernon Browser field alias} in the query parameter. e.g. query=collections:"4" AND name:vase.

7. Query parameter opacObjectIds in /opacobjects has been deprecated use external_object_id instead e.g. external_object_id:("10", "13").

8. Query parameter opacObjectIds in /opacobjects/facets/{facetId} has been deprecated use external_object_id instead e.g. external_object_id:("10", "13").

Person

Modified

1. Query parameter sort in /opacpersons now accepts dynamic fields rather than the pre-defined list.

2. Query parameter hasImages has been added to /opacpersons as Person file can now have images.

Record

New

1. GET /opacrecords has been added to retrieve all available records in the system e.g Object, Person, Exhibition Venue etc. The recordType parameter within the json object determines the type of record.

2. GET /opacrecords/facets/{facetId} has been added to retrieve facets for all record searches.

Relationship

New

1. GET /opacobjects/relationships has been added to retrieve all available Object relationships e.g object to person, object to exhibition venue etc.

1. GET /opacobjects/{opacObjectId}/relationships/{relationshipId} has been added to retrieve an Object relationship and its related set of records.

2. GET /opacpersons/relationships has been added to retrieve all available Person relationships e.g person to object, person to exhibition venue etc.

1. GET /opacpersons/{opacPersonId}/relationships/{relationshipId} has been added to retrieve a Person relationship and its related set of records.

3. GET /opacvenues/relationships has been added to retrieve all available Exhibition Venue relationships e.g exhibition venue to object, exhibition venue to person etc.

1. GET /opacvenues/{opacVenueId}/relationships/{relationshipId} has been added to retrieve a Exhibition Venue relationship and its related set of records.

Role

Deprecated

1. GET /roles has been removed. Use /opacobjects/relationships or /opacpersons/relationships or /opacvenues/relationships to retrieve Object, Person or Exhibition Venue relationships available in the system.

2. GET /opacpersons/{opacPersonId}/objectroles/{roleId} has been removed. Use /opacpersons/{opacPersonId}/relationships/{relationshipId} instead.

3. GET /opacobjects/{opacObjectId}/personroles/{roleId} has been removed. Use /opacobjects/{opacObjectId}/relationships/{relationshipId} instead.

View

New

1.GET /opacpersons/views/advancedsearch has been added to retrieve the Person advanced search view.

2.GET /opacvenues/views has been added to retrieve all Exhibition Venue views.

3.GET /opacvenues/views/{viewName} has been added to retrieve a specific Exhibition Venue view.

4.GET /opacvenues/views/advancedsearch has been added to retrieve the Exhibition Venue advanced search view.

Modified

1. GET /views/opacobjects has been changed to /opacobjects/views

2. GET /views/opacpersons has been changed to /opacpersons/views

JSON Domain Objects

New

Color Domain

ColorsCollection Domain

ImageLabel Domain

ImageLabelsCollection Domain

OPACPersonFieldAttribute Domain

Domain

OPACRecordFieldAttribute Domain

OPACRecordField Domain

OPACRecordFieldSet Domain

OPACRecord Domain

OPACRecordsCollection Domain

OPACVenueFieldAttribute Domain

OPACVenueField Domain

OPACVenueFieldSet Domain

OPACVenue Domain

OPACVenuesCollection Domain

RelatedRecord Domain

Relationship Domain

RelationshipsCollection Domain

ViewVenueCollection Domain

Modified

Comment Domain

Attribute opacObjectId within the Comment domain object has been replaced with opacRecordId

Attribute recordType has been added to the Comment domain object that defines the type of record e.g object, person, venue etc.

Facet Domain

Attribute isRangeFacet has been replaced with facetType which can have text, range or color as the value.

Image Domain

Attributes cssColors, rawColors and imageLabels have been added to the Image domain object.

OPACObjectFieldAttribute Domain

Value related for attribute key would be replaced with internal_related_detail. A new key called internal_related_summary has been added which would not have the image.

OPACObject Domain

Attribute rolesCollection has been replaced with relationshipsCollection.

OPACPerson Domain

Attribute rolesCollection has been replaced with relationshipsCollection.

Attribute imagesCollection has been added.

OPACPersonField Domain

Attribute opacPersonFieldAttributes has been added.

Deprecated

ObjectRole Domain

All API methods that return ObjectRole domain has been removed. Use Relationship API methods instead.

PersonRole Domain

All API methods that return PersonRole domain has been removed. Use Relationship API methods instead.

Role Domain

All API methods that return Role domain has been removed. Use Relationship API methods instead.

RolesCollection Domain

All API methods that return RolesCollection domain has been removed. Use Relationship API methods instead.