※ 2020年4月に「Office 365」は「Microsoft 365」に、2020年10月に「G Suite」は「Google Workspace」に名称変更されました。
システム連携ネタでよくブログを書いている日下です。
※ちなみにこれまでのネタはこちら
クラウド型ワークフロー Questetra は多様な API を備えていて、様々なサービスとの連携が持ち味の1つです。
じゃあ、どんな API が備わっているのか?少しずつ進化していて多岐に渡るので、自分なりに整理してみました。まずはざっと章立てを眺めてもらえれば概要をつかんでもらえるかと思います。
※主に REST API が対象となりますが、システム連携でメールを使うこともありますので、それも含めて以下にまとめてます。
※この記事を書いた時点(2018/5/21時点、Questetra Ver.11.6.0)での内容ですので、それよりも新しい情報は含まれていません。留意してください。
https://xxxxx.questetra.net/Swagger/index
オンラインデモ環境でのマニュアルのリンク先は以下です。こちらであれば環境を持ってない方でもすぐに見れます。
System Settings API
Workflow API
2: API 認証について
3: Questetra での処理結果の取得
4: Questetra でのフロー開始やタスク実行の処理
5: ユーザ・組織・ロールの設定、権限設定
6: 業務フロー定義(Questetra アプリ定義)の設定
7: 選択肢マスタの設定
8: まとめ
1: 業務フロー内での外部(他サービス)との通信
一番よく使うのがこれです。
ここにあげたものはいずれも業務フローに部品を埋め込んで準備するものとなります。
受信の認証については API key 指定です。
外部からデータを受信してフロー開始(http、メール)
詳しくは以下をご覧ください。
M221: 特定URIにHTTPリクエストがあった時に自動的に開始されるように設定する
M218: 特定メールアドレスにメールが届いた時に自動的に開始されるように設定する
※json 付き Webhook の受信も対応できます。
ブログ記事:backlog の webhook でクラウド型ワークフローを動かす
※API ではありませんが、Web フォームからの業務フロー開始もできます。
M220: 公開フォーム画面に入力があった時に自動的に開始されるように設定する
フローの途中で外部へデータ送信(http、メール)
詳しくは以下をご覧ください。
M225: 業務データを組み込んだHTTPリクエストが、自動的に送信されるように設定する
M224: 業務データを挿し込んだメール文が、自動的にメール送信されるように設定する
※http 送信は Basic 認証・OAuth2・http ヘッダ指定(ただしヘッダ名には制限あり)が対応可能です。
※スクリプトタスクからの http 送信も可能です(詳しくはスクリプトタスクの利用できる Java クラスの中の HttpRequestWrapper を参照)。他サービスと連携するアドオンの多くはその仕組みを使っています。以下はその一例です。
M230: 業務データの複雑なデータ加工が自動実行されるように設定する(ECMAスクリプト)
ブログ記事:chatwork とクラウドワークフローとの連携方法
フローの途中で外部からデータ受信(http)
詳しくは以下をご覧ください。
M226: 特定のURIへのHTTPリクエストを待ち受けるように設定する
※データを受信するまで待って、受信したらフローの続きが動きます。
M318: 外部から[Message Catch Event API]へのアクセスを制御する
※メール受信のケースでは、スクリプトタスクでメール本文の解析をしてデータとして取込可能です。詳しくは以下をご覧ください。
M230: 業務データの複雑なデータ加工が自動実行されるように設定する(ECMAスクリプト)
ブログ記事:経路探索サービスと立替金精算/経費精算フローの連携方法
※メールでの業務開始(メッセージ開始イベント(メール))を受け付けるにはあらかじめ許可が必要です。詳しくは以下をご覧ください。
M318: 外部から[Message Catch Event API]へのアクセスを制御する
※これらの仕組みを使ってアドオンとして部品化されたものを多数準備しています。
アドオンの一覧
M415: 業務プロセス定義で利用可能な自動工程を追加する
また Google ドライブへの出力については専用部品があります。
M229: 業務ファイルがGoogleドライブにも自動保存されるように設定する
2: API 認証について
以降の API 利用のためには認証が必要となります。
Basic 認証と OAuth2 があり、Basic 認証を受け付けるにはあらかじめ許可が必要です。詳しくは以下をご覧ください。
M317: 外部からの OAuth2 認可アクセスや Basic 認証アクセスを制御する
3: Questetra での処理結果の取得
Questetra での処理結果を外部で分析したりする場合に使うのがこれです。
業務フロー(プロセス)の処理データ取得、添付ファイルダウンロード
詳しくは以下をご覧ください。
・「API マニュアル」内の「Workflow API」の「ProcessInstance」の list 系、view、File
・「API マニュアル」内の「Workflow API」の「Workitem」の list 系
※Process Instance = プロセス、Workitem = タスクです。
後者はタスク特有の情報取得向けですが、個人的にはだいたい前者で事足りることが多かったです。
※list 系は list(json 形式)、listCsv(csv 形式) 、listCsvUtf16(UTF16 csv 形式)の3方式あります。
プロセス(Process Instance)検索の条件(criteria)
タスク(Workitem)検索の条件(criteria)
4: Questetra でのフロー開始やタスク実行の処理
Questetra 上で行う業務フロー(プロセス)開始やタスク実行を外部から実行する場合に使うのがこれです。これらの処理をラップしたスマホアプリを作る場合に使われたりもします。
業務フロー(プロセス)の開始
詳しくは以下をご覧ください。
・「API マニュアル」内の「Workflow API」の「ProcessInstance」の start
タスク実行、タスク実行画面表示のための情報取得
詳しくは以下をご覧ください。
・「API マニュアル」内の「Workflow API」の「WorkitemForm」
※viewXml でタスク実行のための情報を取得して、それを元に save でタスク実行するのが基本ですが、対象タスクが限定されるなら、save でいきなり実行でも OK。
マイタスク・引き受け待ちタスク一覧取得
詳しくは以下をご覧ください。
・「API マニュアル」内の「Workflow API」の「Workitem」の listAllocated、listOffered
引き受け待ちタスクの一括引き受け
詳しくは以下をご覧ください。
・「API マニュアル」内の「Workflow API」の「Workitem」の batchAccept
業務フロー(プロセス)の強制終了、削除
詳しくは以下をご覧ください。
・「API マニュアル」内の「Workflow API」の「ProcessInstance」の stop、delete
タスクの強制割当
詳しくは以下をご覧ください。
・「API マニュアル」内の「Workflow API」の「Workitem」の reallocate
タスクへのスター追加・削除
詳しくは以下をご覧ください。
・「API マニュアル」内の「Workflow API」の「Workitem」の Star
5: ユーザ・組織・ロールの設定、権限設定
認証サーバとユーザ情報を同期させたい場合等に使うのがこれです。
ユーザの追加・参照・編集・削除
詳しくは以下をご覧ください。
・「API マニュアル」内の「System Settings API」の「Quser」
組織の追加・参照・編集・削除
詳しくは以下をご覧ください。
・「API マニュアル」内の「System Settings API」の「Qgroup」
組織への所属の追加・参照・削除
詳しくは以下をご覧ください。
・「API マニュアル」内の「System Settings API」の「Membership」
ロールの追加・参照・編集・削除
詳しくは以下をご覧ください。
・「API マニュアル」内の「System Settings API」の「Qrole」
ロールへの所属の追加・参照・削除
詳しくは以下をご覧ください。
・「API マニュアル」内の「System Settings API」の「RoleMembership」
システム系の権限設定
詳しくは以下をご覧ください。
・「API マニュアル」内の「System Settings API」の「SystemAuthority」
業務フロー定義(Questetra アプリ定義)の権限設定
詳しくは以下をご覧ください。
・「API マニュアル」内の「Workflow API」の「ProcessAuthority」
6: 業務フロー定義(Questetra アプリ定義)の設定
期日になったら自動で新しい業務フローを有効にしたい場合等に使うのがこれです。
業務フロー定義(Questetra アプリ定義)のリスト取得
詳しくは以下をご覧ください。
・「API マニュアル」内の「Workflow API」の「ProcessModel」
業務フロー定義(Questetra アプリ定義)のリリース
詳しくは以下をご覧ください。
・「API マニュアル」内の「Workflow API」の「ProcessModel」
開始可能な業務フロー定義(Questetra アプリ定義)のリスト取得
詳しくは以下をご覧ください。
・「API マニュアル」内の「Workflow API」の「ProcessModel」
7: 選択肢マスタの設定
選択肢マスタを http 経由で外部から取得するように設定した場合にはキャッシュされます。そのため更新時にはキャッシュクリアの考慮が必要になります。
選択肢マスタのキャッシュのリスト取得・参照・クリア
詳しくは以下をご覧ください。
・「API マニュアル」内の「Workflow API」の「ItemCache」
※「選択肢マスタ」については以下をご覧ください。
M319: 複数の業務プロセス定義から参照される選択肢XMLを登録する
8: まとめ
かなり多くの API を備えていることがご理解いただけたかと思います。
もし、ご質問等がありましたら、お問い合わせフォームからご連絡ください。
無料からスタートできる Questetra BPM Suite
こちらの Web フォームからお申込みいただきますと Questetra の無料お試しアカウントが作成できます。上記のものを含め、全ての機能が使えますので、ぜひお試しください。
ピンバック: Questetra 自らの API をたたいて処理を自動化する方法 - Questetra
ピンバック: RPA ツールと無料で試せる BPM ワークフローとの連携 - Questetra