Les web services Sudoc

Chapitre 2. Micro Web Service multiwhere

Objet

Un service Sudoc pour localiser (RCR de localisation) plusieurs documents à partir de leur identifiant (PPN)

Un service where a été précédemment développé pour permettre la localisation d’un seul document à partir de son identifiant (PPN).

Il est dorénavant conseillé d’utiliser le multiwhere qui offre un service plus complet et plus riche que le where.

Les notices de RCR ont été enrichies des informations de géolocalisation : latitude et longitude.

NB : RCR = Numéro identifiant d'une bibliothèque dans le Répertoire des Centres de Ressources . Précisons que le RCR est un identifiant national de bibliothèque, qui devient un identifiant international (ISIL) si vous le préfixez de “FR-”.

Exemple

Numéro identifiant une bibliothèque dans les réseaux SUDOC

341725201 ABES Centre de documentation

Nom du service

<sudoc service="multiwhere">

Structure de l’information dans la notice

Les informations de géolocalisation sont renseignées en zone : 202 $aLatitude $bLongitude

</datafield>

<datafield tag="202" ind1=" " ind2=" ">

<subfield code="a">43.6363048</subfield>

<subfield code="b">3.8284966</subfield>

</datafield>

Exemple

http://www.idref.fr/050947664.xml

Requête

http://www.sudoc.fr/services/multiwhere/144089661

Requête multiple possible

http://www.sudoc.fr/services/multiwhere/144089661,154923206

Réponse format XML

<sudoc service="multiwhere">

<query>

<ppn>144089661</ppn>

<result>

<library>

<rcr>130012101</rcr>

<shortname>AIX-MARSEILLE1-BU Lettres</shortname>

<latitude>43.516025</latitude>

<longitude>5.448238</longitude>

</library>

<library>

<rcr>130012102</rcr>

<shortname>AIX-MARSEILLE3-BU Droit Sci.Eco.</shortname>

<latitude>43.519271</latitude>

<longitude>5.4467564</longitude>

</library>

<library>

<rcr>173002101</rcr>

<shortname>LA ROCHELLE-BU</shortname>

<latitude>46.1523269</latitude>

<longitude>-1.1531369</longitude>

</library>

<library>

<rcr>290192103</rcr>

<shortname>BREST-BU Droit-Sciences-Sports</shortname>

<latitude>48.40063989999999</latitude>

<longitude>-4.4999641</longitude>

</library>

<library>

[…]

</result>

</query>

</sudoc>

Réponse format JSON

Il est possible de demander une réponse dans le format JSON.

En appelant l’URL de base en précisant dans le Header de la requête HTTP préférer du JSON (Accept: text/json). Vous utiliserez alors le mécanisme de la négociation de contenu, que vous pouvez tester avec le plugin Firefox Modify Headers par exemple.

En complétant l’URL de base de l’information suivante &format=text/json

Exemple

http://www.sudoc.fr/services/multiwhere/144089661&format=text/json

Exemple de Réponse en JSON

{

"sudoc": {

"query": {

"result": {

"library": [

{

"longitude": "5.448238",

"shortname": "AIX-MARSEILLE1-BU Lettres",

"latitude": "43.516025",

"rcr": "130012101"

},

{

"longitude": "5.4467564",

"shortname": "AIX-MARSEILLE3-BU Droit Sci.Eco.",

"latitude": "43.519271",

"rcr": "130012102"

},

{

"longitude": "-1.1531369",

"shortname": "LA ROCHELLE-BU",

"latitude": "46.1523269",

"rcr": "173002101"

},