You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 11
Next »
Revision
Version | Date | Description |
---|
0.1 | | Initial document |
Introduction
This web service is intended to support the order process of customers of CB for the temporary availability (renting) of digital products.
It has the following operation:
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:
Click here for digital products for testing purposes
Test environment
For information about the test environment and the available test titles see:
Click here for digital products for testing purposes
Verschijningsvorm | Beveiliging | EAN | Auteur*Titel | Opmerking | Content titel |
---|
EPUB(2)
| Geen DRM (00)
| 9789084999936 | *VROUWENKIESRECHT | Alleen tekst | Zoenen met rommel |
9789491259142 | VINK*FLORIS V EN DE SCHOTSE TROON | Alleen tekst | Filosofie van de bewegingswetenschappen |
9789491259104 | VINK*LAATSTE DAGEN VAN FLORIS V | Alleen tekst | Filosofie van de bewegingswetenschappen |
9789078124832 | VINK*DOOD VAN DANTES KEIZER | > 1000 tekens + plaatjes | Chief Thunderstruck and the big bad bear |
9789491259128 | VINK*WREKER VAN FLORIS V | > 1000 tekens + plaatjes | The Lost history of 1914 |
9789491259289 | VIS*BARRABBAS | < 1000 tekens + plaatjes | Foto zegt meer dan 1000 woorden |
9789491259272 | VIS*BRAINS | Alleen tekst | Filosofie van de bewegingswetenschappen |
EPUB(2)
| Watermerk (02)
| 9789084999820 | *TESTEBOEK EPUB MET WATERMERK | Alleen tekst | Filosofie van de bewegingswetenschappen |
9789023443032 | BOOGAARD*VERTICALE STRAND | Alleen tekst | Filosofie van de bewegingswetenschappen |
9789023467519 | BORGART*ROOIERS | Alleen tekst | El Clasico |
9789023473411 | BROUWERS*FENIKS | Alleen tekst | Filosofie van de bewegingswetenschappen |
9789023465423 | CAMPERT*ALS IN EEN DROOM | Alleen tekst | Filosofie van de bewegingswetenschappen |
9789023442714 | CAMPERT*AVONTUUR VAN IKS EN EI | Alleen tekst | El Clasico |
9789023466260 | CAMPERT*MIJN EENMANSZAAK | Alleen tekst | Filosofie van de bewegingswetenschappen |
9789023473312 | BROUWERS*CASINO | < 1000 tekens + plaatjes | Foto zegt meer dan 1000 woorden |
9789023443315 | CAMPERT*LIEFDE IN PARIJS | < 1000 tekens + plaatjes | Foto zegt meer dan 1000 woorden |
9789023464921 | CAMPERT*GANGSTERMEISJE | > 1000 tekens + plaatjes | Chief Thunderstruck and the big bad bear |
9789023471684 | BRASSINGA*TUSSEN VIJF EN TWAALF | > 1000 tekens + plaatjes | The Lost history of 1914 |
9789023467410 | BORGART*VUILNISROOS | > 1000 tekens + plaatjes | Chief Thunderstruck and the big bad bear |
9789023465225 | CAMPERT*GOUDEN DAGEN | > 1000 tekens + plaatjes | The Lost history of 1914 |
9789084999974 | GRUNBERG*EPUB2 MET VOETNOTEN EN VERWIJZINGEN | Epub2 met voetnoten en verwijzingen | The gradual acceptance of the Copernican theory of the universe |
9789084999981 | GRUNBERG*EPUB2 MET TABELLEN | Epub2 met tabellen | Lectures on Stellar Statistics |
EPUB(3)
| Watermerk (02)
| 9789084999851 | GRUNBERG*EPUB3 AUDIO EN VIDEO | Audio en video + tekst | EPUBTEST 0120 - Media Overlays Reflowable Tests |
9789084999868 | GRUNBERG*EPUB3 FIXED LAYOUT | Fixed layout | EPUBTEST 0201 - FXL Support Tests |
9789084999875 | GRUNBERG*EPUB3 FIXED LAYOUT SPREAD | Fixed layout spread | EPUBTEST 0202 - FXL Spreads (both) Tests |
9789084999882 | GRUNBERG*EPUB3 REFLOWABLE CONTENT | Reflowable content | EPUBTEST 0202 - FXL Spreads (both) Tests |
9789084999905 | GRUNBERG*EPUB3 MATHML EN SVG | MathML en SVG | A First Course in Linear Algebra |
PDF | Geen DRM (00) | 9789084999813 | *TESTEBOEK PDF MET WATERMERK DRM | < 1000 tekens + plaatjes | Het Achterhuis |
PDF
| Watermerk (02)
| 9789084999813 | *TESTEBOEK PDF MET WATERMERK DRM | < 1000 tekens + plaatjes | Het Achterhuis |
9789023465126 | CAMPERT*SOMBERMAN'S ACTIE | < 1000 tekens + plaatjes | PDF ebook voor test doeleinden |
9789023472254 | CAMPERT*VRIENDEN, VRIENDINNEN EN DE REST VAN DE | < 1000 tekens + plaatjes | PDF ebook voor test doeleinden |
9789023465324 | CAMPERT*OHI, HOHO, BANG, BANG | > 1000 tekens + plaatjes | Reisgids Jordanie |
9789023450245 | CAMPERT*OM VIJF UUR IN DE MIDDAG | > 1000 tekens + plaatjes | Reisgids Berlin |
9789023467304 | CLAASSEN*PARK | > 1000 tekens + plaatjes | Reisgids Jordanie |
9789023442912 | CAMPERT*SATIJNEN HART | > 1000 tekens + plaatjes | Professional tester issue 25 |
9789023443292 | CLAUS*GERUCHTEN | < 1000 tekens + plaatjes | PDF ebook voor test doeleinden |
9789023466123 | CLAUS*HONDSDAGEN | < 1000 tekens + plaatjes | PDF ebook voor test doeleinden |
9789023466628 | CLAUS*BELLADONNA | > 1000 tekens + plaatjes | Professional tester issue 25 |
9789023465621 | CHABOT*DIEPERE LAGEN | > 1000 tekens + plaatjes | Reisgids Berlin |
9789023449713 | CLAUS*JAAR VAN DE KREEFT | 141 MB | "De gorgel in arabisch oid" |
9789023443100 | CAMPERT*VURRUKKULLUK | 141 MB | "De gorgel in arabisch oid" |
9789084999929 | GRUNBERG*PDF MET VOETNOTEN EN VERWIJZINGEN | PDF met voetnoten en verwijzingen | Project Gutenberg’s The Mathematical Analysis of Logic |
MP3
|
| 9789058714961 | DIJK*ASSERTIEF OP HET WERK |
| zip bestand |
9789462100046 | JANSEN*PADDEL AUDIOBOEK |
|
|
Examples
<?php
$ean = "9789084999936";
//Create the client object
$soapclient = new SoapClient('https://testservices.cb.nl/soap/api/v1/DigitalProductOrderService/DigitalProductOrderService?wsdl');
$userNameHdr = new SoapHeader('cb.services.soap', 'UserName', '_SNIP_', false);
$passwordHdr = new SoapHeader('cb.services.soap', 'Password', '_SNIP_', false);
$soapclient->__setSoapHeaders(array($userNameHdr, $passwordHdr));
$params = array();
$params[] = new SoapVar($ean, XSD_STRING, null, null, 'EAN');
$params[] = new SoapVar("CBW", XSD_STRING, null, null, 'DeliveryChannel');
$Arg2 = new SoapVar($params, SOAP_ENC_OBJECT, null, null, 'arg2');
$response = $soapclient->checkOrderable($Arg2);
echo 'SOAP';
echo '<br><br>EAN: ' . $ean.'<br />';
echo 'Available: ' . $response->Orderable->orderable .'<br />';
<?php
$ean = "9789084999936";
$orderreference = 'b5'; // iedere keer een unieke kode opgeven
$username = "_SNAP";
$password = "_SNAP_";
//Create the client object
$soapclient = new SoapClient('https://testservices.cb.nl/soap/api/v1/DigitalProductOrderService/DigitalProductOrderService?wsdl'
);
$userNameHdr = new SoapHeader('cb.services.soap', 'UserName', $username, false);
$passwordHdr = new SoapHeader('cb.services.soap', 'Password', $password, false);
$soapclient->__setSoapHeaders(array($userNameHdr, $passwordHdr));
$params = array();
$params[] = new SoapVar($ean, XSD_STRING, null, null, 'EAN');
$params[] = new SoapVar("CBW", XSD_STRING, null, null, 'DeliveryChannel');
$params[] = new SoapVar($orderreference, XSD_STRING, null, null, 'OrderReference');
$Arg2 = new SoapVar($params, SOAP_ENC_OBJECT, null, null, 'arg2');
$response = $soapclient->placeOrder($Arg2);
echo 'EAN: ' . $ean.'<br />';
echo 'URL: ' . $response->placeOrder->OrderedItem->URL .'<br />';
echo 'CbOrderReference: ' . $response->placeOrder->CbOrderReference .'<br />';
echo 'EAN: ' . $response->placeOrder->OrderedItem->EAN .'<br />';
using System;
using System.Net;
using System.Web.Script.Serialization;
namespace CheckOrderable
{
class Program
{
static void Main(string[] args)
{
var ean = "9789084999936";
string result = getCheckOrderable(ean);
var objectResult = new JavaScriptSerializer().DeserializeObject(result);
Console.Write(result);
Console.WriteLine(); Console.WriteLine();
Console.WriteLine("Press a key to exit");
Console.ReadKey();
}
public static string getCheckOrderable(string ean)
{
var webclient = new WebClient();
webclient.Headers.Add("Accept", "application/json");
webclient.Headers.Add("Content-Type", "application/json");
webclient.Headers.Add("UserName", "_SNIP_");
webclient.Headers.Add("Password", "_SNIP_");
var url = "https://testservices.cb.nl/rest/api/v1/DigitalProductOrderService/checkOrderable";
var data = new JavaScriptSerializer().Serialize(new { EAN = ean, DeliveryChannel = "CBW" });
var response = webclient.UploadString(url, data);
return response;
}
}
}
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 |
{
"EAN": "9e789084999813",
"ReadingMethod": "D",
"Protection": "02",
"RentalUnit": "DAG",
"RentalNumberOfUnits": "21",
"OrderReference": "123abc",
"UserId": "XYZ"
}
|
{"placeOrder": {
"CbOrderReference": "1669231",
"EAN": "9789084999813",
"URL": "https://tstep2.eboekhuis.nl/wmDwld.php?uid=58403560d6961&ean=9789084999813&r=1"
}}
|
Situation | Unavailable product |
{
"EAN": "9999999999999",
"ReadingMethod": "D",
"Protection": "02",
"RentalUnit": "DAG",
"RentalNumberOfUnits": "21",
"OrderReference": "123abc",
"UserId": "XYZ"
}
|
{"Message": {
"MessageType": "E",
"MessageCode": "EBS-10003",
"MessageText": "A product with this EAN is not available."
}}
|
Content-Type
The content/body in the request and the response has to be / will be in json format.
Content-Type | application/json |
Supported SSL/TLS protocols |
---|
TLS Protocols
| TLS1.0 | |
TLS1.1 |
TLS1.2 |
|
TLS1.3 |
|
Authentication
CB uses message level authentication based on header parameters “UserName” and “Password”. These will be provided when you sign up for this service at CB.
Response messages
If a webservice is technical able to process, it will respond with a HTTP status 200. The response can contain a message with additional information. It can be an error (MessageType “E”) in case it wasn’t possible to supply a functional answer or additional explanation/information about the answer (MessageType “I”).
A message contains of:
A message contains of: |
---|
MessageType | E or I |
MessageCode | format XXX-99999 |
MessageText | Textual information/reason |
The following generic error (E) messages are defined: |
---|
WMS-00002 | Invalid username/password combination |
WMS-00004 | Not authorized to use this service |
WMS-00005 | No username and/or password provided by the caller |
EBS-11000 | Something went wrong in processing the request |
EBS-11001 | Something went wrong in processing the request |
Optional parameter
For any optional attribute one of the following options applies:
- be filled with the correct value
- be left out
- be filled with “” (read empty)