Généralité
L'url de l'API est de la forme : http://api.benoot.com/NOM_DE_LA_FONCTION.FORMAT
Toutes les fonctions de l'API nécessitent d'être authentifié avec un compte BeNoot valide.
La connexion se fait avec les identifiants et une HTTP Basic Authentication.
Format de réponse
Les réponses de l'API se font en UTF-8
Le format de réponse, par défaut JSON, est à spécifier sous forme d'extension après l'appel de la fonction.
Pour récupérer les résultats au format XML il suffit de changer l'extension de la requête en ".xml" dans l'url
Fonctions disponibles
- login
- logout
- addArticle
- addBook
- addMedia
- addPersonnalData
- deleteArticle
- deleteBook
- deleteMedia
- deleteMessage
- getArticle
- getArticles
- getBook
- getBookTypes
- getCountries
- getFeed
- getFriendsFeed
- getMedias
- getMessages
- getPagesStats
- getPersonnalDatas
- getProfile
- getUserProfile
- getPublications
- getRelationsLists
- setRelations
- getStatut
- getTravelTypes
- getUserGeolocalisation
- newMessage
- readMessage
- setMediaGeolocalisation
- setStatut
- setUserGeolocalisation
- updateArticle
- updateArticleVisibility
- updateAvatar
- updateBook
- updateMedia
- updatePersonnalData
login
POST
Retour:
- true OR false + error message
Parametres:
- login = string
- password = string
[ Haut de page ]
logout
Retour:
- true OR false + error message
[ Haut de page ]
addArticle
POST
Retour:
- identifiant du nouvel article OR false + error message
Parametres:
- id_book = integer identifiant du carnet auquel ajouter l'article
- title = string titre de l'article
- date = date de l'article au format Y/m/d
- id_country = code ISO du pays de l'article
- tags = string liste de tags separes par des virgules
[ Haut de page ]
addBook
POST
Retour:
- du nouveau carnet OR false + error message
Parametres:
- title = string titre du carnet
- begin_date = date de debut du voyage au format Y/m/d
- end_date = date de fin du voyage au format Y/m/d (optionnel)
- description = description du carnet
- id_book_type = identifiant du type de carnet
- id_travel_type = identifiant du type de voyage
[ Haut de page ]
addMedia
POST
Parametres:
- id_article = (optionnel) identifiant de l'article
- title = titre du media
- descripition = description du media
- tags = string liste de tags separes par des virgules
- media = le fichier de media
[ Haut de page ]
addPersonnalData
POST
Retour:
- true OR false + error message
Parametres:
- key = string libelle de la donnee personnelle
- value = string valeur de la donnee personnelle
[ Haut de page ]
deleteArticle
POST
Retour:
- true OR false + error message
Parametres:
- id_article = identifiant de l'article a supprimer
[ Haut de page ]
deleteBook
POST
Retour:
- true OR false + error message
Parametres:
- id_book = identifiant du carnet a supprimer
[ Haut de page ]
deleteMedia
POST
Retour:
- true OR false + error message
Parametres:
- id_media = identifiant du media a supprimer
[ Haut de page ]
deleteMessage
POST
Retour:
- true OR false + error message
Parametres:
- id_message = l'identifiant du message a supprimer
[ Haut de page ]
getArticle
GET
Retour:
tableau correspondant a l'article 'id' : identifiant de l'article 'title' : titre 'content' : contenu 'creation_time' : date de creation en seconde depuis le 01/01/1970 'first_time_online' : date de premiere mise en ligne en seconde depuis le 01/01/1970 'nb_read' : nombre de vue 'id_book' : identifiant du carnet de voyage auquel il appartient 'online' : 1 s'il est en ligne 0 sinon 'public' : 1 s'il est public 0 s'il est réserver aux amis 'date' : date de l'article pendant le voyage 'id_country' : identifiant du pays 'url' : url sur BeNoot 'medias' : 'id' : identifiant du media 'title' : titre 'description' : description 'nb_read' : nombre de vue 'id_media_type' : type 1 => image 2 => video 3 => audio 'upload_time' : date d'envoi du media en seconde depuis le 01/01/1970 'thumb' : url de la miniature en 130 'full' : url du media reel 'x' : coordonnee googlemap latitude (si geo demandee et localisation existe) 'y' : coordonnee googlemap longitude (si geo demandee et localisation existe)
Parametres:
- id_article = integer identifiant de l'article a consulter
- medias = boolean (optionnel) 1 si on veut la liste des medias avec 0 sinon
- geo = boolean (optionnel) 1 si on veut les geolocalisation des medias 0 sinon
[ Haut de page ]
getArticles
GET
Retour:
tableau correspondant aux articles 'id' : identifiant de l'article 'title' : titre 'url' : url sur BeNoot
Parametres:
- id_book = integer identifiant du carnet de voyage
[ Haut de page ]
getBook
GET
Retour:
tableau correspondant au carnet de voyage 'id' : identifiant 'title' : titre 'id_book_type' : identifiant du type de carnet 'nb_read' : nombre de vue 'travel_finish' : 1 si la voyage est termine 0 sinon 'id_travel_type' : identifiant du type de voyage 'begin_date' : date de debut 'end_date' : date de fin 'description' : description 'type' : libelle du type de carnet 'voyage' : libelle du type de voyage 'url' : url du carnet sur BeNoot
Parametres:
- id_book = integer identifiant du carnet de voyage
[ Haut de page ]
getBookTypes
Retour:
tableau des types de carnets 'id' 'libelle'
[ Haut de page ]
getCountries
Retour:
tableau des pays 'iso' 'printable_name'
[ Haut de page ]
getFeed
GET
Retour:
- tableau correspondant au feed de l'utilisateur logge
Parametres:
- limit = integer optional default 10
- first = integer optional default 10
[ Haut de page ]
getFriendsFeed
GET
Retour:
- tableau correspondant au feed des amis de l'utilisateur logge
Parametres:
- limit = integer optional default 10
- first = integer optional default 10
[ Haut de page ]
getMedias
GET
Retour:
tableau des medias 'id' : identifiant du media 'title' : titre 'description' : description 'nb_read' : nombre de vue 'id_media_type' : type 1 => image 2 => video 3 => audio 'upload_time' : date d'envoi du media en seconde depuis le 01/01/1970 'thumb' : url de la miniature en 130 'full' : url du media reel 'x' : coordonnee googlemap latitude (si geo demandee et localisation existe) 'y' : coordonnee googlemap longitude (si geo demandee et localisation existe) Si l'identifiant de l'article n'est pas specifie on recupere la liste des medias de l'utilisateur qui ne sont pas rattaches a des articles mais a son compte.
Parametres:
- id_article = integer (optionnel) identifiant de l'article
- geo = boolean (optionnel) 1 si on veut les geolocalisation des medias 0 sinon
[ Haut de page ]
getMessages
GET
Retour:
tableau contenant les differents messages de l'utilisateur 'id' : identifiant de la discussion 'title' : titre de la discussion 'creation_time' : la date de creation en seconde depuis le 01/01/1970 'lu' : 1 si oui 0 s'il y a un message non lu dans la discussion 'login_from' : login de l'envoyeur 'login_to' : login du destinataire 'avatar' : url de l'avatar de l'envoyeur 'mine' : si l'utilisateur en est l'auteur 'to' : identifiant de l'utilisateur a qui adresser un reply 'child' : (champs multiple) messages faisant partis de la discussion 'id' : identifiant du message 'creation_time' : la date de creation en seconde depuis le 01/01/1970 'lu' : true si oui false sinon 'login_from' : login de l'envoyeur 'login_to' : login du destinataire 'avatar' : url de l'avatar de l'envoyeur 'mine' : si l'utilisateur en est l'auteur 'to' : identifiant de l'utilisateur a qui adresser un reply
Parametres:
- first = integer optional default 0
[ Haut de page ]
getPagesStats
Retour:
tableau des pages et medias avec les stats 'stat' 'url' : url de l'element 'title' : titre de l'element 'note' : note de l'element 'nb_read' : nombre de vue de l'element 'since' : debut de mise en ligne 'image' : image de l'element 'type' : type de l'emement (article, picture, video, audio)
[ Haut de page ]
getPersonnalDatas
Retour:
tableau contenant les donnees personnalisees de l'utilisateur pour chaque donnee : 'id' => l'identifiant de la donnee 'key' => Le nom de la valeur 'value' => la valeur de la donnee
[ Haut de page ]
getProfile
Retour:
tableau correspondant au profil utilisateur 'creation_time' = date de creation de l'utilisateur (en secondes depuis le 01/01/1970) 'last_connexion' = date de derniere connexion de l'utilisateur (en secondes depuis le 01/01/1970) 'login' = login de l'utilisateur 'first_name' = prenom de l'utilisateur 'last_name' = nom de l'utilisateur 'birth_date' = date de naissance de l'utilisateur (Y/m/d) 'gender' = M pour masculin ou F pour feminin 'country' = code ISO du pays 'city' = string la ville 'public' = 1 s'il possede un feed public 0 sinon 'avatar' = l'url de l'avatar
[ Haut de page ]
getUserProfile
Retour:
tableau correspondant au profil utilisateur 'creation_time' = date de creation de l'utilisateur (en secondes depuis le 01/01/1970) 'last_connexion' = date de derniere connexion de l'utilisateur (en secondes depuis le 01/01/1970) 'login' = login de l'utilisateur 'first_name' = prenom de l'utilisateur 'last_name' = nom de l'utilisateur 'birth_date' = date de naissance de l'utilisateur (Y/m/d) 'gender' = M pour masculin ou F pour feminin 'country' = code ISO du pays 'city' = string la ville 'public' = 1 s'il possede un feed public 0 sinon 'avatar' = l'url de l'avatar
Parametres:
- id_user = integer l'identifiant de l'utilisateur dont on veut voir le profil
[ Haut de page ]
getPublications
Retour:
tableau contenant les differentes publications et favoris 'id' : identifiant du carnet de voyage 'title' : titre du carnet de voyage 'url' : url vers le carnet de voyage 'items' : les articles du carnets meme tableau 'id', 'title', 'url'
[ Haut de page ]
getRelationsLists
GET
Retour:
listes de relations demandees 'friend' 'user' 'id' 'login' 'avatar' 'last_action' 'blacks' 'user' 'id' 'login' 'avatar' 'last_action' 'wants' 'user' 'id' 'login' 'avatar' 'last_action' 'waits' 'user' 'id' 'login' 'avatar' 'last_action'
Parametres:
- friend = integer 1 si on veut la liste des amis, 0 ou absent sinon
- black = integer 1 si on veut la liste des black-listes, 0 ou absent sinon
- want = integer 1 si on veut la liste des personnes voulant etre ami, 0 ou absent sinon
- wait= integer 1 si on veut la liste des personnes dont l'utilisateur souhaite une amitie, 0 ou absent sinon
Au moins 1 des parametres est obligatoire
[ Haut de page ]
setRelations
POST
Retour:
- true OR false + error message
Parametres:
- id_user = l'identifiant de l'utilisateur avec qui on veut interagir
- type = enum ('friend', 'remove', 'bl', 'refuse')
[ Haut de page ]
getStatut
Retour:
- le status de l'utilisateur
[ Haut de page ]
getTravelTypes
Retour:
tableau des types de voyage 'id' 'libelle'
[ Haut de page ]
getUserGeolocalisation
Retour:
- tableau contenant la geolocalisation de l'utilisateur ou false s'il n'en a pas
[ Haut de page ]
newMessage
POST
Retour:
- true OR false + error message
Parametres:
- id_to = integer identifiant de l'ami a qui envoyer le message
- id_parent = integer identifiant du message parent (optionnel)
- title = string titre du message (optionnel si reponse a un message obligatoire si nouveau message)
- message = string message
[ Haut de page ]
readMessage
POST
Retour:
- true OR false + error message
Parametres:
- id_message = l'identifiant du message lu
[ Haut de page ]
setMediaGeolocalisation
POST
Retour:
- true OR false + error message
Parametres:
- id_media = l'identifiant du media
- x = la valeur de la latitude GoogleMAP
- y = la valeur de la longitude GoogleMAP
[ Haut de page ]
setStatut
POST
Retour:
- true OR false + error message
Parametres:
- statut = string le nouveau statut de l'utilisateur
[ Haut de page ]
setUserGeolocalisation
POST
Retour:
- true OR false + error message
Parametres:
- x = la valeur de la latitude GoogleMAP
- y = la valeur de la longitude GoogleMAP
[ Haut de page ]
updateArticle
POST
Retour:
- true OR false + error message
Parametres:
- id_article = integer identifiant de l'article
- title = string titre de l'article
- date = date de l'article au format Y/m/d
- id_country = code ISO du pays de l'article
- tags = string liste de tags separes par des virgules
- content = string le contenu de l'article
[ Haut de page ]
updateArticleVisibility
POST
Retour:
- true OR false + error message
Parametres:
- id_article = integer identifiant de l'article
- online = boolean 1 si en ligne 0 sinon
- public = boolean 1 si public 0 sinon
[ Haut de page ]
updateAvatar
FILE
Retour:
- true OR false + error message
Parametres:
- avatar = le fichier du nouvel avatar
[ Haut de page ]
updateBook
POST
Retour:
- identifiant du nouveau carnet OR false + error message
Parametres:
- id_book = integer identifiant du carnet
- title = string titre du carnet
- begin_date = date de debut du voyage au format Y/m/d
- end_date = date de fin du voyage au format Y/m/d (optionnel)
- description = description du carnet
- id_book_type = identifiant du type de carnet
- id_travel_type = identifiant du type de voyage
[ Haut de page ]
updateMedia
POST
Retour:
- true OR false + error message
Parametres:
- id_media = integer identifiant du media
- title = string titre
- description = description du carnet
- tags = liste de tags separes par des virgules
[ Haut de page ]
updatePersonnalData
POST
Retour:
- true OR false + error message
Parametres:
- id = integer identifiant de la donnee personnelle
- value = string valeur de la donnee personnelle
[ Haut de page ]