MotionBoardにはいくつかWeb APIが用意されています。Web APIを使うことで大量のユーザーを一括で登録したり、都度手動で挙げているExcelやCSVを自動でアップロードできます。Web APIってなに!?となった方、安心してください。今回は簡単な方法でWeb APIを試す方法を紹介します!
Web APIって?
APIとはApplication Programming Interfaceの略で、各企業が持っている基幹システムやその他様々なサービスとデータをやり取りする仕組みです。API自体はJavaやPythonなどのプログラム上で利用できる形式で提供されることが多く、自由度が高くサービスの開発効率を大幅に増加させますが知識がないと扱いづらいです。
その中でもWeb APIは、HTTPおよびHTTPSというルールでやり取りできる仕組みです。ブラウザでURLを打つような感覚で利用でき、より多くのユーザーが扱えるようになっています。また、MotionBoardでは様々なWeb APIが提供されています。
Web APIの利用にあたって、大まかに分けて必要な情報が4つあります。
- サーバーURL
- リソースURI
- パラメータ
- ヘッダ (MotionBoardのWeb APIでは基本的に不要なので本記事では割愛)
MotionBoardのWeb APIを例に、一つずつ紹介していきます。
サーバーURL
サーバーURLは「どのMotionBoardへアクセスするか?」を決める情報になります。そのため、サーバーURLはMotionBoardの環境(オンプレ・クラウド)に合わせて指定しましょう。MotionBoard CloudはいつもログインするURL(https://cloud.motionboard.jp/)とは別なので注意しましょう。
・オンプレ
http://[IP or ホスト名]:[ポート番号]/motionboard/
・MotionBoard Cloud
https://cloud-up.motionboard.jp/motionboard/
・MotionBoard Cloud for Salesforce
https://sfdc-up.variocloud.jp/motionboard/
リアルタイム連携する場合はまた別のサーバーURLになりますので下記のマニュアルをご覧ください。
リソースURI
リソースURIは利用するWeb APIによって異なりますので、利用する際はそれぞれのマニュアルページをご覧くださいね。例えば「ユーザーを登録する」場合は下記がリソースURIになります。
rest/directory/import/local/user
CSVをMotionBoardの共有フォルダにアップロードする際は、このようなリソースURIになります。
rest/csv/put/shared/<フォルダーパス>/<CSVファイル名>
パラメータ
パラメータにはすべてのWeb APIで共通のものと、各Web APIごとに用意されたものの2種類があります。まずはすべてのWeb APIで共通のパラメータについて紹介します。共通のパラメータは「どの」環境に対して「誰が」Web APIを叩くのかといった最低限必要な情報に該当します。
- tenant:テナントID ※1
- id:ユーザーID
- pw:パスワード
※1 オンプレかつマルチテナントライセンスでない場合は不要です。一方、クラウドの場合はテナントIDをCookieで指定するか、URLパラメーターとして必ず指定する必要があります。
続いて各Web API個別のパラメータです。例えば、「ユーザーを登録する」場合に必要なパラメータは下記になります。(※ 必須のもののみ抜粋)
- uploadFile:登録するユーザーIDやパスワードのリストファイル
- command:リストにあるユーザーを登録するのか、削除するのか、更新するのかといった情報
cURLを使って実際にWeb APIを使ってみる!
cURLの起動と使い方
Web APIを使う上で必要な情報がそろったところで、早速Web APIを使ってみましょう。Web APIを使う(俗に「Web APIを叩く・キックする」と表現することもあります)方法はたくさんあります。その中でもcURL(「カール」と読みます)というコマンドを使った方法は、Windows・Linux ともに標準で使え、かつ簡単に試すことができます。
では早速使ってみましょう。Windowsの場合はコマンドプロンプトを開きます。スタートメニューから「cmd」と検索するとヒットするかと思います。
コマンドプロンプトに、下記のようなフォーマットでWeb APIに必要な情報を指定し、Enterを押すだけでMotionBoardのWeb APIを使うことができます!
curl -X POST -F "[ファイルのパス]" "[サーバーURL]/[リソースURI]?[パラメータ1]=[パラメータ1の値]&[パラメータ2]=[パラメータ2の値]&・・・"
パラメータはURLの末尾に「?」を付けて記述します。一つではないので、必要な数だけ「&」をつけて追加します。
また、ファイルを指定する場合には「-F」を使って当該ファイルのパスを指定します。
コマンドの完成形
最後に、ユーザーを登録するWeb APIを例に最終的なコマンドの書式を紹介します。
curl -i -X POST -F "uploadFile=@C:/Users/add_user_list.csv" "https://cloud-up.motionboard.jp/motionboard/rest/directory/import/local/user?tenant=abcd1234&id=user&pw=password&command=add"
まずは、
まずは、サーバーURLとリソースURIをつなげてアクセスするURLを完成させます。このURLは「エンドポイント」と呼ばれます。また、その際に各種パラメータを末尾に指定します。
https://cloud-up.motionboard.jp/motionboard/rest/directory/import/local/user?tenant=abcd1234&id=user&pw=password&command=add
以下は例で指定しているパラメータとその値です。
- tenant=abcd1234
- id=user
- pw=password
- command=add
最後に、ユーザーを追加するWeb APIにおいてはファイルを指定する必要があるため、「-F」にてCSVファイルのパスを指定します。
-F "uploadFile=@C:/Users/add_user_list.csv"
ではコマンドを入力してEnterを押して実行してみましょう。cURLでは「-i」を指定することで、コマンドが成功したかといった結果(レスポンスと呼びます)を確認することができます。成功するとこのようなテキストが出力されます。
HTTP/1.1 200
Transfer-Encoding: chunked
Date: Thu, 18 May 2023 05:26:59 GMT
Server: MotionBoard 6.4
一行目の「200」という番号はステータスコードと呼ばれ、200だと成功、404だとURLが間違っている可能性が高いです。エラーが出た場合はステータスコードやエラーメッセージを見て、今一度URLやパラメータが間違っていないか確認してみましょう。以上がMotionBoardのWeb APIの簡単な使い方の紹介になります!
まとめ
本記事では、MotionBoardのWeb APIの簡単な使い方を紹介しました。MotionBoardには、今回紹介したユーザー登録やCSVのアップロード以外にもたくさんのWeb APIが用意されています!
本記事で紹介した方法を試していただき、他のWeb APIを使った自動化や工数削減を実現できれば幸いです。本記事を参考に、実際に一括ユーザー登録などを行ってみてください!