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⚓
https://www.sudoc.fr/services/issn2ppn/0774-3122 (ISSN avec tiret)
https://www.sudoc.fr/services/issn2ppn/07743122 (ISSN sans tiret)
Structure d'une requête multiple⚓
https://www.sudoc.fr/services/issn2ppn/02672472,08581665,0296-2454,1242-9449,1242-9449 (ISSN avec ou sans tiret multiple)
Réponse en XML⚓
<sudoc service="issn2ppn">
<query>
<issn>0774-3122 </issn>
<result>
<ppn>000928151</ppn>
</result>
</query>
<query>
<issn>02672472</issn>
<resultNoHolding>
<ppn>013630687</ppn>
</resultNoHolding>
</query>
<query>
<issn>08581665</issn>
<result>
<ppn>04472750X</ppn>
</result>
</query>
</sudoc>
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.
Remarque : Codes 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
Exemple : Retour Json : résultat unique⚓
Exemple
https://www.sudoc.fr/services/issn2ppn/0774-3122&format=text/json
{
"sudoc": {
"query": {
"issn": "0774-3122",
"result": {
"ppn": "000928151"
}
}
}
}
Exemple : Retour 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.
{
"sudoc":{
"query":{
"issn":"0779-3812"
,
"result":[{"ppn":"039741877"},{"ppn":"134558847"}]
}
}
}