手動開始ワークフローAPIとBox Relay

Box Developers
Box Developer Blog
Published in
Sep 7, 2021

Box Relay用に2つの新しいAPIエンドポイントをリリースしました。1つ目のエンドポイントでは、指定したフォルダに対して構成されたワークフローを取得できます。もう1つのエンドポイントでは、トリガータイプがWORKFLOW_MANUAL_STARTに設定されているワークフロー内のフローを開始できます。このガイドでは、これらの新しいエンドポイントの使用方法を説明します。

前提条件

· 手動開始フローを作成しておく必要があります。こちらのガイドを参照してください。

ステップ1

Boxアプリケーションを設定します。上記の新しいエンドポイントを使用するには、開発者コンソールの構成セクションにあるアプリケーションスコープ で [Box Relayを管理する]、[Boxに格納されているすべてのファイルとフォルダの読み取り]、[Boxに格納されているすべてのファイルとフォルダへの書き込み] を有効にする必要があります。アプリケーションの認証方法によっては、管理者によるアプリケーションの再承認が必要になる場合があります。

ステップ2

ワークフローを設定したら、GETエンドポイントを使用して、指定したフォルダに対するワークフローをすべて表示します。このエンドポイントを使用するcURLの例を次に示します。

curl -i -X GET “https://api.box.com/2.0/workflows?folder_id=324234"\
-H “Authorization: Bearer <ACCESS_TOKEN>”

レスポンスの一部は、次のようになります。

ステップ3

WORKFLOW_MANUAL_STARTフローを開始するには、POSTエンドポイントを使用します。前述のGET呼び出しのレスポンスで受け取った情報の一部が必要になります。具体的には、フローを開始するためのフローIDフォルダID結果IDとその設定可能な情報 (任意)、ファイルID (任意) をリクエスト本文に配置する必要があります。ワークフローIDはパスパラメータです。

1つのファイルに対してフローを開始するcURL呼び出しの例を次に示します。一度に最大20ファイルに対してフローを開始できます。

curl -i -X POST “https://api.box.com/2.0/workflows/<WORKFLOW_ID>/start" \
-H “Authorization: Bearer <ACCESS_TOKEN>” \
-d ‘{
“type”: “workflow_parameters”,
“flow”: {
“id”: “<FLOW_ID>”,
“type”: “flow”
},
“files”: [{
“type”: “file”,
“id”: “<FILE_ID>”
}],
“folder”: {
“id”: “<FOLDER_ID>”,
“type”: “folder”
},
“outcomes”: [ {
“id”: “<OUTCOME_ID>”,
“type”: “outcome”,
“task_collaborators”: {
“type”: “variable”,
“variable_type”: “user_list”,
“variable_value”: [{
“type”: “user”,
“id”: “<USER_ID>”
}]
},
“completion_rule”: {
“type”: “variable”,
“variable_type”: “task_completion_rule”,
“variable_value”: “all_assignees”
},
“file_collaborator_role”: {
“type”: “variable”,
“variable_type”: “collaborator_role”,
“variable_value”: “viewer”
}
}]
}’

フローに、フローの開始時に設定可能な結果がある場合は、各outcomeの設定可能なすべての情報のリストを取得するoutcomes配列オブジェクトを渡す必要があります。

上記の例は、タスクを割り当てる場合のoutcomeの例です。task_collaboratorsオブジェクトのvariable_value配列オブジェクトで、このタスクを割り当てる各ユーザーのリストを取得できます。

同様に、completion_ruleオブジェクトとfile_collaborator_roleオブジェクトのvariable_valueには、それぞれ値any_assignee/all_assigneesとeditor/viewer/previewer/uploader/previewer uploader/viewer uploader/co-ownerを指定することができます。

その他の設定可能なoutcomeの例は、近日中に公開する予定です。

フローの開始に成功すると、空の204レスポンスが返されます。フローからの結果はすべて、メインのBoxウェブアプリで確認できます。

SDKのサポート

SDKライブラリは、近日中に、ここで説明したエンドポイントをサポートする予定です。それまでの間、最新のPostmanコレクションまたはcURLをご利用ください。

フィードバック

  • バグが見つかった場合や問題を解決/修正する場合は、Boxの製品サポートチームに対して、英語でチケットを作成してください。
  • APIの使用方法に関する質問がある場合は、Boxの開発者向けフォーラムに英語で投稿してください。

--

--