

- Questetra BPM Suite の外からケースを開始する(準備編)
- Questetra BPM Suite の外からケースを開始する(curl編)
- Questetra BPM Suite の外からケースを開始する(Python編)
- Questetra BPM Suite の外からケースを開始する(エラー対処編)
curl コマンドや外部プログラムからケースを開始する
Questetra BPM Suite で新しくケースを開始しようと思った時、ログインして「新規開始」ページを開いて……という手順を踏みます。しかしワークフローアプリの方でメッセージ開始イベント (HTTP) を設定しておくと、curl コマンドや自分で用意したプログラムから HTTP リクエストを送ることで、ケースを開始することができるようになります。これにより、人の手を介さずにケースを自動開始したり、システム間での連携を図ったりといったことが可能になります。
メッセージ開始イベント (HTTP) は普通の開始イベントと同じように、ワークフロー図の中に設置して使用します。開始イベントはユーザが手動で「新規開始」をクリックすることでケースを開始しますが、メッセージ開始イベント (HTTP) は外部システムから HTTP リクエストを受信した場合にケースを開始します。各メッセージ開始イベント (HTTP) にはエンドポイントが与えられており、外部システムからの利用が可能になっています。
本連載では以下の内容を扱います。
- メッセージ開始イベント (HTTP) の設定
- IPアドレス制限の設定
- curl コマンドを用いたケース開始
- Python を用いたケース開始
今回はこのうち、上から「IPアドレス制限の設定」までを扱います。
メッセージ開始イベント (HTTP) の設定
メッセージ開始イベント (HTTP) の動作を確認するための簡単なアプリを作成しましょう。アプリを新規作成して、まず次のようなワークフロー図を描いてください。メッセージ開始イベント (HTTP) は advanced パレットの「開始イベント」カテゴリ内にあります。

データ項目はひとまず「件名」だけで構いません。データ編集許可は、メッセージ開始イベント (HTTP) を「編集可」、「確認」タスクを「表示のみ」に設定してください。
スイムレーンの処理担当者は、デフォルトのあなたのアカウントのみのままで大丈夫です。
以上の設定が終わったら、保存しましょう。アプリ詳細画面にあるワークフロー図で、メッセージ開始イベント (HTTP) のプロパティを開いてください。「受信パラメータ、IP アドレス制限」のボタンをクリックすると、ノード詳細ページが開きます。ここでエンドポイントの URL や各種パラメータ名などが確認できるので、覚えておいてください。
なお、これらはアプリをリリースしていなくても確認できます。開発中(未リリース)のバージョンでもエンドポイント URL を確認でき、デバッグケースを開始して動作を試すこともできます。
API キーを設定すると、リクエスト時に正しいキーを伴わないアクセスを拒否でき、セキュリティが向上します。本連載のように外部(同一サーバ以外)からリクエストを送る場合は、API キーを設定するようにしてください。モデラの設定ダイアログでは API キーは独立した入力欄です。ノード詳細ページには API キー単体の表示はなく、設定している場合はエンドポイント URL の末尾に ?key=… という形で埋め込まれて表示されます。リクエスト送信時はこの URL をそのまま使えば API キーも一緒に送られます。
IP アドレス制限の設定
メッセージ開始イベント (HTTP) のエンドポイントは、初期設定(デフォルト)では外部ネットワークからのアクセスがすべて拒否されています。まずはノード詳細ページの「接続が許可されているネットワーク」を見て、利用予定の IP アドレスからのアクセスが許可されているか、制限されたままかを確認してください。
制限されている場合は、その IP アドレスからのアクセスを許可する必要があります。ただし、IP アドレス制限の設定はシステム管理ユーザ(システム管理権限を持つアカウント)でないと行えません。ワークフローアプリを作成・編集できる権限と、IP アドレス制限を設定できる権限は別物です。あなたがシステム管理ユーザでない場合は、ご自身では設定できませんので、システム管理ユーザに、当該エンドポイントへのアクセス許可を依頼してください。
設定方法の詳細は「IPアドレス制限を設定する」を参照してください。

