🤖
コラボフローのJavaScript APIを使って、コラボフロー REST APIを実行してみた
はじめに
コラボフローのJavaScript APIには、コラボフロー REST APIを呼び出すための関数が用意されています。
今回はその関数を使って、文書の概要を取得するREST APIを呼び出してみました。
やること
- JavaScript APIを使って、リストの値が変更されたら関連文書の情報を取得する
- REST APIを使って申請書情報を取得する
- JavaScript APIを使って、REST APIで取得した申請書情報を表示する
コラボフローJavaScript API
イベントの記述方法
コラボフロー申請書画面で発生する様々なイベントの発生を検知して、指定した処理を実行することができます。
collaboflow.events.on('eventName', function(data));
参考:イベントの記述方法
1. 利用する画面とイベント
コラボフローJavaScript APIでは、操作する画面毎に、対応するイベントを用意しています。
今回は、申請書内のパーツ値が変更された場合にイベントを実行します。
画面 | イベント | ハンドラー | 補足 |
---|---|---|---|
申請入力画面 | パーツ値変更 | request.input.<パーツID>.change | 申請書内のパーツ値が変更された場合に実行されるイベントです。 |
collaboflow.events.on('request.input.<パーツID>.change', function(event) { });
2. コラボフロー REST APIを呼び出すメソッド
コラボフロー REST APIを呼び出す際のメソッド毎に関数が用意されています。
今回はgetメソッドでの呼び出しを実行します。
collaboflow.api.get(path, parameters);
コラボフローREST API
今回は、文書の概要を取得するREST APIを利用します。
REST APIリファレンスに文書概要取得APIの情報が記載されています。
getメソッドの引数
引数 | タイプ | 説明 |
---|---|---|
path | string | REST APIリファレンスに記載のパスを指定します |
parameters | object | REST APIに応じたパラメータをオブジェクト型で指定します |
path
/v1/documents/{document_id}
parameters
REST APIリファレンスに文書概要取得APIで指定するパラメータが記載されています。
- document_id (文書ID)
- app_cd (コラボフローアプリケーションのコード)
記述例
(function() {
// リストが変更されたら関連文書の情報を取得する
collaboflow.events.on('request.input.fidList.change', function(event) {
const refId = event.parts.fidOtherDocumentID.value;
// コラボフローREST APIで申請書情報を取得
collaboflow.api.get('/v1/documents/' + refId, {
"app_cd": 1,
})
.then(function(response) {
// HTTPステータスと応答ボディ
console.log(response.status, response.body);
// REST APIの応答がエラーとなった場合の処理
if(response.body.error) {
console.log('失敗', response.body.messages);
return;
}
// コラボフローREST APIで取得した文書タイトルを表示する
event.parts.fidCaption.value = response.body.title;
})
.catch(function(err) {
console.log(err);
});
});
})();
戻り値
then()で登録したイベントハンドラーで受け取るresponseオブジェクトの内容を示します。
プロパティ名 | タイプ | 補足 |
---|---|---|
status | numeric | REST APIが返した応答HTTPステータスコードです。 詳細はREST APIリファレンスを参照ください。 |
status_text | string | |
headers | object | コラボフローサーバーから受信したヘッダー情報です。 |
body | object | REST APIからの応答内容(JSON)が、 オブジェクト型に変換した状態で格納されています。 |
body
文書情報の概要がJSON形式で返ります。
制限事項
JavaScript APIでは、REST APIリファレンスに記載されている「帳票出力API」を利用できません。
まとめ
コラボフローのJavaScript APIを使って、コラボフロー REST APIを実行することができました!!
Discussion