メッセージ開始・受信中間イベント(HTTP)

機能概要

プロセスにおいて、システムが処理する自動工程を表します。
メッセージ開始イベント(HTTP): 外部システムまたはDataSpider BPMの他のプロセスから受け取ったメッセージをもとにプロセスを開始します。
メッセージ受信中間イベント(HTTP): プロセスの実行途中で、外部システムまたはDataSpider BPMの他のプロセスから受け取ったメッセージをもとにデータを入力できます。
DataSpider ServistaのBPMアダプタを使用してプロセスを開始する場合は、メッセージ開始イベント(HTTP)ではなく通常の開始イベントを使用します。
      DataSpider ServistaのBPMアダプタに関する詳細は、配布資料「DataSpider Servista との連携概要」を参照してください。

アプリ管理権限を持つユーザが対象です。

機能一覧

ワークフロー図 ワークフロー図の作成を行います。
スイムレーンや各ノードを配置し、フローを作成して、作業の順序を定義します。
ヒューマンタスク プロセスにおいて、処理担当者が作業する手動工程を表します。
プロセス実行時に、データを入力するフォーム(タスク処理画面)が表示されます。
サービスタスク
(データ設定)
プロセスにおいて、システムが処理する自動工程を表します。
数値型、日付型/日時型、文字型、選択型データ項目に、動的な値や演算結果を代入します。
サービスタスク
(PDF生成)
プロセスにおいて、システムが処理する自動工程を表します。
業務データ(各データ項目に保持されている値)を埋め込んだPDF帳票を生成します。
サービスタスク
(選択肢マスタ更新)
プロセスにおいて、システムが処理する自動工程を表します。
指定の選択型データ項目の内容を、アプリ共有アドオンの[選択型データ項目で使用する選択肢マスタ]として更新します。
スクリプトタスク プロセスにおいて、システムが処理する自動工程を表します。
ECMAスクリプトを使用して、業務データ(各データ項目に保持されている値)を編集します。
受信タスク
(フォーム)
プロセスにおいて、システムが処理する自動工程を表します。
アカウントを持たないユーザに対して、プロセスの途中での入力フォームを提供します。
メッセージ開始イベント(フォーム)を使用してユーザにWeb入力フォームを提供したあとに、メールによる本人確認を経て、詳細情報を入力するようなWeb入力フォームを表示します。
受信タスク
(Webhook)
プロセスにおいて、システムが処理する自動工程を表します。
外部サービス側のWebhook通知の受信まで待機し、受信後にトークンが進みます。
サービスタスク
(Add-on)
プロセスにおいて、システムが処理する自動工程を表します。
ユーザ独自定義のサービスタスクを処理します。
タイマー開始イベント プロセスにおいて、システムが処理する自動工程を表します。
設定した日時にプロセスを自動的に開始します。
タイマー中間イベント プロセスにおいて、システムが処理する自動工程を表します。
指定した日時まで待機し、指定日時を経過するとトークンが進みます。
メッセージ開始・
受信中間イベント(HTTP)
プロセスにおいて、システムが処理する自動工程を表します。
メッセージ開始イベント(HTTP): 外部システムまたはDataSpider BPMの他のプロセスから受け取ったメッセージをもとにプロセスを開始します。
メッセージ受信中間イベント(HTTP): プロセスの実行途中で、外部システムまたはDataSpider BPMの他のプロセスから受け取ったメッセージをもとにデータを入力できます。
メッセージ開始イベント
(フォーム)
プロセスにおいて、システムが処理する自動工程を表します。
Webページの入力フォームから受け取ったメッセージをもとにプロセスを開始します。
入力フォームは、データ項目のレイアウトをWebページに埋め込んで使用します。
メッセージ開始イベント
(Webhook)
プロセスにおいて、システムが処理する自動工程を表します。
外部サービス側のWebhook通知の受信を起点とし、プロセスを自動的に開始します。
メッセージ送信中間イベント
(HTTP)
プロセスにおいて、システムが処理する自動工程を表します。
指定したURLに、HTTPリクエストを送信します。
外部システムまたはDataSpider BPMの他のプロセスへのデータ送信が可能となります。
メッセージ送信中間イベント
(メール)
プロセスにおいて、システムが処理する自動工程を表します。
設定した内容でメールを送信します。
送信先は任意に設定できます。
メール本文に、データ項目の入力内容を埋め込むことができます。
メッセージ送信中間イベント
(DataSpider Servista)
プロセスにおいて、システムが処理する自動工程を表します。
指定したDataSpider Servistaのスクリプトを実行することができます。
イベントの実行時には、DataSpider BPM側のデータ項目の値を、DataSpider Servista側で定義されている入力変数へ渡すことができます。
スクリプト終了時には、DataSpider Servista側で定義されている出力変数の値を、DataSpider BPM側のデータ項目の値として受け取ることができます。
スクリプトの実行結果(結果の戻り値:ExitStatusおよびエラー内容)を受け取り、その後のタスクや条件分岐処理等で使用することができます。
分岐 ワークフロー図に分岐がある場合、分岐・遷移先の設定を行います。

項目説明

項目名 必須 説明
工程名 任意 イベントの名称を入力します。
メモ 任意 イベントの注意点や目的などに関するメモを入力します。
編集の可否 データ項目 - データ項目の一覧を表示します。
編集の可否 必須 このイベントでのデータ項目のデータ編集許可を設定することができます。
データ項目ごとに、データを受信できるかについて設定します。
データ編集許可の種類と動作は以下の3通りです。
  • [編集可]: データを受信することができます。
  • [表示なし]: データを受信しません。

ガイドパネル型は「表示なし」を対応しています。
API キー API キー 任意 アクセスURLの一部であるAPIキーを入力します。
セキュリティを考慮した値を入力してください。

APIキーの値を自動生成することができます。
半角英数字のみで構成し、100文字以下にしてください。

操作メニュー説明

表示
(HTML5版)
表示
(Flash版)
操作メニュー 説明
[ヘルプ]アイコン
[ヘルプ]ボタン
このマニュアルページを表示します。
[適用して閉じる]ボタン
[閉じる]ボタン
設定した値を適用して、プロパティ設定ダイアログを閉じます。
- [適用する]ボタン 設定した値を適用します。
- [キャンセル]ボタン 設定した値を適用せずに、プロパティ設定ダイアログを閉じます。
[URL, 受信パラメータ]ボタン
[URL・パラメータ詳細]ボタン
このイベントを呼び出す際の処理仕様を表示します。
「(開発中)」バージョンでは、このボタンは無効となります。
      アプリをリリース後にリリースバージョンを選択し、プロパティ設定ダイアログを開くことで有効となります。
[キーを自動生成]アイコン
[キーを自動生成]ボタン
[API キー]の値を自動生成します。

メッセージ開始・受信中間イベント(HTTP)の処理仕様

処理仕様の確認とデータ受信基本仕様

処理仕様の確認

このイベントを呼び出す際の処理仕様は、以下の手順により確認することができます。
システム管理権限を持つユーザの場合は、[システム設定]-[アプリ外部連携]メニューでも確認することができます。
  1. メッセージ開始イベント(HTTP)またはメッセージ受信中間イベント(HTTP)を保持しているアプリをリリースします。
  2. [バージョン一覧]から、「(開発中)」バージョンではなく、リリースしているバージョンの[詳細]ボタンを押下します。
  3. [バージョン<バージョン番号>の詳細]に表示されるワークフロー図から、メッセージ開始イベント(HTTP)およびメッセージ受信中間イベント(HTTP)のプロパティ設定ダイアログを表示します。
  4. [URL, 受信パラメータ]ボタンを押下します。
  5. メッセージ開始イベント(HTTP)またはメッセージ受信中間イベント(HTTP)の詳細画面が別のタブページで表示されます。
    処理仕様の表示例

  6. 表示される[URL]および[受信パラメータ]の値を確認します。

データ受信基本仕様

アクセスURLを使用したデータ受信を行う際の基本仕様は以下のとおりです。
メッセージ開始イベント(HTTP): アクセスURLの例)
https://hostname:18443/userweb/System/Event/MessageStart/420/2/start

メッセージ受信中間イベント(HTTP): アクセスURLの例)
https://hostname:18443/userweb/System/Event/IntermediateMessage/420/5/receive?processInstanceId=12345&key=wpvu2nPXa0qcl5WvrIpOFV

受信可能なデータ(パラメータ)と指定方法

プロセスを特定するためのデータ

パラメータ名 指定例(外部システムから) 説明
processInstanceId ?processInstanceId=12345 プロセスID
プロセスを開始した際に付けられるインスタンス管理番号です。
プロセスインスタンスIDとも呼ばれます。
メッセージ受信中間イベント(HTTP)で使用するパラメータです。
プロセスIDは、プロセスを開始した際に付けられる番号であるため、作成時およびリリース時には確定されません。
key &key=NOYU3xDtySJqDhYGf02gj5X2 API キー
外部システムから実行を行う際に必要なAPI キーの値です。
この値が漏えいしないよう注意してください。「プロセスID」や「メッセージ開始・受信中間イベント(HTTP)ID」も共に検知された場合は、外部からの不正アクセスの原因となります。

データ項目

データ型 パラメータ名の書式 指定例(外部システムから) 説明
件名 title &title=test 各アプリで共通に用意されている[件名]を指定します。
[件名]のパラメータ名は、「title」固定となります。
UTF-8の文字コードでURLエンコードしてください。
文字型 <フィールド名>
または
data[XX].input
&q_string=foo
または
&data[0].input=foo
文字列を指定します。
UTF-8の文字コードでURLエンコードしてください。
数値型 <フィールド名>
または
data[XX].usdecimal
&q_number=12.3
または
&data[1].usdecimal=12.3
数値を指定します。
接頭文字や接尾文字の指定は必要ありません。
小数点は「ピリオド」、桁区切り文字は「なし」で指定します。
data[XX].input &data[1].input=12.3 数値を指定します。
接頭文字や接尾文字の指定は必要ありません。
小数点の表記などはデータ項目の設定に依存します。
選択型 <フィールド名>
または
data[XX].selects
単一選択の場合:
&data[2].selects=true
複数選択の場合:
&q_selection=1&q_selection=2
または
&data[2].selects=1&data[2].selects=2
「表示ラベル」ではなく、「選択肢ID」を指定します。
フォームタイプ(データサブタイプ)が[チェックボックス]の場合で複数の選択肢を指定したい場合は、その数だけパラメータと値を送信するようにしてください。
フォームタイプ(データサブタイプ)が[チェックボックス]の場合で何も選択しない場合は、パラメータを送信しないようにしてください。
日付型 <フィールド名>
または
data[XX].input
年月日の場合:
&data[3].input=2012-03-12
年月の場合:
&data[3].input=2012-03
年の場合:
&data[3].input=2012
月日の場合:
&data[3].input=03-12
または
&q_date=2012-03-12
アプリの設定に応じて、以下の形式で指定します。
  • 年月日: yyyy-MM-dd
  • 年月: yyyy-MM
  • 年: yyyy
  • 月日: MM-dd
日時型 <フィールド名>
または
data[XX].datetime
または
data[XX].input
data[XX].time
フィールド名を使用する場合:
&q_datetime=2011-10-27 12:34
datetimeを使用する場合:
&data[4].datetime=2011-10-27 12:34
datetimeを使用しない場合:
&data[4].input=2011-10-27&data[4].time=13:57
以下の形式で指定します。
  • フィールド名を使用する場合: yyyy-MM-dd hh:mm
  • datetimeを使用する場合: yyyy-MM-dd hh:mm
  • datetimeを使用しない場合:
    • input: yyyy-MM-dd
    • time: hh:mm
ファイル型 <フィールド名>
または
data[XX].upload
(※1) 添付ファイル名を指定します。
ファイル送信時は POST/multipartで送信してください。
添付ファイルがない場合は、パラメータを送信しないようにしてください。
ファイル以外のデータを送信した場合は、値を反映しません。
ユーザ型 <フィールド名>
または
data[XX].email
&q_useremail=sample@example.com
または
&data[6].email=sample@example.com
「ユーザID」または「ユーザ名」ではなく、「メールアドレス」を指定します。
組織型 <フィールド名>
または
data[XX].qgroupName
&q_group_name=Sales
または
&data[7].qgroupName=Sales
組織名を指定します。
UTF-8の文字コードでURLエンコードしてください。
掲示板型 <フィールド名>
または
data[XX].console
&q_board=testcomment
または
&data[8].console=testcomment
文字列(追記したい1コメントのみ)を指定します。
UTF-8の文字コードでURLエンコードしてください。
テーブル型 <フィールド名>
または
data[XX].input
(※2) テーブル型を表すXMLを指定します。
入力文字列・数値データ・選択肢IDが格納されたXMLを指定してください。
テーブル型として定義されている設定項目とXMLの項目が一致している必要があります。
テーブルのレコード値をすべてクリアする場合は、空の文字列を指定するか、<list></list>という内容のXMLを指定してください。
上記の「XX」部分はデータ項目番号と呼ばれ、アプリ作成時にデータ項目を定義した順番に依存します。
       データ項目番号に関する詳細は、
「データ項目」を参照してください。
掲示板型を除き、空の文字列を指定した場合は、そのデータ項目の値をクリアします。
      例) q_reason=
上記のデータを受信するには、イベントのデータ編集許可に「編集可」を設定する必要があります。
必須入力の設定をしたデータ項目については、そのパラメータに必ず値を設定してください。

※1 メッセージ開始イベント(HTTP): ファイル型の指定例(外部システムから)

<form action="https://hostname:18443/userweb/System/Event/MessageStart/420/2/start"
method="post" enctype="multipart/form-data"> <input type="file" name="data[5].upload" />

※1 メッセージ受信中間イベント(HTTP): ファイル型の指定例(外部システムから)

<form action="https://hostname:18443/userweb/System/Event/IntermediateMessage/420/5/receive?processInstanceId=12345&key=wpvu2nPXa0qcl5WvrIpOFV"
method="post" enctype="multipart/form-data"> <input type="file" name="data[5].upload" />

※2 共通: テーブル型の指定例(外部システムから)



以下はXMLの構造を把握しやすくするため改行しています。

&data[8].input=
<list>
    <row>
        <col>Apple</col>
        <col>2.5</col>
        <col>3</col>
        <col>7.50</col>
    </row>
    <row>
        <col>Orange</col>
        <col>1.3</col>
        <col>2</col>
        <col>2.60</col>
    </row>
    <summary>
        <col />
        <col />
        <col />
        <col>10.10</col>
    </summary>
</list>

テーブル型のデータ項目を指定する場合は、以下を注意してください。

イベント実行時の応答メッセージ

レスポンスコード

レスポンスコード 結果 BODY部
200 処理成功 メッセージ開始イベントの場合は、プロセスIDを返します。
400 処理失敗 エラーの詳細をXML形式で返します。

メッセージ開始イベント(HTTP):
<message-start-event-errors>
    <error>
        <key>...</key>
        <detail>...</detail>
    </error>
    ...
</message-start-event-errors>

メッセージ受信中間イベント(HTTP):
<message-receive-event-errors>
    <error>
        <key>...</key>
        <detail>...</detail>
    </error>
    ...
</message-receive-event-errors>

  • <key>: エラーの種類。データバリデーションエラーの場合はパラメータ名が表示されます。
  • <detail>: エラー原因の特定に使用される詳細情報です。データバリデーションエラーの場合はフォームでのエラー文言と同じとなります。その他エラーではエラー原因となった入力値がそのまま表示されることがあります。

処理失敗(エラー)の通知先

エラーの種類 通知先
processModelInfoId、processInstanceId、nodeNumberのパラメータが存在しない、数値ではない システム管理者
指定されたprocessModelInfoIdのアプリが存在しない システム管理者
指定されたnodeNumberのノードが存在しない コントロール権限者
指定されたノードがメッセージ開始イベント(HTTP)ノードではない コントロール権限者
指定されたノードがメッセージ受信中間イベント(HTTP)ノードではない コントロール権限者
稼働中のアプリが存在しない コントロール権限者
パラメータ名エラー コントロール権限者
プロセス数の上限に達している コントロール権限者
データバリデーションエラー(数値型に文字が入っているなど) コントロール権限者
必須のデータが入力されていない コントロール権限者

注意事項

DataSpider BPMでは、一度にプロセスを開始できる数に関して以下の設定および制限を設けています。
メッセージ開始イベント(HTTP)を使用して、外部システムまたはDataSpider BPMの他のプロセスからプロセスを開始する際に影響します。 使用頻度および状況を考慮し、設定値を適宜変更してください。
設定ファイル(qbpms.config)に関する詳細は、「設定ファイル(qbpms.config)」を参照してください。