Différences entre versions de « RESTful API »
(7 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | = API = | ||
+ | |||
+ | == Compte utilisateur == | ||
+ | Bokeh offre une API pour récupérer les données utilisateurs, renvoyées au format JSON. | ||
+ | |||
+ | === Authentification === | ||
+ | |||
Un utilisateur peut autoriser Bokeh à fournir ses informations à une application tierce via [https://fr.wikipedia.org/wiki/OAuth OAuth]. Bokeh générera une clé unique pour chaque application de l'utilisateur. | Un utilisateur peut autoriser Bokeh à fournir ses informations à une application tierce via [https://fr.wikipedia.org/wiki/OAuth OAuth]. Bokeh générera une clé unique pour chaque application de l'utilisateur. | ||
− | = Sécurité = | + | ==== 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. | 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. | ||
− | = | + | === Informations du compte === |
− | |||
− | |||
− | |||
− | == Informations du compte == | ||
URL: http://monbokeh.fr/api/user/account | URL: http://monbokeh.fr/api/user/account | ||
Ligne 18 : | Ligne 21 : | ||
"account": { | "account": { | ||
"label": "Charline Dupuis", | "label": "Charline Dupuis", | ||
+ | "login": "puppy", | ||
"card": { | "card": { | ||
"id": "E345x00", | "id": "E345x00", | ||
Ligne 25 : | Ligne 29 : | ||
} | } | ||
− | == Liste des prêts == | + | === Liste des prêts === |
URL: http://monbokeh.fr/api/user/loans | URL: http://monbokeh.fr/api/user/loans | ||
Ligne 32 : | Ligne 36 : | ||
{ "loans":[ | { "loans":[ | ||
{ | { | ||
+ | "id" => "345_18", | ||
"title":"Potter", | "title":"Potter", | ||
"author":"J.K.R", | "author":"J.K.R", | ||
"date_due":"1974-01-01", | "date_due":"1974-01-01", | ||
"loaned_by":"puppy", | "loaned_by":"puppy", | ||
− | "library":"Annecy" | + | "library":"Annecy", |
+ | "record": { | ||
+ | "id" => "34", | ||
+ | "thumbnail" => "http://img.com/potter.jpg" | ||
+ | } | ||
}, | }, | ||
{ | { | ||
+ | "id" => "345_22", | ||
"title":"Alice", | "title":"Alice", | ||
"author":"", | "author":"", | ||
Ligne 46 : | Ligne 56 : | ||
} | } | ||
] } | ] } | ||
+ | |||
+ | |||
+ | === 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" | ||
+ | } | ||
+ | } | ||
[[Catégorie:Compte_lecteur]] | [[Catégorie:Compte_lecteur]] | ||
[[Catégorie:Documentation_technique]] | [[Catégorie:Documentation_technique]] |
Version du 23 juin 2018 à 11:03
API[ ]
Compte utilisateur[ ]
Bokeh offre une API pour récupérer les données utilisateurs, renvoyées au format JSON.
Authentification[ ]
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.
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" } }