Introductie

Changelog

2014/06/02

initial revision

2014/06/12

toegevoegde resources: eenvoudige gebruikersinfo ophalen, controleren rechten online collectie, controleren IP rechten

2014/07/25

verduidelijking documentatie ophalen AccessToken + extra info over userId bij ophalen AccessToken

2014/07/28

typo opgelost in resource URL van eenvoudige gebruikersinfo ophalen

2014/08/01

verduidelijking van de documentatie mbt het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount) (LibraryAccount) tov het veld accountId

2015/04/01

toevoeging van includeLoanHistory parameter in activities request en toevoeging loanhistory request als aparte request

2016/01/27

aantallidmaatschappen toegevoegd in "Ophalen van bibliotheken van een gebruiker"

2016/02/25

mailOptOut toegevoegd aan gebruiker

2017/02/23

verduidelijking docNumber / itemId in Loan

2017/04/24

toevoeging prefixedDocNumber aan Loan, Hold en Fine

2017/05/22

extra verduidelijking van de documentatie mbt het ID van het bibliotheeklidmaatschap

2018/01/09

bibliotheken autocomplete API toegevoegd

2018/01/09

css parameter toegevoegd in /authorize

2018/01/16

Lijstjes: additems documentatie verduidelijkt + voorbeelden toegevoegd

2018/01/18

Berichten: nieuwe API toegevoegd

2018/01/19

introTextNL, introTextFR en introTextEN toegevoegd bij preparehold. introText is nu deprecated

2018/02/05

contactUrl toegevoegd aan Library

2018/02/05

documentatie Aan/uitzetten uitleenhistoriek toegevoegd

2018/02/22

ontbrekende documentatie subLib toegevoegd in prepareHold en hold

2018/02/27

subLib en pickupLocation verduidelijkt

2018/03/09

includeItems, sort en order toegevoegd bij ophalen 1 gebruikerslijstje

2018/03/09

excludeTicketLibraries toegevoegd aan library/search

2018/03/23

export gebruikerslijstje in PDF en CSV toegevoegd

2018/03/23

loansIntroText en holdIntroText toegevoegd aan Library object

2018/04/17

includeItems, sort en order toegevoegd bij gebruikerslijstjes ophalen

2018/04/20

usersCanRequestHoldAfterPurchaseSuggestion toegevoegd

2018/07/19

Bibliotheek lijstjes search toegevoegd /mblist/2/search

2018/09/07

errorTextNL, errorTextFR en errorTextEN toegevoegd aan preparehold, request hold en cancel hold responses.

2018/10/03

BibList Admin API toegevoegd

2018/11/09

Timetracs API toegevoegd

2019/10/11

purchaseSuggestion gedocumenteerd in /library/:id/mail API

1. Authenticatie

OpenBibID gebruikt de open standaard OAuth voor authenticatie van gebruikers.

Service Consumers die gebruik willen maken van de OpenBibID authenticatie API hebben een consumer key en consumer secret nodig. Deze worden door de OpenBibID administrator ingesteld en overhandigd aan de Service Consumer.

Er zijn 2 manieren om als OpenBibID service consumer toegang te verkrijgen tot de API:

  • UserAccessToken: een UserAccessToken geeft de service consumer toegangsrechten tot de OpenBibID API namens de gebruiker.

  • Consumer Access: via een Consumer Request kan de service consumer bepaalde acties uitvoeren die typisch niet linkt zijn aan 1 gebruiker, zoals bv. de bibliotheek specifieke resources.

1.1. Authenticatie via een UserAccessToken

Een ServiceConsumer laat de gebruiker de OAuth cyclus doorlopen (zie verder voor details), waarna hij een UserAccessToken voor die gebruiker verkrijgt. Met dat token kan de Service Consumer de gebruiker uniek identificeren en API requests uitvoeren naar OpenBibID.

De OAuth request cyclus verloopt als volgt:

  1. een request token ophalen bij OpenBibID

  2. de gebruiker om autorisatie vragen door hem naar OpenBibID te sturen

  3. een ‘callback’ opvangen met daarin de request token en een verificatie code

  4. het request token inwisselen voor een access token bij OpenBibID

1.1.1. Request token ophalen

GET /requestToken
Resource URL

https://mijn.bibliotheek.be/openbibid/rest/requestToken

Authorization header

OAuth oauth_callback=”{callback}”, oauth_signature="{signature}", oauth_version="1.0", oauth_nonce="{nonce}", oauth_consumer_key="{consumerKey}", oauth_signature_method="HMAC-SHA1", oauth_timestamp="{timestamp}"

Parameters

Alle andere parameters

Alle parameters die meegegeven worden, zullen terugkomen in de accessToken response na de callback.

Response body

oauth_token={TOKEN}&oauth_token_secret={TOKEN_SECRET}

1.1.2. Gebruiker om autorisatie vragen

In deze stap moet de browser van de gebruiker geredirect worden naar

GET /auth/authorize
Parameters

oauth_token

(Verplicht) De request token uit de vorige stap

context

Niet verplicht. Deze parameter wordt gebruikt om de boodschap naar de gebruiker toe duidelijker te maken.
Mogelijk waarden: * consumer * verlengen * reserveren

library

ID van de bibliotheek. Niet verplicht. Enkel gebruikt in combinatie met context verlengen en reserveren.

hint

Geeft de user interface een hint ivm de status van de gebruiker. Standaard wordt een user interface getoond met een registratie en aanmeld-luik. Dit kan beïnvloed worden door deze waarden: * register: toont voornamelijk de registratie optie * login: toont voornamelijk de aanmeld optie

css

optionele parameter om een extra stylesheet toe te voegen. mogelijke waarde: bp

De gebruiker zal vervolgens gevraagd worden om in te loggen bij OpenBibID (indien nog niet ingelogd). Daarna wordt de callback URL opgeroepen die ingesteld staat voor deze service consumer.

1.1.3. Request token inwisselen voor een access token

Na de autorisatie stap wordt de callback URL opgeroepen met volgende parameters:

oauth_token

het request token uit stap 1

oauth_verifier

een verificatie code om een access token mee op te halen

Vervolgens kan een access token opgehaald worden via

POST /accessToken
Resource URL

https://mijn.bibliotheek.be/openbibid/rest/accessToken

Authorization header

OAuth oauth_signature="{signature}", oauth_version="1.0", oauth_nonce="{nonce}", oauth_consumer_key="{consumerKey}", oauth_signature_method="HMAC-SHA1", oauth_token="{token}", oauth_verifier="{verifier}", oauth_timestamp="{timestamp}"

Response body

userId={userId}&oauth_token={accessToken}&oauth_token_secret={accessTokenSecret}[&extraParameter=extraValue]…​

In de response zit dus het access token en secret, maar ook alle extra parameters die meegegeven werden bij het ophalen van het requestToken. Daarnaast bevat de response ook de userId van de ingelogde gebruiker. Die userId is nodig in een aantal volgende OpenBibID requests.

1.2. Authenticatie via een Consumer Request

Deze methode wordt hier beschreven en staat ook bekend als 2-legged oauth. Bij deze vorm van authenticatie is er geen accesToken of accessTokenSecret. Deze worden uit de request weggelaten (of als lege string meegegeven). De Consumer Request wordt gebruikt wanneer een service consumer een actie uitvoert die niet namens 1 gebruiker gebeurt. De stap met de gebruikers autorisatie valt dus ook weg.

De service consumer tekent de request door middel van zijn consumerKey en consumerSecret.

2. Bibliotheek specifieke resources

2.1. Ophalen van alle bibliotheken

GET /library/list
Resource URL

https://mijn.bibliotheek.be/openbibid/rest/library/list

Parameters

none

Autorisatie

OAuth: consumer request (2-legged OAuth)

Response

response object met

total

totaal aantal bibliotheken in het resultaat

libraries

een lijst van SimpleLibrary response objecten
Let op het verschil tussen de Library en SimpleLibrary response objecten

Errors
HTTP status code Reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/library/list
Accept: application/xml
Authorization: OAuth oauth_signature="gaEvuOlUg9z6JWPgxPecoJX1pYo%3D", oauth_version="1.0", oauth_nonce="cecb6837-a58a-4adc-8ee8-4dceaec6a3c0", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="", oauth_timestamp="1401710664"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <total>291</total>
    <libraries>
        <library>
            <id>2248</id>
            <naam>Bibliotheek Aalst</naam>
            <gemeente>Aalst</gemeente>
        </library>
        <library>
            <id>2270</id>
            <naam>Bibliotheek Aalter</naam>
            <gemeente>Aalter</gemeente>
        </library>
        <library>
            <id>2182</id>
            <naam>Bibliotheek Aarschot</naam>
            <gemeente>Aarschot</gemeente>
        </library>
        ...
        [response truncated]
        ...
    </libraries>
</response>

2.2. Bibliotheken autocomplete endpoint

GET /library/search
naam omschrijving verplicht

search

zoekterm van minimum 3 karakters

x

excludeTicketLibraries

indien true dan worden de ticket bibliotheken weggelaten uit de response

Autorisatie

Enkel mogelijk vanaf *.bibliotheek.be domeinen

Response

JSON response object met

simpleLibrary

een array van SimpleLibrary response objecten
Let op het verschil tussen de Library en SimpleLibrary response objecten

Errors
HTTP status code Reden

400

indien search parameter ontbreekt of indien die uit minder dan 2 karakters bestaat

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/library/search?search=Mun

Response:

{
  simpleLibrary: [
     {
        id: "2031",
        naam: "Muntpunt",
        gemeente: "Brussel",
        pbsNaam: "Bruno"
     },
     {
        id: "12",
        naam: "Bibliotheek Ingelmunster",
        gemeente: "Ingelmunster",
        pbsNaam: "PBS West-Vlaanderen"
    },
    {
        id: "2134",
        naam: "ARhus",
        gemeente: "Roeselare",
        pbsNaam: "PBS West-Vlaanderen"
    },
    {
        id: "2263",
        naam: "Bibliotheek Waasmunster",
        gemeente: "Waasmunster",
        pbsNaam: "PBS Oost-Vlaanderen"
    }
  ]
}

2.3. Bibliotheken met rechten op online collectie ophalen

GET /library/list
naam omschrijving verplicht
Autorisatie

OAuth: consumer request (2-legged OAuth)

Response

response object met

total

totaal aantal bibliotheken in het resultaat

libraries

een lijst van SimpleLibrary response objecten
Let op het verschil tussen de Library en SimpleLibrary response objecten

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/library/list?consumerKey=234567898765221
Accept: application/xml
Authorization: OAuth oauth_signature="gaEvuOlUg9z6JWPgxPecoJX1pYo%3D", oauth_version="1.0", oauth_nonce="cecb6837-a58a-4adc-8ee8-4dceaec6a3c0", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="", oauth_timestamp="1401710664"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:ns3="http://www.w3.org/1999/02/22-rdf-syntax-ns">
    <total>2</total>
    <libraries>
        <library>
            <id>2186</id>
            <naam>Bibliotheek de borre</naam>
            <gemeente>Bierbeek</gemeente>
        </library>
        <library>
            <id>2122</id>
            <naam>Bibliotheek Koksijde</naam>
            <gemeente>Koksijde</gemeente>
        </library>
    </libraries>
</response>

2.4. Ophalen van bibliotheek op basis van ID

GET /library/id/:id
naam omschrijving verplicht
Autorisatie

OAuth: consumer request (2-legged OAuth)

Response

Library response object

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/library/id/2199
Accept: application/xml
Authorization: OAuth oauth_signature="2k8QONevoV3TMdlLYGlqd5O8RAM%3D", oauth_version="1.0", oauth_nonce="61dd9788-2e5c-4a02-88be-fb1c82dc0e29", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="", oauth_timestamp="1401784339"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<library>
    <id>2199</id>
    <name>Bibliotheek Leuven</name>
    <location>Tweebronnen</location>
    <street>Rijschoolstraat</street>
    <number>4 bus 01</number>
    <zip>3000</zip>
    <city>Leuven</city>
    <cityPart>Leuven</cityPart>
    <profile></profile>
    <lat>50.8811</lat>
    <lon>4.70303</lon>
    <telephone>016-22.65.22</telephone>
    <fax>016-23.40.06</fax>
    <website>http://www.leuven.be/bibliotheek</website>
    <infoTextNL></infoTextNL>
    <infoTextFR></infoTextFR>
    <infoTextEN></infoTextEN>
    <krantenArchief>http://zoeken.leuven.bibliotheek.be/krantenarchief</krantenArchief>
    <docUrlTemplate>${CATALOGURL}/?doc_number=${DOCNR}</docUrlTemplate>
    <connectTextNL></connectTextNL>
    <connectTextFR></connectTextFR>
    <connectTextEN></connectTextEN>
    <mainPbsCode>LEU</mainPbsCode>
    <usesPickupLocation>true</usesPickupLocation>
    <available>true</available>
    <cancelHoldPolicy>2</cancelHoldPolicy>
    <openingHours>
        <friday>10:00-18:00</friday>
        <monday>12:00-18:00</monday>
        <saturday>10:00-17:00</saturday>
        <sunday>-</sunday>
        <thursday>12:00-20:00</thursday>
        <tuesday>10:00-18:00</tuesday>
        <wednesday>12:00-18:00</wednesday>
    </openingHours>
    <pbsCodes>
        <code>LEU</code>
        <name>Bibliotheek Tweebronnen</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUBB</code>
        <name>Bibliobus Leuven</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUBM</code>
        <name>Bibliobus Leuven Magazijn</name>
        <afhaalpunt>false</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUHE</code>
        <name>Bibliotheek Heverlee</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUKE</code>
        <name>Bibliotheek Kessel-Lo</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUWG</code>
        <name>Leuven Hulpgevangenis</name>
        <afhaalpunt>false</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUWL</code>
        <name>Bibliotheek Wilsele</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbs>
        <id>10</id>
        <name>PBS51 Vlaams Brabant</name>
        <connectTextNL></connectTextNL>
        <connectTextFR></connectTextFR>
        <connectTextEN></connectTextEN>
    </pbs>
    <provincie>
        <id>3</id>
        <name>Provincie Vlaams-Brabant</name>
    </provincie>
    <catalog>http://zoeken.leuven.bibliotheek.be</catalog>
    <name2>de Bib Leuven</name2>
    <email>bibliotheek@leuven.be</email>
</library>

2.5. Ophalen van bibliotheek op basis van PBS code

GET /library/pbscode
naam omschrijving verplicht
Autorisatie

OAuth: consumer request (2-legged OAuth)

Response

Library response object

Errors
HTTP status code reden

204

no library found

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/library/pbscode?pbsCode=LEU
Accept: application/xml
Authorization: OAuth oauth_signature="xwKDHNi%2B0vkBCMF6%2Bj%2BoIsI1Hfg%3D", oauth_version="1.0", oauth_nonce="c3e86291-39a6-40c0-87cd-34aac534fc32", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="", oauth_timestamp="1401785688"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<library>
    <id>2199</id>
    <name>Bibliotheek Leuven</name>
    <location>Tweebronnen</location>
    <street>Rijschoolstraat</street>
    <number>4 bus 01</number>
    <zip>3000</zip>
    <city>Leuven</city>
    <cityPart>Leuven</cityPart>
    <profile></profile>
    <lat>50.8811</lat>
    <lon>4.70303</lon>
    <telephone>016-22.65.22</telephone>
    <fax>016-23.40.06</fax>
    <website>http://www.leuven.be/bibliotheek</website>
    <infoTextNL></infoTextNL>
    <infoTextFR></infoTextFR>
    <infoTextEN></infoTextEN>
    <krantenArchief>http://zoeken.leuven.bibliotheek.be/krantenarchief</krantenArchief>
    <docUrlTemplate>${CATALOGURL}/?doc_number=${DOCNR}</docUrlTemplate>
    <connectTextNL></connectTextNL>
    <connectTextFR></connectTextFR>
    <connectTextEN></connectTextEN>
    <mainPbsCode>LEU</mainPbsCode>
    <usesPickupLocation>true</usesPickupLocation>
    <available>true</available>
    <cancelHoldPolicy>2</cancelHoldPolicy>
    <openingHours>
        <friday>10:00-18:00</friday>
        <monday>12:00-18:00</monday>
        <saturday>10:00-17:00</saturday>
        <sunday>-</sunday>
        <thursday>12:00-20:00</thursday>
        <tuesday>10:00-18:00</tuesday>
        <wednesday>12:00-18:00</wednesday>
    </openingHours>
    <pbsCodes>
        <code>LEU</code>
        <name>Bibliotheek Tweebronnen</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUBB</code>
        <name>Bibliobus Leuven</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUBM</code>
        <name>Bibliobus Leuven Magazijn</name>
        <afhaalpunt>false</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUHE</code>
        <name>Bibliotheek Heverlee</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUKE</code>
        <name>Bibliotheek Kessel-Lo</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUWG</code>
        <name>Leuven Hulpgevangenis</name>
        <afhaalpunt>false</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUWL</code>
        <name>Bibliotheek Wilsele</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbs>
        <id>10</id>
        <name>PBS51 Vlaams Brabant</name>
        <connectTextNL></connectTextNL>
        <connectTextFR></connectTextFR>
        <connectTextEN></connectTextEN>
    </pbs>
    <provincie>
        <id>3</id>
        <name>Provincie Vlaams-Brabant</name>
    </provincie>
    <catalog>http://zoeken.leuven.bibliotheek.be</catalog>
    <name2>de Bib Leuven</name2>
    <email>bibliotheek@leuven.be</email>
</library>

2.6. Ophalen van bibliotheek op basis van catalogus URL

GET /library/pbscode
naam omschrijving verplicht
Autorisatie

OAuth: consumer request (2-legged OAuth)

Response

Library response object

Errors
HTTP status code reden

204

no library found

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/library/catalog?catalog=http%3A%2F%2Fzoeken.leuven.bibliotheek.be
Accept: application/xml
Authorization: OAuth oauth_signature="xwKDHNi%2B0vkBCMF6%2Bj%2BoIsI1Hfg%3D", oauth_version="1.0", oauth_nonce="c3e86291-39a6-40c0-87cd-34aac534fc32", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="", oauth_timestamp="1401785688"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<library>
    <id>2199</id>
    <name>Bibliotheek Leuven</name>
    <location>Tweebronnen</location>
    <street>Rijschoolstraat</street>
    <number>4 bus 01</number>
    <zip>3000</zip>
    <city>Leuven</city>
    <cityPart>Leuven</cityPart>
    <profile></profile>
    <lat>50.8811</lat>
    <lon>4.70303</lon>
    <telephone>016-22.65.22</telephone>
    <fax>016-23.40.06</fax>
    <website>http://www.leuven.be/bibliotheek</website>
    <infoTextNL></infoTextNL>
    <infoTextFR></infoTextFR>
    <infoTextEN></infoTextEN>
    <krantenArchief>http://zoeken.leuven.bibliotheek.be/krantenarchief</krantenArchief>
    <docUrlTemplate>${CATALOGURL}/?doc_number=${DOCNR}</docUrlTemplate>
    <connectTextNL></connectTextNL>
    <connectTextFR></connectTextFR>
    <connectTextEN></connectTextEN>
    <mainPbsCode>LEU</mainPbsCode>
    <usesPickupLocation>true</usesPickupLocation>
    <available>true</available>
    <cancelHoldPolicy>2</cancelHoldPolicy>
    <openingHours>
        <friday>10:00-18:00</friday>
        <monday>12:00-18:00</monday>
        <saturday>10:00-17:00</saturday>
        <sunday>-</sunday>
        <thursday>12:00-20:00</thursday>
        <tuesday>10:00-18:00</tuesday>
        <wednesday>12:00-18:00</wednesday>
    </openingHours>
    <pbsCodes>
        <code>LEU</code>
        <name>Bibliotheek Tweebronnen</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUBB</code>
        <name>Bibliobus Leuven</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUBM</code>
        <name>Bibliobus Leuven Magazijn</name>
        <afhaalpunt>false</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUHE</code>
        <name>Bibliotheek Heverlee</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUKE</code>
        <name>Bibliotheek Kessel-Lo</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUWG</code>
        <name>Leuven Hulpgevangenis</name>
        <afhaalpunt>false</afhaalpunt>
    </pbsCodes>
    <pbsCodes>
        <code>LEUWL</code>
        <name>Bibliotheek Wilsele</name>
        <afhaalpunt>true</afhaalpunt>
    </pbsCodes>
    <pbs>
        <id>10</id>
        <name>PBS51 Vlaams Brabant</name>
        <connectTextNL></connectTextNL>
        <connectTextFR></connectTextFR>
        <connectTextEN></connectTextEN>
    </pbs>
    <provincie>
        <id>3</id>
        <name>Provincie Vlaams-Brabant</name>
    </provincie>
    <catalog>http://zoeken.leuven.bibliotheek.be</catalog>
    <name2>de Bib Leuven</name2>
    <email>bibliotheek@leuven.be</email>
</library>

2.7. E-mail sturen naar bibliotheek

POST /library/:id/mail
naam omschrijving verplicht

id

the BIOS library ID

verplicht

subject

onderwerp van de e-mail

verplicht

body

body van de e-mail

verplicht

userId

ID van de gebruiker die de e-mail stuurt

optioneel

replyTo

e-mail adres van de gebruiker die de e-mail stuurt

optioneel

purchaseSuggestion

true of false. gebruik true indien het om een aankoopsuggestie gaat. default false

optioneel

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

Autorisatie

OAuth: consumer request (2-legged OAuth)

Response

response object met

code

status code: “OK” indien succesvol

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/library/2199/mail
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"
subject=test&body=test

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
</response>

2.8. Aankoopsuggestie aanmaken

POST /libraryaccounts/purchasesuggestion
libraryId BIOS ID van de bibliotheek verplicht

email

e-mailadres van de gebruiker die de aankoopsuggestie doet

verplicht

title

titel van de aankoopsuggestie

verplicht

accountId

ID van het bibliotheeklidmaatschap

optioneel

message

bericht van de gebruiker

optioneel

isbn

isbn van de aankoopsuggestie

optioneel

material

materiaal van de aankoopsuggestie

optioneel

filiaal

filiaal van de aankoopsuggestie

optioneel

bron

bron van de aankoopsuggestie

optioneel

requestholdafterpurchase

reserveer na aankoop: true of false

optioneel

author

auteur van de aankoopsuggestie

optioneel

Autorisatie

OAuth: consumer request (2-legged OAuth)

Response

response object met

code

status code: “REQUEST_SENT” indien succesvol

code

status code: “ERROR” indien er een error opgetreden is

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/purchasesuggestion
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"
libraryId=2099&email=gebruiker%40mijnbibliotheek.be&title=Harry%20Potter%20en%20de%20steen%20der%20wijzen

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>REQUEST_SENT</code>
</response>

3. Gebruikersspecifieke resources

3.1. Ophalen van eenvoudige gebruikers informatie

GET /user/info/:id
naam omschrijving verplicht

id

de ID van de gebruiker

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker
Gebruikersinfo ophalen kan tevens enkel door service consumers met rechten om gebruikersinfo op te halen.

Response

een response object met

uid

de ID van de gebruiker

email

het e-mail adres van de gebruiker

nick

gebruikersnaam van de gebruiker

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/user/info/6a1d6663-89ae-473c-9ed0-7fe0e88a7592
Accept: application/xml
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <uid>6a1d6663-89ae-473c-9ed0-7fe0e88a7592</uid>
    <email>johan.mijs@bibnet.be</email>
    <nick>johanmijs</nick>
</response>

3.2. Ophalen van een gebruikersprofiel

GET /user/:id
naam omschrijving verplicht

id

de ID van de gebruiker

verplicht

Autorisatie

OAtuh - gebruik makende van een UserAccessToken van de gebruiker

Response

User response object

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/user/2e406d8c-4ead-465d-ac56-e5e70b605a0c
Accept: application/xml
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user>
    <city>9200 Dendermonde</city>
    <createdOn>2011-11-20T22:41Z</createdOn>
    <dob>1978-10-17</dob>
    <mbox>jo.mijs@gmail.com</mbox>
    <mboxVerified>false</mboxVerified>
    <gender>male</gender>
    <onlineAccounts/>
    <lastLogin>2014-05-23T12:52Z</lastLogin>
    <modifiedOn>2014-05-23T12:58Z</modifiedOn>
    <nick>johanmijs</nick>
    <id>2e406d8c-4ead-465d-ac56-e5e70b605a0c</id>
    <status>ACTIVE</status>
</user>

3.3. Aanpassen van een gebruikersprofiel

POST /user/:id
naam omschrijving verplicht

id

de ID van de gebruiker

verplicht

nick

nick van de gebruiker

optioneel

mbox

e-mail van de gebruiker

optioneel

gender

geslacht van de gebruiker: male, female of leeg (=onbekend)

optioneel

dob

geboortedatum van de gebruiker (format yyyy-MM-dd)

optioneel

homeCity

gemeente van de gebruiker

optioneel

password

paswoord van de gebruiker

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Response object met

code

response code, mogelijk waarden: UserModified, DuplicateNick, DuplicateMbox, AccessDenied, BadRequest

message

meer informatie over een mogelijke fout

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

421

duplicate nick of mbox

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/user/2e406d8c-4ead-465d-ac56-e5e70b605a0c
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"
nick=johanmijs-updated&dob=1978-07-15

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>UserModified</code>
    <message>User modified: 2e406d8c-4ead-465d-ac56-e5e70b605a0c</message>
</response>

3.4. Verwijderen van een gebruikersprofiel

GET /user/:id/delete
naam omschrijving verplicht

id

de ID van de gebruiker

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Response object met

code

response code. mogelijke waarden: UserDeleted

message

meer informatie over een mogelijke fout

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/user/2e406d8c-4ead-465d-ac56-e5e70b605a0c/delete
Accept: application/xml
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"
nick=johanmijs-updated&dob=1978-07-15

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>UserDeleted</code>
    <message>User deleted: 2e406d8c-4ead-465d-ac56-e5e70b605a0c</message>
</response>

3.5. Ophalen van beschikbare online collecties

GET /permissions/user/:id/consumer/list
naam omschrijving verplicht

id

de ID van de gebruiker

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Lijst van Subscription response objecten

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/permissions/user/2e406d8c-4ead-465d-ac56-e5e70b605a0c/consumer/list
Accept: application/xml
Authorization: OAuth oauth_signature="snQHSgmSEoMT4puCwECDgLIXuh0%3D", oauth_version="1.0", oauth_nonce="2ce20a71-8068-4d8c-ad5e-53c6b7c6e89e", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400851282"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<subscriptions>
  <subscription>
    <consumerKey>5d5471cfdbd3e6b2bce42136e00e08cc</consumerKey>
    <consumerPageMessage>Je hebt geen toegang tot het Gopress Krantenarchief, want de bibliotheek waar je lid van bent heeft geen abonnement op Gopress of je lidmaatschap is niet langer geldig. Volgende bibliotheken hebben wel een abonnement:</consumerPageMessage>
    <descriptionEN></descriptionEN>
    <descriptionFR></descriptionFR>
    <descriptionNL>Hier moet een beschrijving van Mediargus komen <a href="#">Lees meer...</a></descriptionNL>
    <id>3</id>
    <name>Gopress Krantenarchief</name>
  </subscription>

  <subscription>
    <consumerKey>b0b2c37e8c150f6fa191b82ab6b0180b</consumerKey>
    <consumerPageMessage>Je hebt geen toegang omdat je geen geldig lidmaatschap hebt bij een bibliotheek die E-boeken aanbiedt. </p><p>Volgende bibliotheken hebben wel een abonnement:</p></consumerPageMessage>
    <descriptionEN></descriptionEN>
    <descriptionFR></descriptionFR>
    <descriptionNL></descriptionNL>
    <id>4</id>
    <name>E-Boeken</name>
  </subscription>
</subscriptions>

3.6. Ophalen van bibliotheeklidmaatschappen

GET /libraryaccounts/list/:id
naam omschrijving verplicht

id

de ID van de gebruiker

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Lijst van LibraryAccount response objecten

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/list/2e406d8c-4ead-465d-ac56-e5e70b605a0c
Accept: application/xml
Authorization: OAuth oauth_signature="%2FrXDVAf8LYQR8s%2BW219iMw04FkU%3D", oauth_version="1.0", oauth_nonce="5704d529-4b99-4a25-9174-2977ab6c3ba3", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400852103"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<libraryAccounts>
  <libraryAccount>
    <accountId>BIE9434321</accountId>
    <address1>Tiensesteenweg, 120</address1>
    <address2>3360  Bierbeek</address2>
    <alertEmailSync>true</alertEmailSync>
    <barcode>00009832214</barcode>
    <email></email>
    <expirationDate>1400882400000</expirationDate>
    <id>28</id>
    <keepsLoanHistory>true</keepsLoanHistory>
    <lastName>Doe</lastName>
    <firstName>John</firstName>
    <lastVerified>1400126472719</lastVerified>
    <library>
        <id>2186</id>
        <name>Bibliotheek Bierbeek</name>
        <name2>Bibliotheek de borre</name2>
        <dbName2></dbName2>
        <location>Vrijetijdscentrum de borre</location>
        <street>Speelpleinstraat</street>
        <number>10</number>
        <zip>3360</zip>
        <city>Bierbeek</city>
        <cityPart>Bierbeek</cityPart>
        <profile></profile>
        <lat>50.8273</lat>
        <lon>4.75309</lon>
        <telephone>016-26.97.46</telephone>
        <fax>016-46.20.27</fax>
        <email>bib@deborre.be</email>
        <website>http://www.deborre.be</website>
        <dbCatalog></dbCatalog>
        <infoTextNL>Hier staat dan een tekstje.</infoTextNL>
        <infoTextFR></infoTextFR>
        <infoTextEN></infoTextEN>
        <dbEmail></dbEmail>
        <biosCatalog>http://bierbeek.bibliotheek.be</biosCatalog>
        <krantenArchief></krantenArchief>
        <docUrlTemplate>${CATALOGURL}/?doc_number=${DOCNR}</docUrlTemplate>
        <connectTextNL></connectTextNL>
        <connectTextFR></connectTextFR>
        <connectTextEN></connectTextEN>
        <mainPbsCode>BIE</mainPbsCode>
        <usesPickupLocation>false</usesPickupLocation>
        <available>true</available>
        <cancelHoldPolicy>2</cancelHoldPolicy>
        <openingHours>
            <friday>18:00-20:00</friday>
            <monday>-</monday>
            <saturday>10:00-12:30</saturday>
            <sunday>-</sunday>
            <thursday>18:00-20:00</thursday>
            <tuesday>14:00-16:00 18:00-20:00</tuesday>
            <wednesday>13:30-17:30</wednesday>
        </openingHours>
        <pbsCodes>
            <code>BIE</code>
            <name>Bibliotheek Bierbeek</name>
            <afhaalpunt>true</afhaalpunt>
        </pbsCodes>
        <pbs>
            <id>1</id>
            <name>PBS Vlaams Brabant TEST</name>
            <connectTextNL></connectTextNL>
            <connectTextFR></connectTextFR>
            <connectTextEN></connectTextEN>
        </pbs>
        <catalog>http://bierbeek.bibliotheek.be</catalog>
        <name2>Bibliotheek de borre</name2>
        <email>bib@deborre.be</email>
    </library>
    <otherUsers>
        <otherUser>Erwin1</otherUser>
        <otherUser>johanmijs</otherUser>
    </otherUsers>
    <status>2</status>
    <telephone>016 894219</telephone>
    <ticketLibraryAccount>false</ticketLibraryAccount>
    <userId>2e406d8c-4ead-465d-ac56-e5e70b605a0c</userId>
  </libraryAccount>
  <libraryAccount>
    <accountId>LEU0001231211</accountId>
    <address1>Lenneke Marelaan 12 bus 22</address1>
    <address2>1932 Sint-Stevens-Woluwe</address2>
    <alertEmailSync>false</alertEmailSync>
    <barcode>LEU000194949</barcode>
    <email>foo@bar.com</email>
    <expirationDate>1394924400000</expirationDate>
    <id>29</id>
    <keepsLoanHistory>true</keepsLoanHistory>
    <lastName>Foo Bar</lastName>
    <lastVerified>1400126473510</lastVerified>
    <library>
        <id>2199</id>
        <name>Bibliotheek Leuven</name>
        <name2>de Bib Leuven</name2>
        <dbName2></dbName2>
        <location>Tweebronnen</location>
        <street>Rijschoolstraat</street>
        <number>4 bus 01</number>
        <zip>3000</zip>
        <city>Leuven</city>
        <cityPart>Leuven</cityPart>
        <profile></profile>
        <lat>50.8811</lat>
        <lon>4.70303</lon>
        <telephone>016-22.65.22</telephone>
        <fax>016-23.40.06</fax>
        <email>bibliotheek@leuven.be</email>
        <website>http://www.leuven.be/bibliotheek</website>
        <dbCatalog>http://zoeken.leuven.bibliotheek.be</dbCatalog>
        <infoTextNL></infoTextNL>
        <infoTextFR></infoTextFR>
        <infoTextEN></infoTextEN>
        <dbEmail></dbEmail>
        <biosCatalog>http://www.leuven.be/bibliotheek</biosCatalog>
        <krantenArchief>http://zoeken.leuven.bibliotheek.be/krantenarchief</krantenArchief>
        <docUrlTemplate>${CATALOGURL}/?doc_number=${DOCNR}</docUrlTemplate>
        <connectTextNL></connectTextNL>
        <connectTextFR></connectTextFR>
        <connectTextEN></connectTextEN>
        <mainPbsCode>LEU</mainPbsCode>
        <usesPickupLocation>true</usesPickupLocation>
        <available>true</available>
        <cancelHoldPolicy>2</cancelHoldPolicy>
        <openingHours>
            <friday>10:00-18:00</friday>
            <monday>12:00-18:00</monday>
            <saturday>10:00-17:00</saturday>
            <sunday>-</sunday>
            <thursday>12:00-20:00</thursday>
            <tuesday>10:00-18:00</tuesday>
            <wednesday>12:00-18:00</wednesday>
        </openingHours>
        <pbsCodes>
            <code>LEU</code>
            <name>Bibliotheek Tweebronnen</name>
            <afhaalpunt>true</afhaalpunt>
        </pbsCodes>
        <pbsCodes>
            <code>LEUBB</code>
            <name>Bibliobus Leuven</name>
            <afhaalpunt>true</afhaalpunt>
        </pbsCodes>
        <pbsCodes>
            <code>LEUBM</code>
            <name>Bibliobus Leuven Magazijn</name>
            <afhaalpunt>false</afhaalpunt>
        </pbsCodes>
        <pbsCodes>
            <code>LEUHE</code>
            <name>Bibliotheek Heverlee</name>
            <afhaalpunt>true</afhaalpunt>
        </pbsCodes>
        <pbsCodes>
            <code>LEUKE</code>
            <name>Bibliotheek Kessel-Lo</name>
            <afhaalpunt>true</afhaalpunt>
        </pbsCodes>
        <pbsCodes>
            <code>LEUWG</code>
            <name>Leuven Hulpgevangenis</name>
            <afhaalpunt>false</afhaalpunt>
        </pbsCodes>
        <pbsCodes>
            <code>LEUWL</code>
            <name>Bibliotheek Wilsele</name>
            <afhaalpunt>true</afhaalpunt>
        </pbsCodes>
        <pbs>
            <id>10</id>
            <name>PBS51 Vlaams Brabant</name>
            <connectTextNL></connectTextNL>
            <connectTextFR></connectTextFR>
            <connectTextEN></connectTextEN>
        </pbs>
        <provincie>
            <id>3</id>
            <name>Provincie Vlaams-Brabant</name>
        </provincie>
        <catalog>http://zoeken.leuven.bibliotheek.be</catalog>
        <name2>de Bib Leuven</name2>
        <email>bibliotheek@leuven.be</email>
    </library>
    <status>5</status>
    <telephone>0488 403 559</telephone>
    <ticketLibraryAccount>false</ticketLibraryAccount>
    <userId>2e406d8c-4ead-465d-ac56-e5e70b605a0c</userId>
</libraryAccount>
</libraryAccounts>

3.7. Ophalen van één bibliotheeklidmaatschap

GET /libraryaccounts/:id
naam omschrijving verplicht

id

het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount)

verplicht

triggerServiceRefresh

bepaalt of het lidmaatschap eerst gesynchroniseerd moet worden met de onderliggende service: true or false. (standaard false)

optioneel

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

LibraryAccount response object

Errors
HTTP status code reden

400

ontbrekende verplichte parameters

401

ontbrekende Authorization header

403

niet geauthoriseerd

404

in case the library account was not found

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/29
Accept: application/xml
Authorization: OAuth oauth_signature="UD6%2FTCdapwJorD%2BhhwXddg7u3sU%3D", oauth_version="1.0", oauth_nonce="ec47a60c-f21c-4017-945e-2baafac6aa5b", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401436757"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<libraryAccount>
    <accountId>LEU000112306827</accountId>
    <address1>Lenneke Marelaan 11 bus 6</address1>
    <address2>1932 Sint-Stevens-Woluwe</address2>
    <alertEmailSync>false</alertEmailSync>
    <barcode>LEU000112306827</barcode>
    <email>johan.mijs@yahoo.com</email>
    <expirationDate>2014-03-15T23:00:00Z</expirationDate>
    <id>223123</id>
    <keepsLoanHistory>true</keepsLoanHistory>
    <lastName>Irma Symens</lastName>
    <lastVerified>2014-05-15T04:01:13Z</lastVerified>
    <library>
        <id>2199</id>
        <name>Bibliotheek Leuven</name>
        <location>Tweebronnen</location>
        <street>Rijschoolstraat</street>
        <number>4 bus 01</number>
        <zip>3000</zip>
        <city>Leuven</city>
        <cityPart>Leuven</cityPart>
        <profile></profile>
        <lat>50.8811</lat>
        <lon>4.70303</lon>
        <telephone>016-22.65.22</telephone>
        <fax>016-23.40.06</fax>
        <website>http://www.leuven.be/bibliotheek</website>
        <infoTextNL></infoTextNL>
        <infoTextFR></infoTextFR>
        <infoTextEN></infoTextEN>
        <krantenArchief>http://zoeken.leuven.bibliotheek.be/krantenarchief</krantenArchief>
        <docUrlTemplate>${CATALOGURL}/?doc_number=${DOCNR}</docUrlTemplate>
        <connectTextNL></connectTextNL>
        <connectTextFR></connectTextFR>
        <connectTextEN></connectTextEN>
        <mainPbsCode>LEU</mainPbsCode>
        <usesPickupLocation>true</usesPickupLocation>
        <available>true</available>
        <cancelHoldPolicy>2</cancelHoldPolicy>
        <openingHours>
            <friday>10:00-18:00</friday>
            <monday>12:00-18:00</monday>
            <saturday>10:00-17:00</saturday>
            <sunday>-</sunday>
            <thursday>12:00-20:00</thursday>
            <tuesday>10:00-18:00</tuesday>
            <wednesday>12:00-18:00</wednesday>
        </openingHours>
        <pbsCodes>
            <code>LEU</code>
            <name>Bibliotheek Tweebronnen</name>
            <afhaalpunt>true</afhaalpunt>
        </pbsCodes>
        <pbsCodes>
            <code>LEUBB</code>
            <name>Bibliobus Leuven</name>
            <afhaalpunt>true</afhaalpunt>
        </pbsCodes>
        <pbsCodes>
            <code>LEUBM</code>
            <name>Bibliobus Leuven Magazijn</name>
            <afhaalpunt>false</afhaalpunt>
        </pbsCodes>
        <pbsCodes>
            <code>LEUHE</code>
            <name>Bibliotheek Heverlee</name>
            <afhaalpunt>true</afhaalpunt>
        </pbsCodes>
        <pbsCodes>
            <code>LEUKE</code>
            <name>Bibliotheek Kessel-Lo</name>
            <afhaalpunt>true</afhaalpunt>
        </pbsCodes>
        <pbsCodes>
            <code>LEUWG</code>
            <name>Leuven Hulpgevangenis</name>
            <afhaalpunt>false</afhaalpunt>
        </pbsCodes>
        <pbsCodes>
            <code>LEUWL</code>
            <name>Bibliotheek Wilsele</name>
            <afhaalpunt>true</afhaalpunt>
        </pbsCodes>
        <pbs>
            <id>10</id>
            <name>PBS51 Vlaams Brabant</name>
            <connectTextNL></connectTextNL>
            <connectTextFR></connectTextFR>
            <connectTextEN></connectTextEN>
        </pbs>
        <provincie>
            <id>3</id>
            <name>Provincie Vlaams-Brabant</name>
        </provincie>
        <catalog>http://zoeken.leuven.bibliotheek.be</catalog>
        <name2>de Bib Leuven</name2>
        <email>bibliotheek@leuven.be</email>
    </library>
    <status>5</status>
    <telephone>0466 403 359</telephone>
    <ticketLibraryAccount>false</ticketLibraryAccount>
    <userId>2e406d8c-4ead-465d-ac56-e5e70b605a0c</userId>
</libraryAccount>

3.8. Ophalen van de timetracs URL voor één bibliotheeklidmaatschap

GET /libraryaccounts/:id/timetracs

Enkel voor bibliotheek Antwerpen

naam omschrijving verplicht

id

het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount)

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Response object met daarin:

Veld omschrijving

code

OK of FAILED

resource

in geval van code OK, zal hier de timetracs URL staan waarnaar de gebruiker kan doorgestuurd worden

Errors
HTTP status code reden

400

ontbrekende verplichte parameters

401

ontbrekende Authorization header

403

niet geauthoriseerd

404

in case the library account was not found

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/1234/timetracs
Accept: application/xml
Authorization: OAuth oauth_signature="UD6%2FTCdapwJorD%2BhhwXddg7u3sU%3D", oauth_version="1.0", oauth_nonce="ec47a60c-f21c-4017-945e-2baafac6aa5b", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401436757"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
    <resource>http://ttms.antwerpen.be/ttonline/login.asp?AccessNumber=90000222226+&Name=De+Tester&Firstname=Tester&check=de211144b3ff227444444440216ec3b</resource>
</response>

3.9. Koppelen van nieuw bibliotheeklidmaatschap

POST /libraryaccounts/connect/:id
naam omschrijving verplicht

id

de ID van de gebruiker

verplicht

library

de ID van de bibliotheek

verplicht

barcode

barcode of identificatie code van de bibltioheekgebruiker

verplicht

verification

verificatie code of paswoord van de bibliotheekgebruiker

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

response object met

status

status code:
0 = STATUS CONNECTED,
1 = STATUS ERROR

error

foutboodschap die getoond kan worden aan de gebruiker in geval van status error

Errors
HTTP status code reden

400

ontbrekende verplichte parameters

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/connect/2e406d8c-4ead-465d-ac56-e5e70b605a0c
Content-Type: application/x-www-form-urlencoded
Accept: application/xml
Authorization: OAuth oauth_signature="hd3W9P%2Bn%2B0fIfuhZx1nnYSpVG8s%3D", oauth_version="1.0", oauth_nonce="caab8de5-df90-4149-8a6e-0a7e4cb6b4f2", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401437369"
verification=24%2F11%2F1959&library=2315&barcode=41122409367

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <libraryAccount>
        <accountId>*E9*0C*09*F6*2F4K*FA*F0*E8*CF*88*98*86*02*5B</accountId>
        <address1>Cartonstraat 12 - 8900 Ieper</address1>
        <address2></address2>
        <alertEmailSync>false</alertEmailSync>
        <barcode>41122409367</barcode>
        <email>johan.mijs@bibnet.be</email>
        <expirationDate>2014-12-12T23:00:00Z</expirationDate>
        <firstName></firstName>
        <id>924</id>
        <keepsLoanHistory>false</keepsLoanHistory>
        <lastName>Mijs, Johan</lastName>
        <lastVerified>2014-05-30T08:09:31Z</lastVerified>
        <library>
            <id>2315</id>
            <name>Bibliotheek Ieper</name>
            <location></location>
            <street>Weverijstraat</street>
            <number>9</number>
            <zip>8900</zip>
            <city>Ieper</city>
            <cityPart>Ieper</cityPart>
            <profile>Ieper</profile>
            <lat>50.8562</lat>
            <lon>2.88498</lon>
            <telephone>057-23.94.20</telephone>
            <fax>057-23.94.29</fax>
            <website>http://www.ieper.be</website>
            <infoTextNL></infoTextNL>
            <infoTextFR></infoTextFR>
            <infoTextEN></infoTextEN>
            <krantenArchief></krantenArchief>
            <docUrlTemplate>${CATALOGURL}/resolver.ashx?doc_number=${DOCNR}</docUrlTemplate>
            <connectTextNL></connectTextNL>
            <connectTextFR></connectTextFR>
            <connectTextEN></connectTextEN>
            <mainPbsCode>OBIP</mainPbsCode>
            <usesPickupLocation>false</usesPickupLocation>
            <available>true</available>
            <cancelHoldPolicy>2</cancelHoldPolicy>
            <openingHours>
                <friday>10:00-12:00 13:00-19:00</friday>
                <monday>10:00-12:00 13:00-19:00</monday>
                <saturday>09:00-12:00</saturday>
                <sunday>-</sunday>
                <thursday>10:00-12:00 13:00-19:00</thursday>
                <tuesday>10:00-12:00 13:00-19:00</tuesday>
                <wednesday>10:00-12:00 13:00-19:00</wednesday>
            </openingHours>
            <pbsCodes>
                <code>OBIP/IPBZ</code>
                <name>Uitleenpost Boezinge</name>
                <afhaalpunt>true</afhaalpunt>
            </pbsCodes>
            <pbsCodes>
                <code>OBIP/IPEV</code>
                <name>Uitleenpost Elverdinge</name>
                <afhaalpunt>true</afhaalpunt>
            </pbsCodes>
            <pbsCodes>
                <code>OBIP/IPHB</code>
                <name>Hoofdbibliotheek</name>
                <afhaalpunt>true</afhaalpunt>
            </pbsCodes>
            <pbsCodes>
                <code>OBIP/IPHL</code>
                <name>Uitleenpost Hollebeke</name>
                <afhaalpunt>true</afhaalpunt>
            </pbsCodes>
            <pbsCodes>
                <code>OBIP/IPPH</code>
                <name>Uitleenpost Posthoorn</name>
                <afhaalpunt>true</afhaalpunt>
            </pbsCodes>
            <pbsCodes>
                <code>OBIP/IPSA</code>
                <name>Archief</name>
                <afhaalpunt>true</afhaalpunt>
            </pbsCodes>
            <pbsCodes>
                <code>OBIP/IPVT</code>
                <name>Uitleenpost Vlamertinge</name>
                <afhaalpunt>true</afhaalpunt>
            </pbsCodes>
            <pbsCodes>
                <code>OBIP/IPVZ</code>
                <name>Uitleenpost Voormezele</name>
                <afhaalpunt>true</afhaalpunt>
            </pbsCodes>
            <pbsCodes>
                <code>OBIP/IPZB</code>
                <name>Uitleenpost Zillebeke</name>
                <afhaalpunt>true</afhaalpunt>
            </pbsCodes>
            <pbsCodes>
                <code>OBIP/MUIP</code>
                <name>Musea</name>
                <afhaalpunt>true</afhaalpunt>
            </pbsCodes>
            <pbsCodes>
                <code>OBIP/SABK</code>
                <name>Stedelijke academie</name>
                <afhaalpunt>true</afhaalpunt>
            </pbsCodes>
            <pbs>
                <id>7</id>
                <name>PBS West-Vlaanderen</name>
                <connectTextNL>uitleg PBS West-Vlaanderen</connectTextNL>
                <connectTextFR></connectTextFR>
                <connectTextEN></connectTextEN>
            </pbs>
            <provincie>
                <id>1</id>
                <name>Provincie West-Vlaanderen</name>
            </provincie>
            <catalog>http://ieper.bibliotheek.be</catalog>
            <name2></name2>
            <email>bibliotheek@ieper.be</email>
        </library>
        <status>2</status>
        <telephone></telephone>
        <ticketLibraryAccount>false</ticketLibraryAccount>
        <userId>2e406d8c-4ead-465d-ac56-e5e70b605a0c</userId>
    </libraryAccount>
    <status>0</status>
</response>

3.10. Verwijderen / ontkoppelen van een bibliotheeklidmaatschap

POST /libraryaccounts/:id/delete
naam omschrijving verplicht

id

het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount)

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

response object met

code

status code: DELETED in geval van succesvolle verwijdering.

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/924/delete
Content-Type: application/x-www-form-urlencoded
Accept: application/xml
Authorization: OAuth oauth_signature="hd3W9P%2Bn%2B0fIfuhZx1nnYSpVG8s%3D", oauth_version="1.0", oauth_nonce="caab8de5-df90-4149-8a6e-0a7e4cb6b4f2", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401437369"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>DELETED</code>
</response>

3.11. Ophalen van uitleenactiviteiten

Ophalen van uitleningen, reserveringen, boetes, kosten en uitleenhistoriek van een bibliotheeklidmaatschap.

GET /libraryaccounts/:id/activities
naam omschrijving verplicht

id

het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount)

verplicht

includeLoanHistory

bepaalt of de uitleenhistoriek eveneens opgehaald wordt: true of false. (default true).

optioneel

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

LibraryAccountActivities response object

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

404

in case the library account was not found

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/924/activities?triggerServiceRefresh=false
Accept: application/xml
Authorization: OAuth oauth_signature="6Z9kKEXIRi7SeTZHI%2By0b08YERw%3D", oauth_version="1.0", oauth_nonce="c1ab8825-bc6c-49a7-95be-3a51b406375d", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401437657"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<libraryUserActivities>
    <loans>
        <loan>
            <pbsCode>OBIP/IPHB</pbsCode>
            <docNumber>3877665</docNumber>
            <itemId>IP4204085</itemId>
            <itemSequence>0</itemSequence>
            <material>volwassenen multimedia fictie</material>
            <author></author>
            <title>A single man</title>
            <renewable>true</renewable>
            <docUrl>http://ieper.bibliotheek.be/resolver.ashx?doc_number=3877665</docUrl>
            <dueDate>2014-05-29T22:00:00Z</dueDate>
            <loanDate>2014-03-12T13:29:30Z</loanDate>
        </loan>
        <loan>
            <pbsCode>OBIP/IPHB</pbsCode>
            <docNumber>3877665</docNumber>
            <itemId>IP4204085</itemId>
            <material>volwassenen audio</material>
            <author></author>
            <title>False consonances of melancholy  : ayres for the violin</title>
            <renewable>true</renewable>
            <docUrl>http://ieper.bibliotheek.be/resolver.ashx?doc_number=3327772</docUrl>
            <dueDate>2014-06-03T22:00:00Z</dueDate>
            <loanDate>2014-05-07T12:44:57Z</loanDate>
        </loan>
        <loan>
            <pbsCode>OBIP/IPHB</pbsCode>
            <docNumber>3877665</docNumber>
            <itemId>IP4204085</itemId>
            <itemSequence>0</itemSequence>
            <material>volwassenen boek fictie</material>
            <author></author>
            <title>De gewichtlozen  : roman</title>
            <renewable>true</renewable>
            <docUrl>http://ieper.bibliotheek.be/resolver.ashx?doc_number=4435633</docUrl>
            <dueDate>2014-06-18T22:00:00Z</dueDate>
            <loanDate>2014-05-22T16:14:11Z</loanDate>
        </loan>
        <loan>
            <pbsCode>OBIP/IPHB</pbsCode>
            <docNumber>3877665</docNumber>
            <itemId>IP4204085</itemId>
            <itemSequence>0</itemSequence>
            <material>volwassenen multimedia fictie</material>
            <author></author>
            <title>I am</title>
            <renewable>true</renewable>
            <docUrl>http://ieper.bibliotheek.be/resolver.ashx?doc_number=4362701</docUrl>
            <dueDate>2014-05-29T22:00:00Z</dueDate>
            <loanDate>2014-03-12T13:29:30Z</loanDate>
        </loan>
        <loan>
            <pbsCode>OBIP/IPHB</pbsCode>
            <docNumber>3877665</docNumber>
            <itemId>IP4204085</itemId>
            <itemSequence>0</itemSequence>
            <material>volwassenen multimedia fictie</material>
            <author></author>
            <title>In the loop</title>
            <renewable>true</renewable>
            <docUrl>http://ieper.bibliotheek.be/resolver.ashx?doc_number=4368468</docUrl>
            <dueDate>2014-05-29T22:00:00Z</dueDate>
            <loanDate>2014-04-25T09:00:40Z</loanDate>
        </loan>
        <loan>
            <pbsCode>OBIP/IPHB</pbsCode>
            <docNumber>3877665</docNumber>
            <itemId>IP4204085</itemId>
            <itemSequence>0</itemSequence>
            <material>volwassenen multimedia fictie</material>
            <author></author>
            <title>Into great silence</title>
            <renewable>true</renewable>
            <docUrl>http://ieper.bibliotheek.be/resolver.ashx?doc_number=1651603</docUrl>
            <dueDate>2014-05-29T22:00:00Z</dueDate>
            <loanDate>2014-04-25T09:00:40Z</loanDate>
        </loan>
        <loan>
            <pbsCode>OBIP/IPHB</pbsCode>
            <docNumber>3877665</docNumber>
            <itemId>IP4204085</itemId>
            <itemSequence>0</itemSequence>
            <material>volwassenen multimedia non-fictie</material>
            <author></author>
            <title>Just a beginning</title>
            <renewable>true</renewable>
            <docUrl>http://ieper.bibliotheek.be/resolver.ashx?doc_number=4157074</docUrl>
            <dueDate>2014-05-29T22:00:00Z</dueDate>
            <loanDate>2014-04-25T09:00:40Z</loanDate>
        </loan>
        <loan>
            <pbsCode>OBIP/IPHB</pbsCode>
            <docNumber>3877665</docNumber>
            <itemId>IP4204085</itemId>
            <itemSequence>0</itemSequence>
            <material>volwassenen audio</material>
            <author></author>
            <title>The piano works 2  : Sonatas and interludes for prepared piano</title>
            <renewable>true</renewable>
            <docUrl>http://ieper.bibliotheek.be/resolver.ashx?doc_number=4436817</docUrl>
            <dueDate>2014-06-01T22:00:00Z</dueDate>
            <loanDate>2014-05-05T14:10:47Z</loanDate>
        </loan>
        <loan>
            <pbsCode>OBIP/IPHB</pbsCode>
            <docNumber>3877665</docNumber>
            <itemId>IP4204085</itemId>
            <itemSequence>0</itemSequence>
            <material>volwassenen audio</material>
            <author></author>
            <title>Visions</title>
            <renewable>true</renewable>
            <docUrl>http://ieper.bibliotheek.be/resolver.ashx?doc_number=3214588</docUrl>
            <dueDate>2014-06-03T22:00:00Z</dueDate>
            <loanDate>2014-05-07T12:44:57Z</loanDate>
        </loan>
    </loans>
    <loanHistory/>
    <holds>
        <hold>
            <requestNumber>288</requestNumber>
            <docNumber>3877665</docNumber>
            <itemId>IP4204085</itemId>
            <itemSequence>no</itemSequence>
            <status>W</status>
            <author></author>
            <title>Lolita  [Boek]</title>
            <pickupLocation>OBIP/IPHB</pickupLocation>
            <docUrl>http://ieper.bibliotheek.be/resolver.ashx?doc_number=711901</docUrl>
            <cancelable>true</cancelable>
            <endRequestDate>2009-02-09T23:00:00Z</endRequestDate>
            <requestDate>2008-11-11T23:00:00Z</requestDate>
        </hold>
        <hold>
            <requestNumber>361</requestNumber>
            <docNumber>3877665</docNumber>
            <itemId>IP4204085</itemId>
            <itemSequence>no</itemSequence>
            <status>W</status>
            <author></author>
            <title>Het nieuwe Spaans zonder moeite  [Boek]</title>
            <pickupLocation>OBIP/IPHB</pickupLocation>
            <docUrl>http://ieper.bibliotheek.be/resolver.ashx?doc_number=4373530</docUrl>
            <cancelable>true</cancelable>
            <endRequestDate>2011-06-06T22:00:00Z</endRequestDate>
            <requestDate>2011-03-08T23:00:00Z</requestDate>
        </hold>
    </holds>
    <fines/>
    <totalFine>0.0</totalFine>
    <totalCost>0.0</totalCost>
    <loanHistoryConfigurable>true</loanHistoryConfigurable>
</libraryUserActivities>

3.12. Ophalen van uitleenhistoriek

Ophalen van uitleenhistoriek van een bibliotheeklidmaatschap. (gebruikt indien /activities werd gebruikt met includeLoanHistory=false)

GET /libraryaccounts/:id/loanhistory
naam omschrijving verplicht

id

het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount)

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

LibraryAccountActivities response object met enkel loanHistory object

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

404

in case the library account was not found

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/924/loanhistory?triggerServiceRefresh=false
Accept: application/xml
Authorization: OAuth oauth_signature="6Z9kKEXIRi7SeTZHI%2By0b08YERw%3D", oauth_version="1.0", oauth_nonce="c1ab8825-bc6c-49a7-95be-3a51b406375d", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401437657"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<libraryUserActivities>
    <loanHistory>
        <loan>
            <pbsCode>OBIP/IPHB</pbsCode>
            <docNumber>3877665</docNumber>
            <itemId>IP4204085</itemId>
            <itemSequence>0</itemSequence>
            <material>volwassenen multimedia fictie</material>
            <author></author>
            <title>A single man</title>
            <docUrl>http://ieper.bibliotheek.be/resolver.ashx?doc_number=3877665</docUrl>
            <loanDate>2014-03-12T13:29:30Z</loanDate>
    </loanHistory>
</libraryUserActivities>

3.13. Exporteren van uitleenhistoriek

Exporteren van uitleenhistoriek van een bibliotheeklidmaatschap in CSV formaat

GET /libraryaccounts/:id/exportloanhistory
naam omschrijving verplicht

id

het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount)

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

data in formaat text/csv

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

404

in case the library account was not found

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/924/exportloanhistory
Accept: text/csv
Authorization: OAuth oauth_signature="6Z9kKEXIRi7SeTZHI%2By0b08YERw%3D", oauth_version="1.0", oauth_nonce="c1ab8825-bc6c-49a7-95be-3a51b406375d", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401437657"

Response:

"Titel";"Auteur";"Jaar";"Leendatum";
"Kampioenen aan zee [Strip]";"Leemans,  Hec";"2012";"01/09/2017";
"Hoed je voor flaters [Strip]";"Franquin,  André";"2009";"01/09/2017";
"Die reuze flater [Strip]";"Franquin,  André";"2009";"01/09/2017";
"Hello Poepa [Strip]";"Leemans,  Hec";"2013";"01/09/2017";

3.14. Aan/uitzetten van uitleenhistoriek

POST /libraryaccounts/:id/changeloanhistory/:status
naam omschrijving verplicht

id

het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount)

verplicht

status

mogelijke waarden: enable, disable

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

LibraryAccountActivities response object met enkel loanHistory object

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

404

in case the library account was not found

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/924/changeloanhistory/enable
Accept: application/xml
Authorization: OAuth oauth_signature="6Z9kKEXIRi7SeTZHI%2By0b08YERw%3D", oauth_version="1.0", oauth_nonce="c1ab8825-bc6c-49a7-95be-3a51b406375d", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401437657"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<loanHistoryChangeStatus>
   <code>OK</code>
</loanHistoryChangeStatus>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<loanHistoryChangeStatus>
   <code>FAIL</code>
</loanHistoryChangeStatus>

3.15. Verlengen van een uitlening

POST /libraryaccounts/:id/renew
naam omschrijving verplicht

id

het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount)

verplicht

itemId

het item ID van het te verlengen materiaal

verplicht

itemSequence

item sequence van het te verlengen materiaal

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

response object met

status

status code:
1 = OK
2 = ERROR

errorCode

technische error code

errorText

foutboodschap die aan de gebruiker getoond kan worden

newDate

nieuwe dueDate van de uitlening (W3CDate)

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/2e406d8c-4ead-465d-ac56-e5e70b605a0c/renew
Content-Type: application/x-www-form-urlencoded
Accept: application/xml
Authorization: OAuth oauth_signature="hd3W9P%2Bn%2B0fIfuhZx1nnYSpVG8s%3D", oauth_version="1.0", oauth_nonce="caab8de5-df90-4149-8a6e-0a7e4cb6b4f2", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401437369"
itemId=IP4276108&itemSequence

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <status>1</status>
    <newDate>2014-05-30T22:00:00Z</newDate>
</response>

of

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <status>1</status>
    <newDate>1409608800000</newDate>
</response>

of

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <errorCode></errorCode>
    <errorText>Verlengen niet mogelijk.</errorText>
    <status>2</status>
</response>

3.16. Voorbereiden van een reservering

POST /libraryaccounts/:id/preparehold
naam omschrijving verplicht

id

het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount)

verplicht

docNumber

het document nummer van te reserveren materiaal

verplicht

itemSequence

item sequence van het te reserveren materiaal

verplicht

subLib

filiaalcode

verplicht

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

response object met

status

status code:
1 = OK
2 = ERROR

errorCode

technische error code

errorText

DEPRECATED: gebruik errorTextNL, errorTextFR of errorTextEN

errorTextNL

NL foutboodschap die aan de gebruiker getoond kan worden.

errorTextFR

FR foutboodschap die aan de gebruiker getoond kan worden.

errorTextEN

EN foutboodschap die aan de gebruiker getoond kan worden.

pickupLocations

lijst van <pickuplocation,Pickuplocation> response objecten (optioneel)

totalReservationCosts

totale reserveringskosten (optioneel)

maxReservationDate

maximum reserverings datum (niet gedefinieerd String formaat)

introText

(DEPRECATED: gebruik introTextNL, introTextFR of introTextEN) boodschap voor de gebruiker over de reservering

introTextNL

NL boodschap voor de gebruiker over de reservering

introTextFR

FR boodschap voor de gebruiker over de reservering

introTextEN

EN boodschap voor de gebruiker over de reservering

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/2e406d8c-4ead-465d-ac56-e5e70b605a0c/preparehold
Content-Type: application/x-www-form-urlencoded
Accept: application/xml
Authorization: OAuth oauth_signature="hd3W9P%2Bn%2B0fIfuhZx1nnYSpVG8s%3D", oauth_version="1.0", oauth_nonce="caab8de5-df90-4149-8a6e-0a7e4cb6b4f2", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401437369"
docNumber=IP4276108&itemSequence=0

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <status>1</status>
</response>

3.17. Plaatsen van een reservering

POST /libraryaccounts/:id/hold
naam omschrijving verplicht

id

het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount)

verplicht

docNumber

het document nummer van te reserveren materiaal

verplicht

itemSequence

item sequence van het te reserveren materiaal

verplicht

pickupLocation

afhaalpunt (PBS code). gebruik waarde van subLib indien er geen afhaalocaties zijn in de prepareHold respons

verplicht

subLib

filiaalcode.

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

response object met

status

status code:
1 = OK
2 = ERROR 3 = ERROR_PICKUPLOCATION

errorCode

technische error code

errorText

DEPRECATED: gebruik errorTextNL, errorTextFR of errorTextEN

errorTextNL

NL foutboodschap die aan de gebruiker getoond kan worden.

errorTextFR

FR foutboodschap die aan de gebruiker getoond kan worden.

errorTextEN

EN foutboodschap die aan de gebruiker getoond kan worden.

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/2e406d8c-4ead-465d-ac56-e5e70b605a0c/hold
Content-Type: application/x-www-form-urlencoded
Accept: application/xml
Authorization: OAuth oauth_signature="hd3W9P%2Bn%2B0fIfuhZx1nnYSpVG8s%3D", oauth_version="1.0", oauth_nonce="caab8de5-df90-4149-8a6e-0a7e4cb6b4f2", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401437369"
docNumber=IP4276108&itemSequence=0

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <status>1</status>
</response>

3.18. Annuleren van een reservering

POST /libraryaccounts/:id/hold/cancel
naam omschrijving verplicht

id

het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount)

verplicht

docNumber

het document nummer van te reserveren materiaal

verplicht

itemSequence

item sequence van het te reserveren materiaal

verplicht

recNumber

request nummer van de reservering

verplicht

sequence

sequence van de reservering

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

response object met

status

status code:
1 = OK
2 = ERROR

errorCode

technical error code

errorText

DEPRECATED: gebruik errorTextNL, errorTextFR of errorTextEN

errorTextNL

NL foutboodschap die aan de gebruiker getoond kan worden.

errorTextFR

FR foutboodschap die aan de gebruiker getoond kan worden.

errorTextEN

EN foutboodschap die aan de gebruiker getoond kan worden.

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/2e406d8c-4ead-465d-ac56-e5e70b605a0c/hold/cancel
Content-Type: application/x-www-form-urlencoded
Accept: application/xml
Authorization: OAuth oauth_signature="hd3W9P%2Bn%2B0fIfuhZx1nnYSpVG8s%3D", oauth_version="1.0", oauth_nonce="caab8de5-df90-4149-8a6e-0a7e4cb6b4f2", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401437369"
docNumber=IP4276108&itemSequence=0&recNumber=1234&sequence=0

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <status>1</status>
</response>

3.19. Synchroniseer e-mail adres

POST /libraryaccounts/:id/emailsync
naam omschrijving verplicht

id

het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount)

verplicht

email

e-mail adres dat aangepast moet worden in het onderliggende system

verplicht

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

response object met

code

status code: “OK” if successful

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/2e406d8c-4ead-465d-ac56-e5e70b605a0c/emailsync
Content-Type: application/x-www-form-urlencoded
Accept: application/xml
Authorization: OAuth oauth_signature="hd3W9P%2Bn%2B0fIfuhZx1nnYSpVG8s%3D", oauth_version="1.0", oauth_nonce="caab8de5-df90-4149-8a6e-0a7e4cb6b4f2", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401437369"
email=johan%40bibnet.be

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
</response>

3.20. Weigeren van e-mail synchronisatie

POST /libraryaccounts/:id/declineemailsync
naam omschrijving verplicht

id

het ID van het bibliotheeklidmaatschap (opgelet: dit is niet het accountId, zie LibraryAccount)

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

response object met

code

status code: “OK” if successful

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/libraryaccounts/2e406d8c-4ead-465d-ac56-e5e70b605a0c/declineemailsync
Content-Type: application/x-www-form-urlencoded
Accept: application/xml
Authorization: OAuth oauth_signature="hd3W9P%2Bn%2B0fIfuhZx1nnYSpVG8s%3D", oauth_version="1.0", oauth_nonce="caab8de5-df90-4149-8a6e-0a7e4cb6b4f2", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401437369"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
</response>

3.21. Ophalen van welkomboodschappen

GET /user/:id/welcomemessages
naam omschrijving verplicht

id

ID van de gebruiker

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

response object met

welcomeMessages

lijst van WelcomeMessage response objecten

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/user/2e406d8c-4ead-465d-ac56-e5e70b605a0c/welcomemessages
Accept: application/xml
Authorization: OAuth oauth_signature="x8M6I34u6sJt48HkvYFpRaJPIY0%3D", oauth_version="1.0", oauth_nonce="64decdbe-e02d-4198-aab9-6bf56e6ea112", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401440591"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <welcomeMessages>
        <welcomeMessage>
            <id>4</id>
            <textNL>Dit is een test welkombooschap</textNL>
            <buttonTextNL>Sluiten</buttonTextNL>
            <textFR></textFR>
            <buttonTextFR></buttonTextFR>
            <textEN></textEN>
            <buttonTextEN></buttonTextEN>
            <closable>true</closable>
            <type>3</type>
            <version>1</version>
            <library>
                <id>2315</id>
                <name>Bibliotheek Ieper</name>
                <location></location>
                <street>Weverijstraat</street>
                <number>9</number>
                <zip>8900</zip>
                <city>Ieper</city>
                <cityPart>Ieper</cityPart>
                <profile>Ieper</profile>
                <lat>50.8562</lat>
                <lon>2.88498</lon>
                <telephone>057-23.94.20</telephone>
                <fax>057-23.94.29</fax>
                <website>http://www.ieper.be</website>
                <infoTextNL></infoTextNL>
                <infoTextFR></infoTextFR>
                <infoTextEN></infoTextEN>
                <krantenArchief></krantenArchief>
                <docUrlTemplate>${CATALOGURL}/resolver.ashx?doc_number=${DOCNR}</docUrlTemplate>
                <connectTextNL></connectTextNL>
                <connectTextFR></connectTextFR>
                <connectTextEN></connectTextEN>
                <mainPbsCode>OBIP</mainPbsCode>
                <usesPickupLocation>false</usesPickupLocation>
                <available>true</available>
                <cancelHoldPolicy>2</cancelHoldPolicy>
                <openingHours>
                    <friday>10:00-12:00 13:00-19:00</friday>
                    <monday>10:00-12:00 13:00-19:00</monday>
                    <saturday>09:00-12:00</saturday>
                    <sunday>-</sunday>
                    <thursday>10:00-12:00 13:00-19:00</thursday>
                    <tuesday>10:00-12:00 13:00-19:00</tuesday>
                    <wednesday>10:00-12:00 13:00-19:00</wednesday>
                </openingHours>
                <pbsCodes>
                    <code>OBIP/IPBZ</code>
                    <name>Uitleenpost Boezinge</name>
                    <afhaalpunt>true</afhaalpunt>
                </pbsCodes>
                <pbsCodes>
                    <code>OBIP/IPEV</code>
                    <name>Uitleenpost Elverdinge</name>
                    <afhaalpunt>true</afhaalpunt>
                </pbsCodes>
                <pbsCodes>
                    <code>OBIP/IPHB</code>
                    <name>Hoofdbibliotheek</name>
                    <afhaalpunt>true</afhaalpunt>
                </pbsCodes>
                <pbsCodes>
                    <code>OBIP/IPHL</code>
                    <name>Uitleenpost Hollebeke</name>
                    <afhaalpunt>true</afhaalpunt>
                </pbsCodes>
                <pbsCodes>
                    <code>OBIP/IPPH</code>
                    <name>Uitleenpost Posthoorn</name>
                    <afhaalpunt>true</afhaalpunt>
                </pbsCodes>
                <pbsCodes>
                    <code>OBIP/IPSA</code>
                    <name>Archief</name>
                    <afhaalpunt>true</afhaalpunt>
                </pbsCodes>
                <pbsCodes>
                    <code>OBIP/IPVT</code>
                    <name>Uitleenpost Vlamertinge</name>
                    <afhaalpunt>true</afhaalpunt>
                </pbsCodes>
                <pbsCodes>
                    <code>OBIP/IPVZ</code>
                    <name>Uitleenpost Voormezele</name>
                    <afhaalpunt>true</afhaalpunt>
                </pbsCodes>
                <pbsCodes>
                    <code>OBIP/IPZB</code>
                    <name>Uitleenpost Zillebeke</name>
                    <afhaalpunt>true</afhaalpunt>
                </pbsCodes>
                <pbsCodes>
                    <code>OBIP/MUIP</code>
                    <name>Musea</name>
                    <afhaalpunt>true</afhaalpunt>
                </pbsCodes>
                <pbsCodes>
                    <code>OBIP/SABK</code>
                    <name>Stedelijke academie</name>
                    <afhaalpunt>true</afhaalpunt>
                </pbsCodes>
                <pbs>
                    <id>7</id>
                    <name>PBS West-Vlaanderen</name>
                    <connectTextNL>uitleg PBS West-Vlaanderen</connectTextNL>
                    <connectTextFR></connectTextFR>
                    <connectTextEN></connectTextEN>
                </pbs>
                <provincie>
                    <id>1</id>
                    <name>Provincie West-Vlaanderen</name>
                </provincie>
                <catalog>http://ieper.bibliotheek.be</catalog>
                <name2></name2>
                <email>bibliotheek@ieper.be</email>
            </library>
            <modificationDate>2014-05-30T09:02:45Z</modificationDate>
            <disabled>false</disabled>
        </welcomeMessage>
    </welcomeMessages>
</response>

3.22. Markeren van een welkomboodschap als gelezen

GET /user/:id/readwelcomemessage/:msgId
naam omschrijving verplicht

id

ID van de gebruiker

verplicht

msgId

ID van de gebruiker

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

response object met

code

status code: “OK” in geval van succes.

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/user/2e406d8c-4ead-465d-ac56-e5e70b605a0c/readwelcomemessage/4
Accept: application/xml
Authorization: OAuth oauth_signature="m0el45OStTpiq81hIMxh9t2Hpwg%3D", oauth_version="1.0", oauth_nonce="554dbe1a-5b77-41b7-b2f4-ee9883e780af", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401440887"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
</response>

3.23. Ophalen van bibliotheken van een gebruiker.

Geeft een lijst terug van alle bibliotheken waarvan de gebruiker minstens 1 actief (niet geblokkeerd en niet verlopen) lidmaatschap heeft gekoppeld, inclusief het veld "aantallidmaatschappen" dat aangeeft hoeveel lidmaatschappen er gekoppeld zijn per bibliotheek.

GET /library/list
naam omschrijving verplicht

uid

ID van de gebruiker

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

response object met

libraries

lijst van SimpleLibrary response objecten, met daarin per bibliotheek het aantal gekoppelde lidmaatschappen

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/library/list?uid=2e406d8c-4ead-465d-ac56-e5e70b605a0c
Accept: application/xml
Authorization: OAuth oauth_signature="m0el45OStTpiq81hIMxh9t2Hpwg%3D", oauth_version="1.0", oauth_nonce="554dbe1a-5b77-41b7-b2f4-ee9883e780af", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401440887"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:ns3="http://www.w3.org/1999/02/22-rdf-syntax-ns">
    <total>2</total>
    <libraries>
        <library>
            <id>2030</id>
            <naam>Bibliotheek Brasschaat</naam>
            <gemeente>Brasschaat</gemeente>
            <aantallidmaatschappen>1</aantallidmaatschappen>
        </library>
        <library>
            <id>2122</id>
            <naam>Bibliotheek Koksijde</naam>
            <gemeente>Koksijde</gemeente>
            <aantallidmaatschappen>3</aantallidmaatschappen>
        </library>
    </libraries>
</response>

3.24. Ophalen van bibliotheken van een gebruiker en online collectie

Geeft een lijst terug van alle bibliotheken waarvan de gebruiker minstens 1 actief (niet geblokkeerd en niet verlopen) lidmaatschap heeft gekoppeld dat recht geeft op een bepaalde online collectie, inclusief het veld "aantallidmaatschappen" dat aangeeft hoeveel lidmaatschappen met recht op de online collectie er gekoppeld zijn per bibliotheek.

GET /library/list
naam omschrijving verplicht

uid

ID van de gebruiker

verplicht

consumerKey

consumer key van de online collectie

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

response object met

libraries

a Lijst van SimpleLibrary response objecten

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/library/list?uid=2e406d8c-4ead-465d-ac56-e5e70b605a0c&consumerKey=7df4f5b13ef134c9a07178d3e49a9f64
Accept: application/xml
Authorization: OAuth oauth_signature="m0el45OStTpiq81hIMxh9t2Hpwg%3D", oauth_version="1.0", oauth_nonce="554dbe1a-5b77-41b7-b2f4-ee9883e780af", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401440887"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:ns3="http://www.w3.org/1999/02/22-rdf-syntax-ns">
    <total>1</total>
    <libraries>
        <library>
            <id>2122</id>
            <naam>Bibliotheek Koksijde</naam>
            <gemeente>Koksijde</gemeente>
            <aantallidmaatschappen>2</aantallidmaatschappen>
        </library>
    </libraries>
</response>

4. Online collectie specifieke resources

4.1. Ophalen van online collectie met zijn ID

GET /subscription/id/:subscriptionId
naam omschrijving verplicht

id

de ID van de gebruiker

verplicht

subscriptionId

de ID van de subscription

verplicht

Autorisatie

OAuth: consumer request (2-legged OAuth)

Response

Subscription response object

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

404

subscription niet gevonden

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/subscription/id/3
Accept: application/xml
Authorization: OAuth oauth_signature="snQHSgmSEoMT4puCwECDgLIXuh0%3D", oauth_version="1.0", oauth_nonce="2ce20a71-8068-4d8c-ad5e-53c6b7c6e89e", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="", oauth_timestamp="1400851282"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <subscription>
    <consumerKey>5d5471cfdbd3e6b2bce42136e00e08cc</consumerKey>
    <consumerPageMessage>Je hebt geen toegang tot het Gopress Krantenarchief, want de bibliotheek waar je lid van bent heeft geen abonnement op Gopress of je lidmaatschap is niet langer geldig. Volgende bibliotheken hebben wel een abonnement:</consumerPageMessage>
    <descriptionEN></descriptionEN>
    <descriptionFR></descriptionFR>
    <descriptionNL>Hier moet een beschrijving van Mediargus komen <a href="#">Lees meer...</a></descriptionNL>
    <id>3</id>
    <name>Gopress Krantenarchief</name>
  </subscription>

4.2. Ophalen van online collectie met zijn consumer key

GET /subscription/key/:key
naam omschrijving verplicht

id

de ID van de gebruiker

verplicht

key

de consumer key van de subscription

verplicht

Autorisatie

OAuth: consumer request (2-legged OAuth)

Response

Subscription response object

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

404

subscription niet gevonden

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/subscription/key/5d5471cfdbd3e6b2bce42136e00e08cc
Accept: application/xml
Authorization: OAuth oauth_signature="snQHSgmSEoMT4puCwECDgLIXuh0%3D", oauth_version="1.0", oauth_nonce="2ce20a71-8068-4d8c-ad5e-53c6b7c6e89e", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="", oauth_timestamp="1400851282"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <subscription>
    <consumerKey>5d5471cfdbd3e6b2bce42136e00e08cc</consumerKey>
    <consumerPageMessage>Je hebt geen toegang tot het Gopress Krantenarchief, want de bibliotheek waar je lid van bent heeft geen abonnement op Gopress of je lidmaatschap is niet langer geldig. Volgende bibliotheken hebben wel een abonnement:</consumerPageMessage>
    <descriptionEN></descriptionEN>
    <descriptionFR></descriptionFR>
    <descriptionNL>Hier moet een beschrijving van Mediargus komen <a href="#">Lees meer...</a></descriptionNL>
    <id>3</id>
    <name>Gopress Krantenarchief</name>
  </subscription>

4.3. Controleren van gebruikersrechten op een bepaalde online collectie

GET /permissions/user/:userId/consumer/:consumerKey/read
naam omschrijving verplicht

userId

ID van de gebruiker

verplicht

consumerKey

consumer key van de online collectie

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

response object met

code

Status code van deze response. “OK” indien de gebruiker de opgegeven permission bezit bij de opgegeven consumer

message

Beschrijving van een eventuele fout

reasonFailed

Enkel ingevuld indien code = “FAIL”
Mogelijke waarden:
* NO_MEMBERSHIP: indien de gebruiker geen lidmaatschap heeft bij een bibliotheek die recht geeft op de online collectie
* BLOCKED: indien de gebruiker wel een lidmaatschap heeft dat recht geeft op de online collectie, maar het lidmaatschap is geblokkeerd
* EXPIRED: indien de gebruiker wel een lidmaatschap heeft dat recht geeft op de online collectie, maar het lidmaatschap is verlopen

Opmerking: Je kan ook met een token van consumer A en user X, checken of user X rechten heeft op een consumer B (waarbij consumer B al een parameter was in die API request).

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/permissions/user/6a1d6663-89ae-473c-9ed0-7fe0e88a7592/consumer/ef416662dc0fb1dc95b6fbbe32269800/read
Accept: application/xml
Authorization: OAuth oauth_signature="m0el45OStTpiq81hIMxh9t2Hpwg%3D", oauth_version="1.0", oauth_nonce="554dbe1a-5b77-41b7-b2f4-ee9883e780af", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401440887"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
</response>

of

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>FAIL</code>
    <reasonFailed>BLOCKED</reasonFailed>
</response>

4.4. Controleren van IP rechten op een bepaalde online collectie

GET /permissions/ip/consumer/:consumerKey/read
naam omschrijving verplicht

consumerKey

consumer key van de online collectie

verplicht

ip

IP adres dat gecontroleerd moet worden

verplicht

Autorisatie

OAuth: consumer request (2-legged OAuth)

Response

response object met

code

Status code van deze response. “OK” indien het IP adres de opgegeven permission bezit bij de opgegeven consumer

message

Beschrijving van een eventuele fout

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/permissions/ip/consumer/ef416662dc0fb1dc95b6fbbe32269800/read?ip=10.11.12.13
Accept: application/xml
Authorization: OAuth oauth_signature="m0el45OStTpiq81hIMxh9t2Hpwg%3D", oauth_version="1.0", oauth_nonce="554dbe1a-5b77-41b7-b2f4-ee9883e780af", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401440887"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
</response>

4.5. Aanmaken eenmalige toegangscode voor online collectie

Met deze request kan een consumer een eenmalige toegangscode ophalen voor een bepaalde online collectie. Hiervoor gebruikt de consumer een user access token van de gebruiker die toegang wenst te krijgen. De toegangscode kan vervolgens door de online collectie gebruikt worden om de toegang te controleren en om de identiteit van de gebruiker te achterhalen. Zie ook Validatie eenmalige toegangscode voor online collectie

POST /onlinecollection/access
naam omschrijving verplicht

collectionKey

key van de online collectie

verplicht

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker waarvoor de toegangscode bestemd is.

Response

response object met

code

Status code van deze response. “OK” indien de gebruiker de opgegeven permission bezit bij de opgegeven online collection

accessCode

eenmalige toegangscode voor de gebruiker op de online collectie. Enkel ingevuld indien code = "OK"

message

Beschrijving van een eventuele fout

reasonFailed

Enkel ingevuld indien code = “FAIL”
Mogelijke waarden:
* NO_MEMBERSHIP: indien de gebruiker geen lidmaatschap heeft bij een bibliotheek die recht geeft op de online collectie
* BLOCKED: indien de gebruiker wel een lidmaatschap heeft dat recht geeft op de online collectie, maar het lidmaatschap is geblokkeerd
* EXPIRED: indien de gebruiker wel een lidmaatschap heeft dat recht geeft op de online collectie, maar het lidmaatschap is verlopen

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/onlinecollection/access
collectionKey=11f4f5b13ef134c9a07178d3e49a9f22
Accept: application/xml
Authorization: OAuth oauth_signature="m0el45OStTpiq81hIMxh9t2Hpwg%3D", oauth_version="1.0", oauth_nonce="554dbe1a-5b77-41b7-b2f4-ee9883e780af", oauth_consumer_key="7df4f5b13ef134c9a07178d3e49a9f64", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401440887"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
    <accessCode>95044274adfc41fd8b1fc3ebb942af3a</accessCode>
</response>

of

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>FAIL</code>
    <reasonFailed>BLOCKED</reasonFailed>
</response>

4.6. Validatie eenmalige toegangscode voor online collectie

GET /onlinecollection/access/:code

Waarbij :code de eenmalige toegangscode van de gebruiker is.

Resource URL

https://mijn.bibliotheek.be/openbibid/rest/onlinecollection/access/:code

Parameters

geen

Autorisatie

OAuth - consumer request van een online collection consumer

Response

response object met

code

Status code van deze response. Mogelijke waarden:
* ACCESS_CODE_VALID: indien toegangscode OK is. In dit geval zullen de velden uid en email ook ingevuld zijn * ACCESS_CODE_NOT_FOUND: indien de toegangscode niet gevoden * ACCESS_CODE_ALREADY_USED: indien toegangscode reeds gebuikt werd * ACCESS_CODE_EXPIRED: indien toegangscode verlopen is * INVALID_COLLECTION: indien de toegangscode niet voor de online collectie werd gemaakt die nu gebruikt wordt om de code te valideren

uid

uid van de gebruiker die toegang heeft tot de online collectie

email

e-mailadres van de gebruiker die toegang heeft tot de online collectie

Errors
HTTP status code reden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/onlinecollection/access/95044274adfc41fd8b1fc3ebb942af3a
Accept: application/xml
Authorization: OAuth oauth_signature="m0el45OStTpiq81hIMxh9t2Hpwg%3D", oauth_version="1.0", oauth_nonce="554dbe1a-5b77-41b7-b2f4-ee9883e780af", oauth_consumer_key="11f4f5b13ef134c9a07178d3e49a9f22", oauth_signature_method="HMAC-SHA1", oauth_token="39fa80341421f73f04fd7d96b699c836", oauth_timestamp="1401440887"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>ACCESS_CODE_VALID</code>
    <uid>dcc9a44c-952a-4a5f-aef5-f636006388ad</uid>
    <email>test@mail.com</email>
</response>

of

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>ACCESS_CODE_ALREADY_USED</code>
</response>

5. Gebruikers lijstjes

5.1. Aanmaken van een gebruikerslijstje

POST /list
naam omschrijving verplicht

title

de titel van het lijstje

verplicht

description

de omschrijving van het lijstje

optioneel

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Response object met

code

response code, met waarde OK indien het aanmaken lukte

list

List object van de aangemaakte lijst

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/user/list
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"
title=API+created+list&description=description+API

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
    <list>
        <id>160</id>
        <title>API created list</title>
        <creationDate>1516109140161</creationDate>
        <modificationDate>1516109140161</modificationDate>
        <shared>false</shared>
        <description>description API</description>
        <count>0</count>
        <authorNick>foobar</authorNick>
        <authorUid>dcc9a44c-952a-4a5f-aef5-f636006388ad</authorUid>
    </list>
</response>

5.2. Ophalen van een gebruikerslijstje

GET /list/:id
naam omschrijving verplicht

id

de ID van het lijstje

verplicht

includeItems

de response zal ook de items bevatten indien true

optioneel

sort

sortering van de items. mogelijke waarden: creationDate (default), title, year

optioneel

order

volgorde van de items. mogelijke waarden: asc (default), desc

optioneel

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker of consumer request (2-legged OAuth) (enkel voor gedeelde lijstjes)

Response

Response object met

code

response code, met waarde OK indien het ophalen lukte

list

List object van de opgehaalde lijst

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/user/list/160
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
    <list>
        <id>160</id>
        <title>API created list</title>
        <creationDate>1516109140161</creationDate>
        <modificationDate>1516109140161</modificationDate>
        <shared>false</shared>
        <description>desciption API</description>
        <count>0</count>
        <authorNick>foobar</authorNick>
        <authorUid>dcc9a44c-952a-4a5f-aef5-f636006388ad</authorUid>
    </list>
</response>

5.3. Aanpassen van een gebruikerslijstje

POST /list/:id
naam omschrijving verplicht

id

de ID van het lijstje

verplicht

title

de titel van het lijstje

optioneel

shared

true=het lijstje is gedeeld of false=het lijstje is niet gedeeld

optioneel

description

de omschrijving van het lijstje

optioneel

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Response object met

code

response code, met waarde OK indien het aanmaken lukte

list

List object van de aangemaakte lijst

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/user/list
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"
shared=false&title=API+Updated+List&description=API+Updated+description

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
    <list>
        <id>160</id>
        <title>API Updated List</title>
        <creationDate>1516109140161</creationDate>
        <modificationDate>1516109297776</modificationDate>
        <shared>false</shared>
        <description>API Updated description</description>
        <count>0</count>
        <authorNick>foobar</authorNick>
        <authorUid>dcc9a44c-952a-4a5f-aef5-f636006388ad</authorUid>
    </list>
</response>

5.4. Aanpassen van de item volgorde van gebruikerslijstje

POST /list/:id/order
naam omschrijving verplicht

id

de ID van het lijstje

verplicht

order

ID’s van de items in de nieuwe volgorde, gescheiden door een komma

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Response object met

code

response code, met waarde OK indien het aanpassen lukte

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/user/list/160/order
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"
order=1014,1013

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
</response>

5.5. Aanpassen van de score van een lijstitem

POST /list/:id/:itemid/score
naam omschrijving verplicht

id

de ID van het lijstje

verplicht

itemid

de ID van het item in het lijstje

verplicht

score

nieuwe score van het item: getal tussen 1 en 5

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Response object met

code

response code, met waarde OK indien het aanpassen lukte

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/user/list/1/32/score
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"
score=4

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
</response>

5.6. Aanpassen van de status van een lijstitem

POST /list/:id/:itemid/status
naam omschrijving verplicht

id

de ID van het lijstje

verplicht

itemid

de ID van het item in het lijstje

verplicht

status

nieuwe status van het item: 1 = ongelezen; 2 = gelezen

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Response object met

code

response code, met waarde OK indien het aanpassen lukte

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/user/list/1/32/score
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"
status=2

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
</response>

5.7. Opzoeken van items in de catalogus

GET /list/catalog/items
naam omschrijving verplicht

libraryId

de BIOS ID van de bibliotheek

verplicht

itemId

de ID van het op te zoeken item. deze parameter kan herhaald worden.

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

Autorisatie

OAuth - consumer request (2-legged OAuth)

Response

Response object met

code

response code, met waarde OK indien het ophalen lukte

items

Lijst van Item objecten van de gevonden item(s)

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/user/list/catalog/items?libraryId=2328&logSessionId&itemId=%7Clibrary/v/pbswinob%7C1696103
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
    <items>
        <item>
            <id>0</id>
            <externalId>|library/v/pbswinob|1696103</externalId>
            <title>Harry Potter en de vuurbeker</title>
            <shortTitle>Harry Potter en de vuurbeker</shortTitle>
            <author>J.K. Rowling</author>
            <format>Boek</format>
            <publisher>De Harmonie</publisher>
            <year>2006</year>
            <cover>https://webservices.bibliotheek.be/index.php?func=cover&ISBN=9789076174198&VLACCnr=6785588&CDR=&EAN=&ISMN=&coversize=small</cover>
            <creationDate>0</creationDate>
            <position>0</position>
            <status>0</status>
            <score>0</score>
            <catalogUrl>http://zoeken.waregem.bibliotheek.be</catalogUrl>
            <libraryDisplayName>Bibliotheek Waregem</libraryDisplayName>
            <libraryId>2328</libraryId>
        </item>
    </items>
</response>

5.8. Item toevoegen aan een lijst

POST /list/:id/additem
naam omschrijving verplicht

id

de ID van het lijstje

verplicht

itemId

de externalId van het item om toe te voegen. kan herhaald worden om meerdere tegelijk toe te voegen

verplicht

status

nieuwe status van de items: 1 = ongelezen; 2 = gelezen

verplicht

libraryId

de BIOS ID van de bibliotheek

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Response object met

code

response code, met waarde OK indien het aanpassen lukte

items

array van de succesvol toegevoegde items. Indien deze array leeg is, werd geen enkel item succesvol toegevoegd aan de lijst.

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/user/list/1/additem
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"
libraryId=2328&status=1&itemId=%7Clibrary%2Fv%2Fpbswinob%7C1696103&itemId=%7Clibrary%2Fv%2Fpbswinob%7C4630087

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
    <items>
        <item>
            <id>1013</id>
            <externalId>|library/marc/vlacc|6785588</externalId>
            <title>Harry Potter en de vuurbeker</title>
            <shortTitle>Harry Potter en de vuurbeker</shortTitle>
            <author>J.K. Rowling</author>
            <format>Boek</format>
            <publisher>De Harmonie</publisher>
            <year>2006</year>
            <cover>https://webservices.bibliotheek.be/index.php?func=cover&ISBN=9789076174198&VLACCnr=6785588&CDR=&EAN=&ISMN=&coversize=small</cover>
            <creationDate>1516109691364</creationDate>
            <position>0</position>
            <status>1</status>
            <score>0</score>
            <catalogUrl>http://zoeken.waregem.bibliotheek.be</catalogUrl>
            <libraryDisplayName>Bibliotheek Waregem</libraryDisplayName>
            <libraryId>2328</libraryId>
        </item>
        <item>
            <id>1014</id>
            <externalId>|library/marc/vlacc|9668318</externalId>
            <title>Harry Potter en de steen der wijzen</title>
            <shortTitle>Harry Potter en de steen der wijzen</shortTitle>
            <author>J.K. Rowling</author>
            <format>Boek</format>
            <publisher>De Harmonie</publisher>
            <year>2015</year>
            <cover>https://webservices.bibliotheek.be/index.php?func=cover&ISBN=9789076174105&VLACCnr=9668318&CDR=&EAN=&ISMN=&coversize=small</cover>
            <creationDate>1516109691592</creationDate>
            <position>0</position>
            <status>1</status>
            <score>0</score>
            <catalogUrl>http://zoeken.waregem.bibliotheek.be</catalogUrl>
            <libraryDisplayName>Bibliotheek Waregem</libraryDisplayName>
            <libraryId>2328</libraryId>
        </item>
    </items>
</response>

5.9. Verwijderen van een item uit een lijst

POST /list/:id/:itemid/delete
naam omschrijving verplicht

id

de ID van het lijstje

verplicht

itemid

de ID van het item in het lijstje

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Response object met

code

response code, met waarde OK indien het aanpassen lukte

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/user/list/1/32/delete
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
</response>

5.10. Verwijderen van een lijst

POST /list/:id/delete
naam omschrijving verplicht

id

de ID van het lijstje

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Response object met

code

response code, met waarde OK indien het aanpassen lukte

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/user/list/1/delete
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
</response>

5.11. Ophalen van de items in een lijst

GET /list/:id/items
naam omschrijving verplicht

id

de ID van de lijst

verplicht

sort

sortering van de items. mogelijke waarden: position (default), creationDate, title, year

optioneel

order

volgorde van de items. mogelijke waarden: asc (default), desc

optioneel

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

Autorisatie

OAuth - consumer request (2-legged OAuth)

Response

Response object met

code

response code, met waarde OK indien het ophalen lukte

items

Lijst van ListItem objecten

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/user/list/160/items
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
    <items>
        <item>
            <id>1013</id>
            <externalId>|library/marc/vlacc|6785588</externalId>
            <title>Harry Potter en de vuurbeker</title>
            <shortTitle>Harry Potter en de vuurbeker</shortTitle>
            <author>J.K. Rowling</author>
            <format>Boek</format>
            <publisher>De Harmonie</publisher>
            <year>2006</year>
            <cover>https://webservices.bibliotheek.be/index.php?func=cover&ISBN=9789076174198&VLACCnr=6785588&CDR=&EAN=&ISMN=&coversize=small</cover>
            <creationDate>1516109691364</creationDate>
            <position>0</position>
            <status>1</status>
            <score>0</score>
            <catalogUrl>http://zoeken.waregem.bibliotheek.be</catalogUrl>
            <libraryDisplayName>Bibliotheek Waregem</libraryDisplayName>
            <libraryId>2328</libraryId>
        </item>
        <item>
            <id>1014</id>
            <externalId>|library/marc/vlacc|9668318</externalId>
            <title>Harry Potter en de steen der wijzen</title>
            <shortTitle>Harry Potter en de steen der wijzen</shortTitle>
            <author>J.K. Rowling</author>
            <format>Boek</format>
            <publisher>De Harmonie</publisher>
            <year>2015</year>
            <cover>https://webservices.bibliotheek.be/index.php?func=cover&ISBN=9789076174105&VLACCnr=9668318&CDR=&EAN=&ISMN=&coversize=small</cover>
            <creationDate>1516109691592</creationDate>
            <position>0</position>
            <status>1</status>
            <score>0</score>
            <catalogUrl>http://zoeken.waregem.bibliotheek.be</catalogUrl>
            <libraryDisplayName>Bibliotheek Waregem</libraryDisplayName>
            <libraryId>2328</libraryId>
        </item>
    </items>
</response>

5.12. Ophalen van de lijsten van een gebruiker

GET /list
naam omschrijving verplicht

sort

sortering van de lijsten. mogelijke waarden: title (default), creationDate

optioneel

order

volgorde van de sortering: asc (default), desc

optioneel

includeItems

boolean. indien true, dan worden de items van de lijsten ook opgenomen in de response

optioneel

itemSort

sortering van de items. mogelijke waarden: creationDate (default), title, year

optioneel

itemOrder

volgorde van de items. mogelijke waarden: asc (default), desc

optioneel

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

Autorisatie

OAuth - consumer request (2-legged OAuth)

Response

Response object met

code

response code, met waarde OK indien het ophalen lukte

lists

Lijst van List objecten

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/user/list
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
    <lists>
        <list>
            <id>160</id>
            <title>API Updated List</title>
            <creationDate>1516109140161</creationDate>
            <modificationDate>1516109297776</modificationDate>
            <shared>false</shared>
            <description>API Updated description</description>
            <count>2</count>
            <authorNick>foobar</authorNick>
            <authorUid>dcc9a44c-952a-4a5f-aef5-f636006388ad</authorUid>
        </list>
        <list>
            <id>75</id>
            <title>Heel lang lijstje</title>
            <creationDate>1461244030471</creationDate>
            <modificationDate>1461244030471</modificationDate>
            <shared>false</shared>
            <description></description>
            <count>111</count>
            <authorNick>foobar</authorNick>
            <authorUid>dcc9a44c-952a-4a5f-aef5-f636006388ad</authorUid>
        </list>
      </lists>
</response>

5.13. Exporteren van een gebruikerslijstje in PDF

GET /list/:id/export.pdf
naam omschrijving verplicht

id

de ID van het lijstje

verplicht

privacy

public (default) of private. bij private lijstjes zitten extra velden in de export. bij "private" moet een user access token gebruikt worden. bij "public" moet het lijstje gedeeld zijn

optioneel

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker of consumer request (2-legged OAuth) (enkel voor gedeelde lijstjes)

Response

data in formaat application/pdf

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/user/list/160/export.pdf
Accept: application/pdf
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"

Response:

%PDF-1.4
%����
1 0 obj
<<
/Type /Catalog
/Version /1.4
/Pages 2 0 R
....

5.14. Exporteren van een gebruikerslijstje in CSV

GET /list/:id/export.csv
naam omschrijving verplicht

id

de ID van het lijstje

verplicht

privacy

public (default) of private. bij private lijstjes zitten extra velden in de export. bij "private" moet een user access token gebruikt worden. bij "public" moet het lijstje gedeeld zijn

optioneel

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker of consumer request (2-legged OAuth) (enkel voor gedeelde lijstjes)

Response

data in formaat text/csv

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/user/list/160/export.csv
Accept: text/csv
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"

Response:

"Titel";"Auteur";"Uitgever";"Jaar";"Formaat";"Status";"Catalogus URL";
"Harry Potter en de halfbloed prins";"J.K. Rowling";"De Harmonie";"2011";"Boek";"te lezen";"http://zoeken.aalst.bibliotheek.be?itemid=|library/marc/vlacc|7916530";
"Harry Potter en de geheime kamer";"J.K. Rowling";"De Harmonie";"2006";"Boek";"te lezen";"http://zoeken.waregem.bibliotheek.be?itemid=|library/marc/vlacc|6809552";

6. Gebruikers berichten

Important
De Berichten API is een nieuwe API die alle berichten voor een gebruiker bundelt in één request.

6.1. Ophalen van de berichten van een gebruiker

Dit end-points laat toe om alle nieuwe en gelezen (status NEW en READ) berichten van een gebruiker op te halen.

GET /usermessage/{userId}
naam omschrijving verplicht

userId

(path parameter) de UID van de gebruiker waarvoor de berichten opgehaald worden

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Response object met

code

response code, met waarde OK indien het aanmaken lukte

userMessages

Lijst van alle UserMessages van de gebruiker

countRead

het aantal berichten in status READ

countNew

het aantal berichten in status NEW

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/usermessage/e5d4bb46-fca3-48b0-bc76-18489bd9bbb0
Accept: application/xml

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <countNew>1</countNew>
    <countRead>1</countRead>
    <userMessages>
        <userMessage>
            <id>567822</id>
            <subjectNL>Dit is een test onderwerp</subjectNL>
            <subjectFR></subjectFR>
            <subjectEN></subjectEN>
            <textNL>Dit is een testbericht</textNL>
            <textFR></textFR>
            <textEN></textEN>
            <status>NEW</status>
            <creationDate>2018-01-18T09:01:37Z</creationDate>
            <modificationDate>2018-01-18T09:42:29Z</modificationDate>
            <library>
                <id>2248</id>
                <naam>Bibliotheek Aalst</naam>
                <gemeente>Aalst</gemeente>
            </library>
        </userMessage>
        <userMessage>
            <id>567822</id>
            <subjectNL>Dit is een test onderwerp</subjectNL>
            <subjectFR></subjectFR>
            <subjectEN></subjectEN>
            <textNL>Dit is een testbericht</textNL>
            <textFR></textFR>
            <textEN></textEN>
            <status>READ</status>
            <creationDate>2018-01-18T08:01:37Z</creationDate>
            <modificationDate>2018-01-18T08:42:29Z</modificationDate>
            <library>
                <id>2199</id>
                <naam>Bibliotheek Leuven</naam>
                <gemeente>Leuven</gemeente>
            </library>
        </userMessage>
    </userMessages>
</response>

6.2. Aanpassen van de status van een bericht

POST /usermessage/status/:id
naam omschrijving verplicht

id

de ID van het bericht

verplicht

status

nieuwe status van het item: NEW, READ, ARCHIVED

verplicht

logSessionId

ID van een mogelijke gebruikerssessie (gebruikt voor logging/rapportering)

optioneel

POST parameters must be application/x-www-form-urlencoded

Autorisatie

OAuth - gebruik makende van een UserAccessToken van de gebruiker

Response

Response object met

code

response code, met waarde OK indien het aanpassen lukte

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/usermessage/status/58934
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"
status=READ

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <code>OK</code>
</response>

7. Bibliotheek lijstjes

7.1. Zoeken van bibliotheek lijstjes

GET /mblist/2/search
naam omschrijving verplicht

q

zoekveld. De API zal zoeken of de q parameter voorkomt in een deel van de lijst titel.

optioneel

catalog

URL van de catalogus. Bv: http://zoeken.gent.bibliotheek.be. Indien opgegeven wordt enkel gezocht binnen de lijstjes van de opgegeven bibliotheek.

optioneel

libraryId

BIOS ID van de bibliotheek. Indien opgegeven worden enkel lijstjes van deze bibliotheek gezocht

optioneel

start

int. startpositie van de resultaten. default 0

optioneel

max

int. max aantal lijstjes in de response. default 10

optioneel

Autorisatie

OAuth - consumer request (2-legged OAuth)

Response

Response object met

lists

Lijst van BibList objecten

total

totaal aantal gevonden lijstjes

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/mblist/2/search?libraryId=9002
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"

Response:

<?xml version="1.0" encoding="UTF-8"?>
<response>
   <total>8</total>
   <lists>
      <list>
         <id>24</id>
         <viewUrl>http://testurl/LIST/24</viewUrl>
         <apiUrl>http://staging-mijn.bibliotheek.be/list/api/24</apiUrl>
         <title>Diapason d'Or januari 2015</title>
      </list>
      <list>
         <id>133</id>
         <viewUrl>http://testurl/LIST/133</viewUrl>
         <apiUrl>http://staging-mijn.bibliotheek.be/list/api/133</apiUrl>
         <title>Elvis lijst</title>
      </list>
      <list>
         <id>14</id>
         <viewUrl>http://testurl/LIST/14</viewUrl>
         <apiUrl>http://staging-mijn.bibliotheek.be/list/api/14</apiUrl>
         <title>Harry Potter Lijst</title>
      </list>
      <list>
         <id>18</id>
         <viewUrl>http://testurl/LIST/18</viewUrl>
         <apiUrl>http://staging-mijn.bibliotheek.be/list/api/18</apiUrl>
         <title>Literaire Canon</title>
      </list>
      <list>
         <id>149</id>
         <viewUrl>http://testurl/LIST/149</viewUrl>
         <apiUrl>http://staging-mijn.bibliotheek.be/list/api/149</apiUrl>
         <title>Religie en passie (test FVV)</title>
      </list>
      <list>
         <id>6</id>
         <viewUrl>http://testurl/LIST/6</viewUrl>
         <apiUrl>http://staging-mijn.bibliotheek.be/list/api/6</apiUrl>
         <title>Testlijst Bibnet Johan</title>
      </list>
      <list>
         <id>30</id>
         <viewUrl>http://testurl/LIST/30</viewUrl>
         <apiUrl>http://staging-mijn.bibliotheek.be/list/api/30</apiUrl>
         <title>TOP 25 Verborgen parels Bibliotheekcampagne 2015</title>
      </list>
      <list>
         <id>7</id>
         <viewUrl>http://testurl/LIST/7</viewUrl>
         <apiUrl>http://staging-mijn.bibliotheek.be/list/api/7</apiUrl>
         <title>Urban Woorden: boeken over 'urban culture'</title>
      </list>
   </lists>
</response>

7.2. Detail van een bibliotheek lijstje ophalen

GET /mblist/:id

Waarbij :id de ID van het lijstje is.

Resource URL

https://mijn.bibliotheek.be/openbibid/rest/mblist/:id

Parameters

geen

Autorisatie

OAuth - consumer request (2-legged OAuth)

Response

BibList response object inclusief items

Errors
HTTP status code reden

400

bad request

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

GET https://mijn.bibliotheek.be/openbibid/rest/mblist/123
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<list>
    <id>123</id>
    <viewUrl>https://mijn.bibliotheek.be/list/view/123</viewUrl>
    <apiUrl>https://mijn.bibliotheek.be/list/2/api/304</apiUrl>
    <adminUrl>https://mijn.bibliotheek.be/openbibid/rest/libadmin/2199/mblist/edit/304</adminUrl>
    <title>TEST1</title>
    <items>
        <item>
            <id>2698</id>
            <externalId>|library/marc/vlacc|9953951</externalId>
            <frabl>A6B43F3EBF1ACA0</frabl>
            <title>Harry Potter en de vuurbeker</title>
            <shortTitle>Harry Potter en de vuurbeker</shortTitle>
            <author>J.K. Rowling</author>
            <format>Boek</format>
            <publisher>De Harmonie</publisher>
            <year>2016</year>
            <cover>https://webservices.bibliotheek.be/index.php?func=cover&ISBN=9789076174204&VLACCnr=9953951&CDR=&EAN=&ISMN=&coversize=medium</cover>
            <position>0</position>
            <status>1</status>
            <creationDate>2018-10-04T08:02:46Z</creationDate>
        </item>
        <item>
            <id>2699</id>
            <externalId>|library/marc/vlacc|9501647</externalId>
            <frabl>271491F496F1ACA7</frabl>
            <title>Harry Potter and the Order of the Phoenix</title>
            <shortTitle>Harry Potter and the Order of the Phoenix</shortTitle>
            <author>J.K. Rowling</author>
            <format>Boek</format>
            <publisher>Bloomsbury</publisher>
            <year>2014</year>
            <cover>https://webservices.bibliotheek.be/index.php?func=cover&ISBN=9781408855690&VLACCnr=9501647&CDR=&EAN=&ISMN=&coversize=medium</cover>
            <position>0</position>
            <status>1</status>
            <creationDate>2018-10-04T09:02:43Z</creationDate>
        </item>
    </items>
</list>

7.3. Nieuw bibliotheek lijstje aanmaken

POST /mblist/addlist
naam omschrijving verplicht

libraryId

BIOS ID van de bibliotheek.

verplicht

title

Titel van het nieuwe lijstje

verplicht

itemId

ID van het item om toe te voegen op het lijstje. De parameter kan herhaald worden om meerdere items toe te voegen

optioneel

Autorisatie

OAuth - consumer request (2-legged OAuth)

Response

BibList response object inclusief de toegevoegde items.

Errors
HTTP status code reden

400

bad request: bij ontbrekede parameters of indien 1 van de itemId’s niet gevonden kon worden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/mblist/addlist
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"
libraryId=2199&title=TEST23&itemId=%7Clibrary%2Fmarc%2Fvlacc%7C9953951%0A%0A%0A%0A&itemId=%7Clibrary%2Fmarc%2Fvlacc%7C9501647%0A%0A%0A%0A

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<list>
    <id>124</id>
    <viewUrl>https://mijn.bibliotheek.be/list/view/123</viewUrl>
    <apiUrl>https://mijn.bibliotheek.be/list/2/api/304</apiUrl>
    <adminUrl>https://mijn.bibliotheek.be/openbibid/rest/libadmin/2199/mblist/edit/304</adminUrl>
    <title>TEST2</title>
    <items>
        <item>
            <id>2698</id>
            <externalId>|library/marc/vlacc|9953951</externalId>
            <frabl>A6B43F3EBF1ACA0</frabl>
            <title>Harry Potter en de vuurbeker</title>
            <shortTitle>Harry Potter en de vuurbeker</shortTitle>
            <author>J.K. Rowling</author>
            <format>Boek</format>
            <publisher>De Harmonie</publisher>
            <year>2016</year>
            <cover>https://webservices.bibliotheek.be/index.php?func=cover&ISBN=9789076174204&VLACCnr=9953951&CDR=&EAN=&ISMN=&coversize=medium</cover>
            <position>0</position>
            <status>1</status>
            <creationDate>2018-10-04T08:02:46Z</creationDate>
        </item>
        <item>
            <id>2699</id>
            <externalId>|library/marc/vlacc|9501647</externalId>
            <frabl>271491F496F1ACA7</frabl>
            <title>Harry Potter and the Order of the Phoenix</title>
            <shortTitle>Harry Potter and the Order of the Phoenix</shortTitle>
            <author>J.K. Rowling</author>
            <format>Boek</format>
            <publisher>Bloomsbury</publisher>
            <year>2014</year>
            <cover>https://webservices.bibliotheek.be/index.php?func=cover&ISBN=9781408855690&VLACCnr=9501647&CDR=&EAN=&ISMN=&coversize=medium</cover>
            <position>0</position>
            <status>1</status>
            <creationDate>2018-10-04T09:02:43Z</creationDate>
        </item>
    </items>
</list>

7.4. Items aan een bestaand bibliotheek lijstje toevoegen

POST /mblist/:id/additems

Waarbij :id de ID is van het lijstje

naam omschrijving verplicht

itemId

ID van het item om toe te voegen op het lijstje. De parameter kan herhaald worden om meerdere items toe te voegen

verplicht

Autorisatie

OAuth - consumer request (2-legged OAuth)

Response

response object met daarin een lijst van de net toegevoegde BibListItems

Errors
HTTP status code reden

400

bad request: bij ontbrekede parameters of indien 1 van de itemId’s niet gevonden kon worden

401

ontbrekende Authorization header

403

niet geauthoriseerd

Voorbeeld

Request:

POST https://mijn.bibliotheek.be/openbibid/rest/mblist/124/additems
Accept: application/xml
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_signature="ywFgoaW3xVGvjlMZH0ETQ5kK2Qs%3D", oauth_version="1.0", oauth_nonce="60d49d43-3700-49fc-9940-e98c2200e24f", oauth_consumer_key="5d5471cfdbd3e6b2bce42136e00e08cc", oauth_signature_method="HMAC-SHA1", oauth_token="ab4a54e12dce234bfba1d89e028ace06", oauth_timestamp="1400843563"
itemId=%7Clibrary%2Fmarc%2Fvlacc%7C9939714

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <items>
        <item>
            <id>2702</id>
            <externalId>|library/marc/vlacc|9939714</externalId>
            <frabl>23EBD2E28DF1ACA0</frabl>
            <title>Harry Potter en de geheime kamer</title>
            <shortTitle>Harry Potter en de geheime kamer</shortTitle>
            <author>J.K. Rowling</author>
            <format>Boek</format>
            <publisher>De Harmonie</publisher>
            <year>2016</year>
            <cover>https://webservices.bibliotheek.be/index.php?func=cover&ISBN=9789076174112&VLACCnr=9939714&CDR=&EAN=&ISMN=&coversize=medium</cover>
            <position>0</position>
            <status>1</status>
            <creationDate>2018-10-04T11:11:39Z</creationDate>
        </item>
    </items>
</response>

8. Response objecten

8.1. User

id

ID van de gebruiker

nick

nick van de gebruiker

dob

geboortedatum van de gebruiker in formaat yyyy/MM/dd

gender

geslacht van de gebruiker: male, female or empty (unknown)

city

gemeente van de gebruiker

mbox

e-mail adres van de gebruiker

mboxVerified

status van de e-mail verificatie: true, false

mailOptOut

status van de mailOptOut setting: true, false. Indien true, dan wil deze gebruiker GEEN mail ontvangen.

onlineaccounts

lijst van online accounts (facebook)

lastLogin

laastste login van de gebruiker (W3CDate format)

modifiedOn

laatste wijziging van de gebruiker (W3CDate format)

createdOn

creatiedatum van de gebruiker (W3CDate format)

status

huidige status van de gebruiker: ACTIVE, TRIAL, PENDING, BLOCKED

8.2. SimpleLibrary

id

BIOS ID van de bibliotheek

naam

naam van de bibliotheek

gemeente

gemeente van de bibliotheek

aantallidmaatschappen

het aantal lidmaatschappen van een bepaalde gebruiker binnen deze bibliotheek. dit veld is enkel opgevuld bij de "Ophalen van bibliotheken van een gebruiker" of "Ophalen van bibliotheken van een gebruiker en online collectie" (/library/list met uid parameter of uid en consumerKey parameter)

8.3. Library

id

BIOS ID van de bibliotheek

name

naam van de bibliotheek

name2

naam2 van de bibliotheek (algemene regel: gebruik name2 van de bibliotheek tenzij die leeg is, in dat geval gebruiken we name)

location

locatie van de bibliotheek

street

straat van de bibliotheek

zip

postcode van de bibliotheek

city

gemeente van de bibliotheek

lat

breedtegraad van de bibliotheek

lon

lengtegraad van de bibliotheek

telephone

telefoonummer van de bibliotheek

fax

faxnummer van de bibliotheek

email

e-mail adres van de bibliotheek

website

website URL van de bibliotheek

catalog

catalogus URL van de bibliotheek

krantenArchief

krantenArchief URL van de bibliotheek

openingHours

Openinghours object

pbs

PBS van de bibliotheek

pbsCodes

PBSCode objecten van de bibliotheek

mainPbsCode

Hoofd PBS code van de bibliotheek

usesPickupLocation

bepaalt of de bibliotheek afhaalopunten gebruikt: true, false

canCancelHolds

bepaalt of de gebruikers van de bibliotheek reserveringen kunnen annuleren: true, false

provincie

<provincie,Provincie> objecten van de bibliotheek

infoTextNL

info tekst in het Nederlands

infoTextFR

info tekst in het Frans

infoTextEN

info tekst in het Engels

connectTextNL

help tekst voor het koppelen van lidmaatschappen (Nederlands)

connectTextFR

help tekst voor het koppelen van lidmaatschappen (Frans)

connectTextEN

help tekst voor het koppelen van lidmaatschappen (Engels)

holdIntroTextNL

intro tekst bij reservering in het Nederlands

holdIntroTextFR

intro tekst bij reservering in het Frans

holdIntroTextEN

intro tekst bij reservering in het Engels

loansIntroTextNL

intro tekst bij uitleningen in het Nederlands

loansIntroTextFR

intro tekst bij uitleningen in het Frans

loansIntroTextEN

intro tekst bij uitleningen in het Engels

contactUrl

URL naar de contact pagina van de bibliotheek

usersCanRequestHoldAfterPurchaseSuggestion

boolean: true indien gebruikers materialen kunnen reserveren na het invoeren van een aankoopsuggestie

8.4. PBS

name

naam van het PBS

connectTextNL

help tekst voor het koppelen van lidmaatschappen (Nederlands)

connectTextFR

help tekst voor het koppelen van lidmaatschappen (Frans)

connectTextEN

help tekst voor het koppelen van lidmaatschappen (Engels)

connectPasswordTextNL

help tekst bij paswoord voor het koppelen van lidmaatschappen (Nederlands)

connectPasswordTextFR

help tekst bij paswoord voor het koppelen van lidmaatschappen (Frans)

connectPasswordTextEN

help tekst bij paswoord voor het koppelen van lidmaatschappen (Engels)

connectLabelNL

label tekst bij gebruikersnaam/barcode voor het koppelen van lidmaatschappen (Nederlands)

connectLabelFR

label tekst bij gebruikersnaam/barcode voor het koppelen van lidmaatschappen (Frans)

connectLabelEN

label tekst bij gebruikersnaam/barcode voor het koppelen van lidmaatschappen (Engels)

connectPasswordLabelNL

label tekst bij paswoord voor het koppelen van lidmaatschappen (Nederlands)

connectPasswordLabelFR

label tekst bij paswoord voor het koppelen van lidmaatschappen (Frans)

connectPasswordLabelEN

label tekst bij paswoord voor het koppelen van lidmaatschappen (Engels)

8.5. PBSCode

code

de PBS code

name

de naam van de PBS code

afhaalpunt

bepaaldt of deze PBS code afhaalpunten ondersteunt: true, false

8.6. Openinghours

monday

openingsuren op maandag

tuesday

openingsuren op dinsdag

wednesday

openingsuren op woensdag

thursday

openingsuren op donderdag

friday

openingsuren op vrijdag

saturday

openingsuren op zaterdag

sunday

openingsuren op zondag

8.7. LibraryAccount

id

het ID van het bibliotheeklidmaatschap

accountId

Het account ID in het (externe) PBS systeem. (enkel ter info, dit veld wordt nooit gebruikt in een request)

barcode

barcode van het bibliotheeklidmaatschap

userId

ID van de gebruiker van het bibliotheeklidmaatschap

firstName

voornaam van het bibliotheeklidmaatschap

lastName

achternaam van het bibliotheeklidmaatschap

email

e-mail adres van het bibliotheeklidmaatschap

address1

adres lijn 1 van het bibliotheeklidmaatschap

address2

adres lijn 2 van het bibliotheeklidmaatschap

lastVerified

laatste verificatiedatum van het bibliotheeklidmaatschap

alertMailSync

status van de email sychronisatie: true, false (indien true, dan moet de gebruiker verwittigd worden van het verschillende e-mail adres)

notifAutoCreated

status van de auto-create notificatie: true, false (indien true, dan moet de gebruiker verwittigd worden dat dit lidmaatschap automatisch werd toegevoegd)

keepsLoanHistory

status van de uitleenhistoriek instelling: true, false

expirationDate

vervaldatum van het bibliotheeklidmaatschap (W3CDate)

library

bibliotheek object (see Library)

otherUsers

lijst van nicks van andere gebruikers die dit lidmaatschap gekoppeld hebben

status

status van het bibliotheek account:
1: pending
2: active
3: blocked
4: error
5: expired

blockedReason

tekst die meer uitleg geeft over de reden van een geblokkeerd lidmaatschap

ticketLibraryAccount

true indien dit lidmaatschap een 'ticket lidmaatschap' is. anders: false

userMessage

boodschap die aan de gebruiker getoond moet worden

8.8. Subscription

id

ID van de subscription

name

naam van de subscription

consumerKey

publieke consumerKey van de subscription

consumerPageMessage

boodschap die getoond moet worden aan gebruikers zonder rechten op de online collectie

descriptionNL

Omschrijving (Nederlands)

descriptionFR

Omschrijving (Frans)

descriptionEN

Omschrijving (Engels)

8.9. LibraryAccountActivities

loans

Lijst van Loan objecten

loanHistory

Lijst of Loan objecten

holds

Lijst van Hold objecten

fines

Lijst van Fine objecten

totalFine

totaal van de open boetes

totalCost

totaal van de open kosten

message

boodschap die aan de gebruiker getoond moet worden

loanHistoryConfigurable

true / false: bepaalt of de uitleenhistoriek aan of uitgezet kan worden

8.10. Loan

pbsCode

pbsCode van de uitlening

docNumber

docNumber van de uitlening

prefixedDocNumber

docNumber van de uitlening, inclusief de document prefix

itemId

item ID van de uitlening

itemSequence

itemSequence van de uitlening

loanDate

uitleendatum van de uitlening (W3CDate)

dueDate

vervaldatum van de uitlening (W3CDate)

returnedDate

teruggebracht datum van de uitlening (W3CDate)

material

materiaal type van de uitlening

year

jaar van het materiaal van de uitlening

author

auteur van de uitlening

title

titel van de uitlening

imprint

imprint van de uitlening

isbn_issn

isbn/issn van de uitlening

renewable

true / false: bepaalt of de uitlening kan verlengd worden

renewableMessage

boodschap over de verlenging van deze uitlening

docUrl

URL naar de catalogus

renewalCost

mogelijke kost van verlenging

8.11. Hold

requestNumber

hold request nummer

sequence

hold sequence nummer

queuePosition

positie in de wachtrij

docNumber

docNumber

prefixedDocNumber

docNumber van de reservering, inclusief de document prefix

itemSequence

itemSequence

requestDate

aanvraagdatum van de reservering (wanneer nog niet klaar voor afhaling): moment waarop de reserveringsaanvraag gebeurd is (W3CDate)

endRequestDate

einddatum van de reserverings‌aanvraag (wanneer nog niet klaar voor afhaling) (W3CDate)

holdDate

datum van reservering wanneer klaar voor afhaling (W3CDate)

endHoldDate

einddatu‌m van de reservering wanneer klaar voor afhaling: de reservering blijft tot deze dag gereserveerd voor de lener (moet voor deze dag afgehaald worden) (W3CDate)

status

Status van de reservering:
QUEUED: de reservering is gedaan maar nog niet beschikbaar AVAILABLE: de reservering is beschikbaar voor afhaling

year

jaar

author

auteur

title

titel

imprint

imprint

isbn_issn

isbn/issn

pickupLocation

afhaallocatie (pbs code)

pickupLocationText

afhaallocatie (vrije tekst)

docUrl

URL naar de catalogus

cancelable

true / false: bepaalt of de reservering geannuleerd kan worden

8.12. Fine

id

ID van de kost of boete

date

datum van de kost of boete (W3CDate)

title

titel van de kost of boete

description

omschrijving van de kost of boete

amount

bedrag van de kost of boete in euro

docNumber

docNumber van het materiaal van de kost of boete

prefixedDocNumber

docNumber van het materiaal van de kost of boete, inclusief de document prefix

docUrl

URL naar de catalogus

type

type van de kost of boete. mogelijk waarden:
FINE: “boetes”
COST: “kosten”
FINE_LOAN: “boetes en/of leengelden”
TOOLATE: Te-laat-geld

payable

true indien betaalbare kost. enkel ingevuld indien bibliotheek online betalingen ondersteunt.

paymentId

ID om de betaling van de kost af te handelen. enkel ingevuld indien bibliotheek online betalingen ondersteunt.

libraryAccountId

ID van het lidmaatschap van de kost. enkel ingevuld indien bibliotheek online betalingen ondersteunt.

libraryAccountName

naam van het lidmaatschap van de kost. enkel ingevuld indien bibliotheek online betalingen ondersteunt.

8.13. PickupLocation

id

ID van het afhaalpunt

name

naam van het afhaalpunt

selected

bepaalt of het afhaalpunt geselecteerd moet worden in de gebruikersdialoog: true / false (of onbepaald)

8.14. WelcomeMessage

id

ID van de welkomboodschap

textNL

Body tekst (Nederlands)

textFR

Body tekst (Frans)

textEN

Body tekst (Engels)

buttonNL

Knoptekst (Nederlands)

buttonFR

Knoptekst (Frans)

buttonEN

Knoptekst (Engels)

closable

bepaalt of de boodschap gesloten kan worden door de gebruiker: true / false

type

type van de welkomboodschap
1 = Systeem 2 = PBS 3 = Bibliotheek

version

versie van de boodschap

pbs

PBS response object (in geval een PBS boodschap)

library

Library response object (in geval een bibliotheek boodschap)

modificationDate

laatste modificatie datum van deze welkomboodschap (W3CDate)

8.15. List

id

ID van de lijst

title

Titel van de lijst

shared

boolean gedeelde lijst: true of false

description

Omschrijving van de lijst

count

aantal items in de lijst

authorUid

UID van de auteur van de lijst

items

lijst van ListItem objecten (enkel in bepaalde gevallen beschikbaar)

8.16. ListItem

id

ID van het item

externalId

externe ID van het item

title

Titel van het item

shortTitle

Korte titel van het item

shared

boolean gedeelde lijst: true of false

author

auteur van het item

format

formaat van het item

publisher

uitgever van het item

year

jaar van het item

cover

URL van de cover afbeelding van het item

position

positie in de lijst

status

status van het item: 1=ongelezen 2=gelezen

score

score van 1 tot 5 van het item. 0 indien geen score

libraryId

BIOS van de bibliotheek van het item

libraryDisplayName

Naam van de bibliotheek van het item

catalogUrl

URL naar het item in de catalogus

8.17. UserMessage

Caution
Niet alle taal velden zijn altijd ingevuld. Clients moeten terugvallen op de beschikbare taal indien nodig.

id

ID van het bericht

subjectNL

NL onderwerp van het bericht.

textNL

NL tekst van het bericht

subjectFR

FR onderwerp van het bericht.

textFR

FR tekst van het bericht

subjectEN

EN onderwerp van het bericht.

textEN

EN tekst van het bericht

status

status van het bericht: NEW, READ, ARCHIVED

library

SimpleLibrary object van waaruit dit bericht verstuurd werd

libraryAccount

SimpleLibraryAccount object van het lidmaatschap waarover dit bericht gaat (enkel van toepassing voor berichten die specifiek over een lidmaatschap gaan)

8.18. SimpleLibraryAccount

id

ID van het lidmaatschap

barcode

barcode van het bibliotheeklidmaatschap

firstName

voornaam van het bibliotheeklidmaatschap

lastName

achternaam van het bibliotheeklidmaatschap

8.19. BibList

id

ID van de lijst

title

Titel van de lijst

viewUrl

URL waarop de gebruiker het lijstje kan zien

apiUrl

URL waarmee een API client de details van het lijstje kan ophalen

adminUrl

URL waarmee een API client de details van het lijstje kan ophalen

items

Lijst van BibListItems. (enkel bij detail)

8.20. BibListItem

id

ID van het item

title

Titel van het item

shortTitle

Korte title van het item

frabl

Frable van het item

externalId

ExternalId van het item

author

Auteur van het item

format

Formaat van het item

publisher

Publisher van het item

year

Year van het item

cover

Link naar de coverimage van het item

creationDate

Datum van het item (W3CDate)

position

Positie van het item in de lijst

status

Status van het item. Mogelijke waarden: 1 = ok. 2 = item niet gevonden in catalogus.