RESTful API
Un utilisateur peut autoriser Bokeh à fournir ses informations à une application tierce via OAuth. Bokeh générera une clé unique pour chaque application de l'utilisateur.
Sécurité[ ]
Par défaut, l'API OAuth force l'utilisation de HTTPS. Vous pouvez configurer Bokeh pour désactiver cette vérification via la variable OAUTH_ACCEPT_HTTP. Toutefois, nous recommandons vivement de mettre en place un certificat HTTPS plutôt que de s'appuyer sur cette variable.
API[ ]
Compte utilisateur[ ]
Bokeh offre une API pour récupérer les données utilisateurs, renvoyées au format JSON.
Informations du compte[ ]
URL: http://monbokeh.fr/api/user/account
Exemple de réponse:
{ "account": { "label": "Charline Dupuis", "login": "puppy", "card": { "id": "E345x00", "expire_at": "2018-04-25" } } }
Liste des prêts[ ]
URL: http://monbokeh.fr/api/user/loans
Exemple de réponse:
{ "loans":[ { "id" => "345_18", "title":"Potter", "author":"J.K.R", "date_due":"1974-01-01", "loaned_by":"puppy", "library":"Annecy", "record": { "id" => "34", "thumbnail" => "http://img.com/potter.jpg" } }, { "id" => "345_22", "title":"Alice", "author":"", "date_due":"2017-05-06", "loaned_by":"puppy", "library":"" } ] }
Prolonger un prêt[ ]
URL: http://monbokeh.fr/api/user/renew-loan/id/345_22
Exemple de réponse avec succès:
{ "status":"renewed", "date_due":"2018-02-17" }
Exemple de réponse avec erreur:
{ "status":"error", "error":"Nombre maximum de prolongations atteint" }
Liste des réservations[ ]
URL: http://monbokeh.fr/api/user/holds
Exemple de réponse:
{ "holds":[ { "id" => "345_22", "title":"Afrodeezia", "author":"Marcus Miller", "status":"En attente", "held_by":"puppy", "library":"Annecy", "record": { "id" => "34", "thumbnail" => "http://img.com/afrodeezia.jpg" } ] }
Annuler une réservation[ ]
URL: http://monbokeh.fr/api/user/cancel-hold/id/345_22
Exemple de réponse avec succès:
{ "status":"canceled" }
Exemple de réponse avec erreur:
{ "status":"error", "error":"Réservation introuvable" }
Catalogue[ ]
Récupérer un exemplaire[ ]
URL: http://monbokeh.fr/api/catalog/item/barcode/L-234
Exemple de réponse:
{ "id": 2613096, "barcode": "L-234", "title": "Scribblenauts unlimited", "author": "5th cell", "record": { "id": 2267224, "thumbnail" => "http://img.com/scribblenauts.jpg" } }