m (Llaffont a déplacé la page OAuth vers RESTful API)
Ligne 7 : Ligne 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
Ligne 26 : Ligne 27 :
 
   }
 
   }
  
== Liste des prêts ==  
+
=== Liste des prêts ===  
  
 
URL: http://monbokeh.fr/api/user/loans
 
URL: http://monbokeh.fr/api/user/loans
Ligne 55 : Ligne 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
Ligne 74 : Ligne 75 :
  
  
== Liste des réservations ==
+
=== Liste des réservations ===
  
 
URL: http://monbokeh.fr/api/user/holds
 
URL: http://monbokeh.fr/api/user/holds
Ligne 95 : Ligne 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
Ligne 110 : Ligne 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]]

Version du 23 juin 2018 à 11:01

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é[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

Compte utilisateur[modifier | modifier le wikicode]

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

Informations du compte[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

Récupérer un exemplaire[modifier | modifier le wikicode]

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