Der Zugriff auf die JPC-Artikel erfolgt über eine standardisierte
Web-Schnittstelle. Der Zugriff erfolgt hierbei über einen GET oder POST-Request.
Bei den Rückgabewerten handelt es sich um validierte XML-Dokumente.
-
Die Abfragen erfolgen über GET/POST-Requests an den Webserver. Syntax der Abfrage:
- Base-URL
baseurl = "http://www.jpc.de/jpcng/"
bzw.:
baseurl = "https://www.jpc.de/jpcng/"
Es gibt zwei Möglichkeiten auf Artikeldaten zuzugreifen. Zum einen können Details
eines Artikels direkt erfragt werden. Zum anderen können ganze Artikellisten über
verschiedene Suchparameter abgefragt werden.
- Details eines einzelnen Artikel
- Zur Abfrage eines Artikels muss die URL folgenden Aufbau besitzen:
url = baseurl + "home/xml/-/task/detail/hnum/" + hnum
- Die hnum entspricht dabei der JPC-Artikelnummer, bzw. der ISBN-Nummer.
Beispiele:
http://www.jpc.de/jpcng/home/xml/-/task/detail/hnum/3257228007
http://www.jpc.de/jpcng/home/xml/-/task/detail/hnum/8391494
http://www.jpc.de/jpcng/home/xml/-/task/detail/hnum/6891398
http://www.jpc.de/jpcng/home/xml/-/task/detail/hnum/4001159
- Suchabfrage
- Es gibt verschiedene Möglichkeiten eine Suche über die JPC-Artikel durchzuführen.
Der Grundaufbau der zu übergebenen URL hat dabei folgendes Muster:
url = baseurl + genre + "/xml/-/task/" + kategorie + begrenzung
Bei allen Varianten ist die Umgebung anzugeben, in der die Suche durchgeführt werden
soll. Dazu ist die Angabe des genre notwendig.
Soll eine globale Suche durchgeführt werden, ist hier home zu setzen. Bei allen anderen genre-Typen wird die Suche auf die jeweilige
JPC-Rubrik beschränkt.
| Genre | Bedeutung des Elementes |
| home | Alle Rubriken |
| jazz | Jazz |
| poprock | Rock & Pop |
| classic | Klassik |
| movie | Film |
| books | Bücher |
| score | Noten |
- Gemeinsamkeiten
- Einige Begrenzungsparameter sind allen Suchabfragen gemeinsam. Mit diesen Parametern lassen
sich die Suchabfragen auf Teilabfragen beschränken. So kann der Startpunkt und die
Länge der Artikelliste angegeben werden. Ebenso kann die Suche auf ein bestimmtes
Medium und auf eine Rubrik (falls dies nicht schon über genre geschehen ist, vgl. genre-Typen) beschränkt werden.
| Parameter | Bedeutung | Wertebereich | Default Wert |
| searchcount | Anzahl der Artikel | (integer) | 25 |
| searchfirst | Erster Artikel. Beginnend bei 0. | (integer) | 0 |
| medium | Artikelmedium | (string) | all(*) |
| rubric | Genre | | |
(*)eine genaue Beschreibung finden Sie im Anhang
Die Paramater werden über die begrenzung gesetzt. Dabei ist die Reihenfolge
unwichtig. Wichtig ist, dass jeder Parameter dem Aufbau /param/value folgt.
Beispiel:
http://www.jpc.de/jpcng/jazz/xml/-/task/charts/searchcount/42/searchfirst/13
- Die Standardsuche
- Für die Standardsuche wird die kategorie auf search gesetzt.
Der zu suchende Begriff wird dabei über den Parameter fastsearch übergeben.
Alle anderen Parameter gelten weiterhin.
| Parameter | Bedeutung | Wertebereich | Default Wert |
| fastsearch | Suchbegriffe (URL-encoded) | (string) | |
Beispiele:
http://www.jpc.de/jpcng/home/xml/-/task/search/fastsearch/unreal+tournament
http://www.jpc.de/jpcng/movie/xml/-/task/search/fastsearch/david+bowie/medium/CD
- Die kategorie-spezifische Suche
- Bei der kategorie-spezifischen Suche wird keine Suche zu einem Begriff
durchgeführt, stattdessen besteht die Möglichkeit fertige
Listen abzufragen. Zu diesen Listen gehören die Angebots-, Neuheiten- und
Hitparadenlisten der verschiedenen JPC-Rubriken.
| Kategorie | Bedeutung des Elements |
| offers | Angebote |
| novelties | Neuheiten |
| charts | Hitparade |
Die Neuheitenliste läßt sich ausserdem noch zeitlich weiten. Standardmäßig werden die Neuheiten des
aktuellen Tages ausgegeben. Folgende zusätzliche Angaben sind möglich.
| Parameter | Werte | Bedeutung |
| daycount | (integer) | Neuheiten der letzten x Tage |
| future | 1 | zukünftige Neuheiten |
Beispiele:
http://www.jpc.de/jpcng/movie/xml/-/task/charts
http://www.jpc.de/jpcng/poprock/xml/-/task/charts/searchcount/42
http://www.jpc.de/jpcng/jazz/xml/-/task/charts/searchcount42/searchfirst/13
http://www.jpc.de/jpcng/movie/xml/-/task/offers
- Die Profisuche
- Auch für die Profisuche wird kategorie auf search gesetzt.
Im Gegensatz zur normalen Suche kann die Profisuche über mehrere Eigenschaften
durchgeführt werden.
Pflicht ist die Angabe des Parameters dosearch mit dem Wert 1, um die Suche
zu initialisieren.
| Parameter | Bedeutung | Wertebereich | Default |
| dosearch | Flag für Profisuche | 1 (fixed) | 1 |
| k | Kontext | jazz|poprock|classic|movie|books|score | |
Folgende Parameter sind abhängig vom gewählten Kontext (bzw. der Rubrik):
Musik (Jazz, Pop & Rock, Klassik)
| Parameter | Bedeutung | Wertebereich | Default Wert |
| titel | Artikel-Titel | (string) | |
| interpret | Musik-Interpret | (string) | |
| label | Musik-Label | (string) | |
| tracks | Liedertitel | (string) | |
| preisbis | Preis-Bereich | (integer) | |
| orderby | Sortierung | interpret|date|preis | date |
Filme (Movie)
| Parameter | Bedeutung | Wertebereich | Default Wert |
| genre | Film-Kategorie | (string) | |
| titel | Artikel-Titel | (string) | |
| tracks | Namen | (string) | |
| preisbis | Preis-Bereich | (integer) | |
| orderby | Sortierung | titel|date|preis | date |
Bücher (Books)
| Parameter | Bedeutung | Wertebereich | Default Wert |
| ctxtitel | Buch-Titel | (string) | |
| ctxautor | Buch-Autor | (string) | |
| ctxverlag | Verlag | (string) | |
| preisbis | max. Preis | (integer) | |
| booklang | Sprache | Deutsch|Englisch | alle |
| orderby | Sortierung | titel|date|preis | date |
Noten
| Parameter | Bedeutung | Wertebereich | Default Wert |
| titel | Titel/Werk | (string) | |
| interpret | Komponist/Texter | (string) | |
| ctxverlag | Verlag | (string) | |
| anthol | Band/Reihe | (string) | |
| kategorie | JPC-Kategorie | (integer) | |
| preisbis | Preis-Bereich | (integer) | |
Beispiele:
http://www.jpc.de/jpcng/home/xml/-/task/search/dosearch/1/k/jazz/titel/ballads+world
http://www.jpc.de/jpcng/home/xml/-/task/search/dosearch/1/k/books/titel/heidi/preisbis/5
http://www.jpc.de/jpcng/home/xml/-/task/search/dosearch/1/k/poprock/interpret/enya/orderby/interpret
-
Die Antworten bestehen aus wohlgeformten, dem Schema entsprechenden XML-Dokumenten. Diese beschreiben
die Ergebnisliste der gefundenen Artikel. Dabei kann die Ergebnisliste natürlich auch leer sein. Die gefundenen
Artikel besitzen folgenden Aufbau.
- Die XML-Ausgaben sind grundsätzlich UTF-8 kodiert.
- Die Ausgabeliste wird von
<artikelliste>
</artikelliste>
umschlossen und besitzt folgende Attribute:
| Attribut | Bedeutung | Wertebereich |
| type | Listentyp | string (detail|searchresult|charts|offers|novelties|error) |
| count | Anzahl Artikel Ausgabe | (integer) |
| totalcount | Anzahl Artikel gesamt | (integer) |
| start | Erster Artikel | (integer) |
-
Ein Artikel wird umschlossen von
<artikel>
</artikel>
-
Die Anzahl der Kinder-Elemente ist abhängig von der Art des Artikels. Daher beschreibt
das erste Element immer den Artikeltyp.
<arttyp>1</arttyp>
| Wert | Bedeutung |
| 1 | JPC-Artikel |
| 2 | Buch |
| 3 | Noten |
- Einige Elemente besitzen alle Artikel gemeinsam. Dazu gehört auch die Artikelart, die
das Artikelmedium genauer beschreibt.
<artikelart>Buch</artikelart>
| Wert | Bedeutung |
| Buch | Buch |
| CD | Album-CD |
| CDM | CD-Maxi |
| CDR | PC-CDROM |
| DD | Dual Disc |
| DVA | DVD-Audio |
| DVD | DVD |
| DVR | PC DVD-ROM |
| DVP | DVD-Plus |
| DVS | DVD-Single |
| Div. | Diverses |
| LP | Vinyl-LP |
| MAX | Vinyl-Maxi |
| MC | Musik-Kassette |
| MD | Mini-Disc |
| Noten | Notenblätter |
| SACD | Super Audio-CD |
| SIN | Vinyl-Single |
| Spiele | Brett- und Gesellschaftsspiele |
| VID | VHS-Video |
| MP3 | MP3 CD |
| HD | HD DVD |
| BR | Blu-ray Disc |
- Auch folgende Elemente werden in den verschiedenen Kontexten gleich behandelt:
- zusatztext: von JPC erstellter zusätzlicher Text (außer bei Noten)
<zusatztext>Stereo 5/2005: Musikalisch brillant, ...</zusatztext>
-
voe_datum: Datum der Veröffentlichung
<voe_datum>29.03.2004</voe_datum>
-
preis: Preis in Euro (€)
<preis>6.99</preis>
-
lagerbestand: Lagerbestand
<lagerbestand>Artikel am Lager</lagerbestand>
-
titel / tidisplkern: Artikel-Titel
<titel>Magic Moments 2</titel>
<tidisplkern>Magic Moments 2</tidisplkern>
- Zusätzlich existieren noch einige Elemente, die als Flag funktionieren:
- isoffer: Artikel ist ein Angebot
<isoffer>1</isoffer>
-
isnew: Artikel ist heute neu
<isnew>1</isnew>
-
isnew30: Artikel ist innerhalb der letzten 30 Tage erschienen
<isnew30>1</isnew30>
- Stehen zu einem Artikel Bild-Daten bereit, so werden diese in
<images></images>
gruppiert. Jedes Bild(image) wird durch seine Elemente beschrieben:
Größe (size), Darstellung (back), URL (url), Breite (width) und
Höhe (height). Ein minimaler Datensatz mit einem Bild sieht wie folgt aus:
<images>
<image>
<size>middle</size>
<back>front</back>
<url>http://www.jpc.de/image/cover/front/0/5361941.jpg</url>
<width>75</width>
<height>75</height>
</images>
</images>
- Ein JPC-Artikel besitzt zusätzlich folgende Elemente:
- Die hnum als eindeutige Identifizierung des Artikels entspricht der
JPC-Artikelnummer
<hnum>5361941</hnum>
-
Die Bedeutung von label ist bei JPC-Artikeln vom Kontext abhängig:
| Kontext | Bedeutung des Elements |
| Musik | Label |
| DVD/Video | Ursprungsland/Jahr |
| Spiele | Publisher |
| Bücher | Verlag |
<label>Hörverlag</label>
-
Der Kontext des Artikels wird durch die typnum eindeutig beschrieben:
| Wert | Bedeutung |
| 1 | Jazz |
| 2 | Rock & Pop |
| 3 | Klassik |
| 4 | CPO |
| 5 | DVD/Video |
| 6 | JPC-Bücher |
| 7 | Spiele |
| 8 | Noten |
<typnum>3</typnum>
-
genre: Genre
<genre>Western</genre>
-
genrenum: Nummer des Genre
<genrenum>45</genrenum>
-
interpret gibt den Namen des Interpreten an (typnum 1-4) bzw. gibt
genauere Beschreibung des Artikels an z.B. Hörbuch(6), Komponist(8), PC-Anwendung(7)
<interpret>Blackman, Cindy</interpret>
-
inhalt: beschreibt den Inhalt eines Artikels.
Bei Musik-CDs enthät dieses Feld eine mit ";" separierte Liste der Tracks
<inhalt>...;Norah Jones & Joel Harrison:I walk the line;Gerado Nunez: ...</inhalt>
-
info: Zusätzlicher Info-Text
<info>*** NEUHEIT zum limitierten Sonderpreis ...</info>
-
presse: Texte aus der Presse
<presse>Heyne Filmjahrbuch '90: "Genialer Jack Nicholson als Joker."</presse>
-
aufnahme: beinhaltet hauptsächlich den Code des Aufnahmeverfahren (A=Analog, D=Digital),
kann aber auch die FSK (Altersfreigabe nach dem Jugendschutzgesetz) beinhalten
<aufnahme>AAD</aufnahme>
<aufnahme>FSK16</aufnahme>
-
jahr: größtenteils Aufnahmejahr (Altersfreigabe bei typnum 5)
<jahr>2005</jahr>
-
anzmed: Anzahl der Medien
<anzmed>1</anzmed>
-
ean13: EAN13
<ean13>8436006491269</ean13>
-
is_sampler: Flag für Artikel ist ein Sampler
<is_sampler>1</is_sampler>
-
Musik-Ausschnitte werden in
<soundinfos></soundinfos>
eingeschlossen und enthalten disk-Datensätze.
<disk></disk>
Jede Disk enthät in
<number></number>
die Nummer des Mediums und anschließend in aufsteigender Reihenfolge
die Track-Datensätze, die mit track umschlossen sind.
<track></track>
Diese enthalten folgende Felder:
Ein minimaler Datensatz mit 1 CD und 1 Track sieht dann so aus:
<soundinfos>
<disk>
<number>1</number>
<track>
<number>1</number>
<url mimetype="audio/x-ms-wma">http://www.jpc.de/sound/591/5914425_01.wma</url>
</track>
</disk>
</soundinfos>
- Die Elemente eines Buch-Artikels dagegen sind:
- die eindeutige Indentifizierung eines Buch-Artikels über die isbn:
<isbn>3-03-766434-7</isbn>
-
autor: enthält den Autor des Buches
<autor>Roth, Philip</autor>
-
label: beschreibt den Verlag
<label>Springer, Berlin</label>
-
mitarbeiter: an dem Buch beteiligte Mitarbeiter
<mitarbeiter>Aus d. Englischen v.: Schmitz, Werner</mitarbeiter>
-
seitenzahl: Anzahl der Seiten und weitere Angaben zum Buchaufbau
<seitenzahl>160 Seiten, 21,5 cm</seitenzahl>
-
display: weitere Details zum Buchaufbau
<display>Prosa<BR>Sprache: Deutsch</display>
-
ean13: EAN13
<ean13>9783446208032</ean13>
- Noten besitzen folgende Elemente:
- artnum: Eindeutige Artikelnummer für Noten
<artnum>10044704</artnum>
-
isbn wird ausgegeben, wenn Noten als Buch erhältlich sind
<isbn>3-937041-14-1</isbn>
-
audisplkern: Herausgeber, Komponist
<audisplkern>Naidoo, Xavier</audisplkern>
-
ismn: International Standard Music Number
<ismn>M-008-01352-2</ismn>
Beispiel:
<artikelliste xsi:schemaLocation="http://www.jpc-partner.de/doku/jpc.xsd" type="detail" count="1">
<artikel>
<arttyp>1</arttyp>
<hnum>8367974</hnum>
<label>Sony/BMG</label>
<typnum>2</typnum>
<genre>Pop</genre>
<genrenum>42</genrenum>
<interpret>Dylan, Bob</interpret>
<titel>Modern Times</titel>
<inhalt>Thunder on the mountain;Spirit on the water;Rollin' and tumblin';When the deal goes down;Somday
baby;Workingman's blues No. 2;Beyond the horizon;Nettie Moore;The levee's gonna break;Ain't talkin';+ DVD:Blood in my
eyes;Love sick (live 'Grammy' version);Things have changed ('Wonder Boys' promo video);Cold irons
bound (live video)</inhalt>
<info>***CD + DVD</info>
<jahr>2006</jahr>
<anzmed>1</anzmed>
<ean13>0828768830628</ean13>
<is_sampler>1</is_sampler>
<lagerbestand>Artikel am Lager</lagerbestand>
<tidisplkern>Modern Times</tidisplkern>
<isnew>1</isnew>
<isnew30>1</isnew30>
<preis>16.99</preis>
<voe_datum>25.08.2006</voe_datum>
<artikelart>CD</artikelart>
<images>
<image>
<size>thumb</size>
<back>front</back>
<url>http://www.jpc.de/image/thumbnails/front/0/8367974.jpg</url>
<width>300</width>
<height>252</height>
</image>
<image>
<size>cover</size>
<back>front</back>
<url>http://www.jpc.de/image/cover/front/0/8367974.jpg</url>
<width>300</width>
<height>252</height>
</image>
<image>
<size>cover</size>
<back>rear</back>
<url>http://www.jpc.de/image/cover/rear/0/8367974.jpg</url>
<width>300</width>
<height>254</height>
</image>
<image>
<size>middle</size>
<back>front</back>
<url>http://www.jpc.de/image/middle/front/0/8367974.jpg</url>
<width>150</width>
<height>126</height>
</image>
<image>
<size>blot</size>
<back>front</back>
<url>http://www.jpc.de/image/blot/front/0/8367974.jpg</url>
<width>25</width>
<height>21</height>
</image>
</images>
<soundinfos>
<disk>
<number>1</number>
<track>
<number>1</number>
<url mimetype="audio/x-ms-wma">http://www.jpc.de/sound/836/8367974_01.wma</url>
</track>
<track>
<number>2</number>
<url mimetype="audio/x-ms-wma">http://www.jpc.de/sound/836/8367974_02.wma</url>
</track>
<track>
<number>3</number>
<url mimetype="audio/x-ms-wma">http://www.jpc.de/sound/836/8367974_03.wma</url>
</track>
<track>
<number>4</number>
<url mimetype="audio/x-ms-wma">http://www.jpc.de/sound/836/8367974_04.wma</url>
</track>
<track>
<number>5</number>
<url mimetype="audio/x-ms-wma">http://www.jpc.de/sound/836/8367974_05.wma</url>
</track>
<track>
<number>6</number>
<url mimetype="audio/x-ms-wma">http://www.jpc.de/sound/836/8367974_06.wma</url>
</track>
<track>
<number>7</number>
<url mimetype="audio/x-ms-wma">http://www.jpc.de/sound/836/8367974_07.wma</url>
</track>
<track>
<number>8</number>
<url mimetype="audio/x-ms-wma">http://www.jpc.de/sound/836/8367974_08.wma</url>
</track>
<track>
<number>9</number>
<url mimetype="audio/x-ms-wma">http://www.jpc.de/sound/836/8367974_09.wma</url>
</track>
<track>
<number>10</number>
<url mimetype="audio/x-ms-wma">http://www.jpc.de/sound/836/8367974_10.wma</url>
</track>
</disk>
</soundinfos>
</artikel>
</artikelliste>
-
-
Das Beispiel-Programm besteht aus einem einfachen Stück php-Code, der die
wichtigsten Funktionen der XML-Schnittstelle verdeutlichen soll. Es wurden bewusst nur Teilbereiche
implementiert, damit die Arbeitsweise verdeutlicht werden kann, ohne auf Spezialfälle eingehen zu müssen.
-
-
- Artikelmedien
-
Eine Suche kann auf eines der folgenden Medien beschränkt werden.
| Medium | Beschreibung |
| Wert | Bedeutung |
| Buch | Buch |
| CD | Album-CD |
| CDM | CD-Maxi |
| CDR | PC-CDROM |
| DD | Dual Disc |
| DVA | DVD-Audio |
| DVD | DVD |
| DVR | PC DVD-ROM |
| DVP | DVD-Plus |
| DVS | DVD-Single |
| Div. | Diverses |
| LP | Vinyl-LP |
| MAX | Vinyl-Maxi |
| MC | Musik-Kassette |
| MD | Mini-Disc |
| Noten | Notenblätter |
| SACD | Super Audio-CD |
| SIN | Vinyl-Single |
| Spiele | Brett- und Gesellschaftsspiele |
| VID | VHS-Video |
| MP3 | MP3 CD |
| HD | HD DVD |
| BR | Blu-ray Disc |