Ceci est une ancienne révision du document !


Table des matières

API PNB

Gestion des versions de l'API PNB

A chaque évolution importante de PNB (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 :

[ Nom de la plateforme PNB]/v[ numéro de version]/pnb-numerique/[nom de service]

Versions de l'API PNB

Numéro de versionStatutURL WSDLDate de mise en productionDate de désactivation de la version
1Actifv1 26-08-2014 30-06-2015 - ATTENTION - Disposition particulière pour les libraires qui doivent répondre aux exigences de la V2 dès le 30 avril 2015
2Actifv2 16-02-2015

Adresses de l'API PNB

Version SOAP : le WSDL est disponible via l'URL suivant :

Exemple :

Version REST : les différents services sont disponibles aux URL suivantes :

Gestion des retours, gestion des erreurs et codes de retour

Le numéro de traitement d'une requête est systématiquement rappelé dans la réponse sous la forme : <pnb:requestId>xxxxxxxx</pnb:requestId> Ce numéro de traitement est utile pour toute correspondance avec PNB (SAV, tracing…)

Dans le cas d'erreur de traitement d'une requête PNB, le serveur PNB envoie une réponse contenant les champs returnStatus et une liste de returnMessage précisant l'erreur rencontrée. L'erreur peut être attachée au niveau de status global de la requête ou plus précisément au niveau de status d'une ligne de requête (si la requête est composée de plusieurs lignes; par exemple le service sendOrder).

Codes de retour (returnStatus)

Les codes de retours PNB sont resumés dans le tableau ci-dessous:

Code Description
OK La requête est traitée sans erreur (toutes les lignes de la requête sont traitées sans erreur)
WARNING La requête est traitée avec des erreurs (erreur de traitement de quelques ou toutes les lignes de la requête)
ERROR La requête n’est pas traitée. Ce code regroupe les erreurs suivantes : une erreur technique est survenue coté serveur PNB ou une erreur inconnue est survenue coté plateforme de distribution
INVALID_ARGUMENTS Ce code regroupe les erreurs suivantes : les paramètres de la requête ne respectent pas le XSD, les paramètres de la requête ne sont pas valides, les paramètres obligatoires ne sont pas présents dans la requête
AUTHENTICATION_ERROR Les informations d’authentification de l’utilisateur sont erronées
ACCES_DENIED L’utilisateur n’a pas le droit d’accès à la ressource demandée
NOT_IMPLEMENTED Le service demandé n’est pas implémenté
NOT_FOUND La ressource demandée n’est pas trouvée
UNKNOWN_GLN Le GLN fourni n’est pas référencé dans la base de fuel
DUPLICATED L’existence de doublons
CANCELLED Une commande ou une ligne de commande est annulée
DATE_TOO_OLD La date fournie est plus âgée
PRODUCT_CANNOT_BE_SOLDLa ressource demandée n’est pas vendable
INVALID_PRICELe prix fourni par l’utilisateur n’est pas valide
PRODUCT_CANNOT_BE_LOANLa ressource demandée ne peut pas être prêtée pour les raisons suivantes : le lien de téléchargement de la ressource n'est pas valide ou la ressource est déjà prêtée ou l’état de la référence de la ligne de commande vaut une valeur différente de « OK »
MAX_LOAN_QUANTITY_REACHEDLa limite du nombre de prêts est atteinte
MAX_SIMULTANEOUS_LOAN_REACHEDLe nombre maximal de prêts simultanés a été atteint
LOAN_DURATION_EXPIREDLa durée de prêt a expiré

Codes de retour de base

La liste des codes de retour communs à tous les services PNB est la suivante :

Le tableau ci-dessous décrit en détail les codes de retour de base retournés par les services PNB:

Code (returnStatus) Message (returnMessage)Niveau de l'erreur dans la requête CauseRemarque
OK RequêteToutes les lignes sont traitées sans erreur Le serveur PNB peut renseigner le champ “returnMessage” pour donner plus de détails sur le traitement
OK LigneLa ligne de la requête est traitée sans erreurLe serveur PNB peut renseigner le champ “returnMessage” pour donner plus de détails sur le traitement
WARNINGSome <nom de service> lines are returned with error RequêteQuelques lignes sont traitées avec erreur
WARNINGAll <nom de service> lines are returned with error Requête Toutes lignes sont traitées avec erreur Ce code peut avoir un autre message d'erreur selon d'autres cas d'utilisation
ERRORInternal error Requête, Ligne Une erreur technique est survenue coté PNB
ERROR Unknown error occurred while calling <nom de la plateforme de distribution> serviceRequête, Ligne Une erreur inconnue est survenue coté plateforme de distribution Cette erreur se produit lorsque la plateforme de distribution envoi un code d'erreur non reconnu par le serveur PNB
INVALID_ARGUMENTSSpécifique selon le cas d’erreur Requête, Ligne
  • Les paramètres de la requête ne respectent pas le XSD
  • Les paramètres de la requête ne sont pas valides
  • Les paramètres obligatoires ne sont pas présents dans la requêtes
AUTHENTICATION_ERROR Bad credentialsRequête Les informations d’authentification de l’utilisateur sont erronées
ACCES_DENIED Authorization failure Requête, Ligne L’utilisateur n’a pas le droit d’accès au service PNB Ce code peut avoir un autre message d'erreur selon d'autres cas d'utilisation
NOT_IMPLEMENTEDSpécifique selon le cas d’utilisation Requête, Ligne Le service demandé n’est pas implémenté

Service passer une commande : sendOrder

Le service sendOrder permet aux revendeurs d'acheter des offres de livre numérique pour le compte d'une collectivité.

Le revendeur ne peut commander qu'un seul exemplaire d'une offre par commande, la quantité est limitée à 1.

Si la commande est créée avec succès; le serveur PNB ne retourne pas l'URL(s) d'accès aux ressources. L'URL d'accès à une ressource n'est donné qu'au moment d'un emprunt ou d'une consultation.

Authentification

Les paramètres utilisés pour authentifier le service sendOrder sont:

Requête

Paramètres

glnReseller Identifiant du revendeur Obligatoire, numérique, 13 caractères
passwordReseller Mot de passe du revendeur Obligatoire, alphanumérique, max 25 caractères
glnColl Gln collectivité Obligatoire, numérique, 13 caractères
glnContractor Gln du prestatataire Facultatif jusqu'au 30 juin puis Obligatoire, numérique, 13 caractères
glnDelivery Gln du “Livré à” dans le cas ou le glnReseller est un grossiste Facultatif jusqu'au 30 juin puis Obligatoire, numérique, 13 caractères
orderId Identifiant de la commande, (ou référence commande) provenant du système du revendeur. Ce paramètre doit être unique pour un glnResellerObligatoire, alphanumérique, max 16 caractères
orderIdColl Identifiant de la commande, (ou référence commande) provenant du système de la collectivitéObligatoire, alphanumérique, max 16 caractères
resellerCountry Pays du revendeur Obligatoire, ISO 3166-1 (liste 91 dans Onix)
collCountry Pays de la collectivitéObligatoire, ISO 3166-1 (liste 91 dans Onix)
orderRequestLine[] Descriptif des lignes de commandes en entrée Obligatoire, Tableau d’orderRequestLine

Le serveur PNB garanti seulement l’unicité de couple : glnReseller et orderId

Composition d’orderRequestLine :
ean13 L'ean de l'offreObligatoire, numérique, 13 caractères
glnDistributor Gln distributeurObligatoire, numérique, 13 caractères
unitPrice Prix unitaire TTC utilisé par le revendeur. Exprimé en centimes. Entier non négatif. 1250 = 12,50Obligatoire, nombre entier
unitPriceExcludingTax Prix unitaire HT utilisé par le revendeur. Exprimé en centimes. Entier non négatif. 1250 = 12,50Obligatoire, nombre entier
taxRate Taux de taxe utilisé entre le revendeur et la collectivité. Entier non négatif. 20% = 2000Conditionnel : Obligatoire dans le cadre des échanges avec Numilog, optionnel avec les autres plateformes, nombre entier, Max 5 caractères
quantity La quantité de livre à commanderObligatoire, nombre entier. La valeur par défaut est égale à 1. (la quantité est limitée à 1)
currency Devise utilisée pour le prix. Obligatoire, ISO 4217(Liste 96 Onix)
dmdDate Date de début DMDObligatoire, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
lineReference Référence de la ligne de commande créée par le revendeurOptionnel, alphanumérique, max 16 caractères
lineReferenceColl Référence de la ligne de commande créée par la collectivitéOptionnel, alphanumérique, max 16 caractères

Format de la requête

Réponse

Paramètres

requestId Identifiant de la requête Optionnel, alphanumérique
orderId Référence de la commande Obligatoire, alphanumérique, max 16 caractères
orderResponseLine[] Descriptif des lignes de commande en sortie Obligatoire, Tableau d’orderResponseLine
returnStatus L'état de traitement de la requête Obligatoire, chaine de caractères. cf Codes de retour de base
returnMessage Message d'erreur si la requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour de base
Composition d’orderResponseLine :
ean13 L'ean de l'offre Obligatoire, numérique, 13 caractères
glnDistributor Gln distributeurObligatoire, numérique, 13 caractères
orderLineId Identifiant de la ligne commande transmis par PNB Obligatoire, numérique, 24 caractères
lineReference Référence créée par le revendeur (renseignée par le serveur PNB s'il a été précisé en entrée) Optionnel, alphanumérique, max 16 caractères
quantity La quantitéObligatoire, nombre entier
unitPrice Prix unitaire TTC utilisé par le revendeur. (Le serveur PNB renseigne ce champ par le prix envoyé par la plateforme de distribution si ce dernier le fournit sinon par le prix renseigné par le revendeur )Obligatoire, nombre entier
currency Devise utilisée pour le prix. Obligatoire, ISO 4217(Liste 96 Onix)
returnStatus L'état de traitement de la ligne de requête Obligatoire, chaine de caractères. cf Codes de retour
returnMessage Message d'erreur si la ligne de requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour

Format de la réponse

Codes de retour

La liste des codes de retour générée par le service sendOrder est la suivante :

Le tableau ci-dessous décrit en détail les codes de retour spécifiques au service sendOrder:

Code (returnStatus) Message (returnMessage)Niveau de l'erreur dans la requête Cause
DUPLICATED<glnReseller> : Order with referenceCommande <orderId> already exists Requête La référence de la commande existe déjà dans la base
DUPLICATED The ean <ean13> is duplicated for glnDistributeur < glnDistributor >Ligne Le client a commandé plusieurs fois le même livre numérique
DUPLICATED Order with referenceCommande <orderId> already existsLigne La référence de la commande existe déjà dans la base de la plateforme de distribution
UNKNOWN_GLN glnColl : <glnColl> is not referenced in the Customer Relationship Management RequêteL’utilisateur avec le GLN « glnColl » n’existe pas dans la base du FUEL
UNKNOWN_GLN Unsupported GlnDistributeur Ligne Le « glnDistributor » ne présente pas un GLN d’une plateforme de distribution connu par PNB
INVALID_ARGUMENTS glnColl : <glnColl> is not a local authority RequêteL’utilisateur avec le GLN « glnColl » n’est pas un utilisateur de type « collectivité »
INVALID_ARGUMENTS glnDelivery : <glnDelivery> glnDelivery is invalid : unknown GLNRequêteLe GLN « glnDelivery » n’est pas conforme
INVALID_ARGUMENTS glnContractor: <glnContractor> glnContractor is invalid : unknown GLNRequêteLe GLN « glnContractor» n’est pas conforme
INVALID_ARGUMENTS The parameter quantity is invalid. The quantity is limited to 1 LigneLa quantité de livre à commander est différente à 1
NOT_FOUND The EAN13 <ean13> does not exist for Distributor GLN < glnDistributor >Ligne L’EAN du livre numérique à commander n’existe pas
ACCES_DENIED You are not allowed to call service from this GlnDistributeur, please contact DILICOMLigne L’utilisateur avec le GLN « glnReseller» n’est pas abonné à une plateforme de distribution ou l’organisation ID n’est pas trouvée coté plateforme de distribution
ACCES_DENIED <glnColl> is not set to order for <gln Distributor>, please contact DILICOM Ligne La collectivité n’est pas paramétrée chez un distributeur
PRODUCT_CANNOT_BE_SOLDThe product can not be sold Ligne Le livre numérique ne peut pas être vendu
INVALID_PRICE Invalid price Ligne Le prix TTC renseigné par l’utilisateur n’est pas valide
INVALID_ARGUMENTS unitPriceWithoutTax is invalid : cannot be higher than unitPriceLigne Le prix HT renseigné par l’utilisateur n’est pas valide
NOT_IMPLEMENTED Service sendOrder not yet implemented for distributor : <distributeur>Ligne Le service demandé n’est pas implémenté
ERROR Line rejected by <distributeur>Ligne Certains distributeurs peuvent gérer les commandes multi-lignes et avoir des erreurs à la ligne. Cette erreur se produit lorsqu’une commande contient une ou plusieurs lignes en erreur envoyées à un distributeur qui ne gère pas le détail des erreurs à la ligne. Dans ce cas le distributeur rejette toutes les lignes de la commande.

Service annuler une commande : cancelOrder

Le service cancelOrder est un service destiné aux revendeurs. Ce service permet d'annuler une commande complète ou uniquement une partie des lignes de commande.

Le service cancelOrder permet d'annuler:

  • Soit une commande par sa référence chez le revendeur;
  • Soit des lignes de commande référencées par la référence de ligne de commande fournie par le serveur PNB lors de la création de la commande.

Une ligne de commande est annulée si :

  • la ligne de commande n'a pas été créée coté plateforme de distribution (ligne de commande avec un statut différent de “OK”).
  • la ligne de commande a été créée coté plateforme de distribution et ce dernier a accepté l'annulation de la ligne de commande.

Si la ligne de la commande est annulée alors le serveur PNB envoie le status “CANCELLED”.

Une commande est annulée si toutes les lignes de commande ont été annulées.

Authentification

Les paramètres utilisés pour authentifier le service cancelOrder sont:

Requête

Paramètres

glnReseller Identifiant du revendeur Obligatoire, numérique, 13 caractères
passwordReseller Mot de passe du revendeur Obligatoire, alphanumérique, max 25 caractères
glnContractor Identifiant du prestataire Facultatif jusqu'au 30 juin 2015 puis Obligatoire, numérique, 13 caractères
orderId Référence de la commande provenant du système du revendeurObligatoire, alphanumérique, max 16 caractères
orderLineId[] La liste des références des lignes de commandes à annuler Optionnel, Tableau d’orderLineId. En l’absence d'orderLineId, c’est toute la commande qui est annulée

Format de la requête

Réponse

Paramètres

requestId Identifiant de la requête Optionnel, alphanumérique
cancelResponseLine[]Descriptif de l'état d'annulation des lignes de commandeObligatoire, Tableau de cancelResponseLine
returnStatus L'état de traitement de la requête Obligatoire, chaine de caractères. cf Codes de retour de base
returnMessage Message d'erreur si la requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour de base
Composition de cancelResponseLine:
orderLineId Identifiant de la ligne commande transmis par PNB Obligatoire, numérique, 24 caractères
returnStatus L'état de traitement de la ligne de requête Obligatoire, chaine de caractères. cf Codes de retour
returnMessage Message d'erreur si la ligne de requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour

Format de la réponse

Codes de retour

La liste des codes de retour générée par le service cancelOrder est la suivante :

Le tableau ci-dessous décrit en détail les codes de retour spécifiques au service cancelOrder:

Code (returnStatus) Message (returnMessage)Niveau de l'erreur dans la requête Cause
NOT_FOUND< glnReseller > : Order with referenceCommande '< orderId >' is not foundRequêteLa référence de la commande à annuler n’existe pas dans la base
NOT_FOUNDThe orderLineId < orderLineId > does not existRequêteLa référence de la ligne de commande à annuler n’existe pas
CANCELLED Ligne la ligne de commande est bien annulée ou la ligne de commande n’a pas été passée chez le distributeur (c.-à-d. une ligne de commande avec returnStatus différent de OK)
NOT_IMPLEMENTEDService CancelOrder not yet implemented for distributor : <distributeur>Ligne Le service demandé n’est pas implémenté

Service vérifier la disponibilité d’un livre : checkAvailability

Le service checkAvailability est un service destiné aux revendeurs. Ce service permet de vérifier la disponibilité immédiate d’une ou de plusieurs offres de livres numériques pour les collectivités et de vérifier les prix de vente associés.

Authentification

Les paramètres utilisés pour authentifier le service checkAvailability sont:

Requête

Paramètres

glnReseller Identifiant du revendeur Obligatoire, numérique, 13 caractères
passwordReseller Mot de passe du revendeur Obligatoire, alphanumérique, max 25 caractères
glnColl Gln collectivité Facultatif, numérique, 13 caractères
glnContrator Identifiant du prestataire du revendeur Facultatif (jusqu'au 30 juin 2015 puis Obligatoire), numérique, 13 caractères
resellerCountry Pays du revendeur Obligatoire, ISO 3166-1 (liste 91 dans Onix)
collCountry Pays de la collectivitéObligatoire, ISO 3166-1 (liste 91 dans Onix)
checkAvailabilityLine[] Descriptif des livres à vérifier Obligatoire, Tableau de checkAvailabilityLine
Composition de checkAvailabilityLine :
ean13 L'ean de l'offre Obligatoire, numérique, 13 caractères
glnDistributor Gln distributeurObligatoire, numérique, 13 caractères
unitPrice Prix unitaire TTC utilisé par le revendeur. Exprimé en centimes. Entier non négatif. 1250 = 12,50Obligatoire, nombre entier
unitPriceExcludingTax Prix unitaire HT utilisé par le revendeur. Exprimé en centimes. Entier non négatif. 1250 = 12,50Obligatoire, nombre entier
taxRate Taux de taxe utilisé entre le revendeur et la collectivité. Entier non négatif. 20% = 2000Conditionnel : Obligatoire dans le cadre des échanges avec Numilog, optionnel avec les autres plateformes, nombre entier, Max 5 caractères
currency Devise utilisée pour le prix. Obligatoire, ISO 4217(Liste 96 Onix)

Format de la requête

Réponse

Paramètres
requestId Identifiant de la requête Optionnel, alphanumérique
checkAvailabilityResponseLine[]Descriptif de la disponibilité des livres Obligatoire, Tableau de checkAvailabilityResponseLine
returnStatus L'état de traitement de la requête Obligatoire, chaine de caractères. cf Codes de retour de base
returnMessage Message d'erreur si la requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour de base
Composition de checkAvailabilityResponseLine:
ean13 L'ean de l'offreObligatoire, numérique, 13 caractères
glnDistributor Gln distributeurObligatoire, numérique, 13 caractères
unitPrice Prix unitaire TTC utilisé par le revendeur (Le serveur PNB renseigne ce champ par la prix envoyé par la plateforme de distribution si ce dernier le fourni sinon par le prix renseigné par le revendeur)Obligatoire, nombre entier
Date Date de validitéObligatoire, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
checkAvailabilityReturnValue Disponibilité du livre Obligatoire, Énumération, les différentes valeurs possibles sont :
  • AVAILABLE : le livre demandé est disponible
  • UNAVAILABLE : le livre demandé n'est pas disponible
returnStatus L'état de traitement de la ligne de requête Obligatoire, chaine de caractères. cf Codes de retour
returnMessage Message d'erreur si la ligne de requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour

Format de la réponse

Codes de retour

La liste des erreurs générées par le service checkAvailability sont :

Le tableau ci-dessous décrit en détail les codes de retour spécifiques au service checkAvailability:

Code (returnStatus) Message (returnMessage)Niveau de l'erreur dans la requêteCause
OKThe EAN13 <ean13> does not exist for Distributor GLN < glnDistributor >Ligne La notice identifiée par : <ean13> et <glnDistributor> n’existe pas dans la base PNB
OKNotification type 05: This product is removedLigne La notice est supprimée
OKProductAvailability 01: This product has been CANCELLEDLigne La notice n’est pas disponible. Code ProductAvailability = 01
OKProductAvailability 10: This product is not yet availableLigne La notice n’est pas disponible. Code ProductAvailability = 10
OKProductAvailability 30: This product is temporarily unavailableLigne La notice n’est pas disponible. Code ProductAvailability = 30
OKProductAvailability 40: This product is not availableLigne La notice n’est pas disponible. Code ProductAvailability = 40
OKProductAvailability 46: This withdrawn from saleLigne La notice n’est pas disponible. Code ProductAvailability = 46
OKProductAvailability 45: This product is unmarketable separatelyLigne La notice n’est pas disponible. Code ProductAvailability = 45
UNKNOWN_GLNUnsupported GlnDistributeurLigne Le « glnDistributor » ne présente pas un GLN d’une plateforme de distribution connu par PNB
INVALID_PRICEInvalid price Ligne Le prix fourni par l’utilisateur n’est pas valide
PRODUCT_CANNOT_BE_SOLDThe product can not be soldLigne Le livre numérique ne peut pas être vendu
ACCES_DENIEDYou are not allowed to call service from this GlnDistributeur, please contact DILICOM.Ligne L’utilisateur avec le GLN « glnReseller» n’est pas abonné à une plateforme de distribution ou l’organisation ID n’est pas trouvée coté plateforme de distribution

Service récupérer les offres : getOffers

Le service « getOffers » est un service destiné aux revendeurs et aux collectivités. Ce service permet aux clients de synchroniser leurs catalogues PNB.

Le service getOffers permet d'obtenir les mises à jour des notices PNB:

  • Soit depuis une date donnée,
  • Soit depuis le dernier appel au service

Authentification

Les paramètres utilisés pour authentifier le service getOffers sont:

Requête

Paramètres

glnReseller Identifiant du revendeur ou de la collectivité Obligatoire, numérique, 13 caractères
passwordReseller Mot de passe du revendeur ou de la collectivité Obligatoire, alphanumérique, max 25 caractères
glnContractor Gln du prestatataire Facultatif jusqu'au 30 juin puis Obligatoire, numérique, 13 caractères
sinceDate Date à partir de laquelle le client demande des mises à jour des notices Optionnel, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm). La date ne doit pas être âgée de plus de 8 jours
lastConnection Paramètre indiquant par sa présence la récupération des mises à jour depuis le dernier appel au service Optionnel, chaîne vide (non null)

Les paramètres sinceDate et lastConnection ne sont pas obligatoires, mais l'un d’eux doit exister obligatoirement.

Attention : Pour utiliser l'option 'lastConnection' il est nécessaire de se connecter au moins une fois avec le paramètre 'sinceDate' au préalable, afin que le serveur puisse dater la dernière connexion.

Actuellement; le nombre d'appels au service avec l'option 'lastConnection” est limité à 5 dans une période de 24h.

Format de la requête

Réponse

Paramètres
requestId Identifiant de la requête Optionnel, alphanumérique
onixFileUrl[] Urls des fichiers de mises à jourOptionnel, Tableau d'onixFileUrl
noNotice Paramètre indiquant par sa présence l'absence de mises à jour.Optionnel, chaîne vide (non null)
returnStatus L'état de traitement de la requête Obligatoire, chaine de caractères. cf Codes de retour
returnMessageMessage d'erreur si la requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour
Composition de onixFileUrl:
httpLinks Url de fichier de mises à jour. Le fichier est au format ONIX Optionnel, chaine de caractères

Les liens de téléchargement sont accessibles pendant 10 jours sur le serveur PNB.

Format de la réponse

Codes de retour

La liste des erreurs générées par le service getOffers est la suivante :

Le tableau ci-dessous décrit en détail les codes de retour spécifiques au service getOffers:

Code (returnStatus) Message (returnMessage)Niveau de l'erreur dans la requêteCause
DATE_TOO_OLDThe date can't be older than 8 daysRequêteLa date fournie est âgée de plus de 8 jours
ACCES_DENIEDOnly 5 last connection requests are allowed within the previous 24 hoursRequêteLe client demande depuis la dernière connexion et il a déjà effectué cinq appels au service dans les dernières 24 heures
ACCES_DENIEDNot available for the moment, please contact DILICOM. Catalog can be provided by FTPRequêteLe client demande depuis la dernière connexion mais c’est la première fois qu'il fait appel au service. C'est une demande d'initialisation de catalogue PNB que le client doit demander; cette demande n'est pas disponible en web service. cf Initialisation de catalogue PNB

Service récupérer les offres d’un distributeur : getOffersForDistributor

Le service « getOffersForDistributor » est un service destiné aux revendeurs et aux collectivités. Ce service permet de synchroniser le catalogue PNB spécifique d'un distributeur.

Le service getOffersForDistributor permet d'obtenir les mises à jour des notices PNB:

  • Soit depuis une date donnée,
  • Soit depuis le dernier appel au service

Authentification

Les paramètres utilisés pour authentifier le service getOffersForDistributor sont:

Requête

Paramètres

glnReseller Identifiant du revendeur ou de la collectivité Obligatoire, numérique, 13 caractères
passwordReseller Mot de passe du revendeur ou de la collectivité Obligatoire, alphanumérique, max 25 caractères
glnContractor Gln du prestatataire Facultatif jusqu'au 30 juin puis Obligatoire, numérique, 13 caractères
glnDistributor Gln distributeurObligatoire, numérique, 13 caractères
sinceDate Date à partir de laquelle le client demande des mises à jour des notices Optionnel, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm). La date ne doit pas être âgée de plus de 8 jours
lastConnection Paramètre indiquant par sa présence la récupération des mises à jour depuis le dernier appel au service Optionnel, chaîne vide (non null)

Les paramètres sinceDate et lastConnection ne sont pas obligatoires, mais l'un d’eux doit exister obligatoirement.

Attention : Pour utiliser l'option 'lastConnection' il est nécessaire de se connecter au moins une fois avec le paramètre 'sinceDate' au préalable, afin que le serveur puisse dater la dernière connexion.

Actuellement; le nombre d'appel au service avec l'option 'lastConnection” est limité à 5 dans une période de 24h.

Format de la requête

Réponse

Paramètres
requestId Identifiant de la requête Optionnel, alphanumérique
onixFileUrl[] Urls des fichiers de mises à jourOptionnel, Tableau d'onixFileUrl
noNotice Paramètre indiquant par sa présence l'absence des mises à jour.Optionnel, chaîne vide (non null)
returnStatus L'état de traitement de la requête Obligatoire, chaine de caractères. cf Codes de retour
returnMessageMessage d'erreur si la requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour
Composition de onixFileUrl:
httpLinks Url de fichier de mises à jour. Le fichier est au format ONIX Optionnel, chaine de caractères

Les liens de téléchargement sont accessibles pendant 10 jours sur le serveur PNB.

Format de la réponse

Codes de retour

La liste des erreurs générées par le service getOffersForDistributor sont :

Le tableau ci-dessous décrit en détail les codes de retour spécifiques au service getOffersForDistributor:

Code (returnStatus) Message (returnMessage)Niveau de l'erreur dans la requêteCause
UNKNOWN_GLNUnsupported GlnDistributeurRequête Le « glnDistributor » ne présente pas un GLN d’une plateforme de distribution connu par PNB
DATE_TOO_OLDThe date can't be older than 8 daysRequêteLa date fournie est âgée de plus de 8 jours
ACCES_DENIEDOnly 5 last connection requests are allowed within the previous 24 hoursRequêteLe client demande depuis la dernière connexion et il a déjà effectué cinq appels au service dans les dernières 24 heures
ACCES_DENIEDNot available for the moment, please contact DILICOM. Catalog can be provided by FTPRequêteLe client demande depuis la dernière connexion mais c’est la première fois qu'il fait appel au service. C'est une demande d'initialisation de catalogue PNB qu'il doit demander; cette demande n'est pas disponible en web service. cf Initialisation de catalogue PNB
ACCES_DENIEDYou don't have Access to this PlatformRequêteLe client n’est pas abonné à la réception des notices de distributeur

Service obtenir les détails des commandes passées par les revendeurs : getOrders

Le service « getOrders » est un service destiné aux collectivités. Ce service permet à une collectivité d'obtenir l'ensemble des commandes qu'elle a acquises auprès des revendeurs ainsi que l'état courant des compteurs de prêts et des dates d'utilisation associés à chaque ligne de commande (traitée sans erreur).

Le service getOrders permet d'obtenir :

  • Soit une commande par sa référence chez la collectivité
  • Soit toutes les commandes depuis une date donnée.

Pour chaque ligne de commande (traitée sans erreur) associée à une commande trouvée dans la base PNB, le serveur PNB interroge dynamiquement les plateformes de distribution pour récupérer l'état courant des compteurs de prêts et des dates d'utilisation.

L'état des prêts associé à une ligne de commande est caractérisé par les données suivantes :

  • La date de début d'utilisation;
  • La date de fin prévue;
  • Le nombre d'accès restants à la date courante;
  • Le nombre d'utilisateurs simultanés possible à la date courante pour l’emprunt;
  • Le nombre d'utilisateurs simultanés possible à la date courante pour la consultation;

Authentification

Les paramètres utilisés pour authentifier le service getOrders sont:

Requête

Paramètres

glnColl Identifiant de la collectivité Obligatoire, numérique, 13 caractères
passwordColl Mot de passe de la collectivité Obligatoire, alphanumérique, max 25 caractères
glnContractor Gln du prestatataire Facultatif jusqu'au 30 juin puis Obligatoire, numérique, 13 caractères
sinceDate Date à partir de laquelle les commandes ont passées Optionnel, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
orderIdColl Référence commande provenant du système de la collectivitéOptionnel, alphanumérique, max 16 caractères
returnLinesWithErrorPermet de choisir de recevoir ou pas les lignes de commande en erreur dans la réponseOptionnel, Boolean. Si le champ returnLinesWithError n'est pas présent dans la requête alors la valeur par défaut vaut “false”

Les paramètres sinceDate et orderIdColl ne sont pas obligatoires, mais l'un d’eux doit exister obligatoirement.

Format de la requête

Réponse

Paramètres
requestId Identifiant de la requête Optionnel, alphanumérique
date Date à laquelle le suivi a été effectué.Obligatoire, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
getOrderResponseLine[] Descriptif des commandes trouvées.Obligatoire, Tableau de getOrderResponseLine
noOrder Paramètre indiquant par sa présence l'absence des commandesOptionnel, chaîne vide (non null)
returnStatus L'état de traitement de la requête Obligatoire, chaine de caractères. cf Codes de retour de base
returnMessage Message d'erreur si la requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour de base
Composition de getOrderResponseLine:
orderIdColl Référence commande provenant du système de la collectivité Obligatoire, alphanumérique, max 16 caractères
lineReferenceColl Référence de ligne de commande créée par la collectivité (renseignée par le serveur PNB si elle a été fournie lors de la création de la ligne de commande) Optionnel, alphanumérique, max 16 caractères
orderLine[] Descriptif des lignes de commandeObligatoire, Tableau de orderLine
returnStatus L'état de traitement de la ligneObligatoire, chaine de caractères. cf Codes de retour de base
returnMessage Message d'erreur si la ligne n'a pas été traitée correctement Optionnel, chaine de caractères, cf Codes de retour de base
Composition de orderLine:
orderLineId Référence de la ligne de commande générée par PNB Obligatoire, alphanumérique, max 24 caractères
ean13 L'ean de l'offre Obligatoire, numérique, 13 caractères
quantity La quantité commandée Obligatoire, nombre entier
beginDate Date de début d'utilisation Optionnel, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
endDate Date de fin prévue. Optionnel, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
endOfferDate Date de fin. Ce champ est renseigné si l'offre achetée est expiréeOptionnel, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
NUS1 Nombre d'utilisateurs simultanés possible à la date de suivi pour l’emprunt Optionnel, nombre entier
NUS2 Nombre d'utilisateurs simultanés possible à la date de suivi pour la consultation Optionnel, nombre entier
NTA Nombre d'accès restants à la date de suivi Optionnel, nombre entier
returnStatus Si la ligne n'a pas été passée chez le distributeur alors le serveur PNB envoi le statut d'erreur généré lors du traitement de la ligne de commande. (cf Codes de retour sendOrder ); sinon cf ( Codes de retour)Obligatoire, chaine de caractères.
returnMessage Si la ligne n'a pas été passée chez le distributeur alors le serveur PNB envoi le message d'erreur généré lors du traitement de la ligne de commande (cf Codes de retour sendOrder); sinon cf Codes de retour Optionnel, chaine de caractères.

Format de la réponse

Codes de retour

La liste des erreurs générées par le service getOrders sont :

Le tableau ci-dessous décrit en détail les codes de retour spécifiques au service getOrders:

Code (returnStatus) Message (returnMessage)Niveau de l'erreur dans la requêteCause
NOT_IMPLEMENTEDService getLoanStatus not yet implemented for distributor : <nom de la plateforme de distribution>LigneLa ligne de commande a été bien traitée ( ligne avec un statut OK ) et le service getLoanStatus n’est pas implémenté coté plateforme de distribution
WARNINGUnknown error occurred while calling getLoanStatus <nom de la plateforme de distribution> service platform.LigneLa ligne de commande a été bien traitée ( ligne avec un statut OK ) et une erreur est survenue lors de l'appel de service getLoanStatus de la plateforme de distribution

Service déclarer une adresse IP : declareIp

Le service declareIp est un service destiné aux collectivités. Ce service permet de déclarer les adresses IP de la collectivité utilisées pour la consultation des livres dans ses locaux (In Situ).

Authentification

Les paramètres utilisés pour authentifier le service declareIp sont:

Requête

Paramètres

glnColl Identifiant de la collectivité Obligatoire, numérique, 13 caractères
passwordColl Mot de passe de la collectivité Obligatoire, alphanumérique, max 25 caractères
glnContractor Gln du prestatataire Facultatif jusqu'au 30 juin puis Obligatoire, numérique, 13 caractères
ips[] La liste des adresses IP à déclarer Obligatoire, Tableau d'adresses IP

La collectivité peut déclarer une plage d'adresses IP, les adresses d'une plage IP sont séparées par une virgule. Par exemple: 16.100.100.100,16.100.100.200

La plage d’adresses IP ne doit pas dépasser la valeur 1000.

Format de la requête

Réponse

Paramètres
requestId Identifiant de la requête Optionnel, alphanumérique
returnStatus L'état de traitement de la requête Obligatoire, chaine de caractères. cf Codes de retour
returnMessageMessage d'erreur si la requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour

Format de la réponse

Codes de retour

La liste des erreurs générées par le service declareIp sont :

Le tableau ci-dessous décrit en détail les codes de retour spécifiques au service declareIp:

Code (returnStatus) Message (returnMessage)Niveau de l'erreur dans la requêteCause
INVALID_ARGUMENTSIp range is not valid (size > 1000 ips) [<ips>].Requête La plage d’adresses IP dépasse 1000
INVALID_ARGUMENTSIp range is not valid [<ips>].Requête La plage d’adresses IP n’est pas valide
OKWarn : < ips > already declared.Requête L’adresse IP est déjà présente dans la base
WARNINGUnknown error occurred while calling <nom de la plateforme de distribution> service platformRequête Une erreur est survenue côté plateforme de distribution

Service emprunter un livre : loanBook

Le service loanBook est un service destiné aux collectivités. Ce service permet d’emprunter une ressource; par exemple un livre. Pour plus d'information sur les modalités des emprunts par distributeur, Merci de consulter la page description des offres des distributeurs.

Le service loanBook fournit deux type d'emprunt:

  • emprunt par téléchargement;
  • emprunt par lecture en ligne

Dans le cadre d'un prêt en mode streaming; la collectivité doit déclarer l’adresse IP (cf. service declareIP) de consultation de la ressource avant de demander l'emprunt.

Le service loanBook permet à la collectivité de récupérer les détails du prêt dans l’heure qui suit la demande d’un prêt valide. A condition que les paramètres suivants soient strictement identiques à la première requête de demande d’un prêt valide :

  • glnColl,
  • orderLineId,
  • loanId,
  • ean13,
  • accessMedium,
  • Localization,
  • loanEndDate

Authentification

Les paramètres utilisés pour authentifier le service loanBook sont:

Requête

Paramètres

glnColl Identifiant de la collectivité Obligatoire, numérique, 13 caractères
passwordColl Mot de passe de la collectivité Obligatoire, alphanumérique, max 25 caractères
glnContractor Identifiant du prestataire Facultatif jusqu'au 30 juin 2015 puis Obligatoire, numérique, 13 caractères
loanerColl Gln identifiant la bibliothèque à laquelle est rattaché le lecteur qui emprunte le livre Facultatif jusqu'au 30 juin 2015 puis Obligatoire, numérique, 13 caractères
orderLineId Référence de la ligne de commande générée par le serveur PNBObligatoire, alphanumérique, max 24 caractères
loanId Identifiant de prêtObligatoire, alphanumérique, max 24 caractères
ean13 ean13 de la ressource à emprunterObligatoire, numérique, 13 caractères
accessMedium Mode d'accès à la ressource d’emprunt Obligatoire, Énumération, les différentes valeurs possibles sont :
  • DOWNLOAD: téléchargement
  • STREAMING: consultation en ligne
localization Lieu de consultation de la ressource d’emprunt Obligatoire, Énumération, les différentes valeurs possibles sont :
  • IN_SITU: consultation dans les locaux d’une collectivité
  • EX_SITU: consultation dans les locaux extérieurs des locaux d’une collectivité
loanEndDate Date de fin de prêt Obligatoire, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
ipAddress Adresse IP Optionnel, Adresse IP
callbackUrl URL de notification lors d'un retour anticipé d'une ressource empruntée Optionnel, chaine de caractères

Le paramètre ipAddress est obligatoire dans le cadre d'un prêt en mode consultation (IN_SITU).

Le serveur PNB garantit seulement l’unicité du couple : glnColl et loanId

Le paramètre callbackUrl n'est pas utilisé.

La durée de prêt est contrôlée par la plateforme de distribution.

Format de la requête

Réponse

Paramètres
requestId Identifiant de la requête Optionnel, alphanumérique
orderLineId Identifiant de la ligne commande transmis par PNB Obligatoire, numérique, 24 caractères
loanId Identifiant de prêt Obligatoire, alphanumérique, max 24 caractères
loanEndDate Date de fin du prêt Optionnel, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
link Descriptif de l'URL d'accès à la ressource Optionnel, Link
returnStatus L'état de traitement de la requête Obligatoire, chaine de caractères. cf Codes de retour
returnMessage Message d'erreur si la requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour
Composition de Link :
url URL d'accès à la ressource empruntéeObligatoire, chaine de caractères
format Format de la ressource empruntée Optionnel, chaine de caractères
formatDescriptionDescription rapide du format de la ressource empruntée. Par exemple : pdf, epub,… Obligatoire, chaine de caractères
ean13 L'ean13 de la ressource empruntéeObligatoire, alphanumérique, max 13 caractères
mimeType Mime Type de la ressource empruntée. Par exemple: application/epub+zip Optionnel, chaine de caractères

Format de la réponse

Codes de retour

La liste des erreurs générées par le service loanBook sont :

Le tableau ci-dessous décrit en détail les codes de retour spécifiques au service loanBook:

Code (returnStatus) Message (returnMessage)Niveau de l'erreur dans la requêteCause
INVALID_ARGUMENTSinvalid expiration dateRequêteLa date de fin de prêt n'est pas valide
INVALID_ARGUMENTS The parameter loanEndDate is invalid. The loan duration is over maximum autorized limitRequête La durée du prêt est plus grande que le maximum autorisé
NOT_FOUNDThe orderLineId <orderLineId> does not existRequête La collectivité n’a pas passé de commande avec la référence de ligne de commande «orderLineId »
NOT_FOUND<glnColl> : The ean <ean13> is not a part of orderLine '<orderLineId>'!Requête La collectivité a fourni un EAN qui ne correspond pas à l’EAN associe à la ligne de commande « orderLineId »
DUPLICATED<glnColl>: Loan with id '< loanId >' already existsRequête Est considéré comme doublon un prêt ayant un loanid déjà utilisé dans une demande de prêt valide pour une collectivité donnée. Si l’ensemble des données glnColl, orderLineId, loanId, ean13, accessMedium, localization et loanEndDate de la requête est identique à une demande de prêt déjà passée dans l’heure, alors, la requête n’est pas considérée comme un doublon, mais retourne les informations de la réponse au prêt initial.
ACCES_DENIED<glnColl>: The ip adress '<ipAddress> is not declared in PNB and localization IN_SITU.Requête La collectivité n’a pas déclarée l’adresse IP
ACCES_DENIED<glnColl>: The ip adress is null and localization IN_SITU.Requête La collectivité demande d’effectuer un prêt de type IN_SITU sans fournir l’adresse IP
NOT_IMPLEMENTEDService loanBook not yet implemented for distributor : <GLN distributeur>Requête Le service demandé n’est pas implémenté pour le distributeur
NOT_IMPLEMENTEDService loanBook in streaming mode is not implemented for distributor : <distributor name>Requête Le service d’emprunt en mode streaming n’est pas implémenté chez le distributeur
PRODUCT_CANNOT_BE_LOANThe product cannot be loanRequête La ressource demandée ne peut pas être empruntée parce que Le lien n'est pas valide ou la ressource est déjà prêtée ou l’état de la référence de la ligne de commande vaut une valeur différente de « OK »
MAX_LOAN_QUANTITY_REACHEDThe loan number limit is reached.Requête La ressource demandée ne peut pas être empruntée car la limite du nombre de prêts est atteinte
LOAN_DURATION_EXPIREDThe loan duration is expired.Requête La durée de prêt a expiré
MAX_SIMULTANEOUS_LOAN_REACHED The maximum number of simultaneous downloads loans is reached.Requête Le nombre maximal de prêts simultanés de telechargement a été atteint.
MAX_SIMULTANEOUS_LOAN_REACHEDThe maximum number of on-site consultation is reached.Requête Le nombre maximal de consultations sur site a été atteint.
MAX_SIMULTANEOUS_LOAN_REACHEDThe maximum number of off-site consultation is reached.Requête Le nombre maximal de consultations hors site a été atteint.

Service consulter un livre : consultBook

Le service consulBook est un service destiné aux collectivités. Ce service permet de consulter en ligne une ressource numérique dans les locaux de la collectivité sans effectuer d'emprunt. Pour plus d'information sur les modalités de consultation par distributeur, Merci de consulter la page description des offres des distributeurs.

La collectivité doit déclarer l’adresse IP de consultation (cf. service declareIP) avant de demander la consultation d'une ressource.

Spécificité plateformes de distribution :

  • EDEN: Une demande de consultation d'une ressource fournie par la plateforme de distribution EDEN, le serveur PNB force automatiquement les valeurs des paramètres suivantes avant de transmettre la requête à la plateforme:
    • accessMedium à STREAMING
    • localization à IN_SITU

Le service consultBook permet à la collectivité de récupérer les détails de la consultation dans l’heure qui suit la demande d’une consultation valide. A condition que les paramètres suivants soient strictement identiques à la première requête de demande d’une consultation valide :

  • glnColl,
  • orderLineId,
  • loanId,
  • ean13,
  • accessMedium,
  • Localization,
  • loanEndDate

Authentification

Les paramètres utilisés pour authentifier le service consultBook sont:

Requête

Paramètres

glnColl Identifiant de la collectivité Obligatoire, numérique, 13 caractères
passwordColl Mot de passe de la collectivité Obligatoire, alphanumérique, max 25 caractères
glnContractor Identifiant du prestataire Facultatif jusqu'au 30 juin 2015 puis Obligatoire, numérique, 13 caractères
loanerColl Gln identifiant la bibliothèque à laquelle est rattaché le lecteur qui emprunte le livre Facultatif jusqu'au 30 juin 2015 puis Obligatoire, numérique, 13 caractères
orderLineId Référence de la ligne de commande générée par le serveur PNBObligatoire, alphanumérique, max 24 caractères
loanId Identifiant de prêtObligatoire, alphanumérique, max 24 caractères
ean13 ean13 de la ressource à consulterObligatoire, numérique, 13 caractères
accessMedium Mode d'accès à la ressource Obligatoire, Énumération, les différentes valeurs possibles sont :
  • DOWNLOAD: téléchargement
  • STREAMING: consultation en ligne
localization Lieu de consultation de la ressource Obligatoire, Énumération, les différentes valeurs possibles sont :
  • IN_SITU: consultation dans les locaux d’une collectivité
  • EX_SITU: consultation dans les locaux extérieurs des locaux d’une collectivité
consultEndDate Date de fin de consultationObligatoire, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
ipAddress Adresse IP Obligatoire, Adresse IP
callbackUrl URL de notification lors d'un retour anticipé de la ressource Optionnel, chaine de caractères

Le serveur PNB garanti seulement l’unicité du couple : glnColl et loanId

Le paramètre callbackUrl n'est pas utilisé.

La durée de consultation est contrôlée par la plateforme de distribution.

Format de la requête

Réponse

Paramètres
requestId Identifiant de la requête Optionnel, alphanumérique
orderLineId Identifiant de la ligne commande transmis par PNB Obligatoire, numérique, 24 caractères
loanId Identifiant de prêt Obligatoire, alphanumérique, max 24 caractères
consultEndDate Date de fin de consultation Optionnel, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
link Descriptif de l'URL d'accès à la ressource Optionnel, Link
returnStatus L'état de traitement de la requête Obligatoire, chaine de caractères. cf Codes de retour
returnMessage Message d'erreur si la requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour
Composition de Link :
url URL d'accès à la ressource Obligatoire, chaine de caractères
format Format de la ressourceOptionnel, chaine de caractères
formatDescription Description rapide du format de la ressource. Par exemple : pdf, epub,… Obligatoire, chaine de caractères
ean13 L'ean13 de la ressourceObligatoire, alphanumérique, max 13 caractères
mimeType Mime Type de la ressource. Par exemple: application/epub+zip Optionnel, chaine de caractères

Format de la réponse

Codes de retour

La liste des erreurs générées par le service consultBook sont :

Le tableau ci-dessous décrit en détail les codes de retour spécifiques au service consultBook:

Code (returnStatus) Message (returnMessage)Niveau de l'erreur dans la requêteCause
NOT_FOUNDThe orderLineId <orderLineId> does not existRequête La collectivité n’a pas passé de commande avec la référence de ligne de commande «orderLineId »
DUPLICATED<glnColl>: Loan with id '< loanId >' already existsRequête Est considéré comme doublon une consultation ayant un loanid déjà utilisé dans une demande de consultation valide pour une collectivité donnée. Si l’ensemble des données glnColl, orderLineId, loanId, ean13, accessMedium, localization et loanEndDate de la requête est identique à une demande de consultation déjà passée dans l’heure, alors, la requête n’est pas considérée comme un doublon, mais retourne les informations de la réponse à la consultation initiale.
ACCES_DENIED<glnColl>: The ip adress '<ipAddress> is not declared in PNB and localization IN_SITU.Requête La collectivité n’a pas déclaré l’adresse IP
ACCES_DENIED<glnColl>: The ip adress is null and localization IN_SITU.Requête La collectivité demande d’effectuer un prêt de type IN_SITU sans fournir l’adresse IP
NOT_FOUND<glnColl> : The ean <ean13> is not a part of orderLine '<orderLineId>'!Requête La collectivité a fourni un EAN qui ne correspond pas à l’EAN associé à la ligne de commande « orderLineId »
NOT_IMPLEMENTEDService consultBook not yet implemented for distributor : <GLN distributeur>Requête Le service demandé n’est pas implémenté
PRODUCT_CANNOT_BE_LOANThe product cannot be loanRequête La ressource demandée ne peut pas être prêtée parce que le lien n'est pas valide ou la ressource demandée est déjà prêtée ou l’état de la référence de la ligne de commande vaut une valeur différente de « OK »
MAX_LOAN_QUANTITY_REACHEDThe loan number limit is reached.Requête La ressource demandée ne peut pas être consultée car la limite du nombre de prêts est atteinte
LOAN_DURATION_EXPIREDThe loan duration is expired.Requête La durée de consultation a expiré
MAX_SIMULTANEOUS_LOAN_REACHED The maximum number of simultaneous downloads loans is reached.Requête Le nombre maximal de prêts simultanés de téléchargement a été atteint.
MAX_SIMULTANEOUS_LOAN_REACHEDThe maximum number of on-site consultation is reached.Requête Le nombre maximal de consultations sur site a été atteint.
MAX_SIMULTANEOUS_LOAN_REACHEDThe maximum number of off-site consultation is reached.Requête Le nombre maximal de consultations hors site a été atteint.
INVALID_ARGUMENTSinvalid expiration dateRequêteLa date de fin de consultation n'est pas valide
INVALID_ARGUMENTS The parameter loanEndDate is invalid. The loan duration is over maximum autorized limitRequête La durée de consultation est plus grande que le maximum autorisé

Service obtenir l’état d’un prêt : getLoanStatus

Le service getLoanStatus est un service destiné aux collectivités. Ce service permet d'obtenir l'état courant des compteurs de prêts et des dates d'utilisation liés à une ligne de commande.

Authentification

Les paramètres utilisés pour authentifier le service getLoanStatus sont:

Requête

Paramètres

glnColl Identifiant de la collectivité Obligatoire, numérique, 13 caractères
passwordColl Mot de passe de la collectivité Obligatoire, alphanumérique, max 25 caractères
glnContractor Gln du prestatataire Facultatif jusqu'au 30 juin puis Obligatoire, numérique, 13 caractères
orderLineId[] La liste des identifiants des lignes de commandeObligatoire, Tableau d'orderLineId

Format de la requête

Réponse

Paramètres
requestId Identifiant de la requête Optionnel, alphanumérique
date Date à laquelle le suivi a été effectué.Obligatoire, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
loanResponseLine[] Tableau de loanResponseLineObligatoire, Tableau de loanResponseLine
returnStatus L'état de traitement de la requête Obligatoire, chaine de caractères. cf Codes de retour de base
returnMessage Message d'erreur si la requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour de base
Composition de loanResponseLine:
orderLineId Référence de la ligne de commande générée par PNB Obligatoire, alphanumérique, max 24 caractères
beginDate Date de début d'utilisation Optionnel, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
endDate Date de fin prévue. Optionnel, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
endOfferDate Date de fin. ce champ est renseigné si l'offre achetée est expiréeOptionnel, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)
NUS1 Nombre d'utilisateurs simultanés possible à la date de suivi pour l’emprunt Optionnel, nombre entier
NUS2 Nombre d'utilisateurs simultanés possible à la date de suivi pour la consultation Optionnel, nombre entier
NTA Nombre d'accès restants à la date de suivi Optionnel, nombre entier
returnStatus L'état de traitement de la ligneObligatoire, chaine de caractères. cf Codes de retour
returnMessage Message d'erreur si la ligne n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour

Si le nombre d'utilisateurs simultanés possible pour l’emprunt est atteint alors NUS1 vaut la valeur 0

Si le nombre d'utilisateurs simultanés possible pour la consultation est atteint alors NUS2 vaut la valeur 0

Format de la réponse

Codes de retour

La liste des erreurs générées par le service getLoanStatus sont :

Le tableau ci-dessous décrit en détail les codes de retour spécifiques au service getLoanStatus:

Code (returnStatus) Message (returnMessage)Niveau de l'erreur dans la requêteCause
NOT_FOUNDThe orderLineId <orderLineId> does not existLigne La référence de ligne de commande n’existe pas
NOT_IMPLEMENTEDService getLoanStatus not yet implemented for distributor : <GLN distributeur>LigneLe service demandé n’est pas implémenté
WARNINGUnknown error occurred while calling getLoanStatus <nom de la plateforme de distribution> service platform.LigneUne erreur est survenue lors de l'appel de service getLoanStatus de la plateforme de distribution

Service obtenir la liste de retour des prêts : getEndedLoans

Le service getEndedLoans est un service destiné aux collectivités. Ce service permet de connaître la liste des emprunts terminés de manière anticipée.

Le service getEndedLoans permet d'obtenir les prêts terminés de manière anticipée :

  • Soit à partir d'une liste des identifiants des prêt;
  • Soit depuis une date donnée.

Authentification

Les paramètres utilisés pour authentifier le service getEndedLoans sont:

Requête

Paramètres

glnColl Identifiant de la collectivité Obligatoire, numérique, 13 caractères
passwordColl Mot de passe de la collectivité Obligatoire, alphanumérique, max 25 caractères
glnContractor Gln du prestatataire Facultatif jusqu'au 30 juin puis Obligatoire, numérique, 13 caractères
date Date à partir de laquelle les prêts ont terminés Optionnel, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm). La date fournie ne doit pas être âgée de plus de 60 jours
loanId[] La liste des identifiants des prêtsOptionnel, Tableau de loanId. La taille max du tableau est limité à 20

Les paramètres date et loanId ne sont pas obligatoires, mais l'un d’eux doit exister obligatoirement.

Format de la requête

Réponse

Paramètres
requestId Identifiant de la requête Optionnel, alphanumérique
loanEndedResponseLine[]Descriptif des prêts terminésObligatoire, Tableau de loanEndedResponseLine
returnStatus L'état de traitement de la requête Obligatoire, chaine de caractères. cf Codes de retour
returnMessage Message d'erreur si la requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour
Composition de loanEndedResponseLine:
orderLineId Référence de la ligne de commande générée par PNBObligatoire, alphanumérique, max 35 caractères
loanId Identifiant de prêtObligatoire, alphanumérique, max 24 caractères
ean13 L' ean de l'offreObligatoire, numérique, 13 caractères
returnDate Date de fin de prêt Obligatoire, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)

Format de la réponse

Codes de retour

La liste des erreurs générées par le service getEndedLoans sont :

Le tableau ci-dessous décrit en détail les codes de retour spécifiques au service getEndedLoans:

Code (returnStatus) Message (returnMessage)Niveau de l'erreur dans la requête Cause
DATE_TOO_OLDThe date can't be older than 60 daysRequête La date fournie est âgée de plus de 60 jours
OKNo ended loans founds for coll : <glnColl>Requête Il n’existe pas des prêts terminés de manière anticipée

Service terminer un prêt : endLoan

Le service endLoan est un service destiné aux distributeurs. L'appel à ce service par le distributeur permet de notifier le serveur PNB de la fin d'un prêt en cours.

Dès l'appel au service endLoan, le serveur PNB met à jour l'état de prêt dans sa base de données:

  • la date de fin de prêt : correspond à la date de l'appel de service endLoan;
  • l'état de prêt : terminé

Authentification

Service sans authentification.

Requête

Paramètres

glnDistributor Identifiant de distributeur Optionnel, numérique, 13 caractères
passwordDistributor Mot de passe de distributeur Optionnel, alphanumérique, max 25 caractères
orderLineId Référence de la ligne de commande générée par PNBObligatoire, alphanumérique, max 35 caractères
loanId Identifiant de prêt Obligatoire, alphanumérique, max 24 caractères
date Date de fin de prêt Optionnel, ISO Date 8601 (yyyy-mm-ddThh:mm:ssTZD (TZD[Time Zone designator]: Z or +hh:mm or -hh:mm)

Format de la requête

Réponse

Paramètres
requestId Identifiant de la requête Optionnel, alphanumérique
returnStatus L'état de traitement de la requête Obligatoire, chaine de caractères. cf Codes de retour
returnMessage Message d'erreur si la requête n'a pas été traitée correctement Optionnel, chaine de caractères. cf Codes de retour

Format de la réponse

Codes de retour

La liste des erreurs générées par le service endLoan sont :

Le tableau ci-dessous décrit en détail les codes de retour spécifiques au service endLoan:

Code (returnStatus) Message (returnMessage)Niveau de l'erreur dans la requête Cause
NOT_FOUNDNo Loan having a line with orderLineId '<orderLineId>' and a loanId '<loanId>' is foundRequêteMettre fin à un prêt qui n’existe pas
NOT_FOUNDThe orderLineId <orderLineId> does not existRequêteMettre fin à un prêt associé à une ligne de commande qui n’existe pas dans la base des commandes
ACCES_DENIEDThe loan with orderlineId '<orderLineId>' and loanId '<loanId>' is already endedRequêteMettre fin à un prêt qui est déjà terminé