We have been developing a new version of the DCS API, including being able to have versioning, and there are some new features that we'd like users to be aware of: The versioning will be as so: https://api.cla.co.uk/dcs-course-content-urls/v2/method

New SubmitRequest call

Submit request allows systems/users to create a request within the DCS using the API for a book or article extract. Upon submitting a request, the DCS will provide an ID for the submitted request, which can be tracked through the GetCourseContent call. The authentication for submit request follows the same Basic authentication rules as the other methods. Note: submitted requests will have a status of "New request" when they are first instantiated.

Updates to GetCourseContent call

Adding previous-year-id

We've added request-id to the GetCourseContent call so that submitted requests can be tracked, and should there be an object for it in your system, you can now store a reference. We've also added the previous-year-id. Because the DCS requests get new IDs upon rollover (the annual process of starting a new year), we required a way for external systems to be able to update their IDs in their systems. We encourage systems to loop through the course, if there's no match against the request-id, then to try matching the previous-year-id.

Including all request, regardless of status

Before, we were only showing requests that had a link associated with them at one point in the past. Now, to support monitoring of requests from the point of submission, we showing all requests along with their respective status.

Rejection notes/ published notes

There is functionality in the DCS that allows you to reject an external request. To be able to feed that back to the submitter, we have includes a rejection-message field to explain the reason the request cannot be fulfilled. In addition to this, we have added a notes field for explaining in more detail, as the rejection message is a preselected list of reasons. If however, instead of rejecting the request, the request gets fulfilled and published, then the DCS user can add a note. This will also appear in the notes field, but there will be no rejection message. These cases will be easily distinguishable by the content-status (whether it's rejected or active).

Additional fields

See the following table for a summary for the additional fields, and their location within the response structure.

Parameter Parent Description
request-id course-items See above section
previous-year-id course-items See above section
rejection-message course-items See above section
notes course-items See above section
licence course-items The licence option selected within the DCS
date-created course-items The date the request was submitted by API user, or by the DCS user
source course-items The source of the PDF
subtitle bibliographic-details The subtitle of the manifestation (only for books)

Changes to GetCourses call

We have added the status field so users can make system logic decisions at a higher level. The possible statuses are Active, Archived and Deleted