AssetiveのAPIで外部システムと連携する|資産・社員・部門を自動同期

棚卸しで台帳と現物のズレを直し、日々のメンテナンスで台帳をきれいに保つ。ここまでの記事では、そうした運用の話を重ねてきました。ところが、どれだけ丁寧に運用しても、なかなかゼロにならない手間があります。それが「他のシステムに入っている情報を、資産台帳へもう一度入力し直す」という二重入力です。

調達システムには買った機器の情報があり、人事システムには社員と部門の情報がある。それを見ながら資産台帳にも同じ内容を打ち込む――この作業が残っているかぎり、入力の手間も、転記ミスによる更新漏れも、なくなりません。Excelでは難しいですが、多くのIT資産管理ツールではその問題を解決する手段が用意されています。それが、外部システムと台帳をAPIでつなぐ機能です。今回は、IT資産管理システムでAPI連携をどう進めるかを整理したうえで、後半でAssetiveのAPIについてもご紹介します。

API連携の例

では、実際にどんな連携がよく行われるのでしょうか。代表的な3つのパターンで考えてみましょう。

調達・キッティング・MDMから資産を自動登録する

新しいPCを何十台とまとめて導入するとき、調達システムやキッティングの管理表、あるいはIntuneやJamfのようなMDM(モバイルデバイス管理)には、すでに機器の情報が入っています。それを見ながら台帳へもう一度手入力するのは、いかにも二重作業ですね。APIを使えば、機器が調達側に登録されたタイミングで、資産番号・型番・シリアル番号などを台帳へそのまま流し込めます。キッティングが終わった端末が、気づけば台帳に並んでいる。何十台まとめて導入しても、台帳への登録に人手をかけずに済みます。入力が一度で済むぶん、転記ミスも起きません。

人事システムと社員・部門を同期する

資産管理でいちばんズレやすいのが、実は人と組織の情報です。入社・異動・退職は毎月のように起きますし、部門の再編もあります。人事システムを正とみなして、社員と部門をAPIで同期しておけば、「退職した社員が台帳に残ったまま」「異動した人の所属が古いまま」といった状態から解放されます。人事台帳を更新すれば、台帳側も自動で追いつく。情シスが毎月の異動をExcelで追いかける必要は、もうありません。

BI・データ基盤へ資産とコストを出力する

台帳のデータを、Looker StudioやPower BIのようなBIツール、あるいは社内のデータ基盤へ渡したい場面もあります。資産の台数、ライセンスやSaaSのコスト、利用状況といった情報を定期的に取り出して、部門別のコスト集計や経年のグラフにまとめる、といった使い方です。ここでは先ほどの差分同期が効いてきます。毎回全件を取り直すのではなく、更新されたぶんだけを取得すれば、データ基盤側の更新も軽く済みます。情報を取り出すだけの用途なので、読み取り専用の権限で連携するのが安全です。

以下が連携イメージです。IT資産管理システム(以下の例ではAssetvie)を中心に置き、調達・人事といった上流のシステムからデータを受け取り、BIツールやデータ基盤といった下流のシステムへ渡す。台帳が、社内のシステムをつなぐハブになります。

AssetiveのAPI連携イメージ図。資産台帳のAssetiveを中心に、調達システム(資産を自動登録)・人事システム(社員・部門を同期)・BIツール(コスト・利用状況を分析)・データ基盤(資産データを集約)がREST APIでつながる様子。

連携を始める前に決めておくこと

いきなりつなぎ始める前に、いくつか決めておきたいことがあります。ここを曖昧にしたまま進めると、あとで「どっちのデータが正しいのか分からない」という状態に陥いるため連携時は必ず決めるようにしましょう。

どのシステムを「正」とするか

同じ情報が複数のシステムにあるとき、「どれを最新のデータとみなすか」を先に決めます。たとえば社員と部門の情報なら、人事システムを正とする、という具合です。人事を正と決めたら、台帳側は人事に合わせるだけにして、台帳から人事へは書き戻さない。この一方通行を守るだけで、データの取り合いによる混乱をかなり防げます。

何を同期し、何は同期しないか

必ずすべての項目を連携させる必要はありません。たとえば社員なら氏名・社員番号・部門くらいに絞り、そのほかの項目は台帳側で管理する、という分担もありです。同期する範囲が広いほど、片方のシステムの仕様変更に振り回されやすくなります。

権限とセキュリティをどう分けるか

連携先ごとに、読み取りだけでよいのか、書き込みも要るのかを決め、必要な権限だけを渡します。データを取り出すだけのBI連携には読み取り権限だけ、データを書き込む人事連携には読み書き権限、というように用途で分けておくと、連携を止めたいときも、その連携の分だけ止められます。参照だけの連携に書き込み権限まで渡してしまうと、万一その連携先が漏れたときに台帳を書き換えられてしまうので、注意が必要です。

全件取得か、差分同期か

データ量が増えてくると、毎回すべてのデータを取り直すのは重くなります。そこで、前回の同期以降に変わったぶんだけを受け取る「差分同期」を使えるかどうかも、事前に確認しておきたいポイントです。数百件程度なら全件取得でも問題ありませんが、社員や資産が数千件になってくると、差分同期があるかどうかで同期の負荷が大きく変わります。

AssetiveのAPI連携機能

当方の資産管理SaaS「Assetive」にもAPI連携機能があります。、AssetiveのAPIで何ができるのかを見ていきます。

AssetiveのAPIでは、資産台帳の中心にある5種類の情報を、外部システムから操作できます。デバイス、ライセンス、SaaS、社員、そして部門です。それぞれについて、一覧取得・1件取得・登録・更新・削除の5つの操作が用意されています。

対象 一覧取得 1件取得 登録 更新 削除
デバイス
ライセンス
SaaS
社員
部門

データの取得も、登録・更新・削除も行えます。一覧取得にはページングと差分同期の仕組みを持たせていて、指定した日時以降に更新されたデータだけを取り出せるので、社員数や資産数が増えても同期の負荷が膨らみにくくなります。

APIキーを発行・管理する

APIを利用するには、まず認証に使うAPIキーを発行します。APIキーは、画面左下の「設定」から「外部連携(API)」を開くと管理できます。ここが、キーの発行・一覧・失効を行う画面です。

資産管理SaaS「Assetive」のAPIキー管理画面。キーの名前・権限・最終利用日時・作成日を一覧で確認できる。

キーを発行するときは、「新規発行」を選び、用途の分かる名前(たとえば「人事システム連携用」)と権限を指定します。連携先ごとにキーを分けておけば、あとで「この連携だけ止めたい」というときに、そのキーだけを失効させれば済みます。

資産管理SaaS「Assetive」のAPIキー発行ダイアログ。キーの名前と権限(読み取り専用/読み書き)を指定して発行する。

権限は、読み取り専用と読み書きの2種類です。読み取り専用は情報の取得だけ、読み書きは取得に加えて登録・更新・削除ができます。BI連携のように情報を取得するだけの用途では、読み取り専用を選んでおくと安心です。連携先が万一漏れても、データを書き換えられる心配がありません。「必要な権限だけを渡す」という、先に触れた考え方をそのまま形にしています。

もうひとつ大事な注意点があります。発行されたAPIキーの文字列は、発行直後の画面でしか表示されません。あとから見返すことはできないので、その場でコピーして安全な場所に控えてから画面を閉じてください。もし控え忘れてしまった場合は、再発行し直せば大丈夫です。

資産管理SaaS「Assetive」のAPIキー失効画面。不要になったキーや漏えいのおそれがあるキーを失効できる。

実際にAPIを叩いてみる

キーが用意できたら、外侮システムより、そのAPIキーを使用してリクエストを送ることで、Assetiveのデータの取得や更新が可能です。本格的に外部システムに組み込む前に、curlコマンドで実験することができます。以下のようにcurl -Hの後に`Authorization: Bearer <発行したAPIキー>`とつけ、さらに対象APIのURLを入れましょう。デバイス一覧を取得したい場合は、「https://app.assetive.jp/api/v1/devices」となります。

curl -H "Authorization: Bearer ak_live_xxxxxxxx" \
  https://app.assetive.jp/api/v1/devices

成功すると次の例のように、資産一覧が取得できます。

{
  "data": [
    {
      "asset_number": "DEV-0001",
      "name": "ノートPC-0001",
      "category": "PC",
      "status": "利用中",
      "department_code": "SALES",
      "department_name": "営業部",
      "manager_employee_number": "E0001",
      "manager_name": "山田 太郎"
    }
  ],
  "pagination": { "limit": 50, "next_cursor": null, "has_more": false }
}

デバイスの識別子は`asset_number`(資産番号)、部門は`department_code`(部門コード)、管理者は`manager_employee_number`(社員番号)となります。今回は資産情報の取得の例でしたが、部門や社員情報の読み取りや、これら情報の書き込みも可能です。

注意点

発行したAPIキーは外部に漏らさないようにしましょう。万が一漏れた場合は、APIキーの発行画面より「失効」の上、「新規発行」の組み合わせで新しいAPIキーに変更してください。「新しいキーを発行 → 連携先を新キーに差し替え → 古いキーを失効」という順番で進めれば、連携を止めずにキーを切り替えられます。

また、API連携はビジネスプラン以上でご利用いただけます。もしすでにご契約済で、外部のシステムと連携したい場合はプランのアップグレードもご検討いただければと思います。

まとめ

API連携は、資産台帳を「他のシステムの下流」から「他のシステムと自動でつながった台帳」へ変えるための手段です。進め方としては、どのシステムを正とするか、何を同期するか、どんな権限で渡すかを先に決めておくと、連携は安全に組めます。

棚卸しで台帳と現物のズレを直し、日々のメンテナンスで台帳をきれいに保ち、その先で外部システムと自動でつなぐ。二重入力がなくなれば、更新漏れの入り込む余地も小さくなります。台帳を「頑張って合わせ続けるもの」から、「自然と合っている状態」へ。API連携は、その最後のピースになりうる仕組みです。調達も人事もBIも別システムで動いているのに、台帳だけは手入力で追いかけている。もしそんな状況に心当たりがあれば、その手作業はAPI連携で効率化ができるでしょう!

IT資産管理を、外部システムと自動でつなぐ

デバイス・ライセンス・SaaS・社員・部門を公開APIで連携 / 30日間無料

無料で始める お問い合わせ