Sony DADC User Rights Management Solution




Common Content ID is a unique identifier of an e-book used in CGP.


CGP SDK provides a set of common features for the development of Store Client Application to access to CGP Server.

CGP Server

CGP Server enables developers to securely distribute eBooks to Web Store or Store Client Application without regard to DRM. In addition to the DRM function, it serves the APIs to support a variety of use cases such as rental, gift, and sale of eBook and a library function.

DRM Meta data

Marlin DRM refers to this data in order to issue or evaluate licenses. It is generated and stored in SGP SDK when a user registers or downloads an eBook.

License (License file)

The file includes the key and the conditions necessary for a user to read an eBook. CGP confirms that the user is permitted to read the eBook by checking the license file and DRM metadata. A user cannot access to an eBook if its content file is an unauthorized copy without a license file and DRM metadata.

Marlin DRM

Marlin DRM is the DRM for CGP. CGP API serves as a gateway to give Web Store an easy access to Marlin DRM Server. CGP SDK provides Wrapper API that allows Store Client Application to use the Marlin DRM client.

Store Client Application

Store Client Application represents the application geared to either Android or iOS, consisting of the following parts:

  1. CGP SDK
  2. E-book rendering engine
  3. Service layer

Web Store

Web Store represents a store website or its back office.


Response Status

SUCCESS (0): Success.
EPUB_VALIDATION_ERROR (2): There is something wrong with the EPUB file. For example, the file name character encoding or the IDPF EPUB validator returned an error.
ACCESS_DENIED (4): Access to the requested resource can not be granted. For example, a user does not own the requested book. Or access to a specific feature is disabled, like requests to the entitlement API if web reading is disabled.
USER_NOT_FOUND (5): The user account does not exist or has been deleted.
INVALID_CONTENT_STATUS (6): The book is not in the correct status. For example, the book is already lent out, when trying to lend it to another user.
STORE_NOT_FOUND (7): The given Store ID cannot be found.
DEVICE_NOT_FOUND (8): The given device ID cannot be found.
GROUP_NOT_FOUND (9): The given group ID cannot be found.
AUTHENTICATION_FAILURE (10): The authentication procedure failed. This could be because the message hash your software provided does not match the one we calculated.
INVALID_USER_STATUS (11): The status of the user is not appropriate for the request. For example, you tried to remove a user from a group but the user is not member of that group.
 OUTDATED_REQUEST (12): Only recent requests are accepted when calling the Store API or Back Office API. This status is set if the request waits for too long, and becomes too old.
INVALID_PARAMETER (20): Something is wrong with the parameters you have passed, such as a required parameter is missing. This also includes the authString parameter which must be part of every request.
PACKAGING_SESSION_NOT_FOUND (100): The given packaging session ID cannot be found.
TEMPORARY_ID_NOT_FOUND (101): The given temporary ID cannot be found.
HASH_CHECK_FAILED (102): There was a mismatch between the provided hash value and the calculated one of the file or file fragment.
PERSIST_FILE_FAILED (103): There was a problem while persisting the content to the storage.
INCOMPLETE_PACKAGING_SESSION (104): Some files are missing, so the session cannot be completed.
CONTENT_NOT_FOUND (105): The given CCID cannot be found.


V2 Store Response Status Codes


0: Success.
10: Invalid parameter.
11: Authentication failure.
12: Loose time
99: System error.

Buy Book

1000: Already book exists.
1001: User not found.
1002: Book not found.
1003: Invalid currency code.

Lend Store Book

2000: User not found.
2001: Book not found.
2002: Invalid currency code.

Gift Book

3000: User not found.
3001: Book not found.
3002: Invalid book status. Appears when attempting to give a book that cannot be used as a gift, because it is borrowed or on sale.
3003: Book already owned.
3004: Already bound group.

Sell book

4000: User not found.
4001: Book not found.
4002: Invalid book status. Appears when the book is not for sale (borrowed books)
4003: Already bound group.

Cancel Sell Book

5000: User not found.
5001: Book not found.
5002: Invalid book status. Appears when specifying a book that is not on sale.

Sold Book

6000: User not found.
6001: Book not found.
6002: Invalid book status. Appears when specifying a book that is not on sale
6003: Already owned book.
6004: Invalid currency code.

Lend Book

7000: User not found.
7001: Book not found.
7002: Invalid book status. Appears when attempting to lend out a book that cannot be lent, because the book is borrowed or on sale
7003: Already owned book.
7004: Already bound group.

Get Back Book

8000: User not found.
8001: Book not found.
8002: Invalid book status. Appears when the book specified is not being borrowed

Return Book

9000: User not found.
9001: Book not found.
9002: Invalid book status. Appears when the book specified is not being borrowed.

Get Device

10000: User not found.

Update Device Name

11000: User not found.
11001: Device not found.

Delete Device

12000: User not found.
12001: Device not found.

User Registration

13000: Already registered.

Delete User

14000: User not found.

Group Registration

15000: User not found.

Group User Registration

16000: User not found.
16001: Group not found.
16002: Already appended to group.

Group User Deregistration

17000: User not found.
17001: Group not found.
17002: Already removed to group.

Group Book Registration

18000: User not found.
18001: Book not found.
18002: Group not found.
18003: Already bound to group.
18004: Invalid book status.

Group Book Deregistration

19000: User not found.
19001: Book not found.
19002: Group not found.
19003: Already unbound to group.

Get Group

20000: User not found.
20001: Group not found.

Update Group

21000: User not found.
21001: Group not found.

Group Deregistration

22000: User not found.
22001: Group not found.

Generate Authtoken

23000: Store not found.
23001: User not found.

Book format

0: PDF
1: EPUB2
2: EPUB3

Packaging Status

0: the packaging session has been opened, CGP is waiting for file upload to complete
1: CGP has already received some files via version 2 upload or older
2: upload has been marked as finished, workload waiting for a free packager
3: workload is currently being processed by a packager
4: workload finished successfully
5: workload finished with warnings
6: workload processing failed
7: packaging session has been closed
8: workload has been manually cancelled