Document toolboxDocument toolbox

REST API.

Ceci documente la possibilité d'intéragir avec le système adinistrateur en utilisant les appels REST (HTTP PUT et GET) permettant l'automatisation des taches comme créer des projets ou des utilisateurs.

Tous les exemples sont produits en utilisant l'interface cURL.

General

Authentification

Le système utilise l'authentification BASIC AUTH. Se connecter simplement nécéssite un système administrateur et vous pourrez vous connecter avec le même nom d'utilisateur et mot de passe que ceux utilisés pour les accès normal WEB. 

Formats de données et URL

Toutes les ressources peuvent être accédées en utilisant des formats normaux HTML, XML ou JSON. 

Ex. le lien http://[url]/projects donne la liste des projets HTML normaux alors que http://[url]/projects.xml donne la même liste en format XML et http://[url]/projects.json donne la liste en format JSON.

Ressource GET:

Ressource

Description

Paramètres

Ressource

Description

Paramètres

/projects

Liste tous les projets

?query=xx listera tous les projets contenant xx dans le nom

/projects/1

Liste le projet avec id 1



/owners

Liste les propriétaires



/owners/1

List propriétaires avec id 1







































Exemple

$ curl -s -u testadmin:testpw http://localhost:3000/projects.json?query=template|json_reformat [ { "project": { "active": true, "contact": null, "created_at": "2016-11-01T09:39:14Z", "created_by": null, "database_id": "akl-test", "description": null, "gross_area": null, "id": 399, "name": "dRofus dev template", "no": "01", "owner_id": 5, "status": null, "updated": null, "updated_by": null } }, .....

POST

Exemple

Ceci crée un propriétaire avec le nom "Test" et à partir du retour à la ligne on peut voir qu'il a été assigné avec l'ID 11 

$ curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -u testadmin:testpw -d '{"owner":{"name":"Test"}}' http://localhost:3000/owners {"owner":{"address":null,"billing_address":null,"contact":null,"id":11,"image":null,"name":"Test","network":null,"note":null,"tech_contact":null}}

Créer un nouveau projet ( POST /projets)

Créer un nouveau projet nécéssite des paramètres spéciaux. Ceci serait le minimum de données à fournir pour la création d'un nouveau projet.

Paramètre

Description

Paramètre

Description

new_db

1 pour créer une nouvelle base de donnée ou 0 pour ajouter un projet à une base de donnée existante

new_db_template

Si vous créez une nouvelle base de donnée, fournir le nom de la base de donnée que vous utiliserez en gabarit

new_db_name

Si vous créez une nouvelle base de donnée, fournir le nom de la nouvelle base de donnée

existing_db_name

Si vous ne créez PAS une nouvelle base de donnée (new_db à 0) fournir le nom de la base de donnée existante où ajouter le nouveau projet

name

Nom du projet

constructor

Nom du constructeur/compagnie du nouveau projet

description

Description du projet

owner_id

ID du nouveau propriétaire

Tous les paramètres sont obligatoires

Exemple

{ "project": { "new_db": "1", "new_db_template": "dev-template", "new_db_name": "rest_test", "name": "REST TEST", "owner_id": 5, "description": "TEST CREATE FROM REST", "constructor" : "dRofus AS" } }



Création d'un nouvel utilisateur (POST /project_users)



Wherer data.json contains

Parameter

Descriptione

Parameter

Descriptione

project_user

project_id: ID du projet auquel il est ajouté

room_rights: niveau d'accès pour pièces

equipment_rights droit d'accès équipements

tender_rights droit d'accès pour AO

consignation_rights

system_rights droit d'accès systèmes

modelstore_rights

superuser superutilisateurs

user

username: nom d'utilisateur de l'utilisateur à ajouter

first_name: Prénom de l'utilisateur à ajouter

last_name: Nom de famille de l'utilisateur à ajouter

email: Email de l'utilisateur à ajouter

Si l'utilisateur existe déjà, assurez vous que l'information donnée est égale à l'information enregistrée sur le serveur

mail_type

ID de l'email à envoyer à l'utilisateur (de /emails)