Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
hub_recherche:start [2015/04/22 09:07] |
hub_recherche:start [2018/04/23 11:22] (version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== HUB Numérique : API de Recherche ====== | ||
+ | Le Web service de recherche permet d’interroger la base des livres numériques. Il offre deux possibilités : | ||
+ | * Une recherche multicritères dite recherche rapide : **quickSearch** | ||
+ | * Une recherche détaillée par champ : **advancedSearch** | ||
+ | |||
+ | Le Web service search est disponible uniquement en version SOAP. | ||
+ | |||
+ | ===== Gestion des versions de l'API de Recherche ===== | ||
+ | A chaque évolution importante de l'API de recherche (par exemple la modification du WSDL : ajout de nouveaux services, ...), le service passe de la version N à la version N+1. Le numéro de version commence par le numéro 1. Ce numéro est visible dans les URL(s) des services. La syntaxe est la suivante : | ||
+ | |||
+ | **[ [[:start#les_differentes_plateformes_gerees_par_le_hub|Nom de la plateforme]]]/v[ [[hub_recherche:start#versions_de_l_api_de_recherche|numéro de version]] ]/hub-numerique/[nom de service]** | ||
+ | |||
+ | ==== Versions de l'API de Recherche ==== | ||
+ | ^Numéro de version^Statut^URL WSDL^Date de mise en production^Date de désactivation de la version^Modifications^ | ||
+ | |1|Actif|v1| 09-10-2012 | 30-06-2015 |[[historique_des_modifications_recherche:v1|historiques de modification v1]]| | ||
+ | |2|Actif|v2| 13-01-2014 | 30-06-2015 |[[historique_des_modifications_recherche:v2|historiques de modification v2]]| | ||
+ | |3|Actif|v3| 05-02-2015 | | [[historique_des_modifications_recherche:v3|historiques de modification v3]] | | ||
+ | |||
+ | ==== Adresses de l'API de Recherche==== | ||
+ | |||
+ | **Version SOAP :** le WSDL est disponible via l'URL suivant : | ||
+ | |||
+ | * plateforme de test: https://hub-test.centprod.com/v[ [[hub_recherche:start#versions_de_l_api_de_recherche|numéro de version]] ]/hub-numerique/hub-numerique-services-search.wsdl | ||
+ | * plateforme de production: https://hub-dilicom.centprod.com/v[ [[hub_recherche:start#versions_de_l_api_de_recherche|numéro de version]] ]/hub-numerique/hub-numerique-services-search.wsdl | ||
+ | |||
+ | Exemple : | ||
+ | * version n°3 (Plateforme de production) : https://hub-dilicom.centprod.com/v3/hub-numerique/hub-numerique-services-search.wsdl | ||
+ | * version n°3 (Plateforme de test) : https://hub-test.centprod.com/v3/hub-numerique/hub-numerique-services-search.wsdl | ||
+ | |||
+ | |||
+ | **Version REST :** Cette version n'est pas implémentée. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====== Description de l'API ===== | ||
+ | |||
+ | Un seul service est disponible, il permet d'effectuer une recherche rapide ou une recherche avancée. | ||
+ | |||
+ | |||
+ | ===== Interogation du Web Service ===== | ||
+ | Requete ''SearchRequest'' : | ||
+ | |||
+ | ^ glnReseller | Votre code d'accès | Obligatoire, numérique, 13 caractères | | ||
+ | ^ passwordReseller | Votre mot de passe | Obligatoire, alphanumérique, max 25 caractères | | ||
+ | ^glnContractor |Gln du prestatataire| Facultatif jusqu'au 30 juin puis Obligatoire, numérique, 13 caractères | | ||
+ | ^ pagination | Liste d'éléments ''checkAvailabilityLine'' spécifiant les disponibilités à vérifier | Obligatoire //(cf. ci-dessous)// | | ||
+ | ^ catalog |Ce paramètre permet de limiter la recherche au périmètre de catalogue HUB et/ou [[https://pnb-dilicom.centprod.com/documentation/|PNB]]| Obligatoire, les differents valeurs possibles sont : <html><ul><li><code>HUB</code></li><li><code>PNB</code></li></ul></html>Le paramètre ''catalog'' peut être présent deux fois dans la requête| | ||
+ | ^ quickSearch | Champ de recherche rapide, //cf. ci-dessous. //|Obligatoire si l'élément ''advancedSearch'' n'est pas spécifié, texte, maximum 100 caractères | | ||
+ | ^ advancedSearch |Éléments de recherche avancée, //cf. ci-dessous. // |Obligatoire si l'élément ''quickSearch'' n'est pas spécifié | | ||
+ | |||
+ | Élément ''pagination'' : | ||
+ | ^nbResultsPerPage | Nombre de résultats par page souhaité |Facultatif, entier entre 1 et 30, par défaut ''15'' | | ||
+ | ^currentPage | Numéro de page sur laquelle on veut se positionner, commence à 1 |Facultatif, par défaut ''1'' | | ||
+ | ^sortBy |Clef de tri | Facultatif<html><ul> | ||
+ | <li><code>RELEVANCE</code> (pertinence) - par défaut</li> | ||
+ | <li><code>EAN13</code></li> | ||
+ | <li><code>TITLE</code> (titre)</li> | ||
+ | <li><code>PUBLISHER</code> (éditeur)</li> | ||
+ | <li><code>DISTRIBUTOR</code> (distributeur)</li> | ||
+ | <li><code>AUTHOR</code> (auteur)</li> | ||
+ | <li><code>AVAILABILITY</code> (disponibilité)</li> | ||
+ | <li><code>PUBLICATION_DATE</code> (date de parution)</li> | ||
+ | <li><code>PRICE</code> (prix)</li></ul></html>| | ||
+ | ^sortOrder |Ordre du critère de tri |Facultatif<html><ul><li><code>ASCENDING</code> (croissant) - par défaut</li><li><code>DESCENDING</code> (décroissant)</li></ul></html> | | ||
+ | |||
+ | Élément ''includeNotice'' : | ||
+ | ^includeNotice | Indique si l'on souhaite obtenir le contenu de notices ONIX en réponse, ou seulement les identifiants (ean13, glnDistributor) des fiches.| Facultatif, boolean<html> | ||
+ | <ul> | ||
+ | <li><code>false</code> - par défaut</li> | ||
+ | <li><code>true</code></li> | ||
+ | </ul></html> | | ||
+ | |||
+ | |||
+ | ==== Recherche rapide ==== | ||
+ | Recherche indifféremment sur tous les champs indexés (titre, auteur, EAN, distributeur, thèmes ...) | ||
+ | |||
+ | Champ ''quickSearch'' : | ||
+ | ^quickSearch | Mot(s) ou code(s) recherché(s) |Obligatoire, texte, maximum 100 caractères | | ||
+ | |||
+ | ⇒ [[examples_soap#recherche_rapide|Exemple SOAP de recherche Rapide]] | ||
+ | |||
+ | ==== Recherche avancée ==== | ||
+ | Permet une recherche détaillée par champ. | ||
+ | |||
+ | |||
+ | Element ''advancedSearch'' : | ||
+ | ^availability | Permet de filtrer sur les articles disponibles ou à paraitre sur la base des valeurs (liste 65) de la balise Product availability de la notice Onix | Facultatif<html> | ||
+ | <ul> | ||
+ | <li><code>ORDERABLE</code> (20, 22, 33)</li> | ||
+ | <li><code>NOT_YET_AVAILABLE</code> (10)</li> | ||
+ | </ul></html>| | ||
+ | ^title |Élément(s) de titre recherché(s) |Facultatif, texte, maximum 100 caractères | | ||
+ | ^author |Élément(s) d'auteur recherché(s) |Facultatif, texte, maximum 100 caractères | | ||
+ | ^publisher |Élément(s) d’éditeur recherché(s) |Facultatif, texte, maximum 100 caractères | | ||
+ | ^distributor |Élément(s) de titre recherché(s) |Facultatif, texte, maximum 100 caractères | | ||
+ | ^ean13 |Ean recherché, si le champ est renseigné le hub répondra sur ce seul champ en ignorant les autres critères. |Facultatif, texte, maximum 100 caractères | | ||
+ | ^publicationSince | Permet de filtrer les articles sur la base de leur date de parution transmise dans la balise PublishingDate de la notice Onix | Facultatif<html> | ||
+ | <ul> | ||
+ | <li><code>1_WEEK</code> 1 semaine</li> | ||
+ | <li><code>1_MONTH</code> 1 mois</li> | ||
+ | <li><code>3_MONTHS</code> 3 mois</li> | ||
+ | <li><code>6_MONTHS</code> 6 mois</li> | ||
+ | <li><code>1_YEAR</code> 1 an</li> | ||
+ | </ul></html> | | ||
+ | ^keywords |Recherche dans les libellés présents dans les balises <subjects/> (thèmes CLIL, mots clefs...) |Facultatif, texte, maximum 100 caractères | | ||
+ | |||
+ | => [[examples_soap#recherche_avancee| Exemple SOAP de recherche avancée ]] | ||
+ | |||
+ | ==== Réponse du web service ==== | ||
+ | Réponse ''SearchResponse'' : | ||
+ | ^requestId | Identifiant de la requête | Facultatif, alphanumérique | | ||
+ | ^paginationRs | Détail de pagination des résultats | //cf. ci-dessous// | | ||
+ | ^returnStatus | Statut de la reponse | //cf. [[hub_recherche:start#codes_de_retour|Codes de retour]]// | | ||
+ | ^returnMessage[] |Message(s) d'erreur(s) |Facultatif | | ||
+ | ^detailNotice[] | Liste des fiches correspondant à la recherche et à la page demandée. | //cf. ci-dessous//| | ||
+ | |||
+ | Element ''paginationRs'': | ||
+ | ^nbResultsPerPage |Nombre de résultats par page|Numérique | | ||
+ | ^currentPage | Page retournée, commence à 1 |Numérique | | ||
+ | ^sortBy | Clef de tri | <html><ul> | ||
+ | <li><code>RELEVANCE</code> (pertinence) </li> | ||
+ | <li><code>EAN13</code></li> | ||
+ | <li><code>TITLE</code> (titre)</li> | ||
+ | <li><code>PUBLISHER</code> (éditeur)</li> | ||
+ | <li><code>DISTRIBUTOR</code> (distributeur)</li> | ||
+ | <li><code>AUTHOR</code> (auteur)</li> | ||
+ | <li><code>AVAILABILITY</code> (disponibilité)</li> | ||
+ | <li><code>PUBLICATION_DATE</code> (date de parution)</li> | ||
+ | <li><code>PRICE</code> (prix)</li></ul></html>| | ||
+ | ^sortOrder |Ordre du critère de tri |<html><ul><li><code>ASCENDING</code> (croissant)</li><li><code>DESCENDING</code> (décroissant)</li></ul></html> | | ||
+ | ^nbFoundResults |Nombre total de fiches correspondant à la recherche |Numérique | | ||
+ | ^nbSentResults |Nombre de fiches retournées dans la page courante.| Numérique| | ||
+ | |||
+ | Elements ''detailNotice'' : | ||
+ | ^ean13 | EAN13 de la fiche |Numérique sur 13 | | ||
+ | ^glnDistributor | GLN13 du distributeur de la fiche |Numérique sur 13 | | ||
+ | ^supplierName | Nom du distributeur de la fiche |Texte | | ||
+ | ^onixProduct | Notice ONIX (XML) de la fiche sous forme d'une chaine de caractères.| Présent uniquement si l’élément ''includeNotice'' était spécifié à ''true'' dans la requête. | | ||
+ | ^type |Le type de notice|Obligatoire, les différents valeurs possibles sont : <html><ul><li><code>HUB</code></li><li><code>PNB</code></li></ul></html> | | ||
+ | |||
+ | ==== Codes de retour ==== | ||
+ | |||
+ | La liste des codes de retour générée par le service search est la suivante : | ||
+ | * OK, | ||
+ | * ACCES_DENIED | ||
+ | Le tableau ci-dessous décrit en détail les codes de retour spécifiques au service search: | ||
+ | ^ Code (returnStatus)^ Message (returnMessage)^Niveau de l'erreur dans la requête ^Cause^ | ||
+ | | OK| |Requête |La requête est traitée sans erreur| | ||
+ | |ERROR | |Requête |Une erreur non spécifiée a eu lieu. | | ||
+ | |INVALID_ARGUMENTS | |Requête | Les argument indiqués sont erronés, ou bien certains paramètres obligatoires ne sont pas renseignés| | ||
+ | |AUTHENTICATION_ERROR|Bad credentials |Requête | Erreur d'authentification| | ||
+ | |ACCES_DENIED|Authorization failure|Requête |L’utilisateur n’a pas le droit d’accès au service search| | ||
+ | |ACCES_DENIED|You are not allowed to search in catalog HUB|Requête|L'utilisateur n'est pas autorisé à effectuer des recherches dans le catalogue HUB| | ||
+ | |ACCES_DENIED|You are not allowed to search in catalog PNB|Requête|L'utilisateur n'est pas autorisé à effectuer des recherches dans le catalogue PNB| | ||
+ | | ACCES_DENIED|You are not allowed to search in catalog HUB from this GlnDistributeur |Requête |Le paramètre ''advancedSearch.distributor'' est renseigné en format GLN13 et l'utilisateur n'est pas autorisé à effectuer des recherches dans le catalogue HUB de ce distributeur| | ||
+ | | ACCES_DENIED|You are not allowed to search in catalog PNB from this GlnDistributeur |Requête |Le paramètre ''advancedSearch.distributor'' est renseigné en format GLN13 et l'utilisateur n'est pas autorisé à effectuer des recherches dans le catalogue PNB de ce distributeur| |