Différences entre versions de « RESTful API »

De WIKI-BOKEH
Aller à : navigation, rechercher
(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.
  
= API =
+
=== Informations du compte ===
 
 
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
 
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" 
   }
 }