Pubhub Web Service. E-Book Integration Guide. Retailer Customers. August 2010 v1.3. Pubhub Definition of Terms 1



Similar documents
Gardners ebooks frequently asked questions

Informationsteknologi Serviceledelse Del 3: Vejledning i definition af emne og brug af ISO/IEC

How To Boot A Cisco Ip Phone From A Cnet Vlan To A Vlan On A Cpower Box On A Ip Phone On A Network With A Network Vlan (Cisco) On A Powerline (Ip Phone) On An

07/04/2014 NOBIL API. Version 3.0. Skåland Webservice Side 1 / 16

Oracle Application Express

Operating Manual Publisher Customers V4.6.1

Visual basic string search function, download source code visual basic 6.0 gratis. > Visit Now <

Commerce Services Documentation

Informationsteknologi Serviceledelse Del 4: Procesreferencemodel

OIO Dekstop applikation

Retailer Operating Manual for e-books

SPDE. Lagring af større datamængder. make connections share ideas be inspired. Henrik Dorf Chefkonsulent SAS Institute A/S

Packaging Linear bar code and twodimensional symbols for product packaging

GetProduct. Webservice name: GetProduct. Adress:

REST Webservices API Reference Manual

E-invoice manual Instruction for a client implementation of the B2B web service

Vejledning til en europæisk COREfaktura-datamodel. CII-retningslinjer for implementering Del 1: Introduktion

Learn about OverDrive APIs and how they can benefit search, discovery and reporting services at your library. Contact:

Book Industry Communication

Google Content Extension

Etablering af krav (kap 10)

SAP Best Practices. Færdigpakket branchespecifik og brancheovergribende knowhow. Tilgængelighed for SAP-kunder og SAP-partnere

ISOBUS VT. ISOBUS Virtual Terminal. User Manual HY IB/UK

Lær at spille din kort rigtigt, og få erhvervserfaring gennem AIESEC. Hvad er AIESEC? Vil du vide mere? Hvilke erfaringer kan du opnå i AIESEC?

Join af tabeller med SAS skal det være hurtigt?

PRODUCT DATA IMPORT SETUP GUIDE FOR ADVERTISERS

Information og dokumentation Ledelsessystem for dokumentstyring Krav

Pensio Payment Gateway Merchant API Integration Guide

Inventory Update API User Documentation

Softwareudvikling Retningslinjer for anvendelse af ISO 9001:2008 til computersoftware

af oral antikoagulationsterapi

Easy CollECt and the transaction ManagEr interface

GetLibraryUserOrderList

Visual Basic. murach's TRAINING & REFERENCE

Hvis personallisten ikke er ført slik reglene sier, kan Skatteetaten ilegge overtredelsesgebyr.

Dynamic Product Ads Implementation Guide

SRX. SRX Firewalls. Rasmus Elmholt V1.0

Informationsteknologi Kodning af av-objekter Del 4: Overensstemmelsesprøvning

USING DOCUWARE TO MANAGE WORKFORCE SOLUTIONS FILES CAREER OFFICE

Click Here -> El poder de la Programación de Excel y Visual Basic - Scam or Work?

Design and interiors. Index. Design og indretning

Web Development using PHP (WD_PHP) Duration 1.5 months

1) Testing of general knowledge 25%. Each right question counts 1. Each wrong counts 0.5. Empty

Hands-On Lab. Client Workflow. Lab version: Last updated: 2/23/2011

Accessing ebooks and Audio Books from a Computer or ipad. 2. Log in to Digital Backpack using your school username and password.

Hot & New in Symantec Management and Windows Protection

What s New in Cumulus 9.0? Brand New Web Client, Cumulus Video Cloud, Database Optimizations, and more.

Windows Azure Data Services (basics) 55093A; 3 Days

Statistiske metoder i procesledelse Kapabilitet og performance Del 3: Analyse af maskinperformance for måleværdier på (diskrete) emner

Digital Asset Management. Version 1.0

How to download ebooks to a PC and transferring them to a Nook device

Guide til udfyldelse af Learning Agreement Guide to Learning Agreement

API Endpoint Methods NAME DESCRIPTION GET /api/v4/analytics/dashboard/ POST /api/v4/analytics/dashboard/ GET /api/v4/analytics/dashboard/{id}/ PUT

Merchant Reporting Tool

Migrating to vcloud Automation Center 6.1

NATIONAL BANK OF ROMANIA

Softwareudvikling Kvalitetskrav til og evaluering af softwareprodukter (SQuaRE) Fælles industriformat (CIF) til brugbare testrapporter

TECHNICAL REFERENCE GUIDE

NASDAQ Global Index Watch (GIW) Secure Web Service 2.0 Access

IBM Quality Management Strategy. En proces. Vi laver kun 3 ting. IT Operational Service. Solution Deployment. Solution Development.

Jordundersøgelser Prøvetagning Del 5: Vejledning i undersøgelse af jordforurening på bymæssige og industrielle grunde

Add library banner image here. Browse, Check Out, Download!

Sentinel EMS v7.1 Web Services Guide

Q&A: Your Ebook Engine

SharePoint Brugergruppe møde 15. august 2014

Skovbrugsmaskiner Sikkerhedskrav til og prøvning af motordrevne stangsave til beskæring Del 2: Maskiner med rygbåret energikilde

ActionPhoto International

Rubber condoms Guidance on the use of ISO 4074 in the quality management of natural rubber latex condoms

Informationsteknologi Små computersystemers. Del 251: USB-fæstnet SCSI (UAS)

iweb for Business Practical Search Engine Optimization A Step by Step Guide

Informationsteknologi Personlig identifikation ISO-overensstemmende kørekort Del 4: Prøvningsmetoder

Questionnaire #1: The Patient (Spørgeskema, må gerne besvares på dansk)

Crystal Reports Integration Plugin for JIRA

COACH BOT Modular e-course with virtual coach tool support

How to start Data Entry of Monographs and Books in e-granthalaya 3.0

Skolestart. Solveig Gaarsmand Skole og Samfund Good ID 2007

Student evaluation form

White Paper: The Link Between Metadata and Sales

Reference Software Workshop Tutorial - The Basics

Naturgas Bestemmelse af sammensætning med defineret usikkerhed ved gaskromatografi Del 2: Usikkerhedsberegninger

How to Localize Content in Tableau

Using Blackboard Learn 9 Web Services - Part 2 Learning About The Web Service Classes And Methods

Digital Asset Management Software: The Essential Features for Visual Asset Management. Kadi Kullerkann. DIGM Major. If "other," please identify

Human Translation Server

Furthermore remember to uninstall the old DWI client before replacing it with the new version.

SQL Server for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach

DaimlerChrysler EBMX HTTP/s Quick Start Guide

Informationsteknologi Personlig identifikation ISO-overensstemmende kørekort Del 2: Maskinlæsbare teknologier

Cardsave Payment Gateway

Documentation OpenEMM Webservices 1.2.3

Creating and Using Databases with Microsoft Access

Transcription:

Pubhub Web Service E-Book Integration Guide Retailer Customers August 2010 v1.3 Pubhub Definition of Terms 1

TABLE OF CONTENTS Definition of Terms... 2 How To Access The Web Service... 2 Integration Overview... 3 Book Catalog... 3 List All Products (Initial Feed)... 3 Periodically Get Deltas (Transactional feeds)... 3 Fulfillment... 4 Support... 4 Subjects... 5 Promotions... 5 Appendix A Pubhub Metadata Format Description... 6 Description of fields... 7 Identifier Types... 7 Appendix B Code Samples (C#)... 8 ListAllBooks... 8 DEFINITION OF TERMS PubHub: DRM: License Key: BIC: Publizon Distribution Hub Digital Rights Management A GUID that identifies you as a retailer. Please contact Publizon to get a license key. Book Industry Communication (http://www.bic.org.uk). Organization providing an industry standard subject classification system primarily used in Europe. HOW TO ACCESS THE WEB SERVICE Pubhub exists in two separate environments, each with their own server, code and database. Please use the web service located at test.publizon.dk when developing and testing! Orders created in test environment will not be invoiced. Please request a new license key for the production environment when you re ready to go live. Test / development environment: http://test.publizon.dk:8083 Production environment: http://service.pubhub.dk Pubhub Definition of Terms 2

INTEGRATION OVERVIEW The web service exposes methods dealing with: 1. Book Catalog (metadata) 2. Fulfillment (creating/deleting orders) 3. Support (creating support cases) 4. Subjects (BIC) 5. Promotions BOOK CATALOG The book catalog includes all the metadata (ISBN, title, description, author, links to cover images, subjects etc.) necessary to provide your customers information about the available e-books and audiobooks. See Appendix A Pubhub Metadata Format Description, page 6, to see an xml sample and a description of the individual elements. First step is to list all books (get the full catalog / metadata of all books). Next step is to periodically get deltas (new, updated and deleted books) since the last request. LIST ALL PRODUCTS (INITIAL FEED) Alternative 1 Call ListAllBooks(Guid licensekey)to retrieve metadata of all available e-books and audiobooks. ListAllBooks returns a BookList object containing Book objects containing relevant information about the book. Please see Appendix A Pubhub Metadata Format Description, page 6, and Appendix B Code Samples, page 8, for more details. Use this method with care! It returns thousands of products. If you experience problems try to increase your web service client timeout. Remember to store the date and time where you retrieved the data. You need this next time you want to retrieve a delta feed (new, updated and deleted books). Alternative 2 Call ListAllBookIds(Guid licensekey) followed by one or more calls to ListBooks(Guid licensekey, Guid[] bookids). ListAllBookIds returns a BookIdList object containing BookId objects. Convert the list to an array of Guids and use it as an argument to the method ListBooks. Use this procedure to split the initial feed into smaller steps. It s slightly more difficult to implement than Alternative 1 but it s easier to handle errors and it enables you to proceed and retry with certain subsets. PERIODICALLY GET DELTAS (TRANSACTIONAL FEEDS) Alternative 1 Call ListModifiedBooks(Guid licensekey, DateTime afterutc)to retrieve modified (new, updated and deleted) books since afterutc. Pubhub Integration Overview 3

ListModifiedBooks returns a BookList object containing Book objects containing relevant information about the book. Please see Appendix A Pubhub Metadata Format Description, page 6, for more details. Alternative 2 Call ListModifiedBookIds(Guid licensekey, DateTime afterutc)followed by GetBooks(Guid licensekey, Guid[] bookids). ListModifiedBookIds returns a ModifiedBookIdList containing a list of BookId objects representing removed books and a list of BookId objects representing created or updated books. FULFILLMENT The fulfillment part of the web service consists of the methods OrderBook and DeleteOrder. Call OrderBook(Guid licensekey, string ordernumber, Guid bookid, string enduseremailaddress) to create an e-book/audiobook order. The parameter enduseremailaddress is not required. If an order was successfully created an OrderDetails object containing the following properties is returned: DownloadUrl IsMailSend PublicationDate A link to the e-book or audiobook A boolean telling if an e-mail was sent A date/time when the book can be downloaded (optional). If the value is null the book can be downloaded immediately Important: The ordernumber must be unique! Call DeleteOrder(Guid licensekey, string ordernumber) to delete an already created order. An order can only be deleted as long as the customer has not tried to download the book. SUPPORT Publizon has a customer service department taking care of support issues that is questions to or problems with the e-books/audiobooks from the end users. Call CreateSupportCase(Guid licensekey, string message, string creatoremail, string ordernumber)to create a support case in Pubhub. You can create a support form on your own website (se screenshot) and create the support case in Pubhub (by calling the above method) when the user submits the form. Important: The most common cause of end user issues is that Adobe Digital Editions is not installed or that an unsupported operating system (like Linux) is used, so please ask the customer about this information in the support form (see the fields Operating system and Is Adobe Digital Editions installed ). You have to include this information in the message -parameter in the webservice call. Pubhub Integration Overview 4

SUBJECTS At present Pubhub supports the industry standard subject classification system BIC (version 2, revision 01). Call ListAllBookSubjects(Guid licensekey, LanguageCodeTypeEnum language) to retrieve all BIC subjects. ListAllBookSubjects returns a List of Subject objects containing an (subject) Id, a (subject) code, a (subject) description, a LanguageCodeTypeEnum and maybe an id of the parent subject. PROMOTIONS Pubhub delivers promotion material in the form of text or sound samples. Call GetPromotions(Guid licensekey)to retrieve all promotions that are currently active. GetPromotions returns a PromotionList object containing Promotion objects. Here s an xml example of a promotion: <Promotion> <Id>1025</Id> <Title>Albert</Title> <Description>Lydprøve</Description> <Identifier>9788702048018</Identifier> <IdentifierType>ISBN13</IdentifierType> <DownloadUrl>http://www.elib.se/sample_new/audio/ISBN8702048019.mp3</DownloadUrl> </Promotion> Pubhub Integration Overview 5

APPENDIX A PUBHUB METADATA FORMAT DESCRIPTION Below is an example of the Book part of the XML that is returned when calling one of the web service methods mentioned in Book Catalog, page 3. <Book> <BookType>Ebog</BookType> <FileType>pdf</FileType> <BookId>03ab826b-9fef-45df-8136-06b680d2a0ef</BookId> <Identifier>9788750041955</Identifier> <IdentifierType>ISBN13</IdentifierType> <Title>Projektledelse</Title> <SubTitle>mellem styring og læring</subtitle> <Language>dan</Language> <PublicationDate>21-06-2010</PublicationDate> <Edition>1</Edition> <PublisherName>Akademisk Forlag</PublisherName> <NameOfBookSeries>Professionsserien</NameOfBookSeries> <MainDescription>Pædagoger indgår i flere og flere projekter som led i den stadige pædagogiske udvikling, og langt fra alle er enige om hvordan projekter skal gribes an. Pædagogisk udviklingsarbejde rummer på den ene side et organisatorisk sigte: Hvordan løser vi en given opgave bedst? På den anden side har det et læringssigte: Hvad skal børnene eller brugerne - og medarbejderne - have ud af det?</maindescription> <ShortDescription>Bogen er målrettet pædagoger og ledere af forskellige pædagogiske institutioner. Den er desuden oplagt på pædagoguddannelsens fag 'Individ, institution og samfund' og elementerne 'praktikuddannelse', 'specialisering' og 'det tværprofessionelle element' samt på de pædagogiske diplomuddannelser.</shortdescription> <DigitalProtection>AdobeDRM</DigitalProtection> <Price CurrencyCode="DKK">85</Price> <NumberOfPages>151 Sider</NumberOfPages> <FileSize>1902 KB</FileSize> <Authors>Tina Düsterdich</Authors> <RightList> <Right Type="Kopi"Count="10"/> <Right Type="Print"Count="500"/> </RightList> <Subjects> <SimpleSubject> <Code>JMRL</Code> <Description>Læring</Description> </SimpleSubject> <SimpleSubject> <Code>KJMP</Code> <Description>Projektledelse</Description> </SimpleSubject> </Subjects> <Images> <Image Type="ForsideMiniature">http://images.pubhub.dk/Media/covers/thumbnails/03ab826b-9fef- 45df-8136-06b680d2a0ef.jpg</Image> <Image Type="Forside">http://images.pubhub.dk/Media/covers/originals/03ab826b-9fef-45df-8136-06b680d2a0ef.jpg</Image> </Images> </Book> Pubhub Appendix A Pubhub Metadata Format Description 6

DESCRIPTION OF FIELDS * = Mandatory Field/Element Data type Description (max length) BookType* String(10) Ebog or Lydbog (E-book or Audiobook) FileType* String(4) zip, pdf or epub BookId* Guid Unique Id of the book. Use this id when ordering a book Identifier* String(50) Identifier (ISBN10, ISBN13 or GTIN13) IdentifierType* String(25) ISBN10, ISBN13 or GTIN13 Title* String(150) Title of the e-book or audiobook SubTitle String(150) Sub title of the book Language String(3) Language code - ISO 639-2/B PublicationDate String(10) Date of publication in the format dd-mm-yyyy Edition String(100) A short free-text description of a version or edition ImprintName String(100) The name of an imprint or brand under which the book is issued, as it appears on the book PublisherName String(100) The name of an entity associated with the publishing of a product PartNumber String(20) Part designation within a larger whole (eg Part I, or Volume 3) NameOfBookSeries String(150) Title of the collection/series MainDescription* String(10000) Main/long description of the book ShortDescription String(10000) Annotation/short description of the book DigitalProtection* String(50) Ingen = No protection. DRM = Protected with Digital Rights Management. DigitalVandmaerkning = Protected with digital watermark. AdobeDRM = Protected specifically with Adobe Digital Rights Management Price* Double Retailers net price excluding VAT. CurrencyCode* String(3) Currency code of the price (ISO 4217) RecommendedPrice Double The recommended retail price including VAT CurrencyCode String(3) Currency code of the recommended price NumberOfPages String(10) Number of pages in the book, e.g. 151 Sider FileSize String(20) Size of the file in kilobyte, e.g. 1902 KB Athors* String(1000) Comma separated list of authors TranslatedBy String(500) Person who translated the book EditedBy String(500) Person who edited the book RevisedBy String(500) Person who revised the book RightList - A list of rights if the book is protected by DRM Type String(10) The type of right. Kopi = Copy/paste or Print = print Count String(10) The number of allowed copies/page-prints Subjects - List of BIC subjects SimpleSubject - Code String(30) BIC code of the subject Description String(200) Description of the BIC subject Images - A list of images Image String(200) Link/url to the image Type String(50) Type of the image. Forside = Original cover or ForsideMiniature = Thumbnail of cover IDENTIFIER TYPES 2 ISBN-10 3 GTIN-13 15 ISBN-13 Pubhub Appendix A Pubhub Metadata Format Description 7

APPENDIX B CODE SAMPLES (C#) LISTALLBOOKS The following code snippet shows how to retrieve all books. It presupposes that you have added http://test.publizon.dk:8083/mediaservice.asmx as a web reference in Visual Studio and named it MediaService_Dev. Please keep in mind that this is demonstration code, not production code. Guid licensekey = new Guid("99999999-AAAA-BBBB-CCCC-999999999999"); MediaService_Dev.MediaService ws = new MediaService_Dev.MediaService(); MediaService_Dev.Book[] books = ws.listallbooks(licensekey); foreach (var book in books) { // Do something with each book } Pubhub Appendix B Code Samples (C#) 8