Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Revision

VersionDateDescription

 

As of May 17, 2021, CB will no longer support TLS 1.0 and 1.1

 

Initial document

Introduction 

...

Image Added


This web service is intended to support the order process of customers of CB for the temporary availability (renting) of digital products.

...

Path: /rest/api/v1/DigitalProductRentalService

Specific messages (type/code/text) for this webservice

...

Type

Code

Text

E

EBS-00001

Something went wrong in processing the order. Your order is not fulfilled.

E

EBS-10003

A product with this EAN is not available.

E

EBS-10004

This product is not available for delivery.

E

EBS-10005

This OrderReference has already been used, use another reference.

E

EBS-10006

This product can not be ordered yet.

E

EBS-10017

Your credit limit has been exceeded.

E

EBS-10034

This product is not available for the given reading method.

E

EBS-10043

The combination of ReadingMethods and Protection is not allowed

E

EBS-10045

No valid license model found for this order

E

EBS-10046

For licensing models Shoulder and Tail, the rental period has to be 3 weeks

E

EBS-10053

Referenced order not found

E

EBS-10054

Referenced order is not for the same UserId

E

EBS-10060

Product ordered but no price available yet, please try again tomorrow.

Test environment

For information about the test environment and the available test titles see:

...

titleClick here for digital products for testing purposes

...

EEBS-10063

The field EAN is mandatory

E

EBS-10064

The field ReadingMethod is mandatory

E

EBS-10065

The field Protection is mandatory

E

EBS-10066

The field RentalUnit is mandator

E

EBS-10067

The field RentalNumberOfUnits is mandator

E

EBS-10068

The field OrderReference is mandatory

E

EBS-10069

The field UserId is mandatory

E

EBS-10070

Invalid value for ReadingMethod

E

EBS-10071

Invalid value for Protection

E

EBS-10072

Invalid value for RentalUnit

E

EBS-10073

The field EAN must be 13 long

E

EBS-10074

The field RentalNumberOfUnits must be numeric (1-99999)

E

EBS-10075

The field OrderReference must be maximum 100 long


Operation: placeOrder

This operation is used to place orders with the purpose of renting out digital products to subscribers. The customer places an order for a title the subscriber would like to rent. The operation returns an url to where the digital product is available.

Request

Parameter

Description

Optionality

Allowed values

EAN

The EAN for which the order is placed

Mandatory

13 positions

ReadingMethod

The method the subscriber uses to read the digital product (Download or On-line reading in the Cloud).

Mandatory

D (Download)
CR (CloudReading)

Protection

The security that needs to be included in the delivery of the digital order product.

Mandatory

00 (no protection)
02 (watermark protection)
03 (Adobe DRM)

The following combinations are currently supported:

  • ReadingMethod CR en Protection 02 (on-line reading)
  • ReadingMethod  D  en  Protection 02 (reading by app on tablet and phone)
  • ReadingMethod  D  en  Protection 03 (reading by e-reader)

RentalUnit

The rental unit

Mandatory

DAG

RentalNumberOfUnits

The number of rental units

Mandatory

max 21

OrderReference

This is the internal reference of the customer to identify the order. This reference needs to be customer-unique.

Mandatory

max. 100 positions

UserId

The identification of the end user. Is used to authenticate the end user (subscriber of the customer) upon delivery of the digital product.

Mandatory

Also used to validate the addition. The addition must be for the same user

CbOrderReference

The unique value of the CbOrderReference of a previously executed order to deliver digital products.

Optional

Also used to check whether an addition may be made to a previously executed order.

Response

...

Parameter

Description

Optionality

Allowed values

CbOrderReference

Unique CB internal reference to identify the customer order.

Mandatory


EAN

The EAN from which the digital product is delivered.

Mandatory

13 positions

URL

URL of the address where the digital product is available for delivery. Involves a URL to download a digital product.

Mandatory


Examples


Situation

Available product

Code Block
languageyml
titleRequest
{
  

  "EAN": "
9789084999813
9e789084999813",
  

  "ReadingMethod": "D",
  

  "Protection": "02",
  

  "RentalUnit": "DAG",
  

  "RentalNumberOfUnits": "21",
  

  "OrderReference": "123abc",
  

  "UserId": "XYZ"
}

}
Code Block
languageyml
titleResponse
{"placeOrder":
{   
 {
   "CbOrderReference": "1669231",
   

   "EAN": "9789084999813",
   

   "URL": "https://tstep2.eboekhuis.nl/wmDwld.php?uid=58403560d6961&ean=9789084999813&r=1"

}}

Operation: checkAccess

This operation gives as answer if the supplied Bookshelf/VitalSource user has access to the supplied product (purchased on Bookshelf/VitalSource).
It can be used for example on a publisher website for checking if the user should be granted access to specific digital content that is only available for users who purchased the related product.

Request 

  • EAN : The EAN of the product/title that has to be checked (required)
  • UserId : Identifier of the Bookshelf/VitalSource user (required)
  • UserPassword : Password of the Bookshelf/VitalSource user (required)

Response

  • Accessable : Indication (Y/N) if the user has access tot he specified product.

Examples

Situationvalid Bookshelf/VitalSource user and inaccessible productRequest

{

  "EAN": "9999999999999",

  "ReadingMethod": "D",

  "Protection": "02",

  "RentalUnit": "DAG",

  "RentalNumberOfUnits": "21",

  "OrderReference": "123abc",

  "UserId": "XYZ"

}

Response

{"Message": {

   "MessageType": "E",

   "MessageCode": "EBS-10003",

   "MessageText": "A product with this EAN is not available."

}}

Situation

Unavailable product

*********************************
For testing the following data is available (other data will result in an error response):

...

Code Block
languageyml
titleRequest
{
  "EAN": "
9789084999912
9999999999999",

  "
UserId
ReadingMethod": "
bookshelf@cb-logistics.nl
D",
  "
UserPassword
Protection": "
bookshelf
02"
}
Code Block
languageyml
titleResponse
{
    "Access": {
        "Accessable": "Y"
    }
}
Situationunknown Bookshelf/VitalSource user Code Block
languageyml
titleRequest
{ "EAN": "8711000287941"
,
  "RentalUnit": "DAG",
  
"
UserId
RentalNumberOfUnits": "
bookshelf@cb-logistics.nl
21",
  "
UserPassword
OrderReference": "
bookshelf" }
Code Block
languageyml
titleResponse
{
    "Access": {
        "Accessable": "N"
    }
}
Situationunknown Bookshelf/VitalSource user Code Block
languageyml
titleRequest
{ "EAN": "9789084999912"
123abc",
  "UserId": "
Tester@cb-logistics.nl", "UserPassword": "bookshelf"
XYZ"
}
Code Block
languageyml
titleResponse
{
"Message": {
   
"MessageType": "
I
E",
   
"MessageCode": "EBS-
10038
10003",

   
"MessageText": "
Vitalsource
A 
user
product 
account
with 
unknown."
this EAN is 
}, "Access": { "Accessable": "N" }
not available."
}}


Include Page
General information CB DigitalProduct* webservice
General information CB DigitalProduct* webservice

Include Page
Digital products for testing purposes
Digital products for testing purposes

Include Page
DigitalProductRentalService volume limits and performance requirements
DigitalProductRentalService volume limits and performance requirements