m (Llaffont a déplacé la page OAuth vers RESTful API)
Line 7: Line 7:
 
= API =
 
= API =
  
 +
== Compte utilisateur ==
 
Bokeh offre une API pour récupérer les données utilisateurs, renvoyées au format JSON.  
 
Bokeh offre une API pour récupérer les données utilisateurs, renvoyées au format JSON.  
  
== Informations du compte ==  
+
=== Informations du compte ===
  
 
URL: http://monbokeh.fr/api/user/account
 
URL: http://monbokeh.fr/api/user/account
Line 26: Line 27:
 
   }
 
   }
  
== Liste des prêts ==  
+
=== Liste des prêts ===  
  
 
URL: http://monbokeh.fr/api/user/loans
 
URL: http://monbokeh.fr/api/user/loans
Line 55: Line 56:
  
  
== Prolonger un prêt ==
+
=== Prolonger un prêt ===
  
 
URL: http://monbokeh.fr/api/user/renew-loan/id/345_22
 
URL: http://monbokeh.fr/api/user/renew-loan/id/345_22
Line 74: Line 75:
  
  
== Liste des réservations ==
+
=== Liste des réservations ===
  
 
URL: http://monbokeh.fr/api/user/holds
 
URL: http://monbokeh.fr/api/user/holds
Line 95: Line 96:
 
   }
 
   }
  
== Annuler une réservation ==
+
=== Annuler une réservation ===
  
 
URL: http://monbokeh.fr/api/user/cancel-hold/id/345_22
 
URL: http://monbokeh.fr/api/user/cancel-hold/id/345_22
Line 110: Line 111:
 
     "status":"error",
 
     "status":"error",
 
     "error":"Réservation introuvable"
 
     "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]]

Revision as of 12:01, 23 June 2018

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" 
   }
 }

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é[edit | edit source]

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[edit | edit source]

Compte utilisateur[edit | edit source]

Bokeh offre une API pour récupérer les données utilisateurs, renvoyées au format JSON.

Informations du compte[edit | edit source]

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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

Récupérer un exemplaire[edit | edit source]

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" 
   }
 }