コラボフロー Advent Calendar 2022 8日目の記事です!
こんにちは!気づけばもう8日目。。時が経つのはほんとに早いと改めて感じているこにおです。
みなさん、10月にリリースされた検索APIは利用されてますでしょうか?
検索APIでは指定した条件の申請データを取得できますので、取得した申請データを利用して
以下のようなことが実現できます!
- 基幹システムとの連携
- 取得したデータをBIツールで分析する
- 過去のデータを取得してストレージサービス(Box等)にバックアップする
ただもっと違う使い方できないかな~と考えながらリファレンスを見ていたところ、、、
閃きました💡
検索APIでは申請書のURLも取得できるので、このURLを申請書にセットすれば
関連する申請書を紐づけできるのでは。。。
と思いやってみました!!
フォーム作成📝
まずは以下のようなフォームを作成します。
パーツID | パーツ名 | パーツタイプ | 補足 |
---|---|---|---|
fidRequestUserName | 申請者名 | テキスト(一行)パーツ | デフォルト値:[requesterusername] |
fidRequestDate | 申請日 | テキスト(一行)パーツ | |
fidSubject | 件名 | テキスト(一行)パーツ | |
fidSearchDocument | 文書番号検索 | マスター連携パーツ | |
fidDocumentURL | 申請書URL | テキスト(一行)パーツ |
マスター連携パーツで自分が申請した申請書で絞り込みできるよう、パーツ「申請者名」のデフォルト値には、申請者氏名のデフォルト値キーワードを設定しておきます。
マスター連携パーツの設定は後ほど説明します!
リストビュー作成🗒️
今回関連付けをおこなう申請書はマスター連携パーツで検索できるようにするので、先ほど作成したフォームのリストビューを作成します。
マスター連携パーツの設定🔎
先ほど作成したフォームの編集画面からマスター連携パーツの設定画面を開き、以下のように設定します。
自分が申請した申請書で絞り込みできるよう、「絞込1」にパーツ「申請者名」を選択します。
経路作成🛣️
続いて作成したフォームの経路を作成します。
申請書類の設定で作成したフォームを選択して「申請者名」、「申請書URL」を編集できないよう「編集可」のチェックをOFFにしておきます。
JavaScript カスタマイズコード🖊️
最後に検索APIを実行するJavaScriptカスタマイズコードを作成します。
以下カスタマイズコードをファイルに保存し、フォーム編集画面のカスタマイズからアップロードします。
コードとしてはシンプルで、マスター連携パーツの検索画面から文書番号がセットされたタイミングで検索APIを実行し、取得した検索結果の申請書URLをテキストパーツにセットしています。
(function () {
'use strict';
collaboflow.events.on("request.input.fidSearchDocument.change", function (event) {
const documentNumber = event.parts.fidSearchDocument.value;
// 文書番号が未入力の場合はクリア
if (documentNumber.length === 0) {
event.parts.fidDocumentURL.value = "";
return;
}
// 検索APIの実行
collaboflow.api.post('/v1/documents/search', {
"app_cd": 1,
"query": "document_number = '" + documentNumber + "'"
})
.then(function (response) {
if (response.body.error) {
console.log("失敗", response.body.messages);
return;
}
// 検索にヒットしなかった場合はクリア
if (response.body.records.length == 0) {
alert("選択した文書番号の申請書が見つかりませんでした。");
event.parts.fidDocumentURL.value = "";
return;
}
// 検索にヒットした申請書のURLをセット
event.parts.fidDocumentURL.value = response.body.records[0].link;
})
.catch(function (error) {
console.log(error);
});
});
})();
いざ実行💪
検索した文書番号のURLがセットされ、別の申請書と関連付けることができました🎉
今回は申請書URLしかセットしていませんが、カスタマイズやマスター連携パーツの設定を変更すれば、その他情報をセットすることも可能です!
検索APIが実行できるユーザーは以下ユーザーのみとなりますので、権限のないユーザーでは実行できません。
- 監査権限が付与されたグループに所属するユーザー
- システム管理者ユーザー
まとめ
いかがだったでしょうか?
あまり検索機能の部分を活用した内容ではありませんが、こういった使い方もありでは?と思いやってみました💪
実行ユーザーの制限がありますので、運用で利用するのは難しいかもしれませんが、他のサービスと組み合わせることで同様のことができるのではと思います。
まだまだ他に色んな活用方法があると思いますので、検索APIを是非ご活用ください!
それでは~🙋♂️