-
Notifications
You must be signed in to change notification settings - Fork 3
Service web PNB
Des services spécifiques ont été conçus pour les commandes aux collectivités. Ces derniers reprennent en grande partie la forme des services pour le grand public.
- InvalidKey : la clé d'API est invalide
- UnknownReseller : le revendeur spécifié est inconnu
- Forbidden : l'accès à cette requête est interdite
- InternalError : une erreur indéterminée est survenue
- DataMissing : des arguments obligatoires n'ont pas été renseignés
https://ws.immateriel.fr/fr/web_service/book_query_onix_3_pnb
- api_key : Clé d'identification
- reseller_id : ID revendeur immatériel.fr ou reseller_dilicom_gencod : ID revendeur dilicom
- isbn : ISBN de l'ouvrage
- publisher_id : ID immatériel.fr de l'éditeur ou publisher_dilicom_gencod : ID dilicom de l'éditeur
- since : titres ajoutés/modifiés depuis cette date format AAAA-MM-JJ
- q : champ de recherche libre "Indisponible"
Si aucun argument de recherche n'est spécifié, tous les titres disponibles à la vente pour le revendeur sont retournés
Codes communs uniquement
https://ws.immateriel.fr/fr/web_service/push_order_pnb
Contrairement au services à destination du grand public, il n'y a pas de service de création de client final.
Si vous agissez au nom de plusieurs libraires, il est nécessaire de commencer par s'assurer que le libraire responsable de la commande existe dans notre base.
Pour cela, rendez-vous à la section concernant les agrégateurs de librairies.
- api_key : Clé d'identification
- reseller_id : ID revendeur immatériel.fr ou reseller_dilicom_gencod : ID revendeur dilicom
- order_uid : ID commande revendeur
-
order_lines : table de hachage des lignes de commandes ayant pour chaque produit :
- order_line_uid : ID ligne de commande revendeur
- price : prix en centimes
- currency (facultatif, EUR par défaut) : devise
- qty : quantité commandée
- customer_country : Pays du client collectivité (par défaut FR)
En cas d’utilisation d'une requête GET
, order_lines doit être sous la forme
&order_lines[ISBN1][price]=PRIX1&order_lines[ISBN1][qty]=QUANTITE1&order_lines[ISBN2][price]=PRIX2&order_lines[ISBN2][qty]=QUANTITE2
Le prix doit être renseigné en centimes (4,99 euros doit être indiqué 499).
Pour nos partenaires hors UE, il est également possible d’indiquer la devise via order_lines[ISBN1][currency]=CAD
.
Renseigner une liste de titres pour une même commande permet d'économiser sur les E/S réseaux et ainsi d'accélérer le passage de commande lorsque plusieurs titres sont commandés.
<response>
<result type="OrderCreated" download_key="CLETELECHARGEMENT" tax="xxx" amount="yyy" id="ID_immateriel" order_uid="UID_revendeur">OK</result>
</response>
- id : ID de la commande dans la base immatériel.fr
- order_uid : ID de la commande dans la base du revendeur
- download_key : clé de téléchargement pour la commande
- amount : montant total de la commande (ignorable)
- tax : montant total des taxes (ignorable)
- ExistingOrder : la commande existe déjà dans la base
- SellForbidden : vous n'êtes pas autorisé à commander un ou plusieurs des titres demandés
https://ws.immateriel.fr/fr/web_service/push_loan_pnb
- api_key : Clé d'identification
- reseller_id : ID revendeur immatériel.fr ou reseller_dilicom_gencod : ID revendeur dilicom
- order_line_uid : ID ligne commande revendeur
- loan_uid : ID collectivité du prêt
- medium : download ou streaming (streaming ignoré pour le moment)
- reader_uid : identifiant de l'usager
- reader_pass : mot de passe de l'usager (chiffré SHA256 et encodé base64)
- reader_hint : courte indication d'oublie de mot de passe
- callback_url : URL d’indication de retour anticipé
- duration : durée du prêt, en secondes (2 mois par défaut, soit 5184000 secondes)
- help_link : lien vers indication pour oublie de mot de passe
- extend_url : URL d'indication de l'extension de durée de prêt
<response>
<result type="DownloadList" order_uid="UID">
<product isbn="ISBN">
<link url="http://ws.immateriel.fr/fr/web_service/download/DLKEY/ID/drm-adobe-pnb" name="Epub" format_key="epub" protection="drm-adobe-pnb" mimetype="application/epub"/>
<link url="http://ws.immateriel.fr/fr/web_service/download/DLKEY/ID/drm-lcp-pnb" name="Epub" format_key="epub" protection="drm-lcp-pnb" mimetype="application/epub"/>
</product>
</result>
</response>
Note: un lien supplémentaire sera proposé pour LCP uniquement si les arguments obligatoires LCP sont renseignés.
- url : lien vers la ressource
- name : nom de la ressource
- mimetype : type MIME de la ressource
- format_key : clé du format de la ressource
- protection : type de protection drm-adobe-pnb ou drm-lcp-pnb
- UnknownOrderLine : la ligne de commande n'existe pas dans la base
- LoanAlreadyExists : une demande de prêt similaire a déjà été faite
- LoanLimitReached : la limite des prêts est atteinte
https://ws.immateriel.fr/fr/web_service/extend_loan_pnb
- api_key : Clé d'identification
- reseller_id : ID revendeur immatériel.fr ou reseller_dilicom_gencod : ID revendeur dilicom
- order_line_uid : ID ligne commande revendeur
- loan_uid : ID collectivité du prêt
- end : nouvelle date de fin du prêt (iso8601)
<response>
<result type="ExtendLoan" loan_uid="UID">
<status>
<!-- donnée LSD au format JSON -->
</status>
</result>
</response>
- status : donnée LSD au format JSON
- UnknownOrderLine : la ligne de commande n'existe pas dans la base
- UnknownLoan : le prêt n'existe pas dans la base
- UnknownLcpLicense : la license n'existe pas
- LoanNotFulfilled : le prêt n'a pas été activé par l'usager
- CannotExtendLcpLicense : l'extension demandée n'est pas possible
https://ws.immateriel.fr/fr/web_service/return_loan_pnb
- api_key : Clé d'identification
- reseller_id : ID revendeur immatériel.fr ou reseller_dilicom_gencod : ID revendeur dilicom
- order_line_uid : ID ligne commande revendeur
- loan_uid : ID collectivité du prêt
<response>
<result type="ReturnLoan" loan_uid="UID">
<status>
<!-- donnée LSD au format JSON -->
</status>
</result>
</response>
- status : donnée LSD au format JSON
- UnknownOrderLine : la ligne de commande n'existe pas dans la base
- UnknownLoan : le prêt n'existe pas dans la base
- UnknownLcpLicense : la license n'existe pas
- LoanNotFulfilled : le prêt n'a pas été activé par l'usager
- CannotReturnLcpLicense : le retour demandé n'est pas possible
https://ws.immateriel.fr/fr/web_service/get_order_pnb
- api_key : Clé d'identification
- reseller_id : ID revendeur immatériel.fr ou reseller_dilicom_gencod : ID revendeur dilicom
- order_line_uids : liste des lignes de commandes sous la forme &order_line_uids[]=ligne1&order_line_uids[]=ligne2&order_line_uids[]=ligne3
<response>
<result type="OrderPnb">
<order_line order_line_uid="uid" total_loans="EMPRUNT MAX POUR CETTE LIGNE" current_loans="NB EMPRUNTS EFFECTUÉS" remaining_loans="NB EMPRUNTS RESTANTS"/>
</result>
</response>
- UnknownOrderLine : une des lignes de commande n'existe pas dans la base
https://ws.immateriel.fr/fr/web_service/push_reseller
Même service que pour le grand public.