管理システムREST API
このドキュメントでは、RESTコール (GET、POST、PUT、PATCH、DELETE) を使用して管理システムと対話する可能性があり、プロジェクトやユーザーの作成などのタスクを自動化することができます。
すべての例は、curl ユーティリティを使用して作成されています。
一般
認証
本システムは、基本認証 (BASIC AUTH) を使用しています。ログインには管理者システムユーザーが必要で、通常のWEBアクセスで使用するユーザー名とパスワードの組み合わせでログインできます。
データ形式とURL
すべてのリソースは、HTML、XML、JSONのいずれかの形式でアクセスすることができます。
これは通常のREST APIとは別のAPIであり、ベースURLはアクセスしようとしている管理システム (例: https://adm-us.drofus.com/) と同じである必要があります。
例えば、http://[admin-url]/projectsというリンクは通常のHTMLプロジェクトのリストを提供し、http://[admin-url]/projects.jsonはJSON形式のプロジェクトユーザーとプロジェクトユーザーのリストを提供します。
一部のリソース (主要ユーザー) にはドット(.)が付いています。 . jsonは使用できません。 必ずヘッダーに"Accept:application/json"を入れてください。(これは全てのタイプのクライアント(例: postmanなど)に適用されます。
Acceptヘッダーを "application/json "に設定することは、json形式のレスポンスを取得するための推奨方法です。.jsonはテスト時のみ使用するようにしてください。
CODE
|
と同じになります。
CODE
|
リソース :
リソース | 説明 |
---|---|
/projects | プロジェクトのリストと操作 |
/owners | プロジェクトオーナーリスト |
/users | サーバー上のユーザーのリストと操作 |
/database | データベースのリストと操作 |
/project_users | プロジェクト内のユーザーの一覧表示と操作 |
ほとんどのリソースは、GET、PATCH、DELETEの両方に応答します。
さらに、の特別なエンドポイントがいくつかあります :
リソース | 説明 |
---|---|
/node/logins | 使用したクライアントのタイプ(Revit、dRofusなど)ごとにグループ化された、過去5年間のプロジェクトのログイン統計を取得します。 |
/node/logins?from_date=2018-01-01&to_date=2019-12-31 | 使用されているクライアントのタイプ(Revit、dRofusなど)ごとにグループ化された、指定された期間のプロジェクトのログイン統計を取得します。 |
/node/unique_users | 過去5年間の各プロジェクトの一意のユーザー数を取得します。 |
/node/unique_users?from_date=2018-01-01&to_date=2019-12-31 | 指定された期間の各プロジェクトの一意のユーザー数を取得します。 |
/project_data?from_date=2018-01-01&to_date=2019-12-31 | プロジェクトの統計値を取得する to_dateとfrom_dateはオプションで日付の制限をかけることができます。 |
/password/request_reset | 有効なユーザー名を持つ投稿要求は、パスワードリセットメールをトリガーします。 |
/password/reset | APIでパスワードを変更するには、トークンと一緒に使用します。 |
リソースの取得 : リスト
リソース | 説明 | パラメータ |
---|---|---|
/projects | すべてのプロジェクトを一覧 | ?query=XXは名前にXXを含むすべてのプロジェクトをリスト ?show_all=1は非アクティブなプロジェクトも含めます |
/projects/1 | id 1のプロジェクトを一覧 | |
/owners | すべての所有者を一覧 | |
/owners/1 | id 1のオーナーを一覧 | |
/users | 全ユーザー一覧 | ?query=XXで検索 |
/users/username | ユーザーをユーザー名で一覧 | |
/database | データベースの一覧 | |
/project_users/username,projectid | プロジェクトユーザーを表示 | |
Example
CODE
|
POSTリソース : オブジェクトの作成
例
これにより、”Test” という名前の所有者が作成され、戻り値からID 11が割り当てられていることがわかります
CODE
|
新規プロジェクトの作成 (POST /project)
新規プロジェクトを作成するには、いくつかの特別なパラメータが必要です。 これは、新しいプロジェクトを作成するときに提供する最小限のデータです
パラメータ | 説明 |
---|---|
new_db | 1なら新規データベース作成、0なら既存データベースへのプロジェクト追加 |
new_db_template | 新規にデータベースを作成する場合は、テンプレートとして使用するデータベース名を入力してください。 |
new_db_name | 新しいデータベースを作成する場合は、新しいデータベースの名前を指定します。 |
existing_db_name | 新しいデータベースを作成しない場合 (new_db set to 0)、新しいプロジェクトを追加する既存のデータベースの名前を入力します。 |
name | プロジェクト名 |
constructor | 新規プロジェクトの建設者/会社名 |
description | プロジェクトの内容 |
owner_id | 所有者のID |
project_type_id | プロジェクトの種類。以下の値のいずれかを使用します。 ID│ 名称 |
すべてのパラメータは必須です。
例
CODE
|
プロジェクトユーザーの新規作成 (POST /project_users)
CODE
|
Wherer data.json contains
CODE
|
パラメータ | 説明 |
---|---|
project_user | project_id: 追加するプロジェクトのID room_rights: 部屋の権限レベル equipment_rights tender_rights consignation_rights system_rights modelstore_rights スーパーユーザー. プロジェクト管理者 addon_admin: BIM 管理者 no_web_admin_access: ユーザーがスーパーユーザーの場合、ウェブ管理者へのアクセスを拒否します。 |
user | username: 追加するユーザーのユーザー名 first_name: 追加するユーザーの名前 last_name: 追加するユーザーの姓 email: 追加するユーザーのEメール ユーザーが存在する場合、与えられた情報がサーバーに登録された情報と同じであることを確認する。 |
mail_type | ユーザーに送信するメールのID (/emailsより) "skip_email "はメールが送信されないことを意味します。 |
リソースの取得 : オブジェクトの操作など
データベース
リソース | |
---|---|
/database/[dbname]/disableall | データベース内のdbnameという名前のプロジェクトユーザーをすべて無効にする。 |
/database/[dbname]/enableall | dbnameという名前のデータベースで、すべてのプロジェクトユーザーを有効にする。 |
/database/[dbname]/kickall | データベース内のdbnameという名前のユーザーをすべてログアウトします。 |
/database/[dbname]/get_backup_now | データベースのバックアップをダウンロード |
ユーザー
リソース | |
---|---|
/users/[username]/disable | ユーザーがプロジェクトにログインできないように、ユーザーを無効にします。 |
/users/[username]/enable | ユーザーを有効にする。 |
/users/[username]/kick | データベースxxxの全ユーザーをログアウトする。 |
POST /users/[username]/toggle_otp | ユーザーが多要素認証を使用してログインする必要があるかどうかを切り替えます。 |
POST /users/[username]/toggle_force_weblogin | ユーザーがモダンログイン/SSOを使用してログインする必要があるかどうかを切り替えます。 |
POSTリソース : 切り替えとその他の変更
ユーザー
Resource | |
---|---|
/users/[username]/toggle_otp | ユーザーが多要素認証を使用してログインする必要があるかどうかを切り替えます。 |
/users/[username]/toggle_force_weblogin | ユーザーがモダンログイン/SSOを使用してログインする必要があるかどうかを切り替えます。 |
PUT/PATCH リソース:アップデート
リソース | |
---|---|
/projects/[id] | プロジェクトの更新 |
/project_users/username,projectid | プロジェクトユーザーの更新 |
Example 1: Update project
CODE
|
data.jsonが含まれる場所
CODE
|
例2:プロジェクトユーザーの更新
CODE
|
data.jsonが含まれる場所
CODE
|
リソースを削除
また、削除操作を使用して、ほとんどのオブジェクトを削除することもできます。
この例では、プロジェクト内のユーザーを削除します
CODE
|
パスワードの再設定
この本文と正しいユーザー名を使用して “/ password/request_reset” にJSONリクエストを投稿すると、パスワードのリセットプロセスが開始されます。 ユーザーは、トークンを含む電子メールでパスワードリセット要求を受け取ります:
CODE
|
実際にパスワードを変更するには、メールに記載されたトークンを使って、以下のjsonを使用します :
CODE
|
プロジェクト統計
Resource | コメント |
---|---|
/project_data | 時間の経過に伴うプロジェクトの統計を表示。 |
/project_data/latest | 各プロジェクトの最新のプロジェクト統計が表示。 |
フィルター
from_date=[date] | /project_dataの場合のみ、指定した日付よりも時間が長いデータのみが表示 |
field=[field] | 特定のフィールドのみ |
owner=[owner_id] | 特定の所有者IDのみ |
出力例
CODE
|