Webservice issn2ppn

Objet

Ce webservice renvoie le PPN à partir de la zone 011 $a ISSN valide

Nom du service

<sudoc service="issn2ppn">

Structure de l'information dans la notice

011 <subfield code="a">

La 011 est répétable.

PPN 001014692

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

<subfield code="a">0182-2012</subfield>

<subfield code="f">0182-2012</subfield>

</datafield>

Structure d'une requête multiple

Réponse en XML

1
<sudoc service="issn2ppn">
2
3
 <query>
4
5
   <issn>0774-3122 </issn>
6
7
     <result>
8
9
	     <ppn>000928151</ppn>
10
11
     </result>
12
13
 </query>
14
15
 <query>
16
17
   <issn>02672472</issn>
18
19
     <resultNoHolding>
20
21
        <ppn>013630687</ppn>
22
23
     </resultNoHolding>
24
25
 </query>
26
27
 <query>
28
29
   <issn>08581665</issn>
30
31
     <result>
32
33
        <ppn>04472750X</ppn>
34
35
     </result>
36
37
 </query>
38
39
</sudoc>
40
41

NB : <result> peut contenir 0, 1 ou n <ppn>

Lorsque la notice correspondant à l'ISSN envoyé est bien présente mais sans exemplaire, le retour le précise avec la balise ResultNoHolding.

RemarqueCodes erreurs

  • Si la forme des paramètres d'entrées peut correspondre à un ISSN, mais qu'on ne trouve pas d'équivalence dans le Sudoc, on renvoie le code http 404 = ressource inconnue

    Exemple : https://www.sudoc.fr/services/issn2ppn/0493-1858

    <sudoc service="issn2ppn"><error>Aucune notice n'est associée à cette valeur 0493-1858</error></sudoc>

  • Si la forme des paramètres d'entrées cause une erreur dans le déroulement du programme, on renvoie le code http 500

    Exemple : https://www.sudoc.fr/services/issn2ppn/%3C/fail%3E

    <sudoc service="issn2ppn"><error>Something went wrong in DB with XML !!! ppn=null</error></sudoc>

Réponse en 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

ExempleRetour Json : résultat unique

Exemple

https://www.sudoc.fr/services/issn2ppn/0774-3122&format=text/json

1
2
{
3
4
  "sudoc": {
5
6
    "query": {
7
8
      "issn": "0774-3122",
9
10
      "result": {
11
12
        "ppn": "000928151"
13
14
      }
15
16
    }
17
18
  }
19
20
}
21
22
23
24
25

ExempleRetour Json : résultats multiples

Exemple

https://www.sudoc.fr/services/issn2ppn/0779-3812&format=text/json

Lorsque plusieurs PPN correspondent à un ISSN, ils sont inclus dans un array Json.

1
{
2
"sudoc":{
3
   "query":{
4
       "issn":"0779-3812"
5
       ,
6
       "result":[{"ppn":"039741877"},{"ppn":"134558847"}]
7
           }
8
         }   
9
}