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

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 ]