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

Box Developers
Sep 7 · 6 min read

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の開発者向けフォーラムに英語で投稿してください。

Box Developer Blog

News and stories for working with the Box APIs

Box Developer Blog

News and stories for working with the Box APIs

Box Developers

Written by

Box Developer Blog

News and stories for working with the Box APIs