Endpoint Central オンプレミス版 ナレッジベース

Desktop CentralのAPIについて


この記事では、Desktop CentralのAPIについて基本的な内容を説明しています。

Desktop CentralのAPIについて

Desktop Centralでは、パッチ管理やインベントリ管理など一部の機能について、Rest APIを使用した操作が可能です。
APIについての詳細は以下をご覧ください(英語)。

一部のAPIに関する不具合について、詳細はこちらをご覧ください。


API - URI構造

すべてのAPI URIは次の形式で構成する必要があります。

<Desktop Centralサーバー URL>/api/{Version}/{Entity}/{Operation/Action}

タグ 必須/任意 内容 用途/説明
Version 必須 APIバージョン 現在のバージョンは1.3です
Entity 必須 APIモジュール (例)inventory, som, desktop, patch
Operation/Action 必須 操作/アクション (例)computers, computers/installagents

 


APIによる検索

検索操作は、ページ分割された応答を返すURIで実行できます。
検索タイプと検索列パラメーターは、検索する必要がある列名に設定され、検索値は検索クエリに設定されます。

searchtype={resources}&searchcolumn={computername}&searchvalue={searchvalue}

たとえば、ソフトウェアインベントリで「Adobe」を含むソフトウェアを検索するには、以下のようになります。

searchtype=software_name&searchcolumn=software_name&searchvalue=Adobe

 


ページ分割された応答

一部のURIでは、オブジェクトの配列で構成されるレスポンスを返します。このレスポンスはページ分割されており、そのAPIのすべてのオブジェクトのサブセットまたはページのみを返します。そのため、ページ制限とページパラメータを使用して、レスポンスごとのオブジェクト数と取得するページを指定します。

page={page}&pagelimit={page_limit}

たとえば、APIがページごとに10個のオブジェクトを返し、2番目のページを表示したい場合は、APIの最後に以下を追加します

page=1&pagelimit=10

 


認証

APIにアクセスするには認証トークンが必要です。認証トークンを取得するには、認証URIを使用します。

/api/1.3/desktop/authentication

1(a). ローカル認証でトークンを生成する

POSTリクエストのHTTPヘッダーではContent-Type:application/jsonを指定し、リクエストボディには以下のJSONを含めます。パスワードはbase64エンコードします。

POST /api/1.3/desktop/authentication

{
"username":<Username>,
"password":<Password base64 encoded>,
"auth_type":"local_authentication"
}

1(b). AD認証でトークンを生成する

POSTリクエストのHTTPヘッダーではContent-Type:application/jsonを指定し、リクエストボディには以下のJSONを含めます。パスワードはbase64エンコードします。
なお、ドメイン名はCommon > ServerDiscover APIで取得可能です。

POST /api/1.3/desktop/authentication

{
"username":<Username>,
"password":<Password base64 encoded>,
"auth_type":"ad_authentication" ,
"domainName": <Domain Name>
}

2. レスポンス

以下の例のようなレスポンスが取得できます。取得できたauthtokenを、リクエストのHTTPヘッダーにかならず含める必要があります。

{ "message_type": "authentication", "message_response": {"authentication": { "user_permissions": { "read": ["Common_Read","SOM_Read", "Tools_Read"], "admin": ["Common_Admin","SOM_Admin","Tools_Admin" ], "write": [ "Common_Write","SOM_Write","Tools_Write"] },"user_data": { "auth_type": "Local Authentication", "user_id": 1, "user_name": "admin", "phone_number": null, "email": "" }, "auth_data": { "auth_token": "********-****-****-****-************"} } }, "message_version": "1.0", "status": "success" }