La version REST fournit les mêmes services que la version SOAP. Tous les services de l'API REST sont accessibles via des requêtes HTTP GET et POST. Le serveur PNB envoie la réponse sous forme de simples objets JSON.
Pour connaître la dernière version en cours et l'adresse des services cliquer ici
L'API PNB REST utilise l'authentification HTTP Basic. Le login et le mot de passe ne sont pas passés en paramètres dans la requête. Cf les paramètres d'authentification pour chaque service.
Code | Statut | Description |
---|---|---|
200 | OK | Le serveur a accepté de traiter la requête. Le statut de traitement de la requête est défini dans le champ returnStatus |
400 | Bad Request | Le serveur PNB ne peut pas traiter la requête puisque la requête ne respecte pas le WSDL |
401 | Unauthorized | Appel d'un service sans authentification HTTP Basic |
403 | Forbidden | Les paramètres d'authentification sont erronés |
500 | Internal Server Error | Erreur technique du serveur PNB |
[ Nom de la plateforme PNB ]/v[ numéro de version ]/pnb-numerique/json/sendOrder?
glnColl=?& glnContractor=?& glnDelivery=?& orderId=?& orderIdColl=?& resellerCountry=?& collCountry=?& orderRequestLine[0].quantity=?& orderRequestLine[0].glnDistributor=?& orderRequestLine[0].ean13=?& orderRequestLine[0].unitPrice=?& orderRequestLine[0].unitPriceExcludingTax=?& orderRequestLine[0].taxRate=?&//optionnel orderRequestLine[0].currency=?& orderRequestLine[0].dmdDate=?& orderRequestLine[0].lineReference=?& //optionnel orderRequestLine[0].lineReferenceColl=?&//optionnel ... orderRequestLine[n].quantity=?& orderRequestLine[n].glnDistributor=?& orderRequestLine[n].ean13=?& orderRequestLine[n].unitPrice=?& orderRequestLine[n].unitPriceExcludingTax=?& orderRequestLine[n].taxRate=?&//optionnel orderRequestLine[n].currency=?& orderRequestLine[n].dmdDate=?& orderRequestLine[n].lineReference=?& //optionnel orderRequestLine[n].lineReferenceColl=?//optionnel
Exemple:
https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/sendOrder? glnColl=XXXXXXXXXXXXX& glnContractor=XXXXXXXXXXXXX& glnDelivery=XXXXXXXXXXXXX& orderId=XXXX& orderIdColl=XXXX& resellerCountry=FR& collCountry=FR& orderRequestLine[0].quantity=1& orderRequestLine[0].glnDistributor=3012410002007& orderRequestLine[0].ean13=9788888888880& orderRequestLine[0].unitPrice=599& orderRequestLine[0].unitPriceExcludingTax=499& orderRequestLine[0].taxRate=2000& orderRequestLine[0].currency=EUR& orderRequestLine[0].dmdDate=2015-07-01T17%3A11%3A02.974%2B02%3A00
{ "requestId":"?", "returnStatus" : "?", "returnMessage" : [? ], "orderResponseLine" : [ { "currency" : "?", "returnStatus" : "?", "returnMessage" :"?" //optionnel "glnDistributor" : "?", "ean13" : "?", "lineReference" : "?",//optionnel "unitPrice" : ?, "quantity" : ?, "orderLineId" : "?" }, ... ], "orderId" : "?" }
Exemple:
{ "requestId":"aw02v2_000000005_201502251525", "returnStatus" : "OK", "returnMessage" : [], "orderResponseLine" : [ { "currency" : "EUR", "returnStatus" : "OK", "glnDistributor" : "3012410002007", "ean13" : "9782021153057", "unitPrice" : 599, "quantity" : 1, "orderLineId" : "53e89434874d8c7252fbe108" } ], "orderId" : "XXXX008a" }
[ Nom de la plateforme PNB ]/v[ numéro de version ]/pnb-numerique/json/cancelOrder?
glnContractor=?& orderId=?& orderLineId[0]=?&//orderLineId[] est Optionnel ... orderLineId[n]=?
Exemple:
https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/cancelOrder? glnContractor=XXXXXXXXXXXXX& orderId=WIKITEST0011a
{ "requestId":"?", "returnStatus" : "?", "returnMessage" : [?], "cancelResponseLine" : [ { "returnStatus" : "?", "returnMessage" : "?",//Optionnel "orderLineId" : "?" }, ... ] }
Exemple:
{ "requestId":"aw02v2_000000007_201502260949", "returnStatus" : "OK", "returnMessage" : [], "cancelResponseLine" : [ { "returnStatus" : "CANCELLED", "orderLineId" : "53e898e1874d8c7252fbe12f" }, { "returnStatus" : "NOT_IMPLEMENTED", "returnMessage" : "Service CancelOrder not yet implemented for distributor : EDEN", "orderLineId" : "53e898e1874d8c7252fbe12e" } ] }
[ Nom de la plateforme PNB ]/v[ numéro de version ]/pnb-numerique/json/checkAvailability?
glnColl=?& glnContractor=?& resellerCountry=?& collCountry=?& checkAvailabilityLine[0].glnDistributor=?& checkAvailabilityLine[0].ean13=?& checkAvailabilityLine[0].unitPrice=? checkAvailabilityLine[0].unitPriceExcludingTax=?& checkAvailabilityLine[0].taxRate=?& checkAvailabilityLine[0].currency=?& ... checkAvailabilityLine[n].glnDistributor=?& checkAvailabilityLine[n].ean13=?& checkAvailabilityLine[n].unitPrice=?& checkAvailabilityLine[n].unitPriceExcludingTax=?& checkAvailabilityLine[n].taxRate=?& checkAvailabilityLine[n].currency=?
Exemple:
https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/checkAvailability? glnColl=XXXXXXXXXXXXX& glnContractor=XXXXXXXXXXXXX& resellerCountry=FR& collCountry=FR& checkAvailabilityLine[0].glnDistributor=3012410002007& checkAvailabilityLine[0].ean13=9791077777025& checkAvailabilityLine[0].unitPrice=599& checkAvailabilityLine[0].unitPriceExcludingTax=499& checkAvailabilityLine[0].taxRate=2000& checkAvailabilityLine[0].currency=EUR
{ "requestId":"?", "returnStatus" : "?", "returnMessage" : [?], "checkAvailabilityResponseLine" : [ { "date" : "?", "returnStatus" : "?", "returnMessage" : [?], //Optionnel "glnDistributor" : "?", "ean13" : "?", "unitPrice" : ?, "checkAvailabilityReturnValue" : "?" }, ... ] }
Exemple:
{ "requestId":"aw02v2_000000011_201502261011", "returnStatus" : "OK", "returnMessage" : [], "checkAvailabilityResponseLine" : [ { "date" : "2015-02-26T10:11:00.502+01:00", "returnStatus" : "OK", "returnMessage" : [], "glnDistributor" : "3012410002007", "ean13" : "9782021153057", "unitPrice" : 599, "checkAvailabilityReturnValue" : "AVAILABLE" } ] }
[ Nom de la plateforme PNB ]/v[ numéro de version ]/pnb-numerique/json/getOffers?
glnContractor=?& sinceDate=?
ou
glnContractor=?& lastConnection=?
Exemple:
https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/getOffers?glnContractor=XXXXXXXXXXXXX&sinceDate=2015-02-24T00:37:25.908Z https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/getOffers?glnContractor=XXXXXXXXXXXXX&lastConnection=
{ "requestId":"?", "returnStatus" : "?", "returnMessage" : [ ?], //Optionnel "onixFileUrl" : [ //Optionnel { "httpLink" : "?" //Optionnel } ], "noNotice" : "" //Optionnel }
Exemple:
{ "requestId":"aw01v2_000000011_201502261027", "returnStatus" : "OK", "returnMessage" : [ ], "onixFileUrl" : [ { "httpLink" : "https://pnb-dilicom.centprod.com/notices_onix/diffusion_pnb_3025594195700_201502261027_539849823871865823760483681054306708638.xml" } ] }
[ Nom de la plateforme PNB ]/v[ numéro de version ]/pnb-numerique/json/getOffersForDistributor ?
glnContractor=?& glnDistributor=?& sinceDate=?
ou
glnContractor=?& glnDistributor=?& lastConnection=?
Exemple:
https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/getOffersForDistributor?glnContractor=XXXXXXXXXXXXX&glnDistributor=3012410002007&sinceDate=2015-02-24T00:37:25.908Z https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/getOffersForDistributor?glnContractor=XXXXXXXXXXXXX&glnDistributor=3012410002007&lastConnection=
{ "requestId":"?", "returnStatus" : "?", "returnMessage" : [ ?], //Optionnel "onixFileUrl" : [ //Optionnel { "httpLink" : "?" //Optionnel } ], "noNotice" : "" //Optionnel }
Exemple:
{ "requestId":"aw01v2_000000017_201502261042", "returnStatus" : "OK", "returnMessage" : [ ], "onixFileUrl" : [ { "httpLink" : "http://pnb-dev.dilicom.net/notices_onix/diffusion_pnb_3025594195700_201408121104_1153210725010295004293805331708177882815.xml" } ] }
[ Nom de la plateforme PNB ]/v[ numéro de version ]/pnb-numerique/json/getOrders?
glnContractor=?& sinceDate=?& returnLinesWithError=? //Optionnel
ou
glnContractor=?& orderIdColl=?& returnLinesWithError=? //Optionnel
Exemple:
https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/getOrders?glnContractor=XXXXXXXXXXXXX&sinceDate=2014-08-01T16:37:25.908Z&returnLinesWithError=false https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/getOrders?glnContractor=XXXXXXXXXXXXX&orderIdColl=TESTBIBVB100&returnLinesWithError=false
{ "requestId":"?", "date" : "?", "returnStatus" : "?", "returnMessage" : [?], "getOrderResponseLine" : [ { "returnStatus" : "?", "orderIdColl" : "?", "orderLine" : [ { "returnStatus" : "?", "returnMessage":"?", //Optionnel "ean13" : "?", "lineReferenceColl" : "?", //Optionnel "quantity" : 1, "orderLineId" : "?", "nta" : ?, //Optionnel "nus1" : ?, //Optionnel "nus2" : ?, //Optionnel "beginDate" : "?", //Optionnel "endDate" : "?" //Optionnel }, ... ] }, ... ], "noOrder" : "" //Optionnel }
Exemple:
{ "requestId":"aw02v2_000000017_201502261052", "date" : "2014-08-13T11:04:34.005+02:00", "returnStatus" : "OK", "returnMessage" : [ ], "getOrderResponseLine" : [ { "returnStatus" : "OK", "orderIdColl" : "TESTBIBVB100", "orderLine" : [ { "returnStatus" : "OK", "ean13" : "9791023501667", "lineReferenceColl" : "BIBVBL100", "quantity" : 1, "orderLineId" : "53e47b627b69cea823bf677b", "nta" : 40, "nus1" : 15, "nus2" : 9999, "beginDate" : "2014-08-08T09:25:23+02:00", "endDate" : "2019-08-07T09:25:23+02:00" } ] }, { "returnStatus" : "OK", "orderIdColl" : "TESTBIBVB101", "orderLine" : [ ] }, { "returnStatus" : "OK", "orderIdColl" : "TESTBIBVB102", "orderLine" : [ { "returnStatus" : "OK", "ean13" : "9791023501667", "lineReferenceColl" : "BIBVBL102", "quantity" : 1, "orderLineId" : "53e48a0f7b69a1ad38468c4a", "nta" : 39, "nus1" : 14, "nus2" : 9999, "beginDate" : "2014-08-08T10:28:02+02:00", "endDate" : "2019-08-07T10:28:02+02:00" } ] } ] }
[ Nom de la plateforme PNB ]/v[ numéro de version ]/pnb-numerique/json/declareIp?
glnContractor=?& ips[0]=?& ips[1]=?& ... ips[n]=?
Exemple:
https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/declareIp? glnContractor=XXXXXXXXXXXXX& ips[0]=16.100.100.100,16.100.100.200& ips[1]=25.25.0.3
{ "requestId":"?", "returnStatus" : "?", "returnMessage" : [?] }
Exemple:
{ "requestId":"aw01v2_000000019_201502261103", "returnStatus" : "OK", "returnMessage" : [ "Warn : 16.100.100.100,16.100.100.200 already declared" ] }
[ Nom de la plateforme PNB ]/v[ numéro de version ]/pnb-numerique/json/loanBook?
glnContractor=?& loanerColl=?& orderLineId=?& loanId=?& ean13=?& accessMedium=?& localization=?& loanEndDate=?& ipAddress=?& //Optionnel callbackUrl=? //Optionnel
Exemple:
https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/loanBook? glnContractor=XXXXXXXXXXXXX& loanerColl=XXXXXXXXXXXXX& orderLineId=53f1b4817b698cfb72afd7e1& loanId=WIKI001& ean13=9782021153057& accessMedium=STREAMING& localization=EX_SITU& loanEndDate=2014-09-22T00:37:25Z
{ "link" : //Optionnel { "format" : "?", //Optionnel "url" : "?", "ean13" : "?", "formatDescription" : "?", "mimetype" : "?" //Optionnel }, "requestId":"?", "returnStatus" : "?", "returnMessage" : [?], "orderLineId" : "?", "loanId" : "?", "loanEndDate" : "?" //Optionnel }
Exemple:
{ "link" : { "format" : "E101", "url" : "https://pnb-dilicom.centprod.com/v2//link/3025594195810/LOAN/WIKI001/9782021153057-NUMOIY0785CYO0IGCV83DE9DOAOC1Y1O.do", "ean13" : "9782021153057", "formatDescription" : "EPUB", "mimetype" : "application/epub+zip" }, "requestId":"aw01v2_000000035_201502261456", "returnStatus" : "OK", "returnMessage" : [], "orderLineId" : "53f1b4817b698cfb72afd7e1", "loanId" : "WIKI001", "loanEndDate" : "2014-09-22T02:37:25.000+02:00" }
[ Nom de la plateforme PNB ]/v[ numéro de version ]/pnb-numerique/json/consultBook?
glnContractor=?& loanerColl=?& orderLineId=?& loanId=?& ean13=?& accessMedium=?& localization=?& consultEndDate=?& ipAddress=?& callbackUrl=? //Optionnel
Exemple:
https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/consultBook? glnContractor=XXXXXXXXXXXXX& loanerColl=XXXXXXXXXXXXX& orderLineId=53f1b4817b698cfb72afd7e1& loanId=WIKI029& ean13=9782021153057& accessMedium=STREAMING& localization=IN_SITU& consultEndDate=2015-03-22T00:37:25Z& ipAddress=11.12.13.16
{ "link" : //Optionnel { "format" : "?", //Optionnel "url" : "?", "ean13" : "?", "formatDescription" : "?", "mimetype" : "?" //Optionnel }, "requestId":"?", "returnStatus" : "?", "returnMessage" : [?], "orderLineId" : "?", "loanId" : "?", "consultEndDate" : "?" //Optionnel }
Exemple:
{ "link" : { "format" : "E101", "url" : "https://pnb-dilicom.centprod.com/v2//link/3025594195810/CONSULT/WIKI029/9782021153057-BOM4XSGVIZV69LY8NYLEMRGUSKQYNMQ8.do", "ean13" : "9782021153057", "formatDescription" : "EPUB", "mimetype" : "application/epub+zip" }, "requestId":"aw01v2_000000039_201502261508", "returnStatus" : "OK", "returnMessage" : [ ], "orderLineId" : "53f1b4817b698cfb72afd7e1", "loanId" : "WIKI029", "consultEndDate" : "2014-09-22T02:37:25.000+02:00" }
[ Nom de la plateforme PNB ]/v[ numéro de version ]/pnb-numerique/json/getLoanStatus?
glnContractor=?& orderLineId[0]=?& ... orderLineId[n]=?
Exemple:
https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/getLoanStatus?glnContractor=XXXXXXXXXXXXX&orderLineId[0]=537119f5975a1d3260801864
{ "date" : "?", "returnStatus" : "?", "returnMessage" : [?], "loanResponseLine" : [ { "returnStatus" : "?", "returnMessage" : "?", //Optionnel "orderLineId" : "?", "nta" : ?, "nus1" : ?, "nus2" : ?, "beginDate" : "?", "endDate" : "?", "endOfferDate" : ?//Optionnel }, ... ] }
Exemple:
{ "date" : "2014-08-14T11:32:12.786+02:00", "returnStatus" : "OK", "returnMessage" : [ ], "loanResponseLine" : [ { "returnStatus" : "OK", "orderLineId" : "537119f5975a1d3260801864", "nta" : 30, "nus1" : 30, "nus2" : 30, "beginDate" : "2014-05-12T20:59:03+02:00", "endDate" : "2015-05-12T20:59:03+02:00" } ] }
[ Nom de la plateforme PNB ]/v[ numéro de version ]/pnb-numerique/json/getEndedLoans?
glnContractor=?& date=?
ou
glnContractor=?& loanId[0]=?& ... loanId[n]=? //la valeur de n doit être inférieur ou égale 19.
Exemple:
https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/getEndedLoans?glnContractor=XXXXXXXXXXXXX&date=2014-07-01T00:37:25.908Z https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/getEndedLoans?glnContractor=XXXXXXXXXXXXX&loanId[0]=LOAN3912535&loanId[1]=fedcbL20140721315&loanId[2]=fffffedcbL20140721315
{ "requestId":"?", "returnStatus" : "?", "returnMessage" : [?], "loanEndedResponseLine" : [ { "ean13" : "?", "orderLineId" : "?", "loanId" : "?", "returnDate" : "?" }, ... ] }
Exemple:
{ "requestId":"aw01v2_000000041_201502261519", "returnStatus" : "OK", "returnMessage" : [ ], "loanEndedResponseLine" : [ { "ean13" : "9791023501858", "orderLineId" : "5396f785f244d3c627404254", "loanId" : "LOAN3912535", "returnDate" : "2014-07-09T11:57:50.000+02:00" }, { "ean13" : "9791023501780", "orderLineId" : "53cd39fd7b69131edfcf70b7", "loanId" : "fedcbL20140721315", "returnDate" : "2014-07-22T12:54:50.000+02:00" }, { "ean13" : "9791023501780", "orderLineId" : "53cd39fd7b69131edfcf70b7", "loanId" : "fffffedcbL20140721315", "returnDate" : "2014-07-21T18:23:13.000+02:00" } ] }
[ Nom de la plateforme PNB ]/v[ numéro de version ]/pnb-numerique/json/endLoan?
orderLineId=?& loanId=?& date=? //Optionnel
Exemple:
https://pnb-dilicom.centprod.com/v2/pnb-numerique/json/endLoan? orderLineId=524ade40bbd31c6240a30dff& loanId=loanId
{ "requestId":"?", "returnStatus" : "?", "returnMessage" : [?] }
Exemple:
{ "requestId":"aw01v2_000000041_201502261510", "returnStatus" : "ACCES_DENIED", "returnMessage" : [ "The loan with orderlineId '524ade40bbd31c6240a30dff' and loanId 'loanId' is already ended" ] }