Creates a new checkout. If there already exists a checkout for given patron credentials, record id then the provider should respond with internal error: ALREADY_ON_LOAN. See: eHUB Provider API Error Handling
POST /v3/checkouts
{ "fields":{ "contentProviderAlias":"<content provider alias>", "contentProviderRecordId":"<record id>", "contentProviderFormatId":"<format id>", "lmsRecordId":"<lms record id>", "contentProviderIssueId":"<issue id>" } }
<content provider alias> | The content provider alias. |
<record id> | The content provider record id. |
<format id> | The content provider format id. |
<lms record id> | Lms record id. |
<issue id> | The content provider issue id (optional). |
{ "metadata":{ "id":<checkout id>, "lmsLoanId":"<lms loan id>", "contentProviderLoanId":"<content provider loan id>", "expirationDate":<expiration date>, "format":{ "id":"<format id>", "name":"<format name>", "description":"<format description>", "contentDisposition":"<content disposition>" } }, "contentLinks":[ {"href":"<content url>"}, {"href":"<content url>"} }, "supplementLinks": [ {"href":"<supplement link url>", "name": "<supplement link name>"}, {"href":"<supplement link url>", "name": "<supplement link name>"} ] }
<checkout id> | The checkout id. | ||||
<format metadata> | The format metadata is a JSON object with properties of format id. The value of each property is an object with value of properties "<content
links>" and "<supplement links>" where:
|
||||
<expiration date> | The checkout expiration date in seconds since epoch. See Epoch & Unix Timestamp Conversion Tools |
Example request:
POST /v3/checkouts
{ "fields":{ "contentProviderAlias":"Elib3", "contentProviderRecordId":"1018016", "contentProviderFormatId":"4002", "lmsRecordId":"123456" } }
Example response:
{ "metadata":{ "id":1271261, "lmsLoanId":"7462892", "contentProviderLoanId":"18727936", "expirationDate":1494374400000, "format":{ "id":"4002", "name":"Listen on computer", "description":"E-audiobook played in browser, Flash is required", "contentDisposition":"DOWNLOADABLE" } }, "contentLinks":[ {"href":"https://zebservices.elib.se/v2/Fulfillment/?data=xxxxx"}, {"href":"https://zebservices.elib.se/v2/Fulfillment/?data=yyyyy"} }, "supplementLinks": [ {"href":"https://zebservices.elib.se/v2/Fulfillment/?data=ttttt", "name": "Supplement 1"}, {"href":"https://zebservices.elib.se/v2/Fulfillment/?data=zzzzz", "name": "Supplement 2"} ] }