🤖

コラボフローのJavaScript APIを使って、コラボフロー REST APIを実行してみた

2023/06/28に公開

はじめに

コラボフローのJavaScript APIには、コラボフロー REST APIを呼び出すための関数が用意されています。
今回はその関数を使って、文書の概要を取得するREST APIを呼び出してみました。

やること

  1. JavaScript APIを使って、リストの値が変更されたら関連文書の情報を取得する
  2. REST APIを使って申請書情報を取得する
  3. 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の情報が記載されています。

参考:コラボフロー REST API リファレンス

getメソッドの引数
引数 タイプ 説明
path string REST APIリファレンスに記載のパスを指定します
parameters object REST APIに応じたパラメータをオブジェクト型で指定します
path
/v1/documents/{document_id}
parameters

REST APIリファレンスに文書概要取得APIで指定するパラメータが記載されています。

  • document_id (文書ID)
  • app_cd (コラボフローアプリケーションのコード)

参考:コラボフロー REST API リファレンス

記述例

(function() {
    // リストが変更されたら関連文書の情報を取得する
    collaboflow.events.on('request.input.fidList.change', function(event) {
        const refId = event.parts.fidOtherDocumentID.value;
        console.log('関連の文書ID:' + refId);

        // コラボフロー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形式で返ります。

参考:コラボフロー REST API リファレンス

制限事項

JavaScript APIでは、REST APIリファレンスに記載されている「帳票出力API」を利用できません。

まとめ

コラボフローのJavaScript APIを使って、コラボフロー REST APIを実行することができました!!

コラボスタイル Developers

Discussion