HtmlToText
introduction structures de données authentification et gestion des comptes gestion des dossiers gestion des fichiers gestion de la corbeille gestion des annotations gestion des verrous gestion des partages gestion des droits gestion des alertes email gestion des utilisateurs gestion des groupes gestion des options gestion des délégués gestion des emails gestion des liens directs gestion des envois directs gestion des langues gestion de la configuration gestion des aperçus gestion des zips journaux d'évènements gestion de la plateforme nous contacter introduction ce document présente les fonctionnalités exposées par l' api netexplorer. celle-ci est basée sur l'architecture rest , reposant sur le protocole http , permettant ainsi aux développeurs de tirer pleinement parti de leur plateforme de stockage netexplorer, et mettre au point une solution logicielle répondant aux besoins de leur entreprise. l'api est accessible en ajoutant /api à l'adresse de votre plateforme. par exemple, pour une plateforme accessible par l'adresse https://exemple.fr/ , l'authentification d'un utilisateur se fera via l'url suivante: https://exemple.fr/api/auth en-têtes http utilisés pour les requêtes: as id de l'utilisateur pour une requête "en tant que", si disponible (dépend de l'utilisateur connecté, et des méthodes appelées). content-length taille en octet du contenu envoyé, si applicable. content-type application/json (défaut) ou text/xml détermine le format du contenu envoyé par le client au serveur (si la requête nécéssite l'envoi de données). token contient le token d'authentification de l'utilisateur. il s'obtient après avoir authentifié l'utilisateur. certaines méthodes, dont celles liés à l'authentification, ne nécéssiteront pas de token. info consultez la section authentification & gestion des comptes pour savoir comment obtenir un token. attention ! comme expliqué plus haut, le token est nécéssaire quelque soit la requête, sauf exceptions. en-têtes http utilisés pour les réponses: content-length taille en octet du contenu retourné. content-type application/json détermine le format du contenu qui est retourné par le serveur. info les codes http standards sont à prendre en compte lorsque le serveur répond aux requêtes. par exemple, un code de retour 401 unauthorized signifie que le token d'authentification n'a pas été fourni ou que celui-ci n'est plus valide et qu'un nouveau doit être demandé. structures de données note les structures présentées ci-dessous sont affichées sous la forme d'un objet json. il s'agit du seul format proposé par l'api. pour l'exploiter correctement, certains points sont à savoir: les dates sont toujours au format iso 8601. les identifiants uniques des utilisateurs/groupes sont des chaines de caractères ( string ) et non pas des entiers numériques ( int ). les tailles des fichiers/dossiers sont toujours indiquées en octets, et doivent être considérées comme des long . structure d'un dossier structure d'un fichier structure d'un élément de la corbeille structure d'une annotation structure d'un verrou structure d'un partage structure d'un droit structure d'une alerte structure d'un utilisateur structure d'un groupe structure d'une option structure d'un délégué structure d'un email structure d'un lien de téléchargement direct structure d'un lien d'envoi direct structure d'un évènement du journal structure d'un dossier { "id": 2, "parent_id": 1, // identifiant unique du dossier parent "name": "documents", "creation": "2013-12-28t10:45:32+00:00", "modification": "2013-12-28t10:45:32+00:00", "can_read": true, "can_download": true, "can_write": true, "can_edit": true, "can_delete": true, "can_share": true, // autorise le partage (cf. gestion des partages ) "owner": "jean dupond", "owner_id": "3", // informations présentes en mode détails uniquement "can_admin_rights": false, // est-ce que l'utilisateur peut administrer les droits de ce dossier "can_admin_alerts": false, // est-ce que l'utilisateur peut administrer les alertes de ce dossier "self_alert": null, // est-ce que l'utilisateur a une alerte sur le dossier "nb_participants": 4, // nombre de participants invités sur le dossier. valeur présente uniquement si > 0 "nb_annotations": 1, // valeur présente uniquement si > 0 "nb_unread_annotations": 1, // valeur présente uniquement si > 0 "size": 100, // taille en octets "nb_folders": 2, // nombre total de sous-dossiers (totalité de l'arborescence) "nb_files": 2, // nombre total de fichiers (totalité de l'arborescence) "quota": 0, // 0 : illimité, -1 dossier parent, sinon un nombre d'octets "purge_frequency": 0, // 0 : désactivé, sinon un nombre de jours "path": "/1/4/22/", // chemin d'accès au dossier, composé des identifiants uniques des dossiers parents // contenu du dossier "content": { "folders": [ { "id": 2, "name": "dossier", ... "owner": "jean dupond" } ], "files": [ { "id" : 3, "name": "fichier", ... } ] } } structure d'un fichier { "id": 3, "parent_id": 1, // identifiant unique du dossier parent "name": "fichier.txt", "size": 1024, "creation": "2013-12-28t10:45:32+00:00", "modification": "2013-12-28t10:45:32+00:00", "can_download": true, "can_write": true, "can_edit": true, "can_delete": true, "can_share": true, "owner": "jean dupond", "owner_id": "3", "hash": "d41d8cd98f00b204e9800998ecf8427e", "lock": { // structure d'un verrou ou null si le fichier n'est pas locké } // informations présentes en mode détails uniquement "nb_versions": 2, // valeur présente uniquement si > 1 "nb_annotations": 1, // valeur présente uniquement si > 0 "nb_unread_annotations": 1, // valeur présente uniquement si > 0 // informations présentes en mode détails + meta "meta": null, // si aucune méta n'est présente sur le fichier // -- ou -- "meta": { // si des metas sont présentes sur le fichier "author": "luc kaplan", "creator": "libreoffice", // logiciel à l'origine du document "date": "sun sep 1 00:00:00 2013", "keywords": "document test", "pages": 42, // nombre total de pages dans le document "producer": "ghostscript", // logiciel ayant produit le fichier final "subject": "test doc libreoffice", "title": "test" }, // informations présente uniquement si une miniature est disponible pour le fichier "thumb_token": "2uypfbwitiof+e/ubqj1jyrsmknrqbvgdmhiiowncbvmzic5zxkxtby1kuii/qnthatwbtei5znpiwqyrsmpz8ppyz+yw0lqndxiioxsf+8koadjt+xctp8/kabpb8rejzecqsgrqezcfh5w2soxbms0y8uvrjuafditwfg=", // token d'accès à la miniature "file_type": "image", // indique si le fichier est une image (jpg,bmp,gif,png,psd,ai ou tiff), ou un document. // token de téléchargement "download_token": "rq2gnv8xfoenljkcre0zc8sw1b+we9vp8w5brpkq+lc0r/stqd9nohixefooiecb8/xnci93kdadzj2gqt7y+aiifvopy1olky81tosjdfv16qfswzpyzssulfvo0ek8tp1+m2ahjbn0ljz9/xzdvpdkj/xp74xj7edwiulknbw=293eaa53512dcfe545458349a19530ae", "path": "/1/4/22/" // chemin d'accès au dossier, composé des identifiants uniques des dossiers parents } structure d'un élément de la corbeille { "id": 11567, "owner": "bob jensen", "owner_id": "22", "deletion": "2012-12-28t13:42:38+00:00", // date de suppression "modification": "2012-10-10t18:10:39+00:00", "is_file": true, // fichier ou dossier ? "name": "fichier.txt", "size": 0, // ces informations ne sont fournies qur pour un élément de type dossier "nb_folders": 2, "nb_files": 14 } structure d'une annotation { "id": 7, "target_id": 14, // identifiant unique du fichier ou du dossier "target_type": "file", // le type peut être "file" ou "folder" "owner": "bob jensen", "owner_id": "22", "date": "2013-12-28t10:45:32+00:00", "text": "mon annotation", "conversation": null // si cette annotation est une réponse liée à une autre annotation, l'id de l'annotation principale sera indiquée ici } structure d'un verrou attention ! la présence d'un verrou ne veut pas dire que l'accès au fichier est impossible ! en effet, l'utilisateur peut très bien être propriétaire du verrou et a donc le droit de lire et écrire dans le fichier. de même, un utilisateur étranger au verrou peut avoi