外部のシステムから業務ロジックを実行する
Accel-Mart Quick上で作成した業務ロジックを、外部のシステムから実行する方法を解説します。
利用シーン
外部のシステムからREST APIの形式でAccel-Mart Quickの業務ロジックを実行することが可能になります。
これを用いることで、以下のような外部システムとの連携が可能となります。
-
外部の販売管理システムに案件データが登録された際に、Accel-Mart Quickで見積もりワークフローを起票する
-
電子契約が完了した際に、関連するAccel-Mart Quickのワークフロー案件を処理し、次の作業者のノードに進める
-
Accel-Mart Quick上のWebデータベースのデータを取得し、外部のシステムの画面に表示する
図:REST APIを利用した連携イメージ
概要
このチュートリアルでは、メッセージを返却する業務ロジックを作成し、その業務ロジックを外部からREST APIとして実行できるように公開URLの作成を行います。
また、外部のシステムからの実行例として、Windows PowerShell、およびcurlを用いた業務ロジックの実行を解説します。
「Accel-Mart Quick アプリケーション管理者」ロールを持つユーザで実施してください。
アプリケーションの作成
このチュートリアルで作成する業務ロジック、および公開URLの管理を行うアプリケーションを作成します。
-
メニューの「管理」→「ローコード開発」→「アプリケーション作成」から「業務テンプレート一覧」画面を表示します。
-
「ベーステンプレート」-「空のアプリケーション」の「次へ」をクリックします。
-
フォームに以下の通り入力し、「アプリケーション作成」をクリックします。
- アプリケーションID:
tutorial-rest-api
- アプリケーション名:
【チュートリアル】REST API作成
- アプリケーションID:
-
「確認」ダイアログで「ビルド」ボタンをクリックします。
-
「テンプレートビルドジョブ - 詳細」が表示され、ステータスが「COMPLETE」となればアプリケーションの作成は完了です。
業務ロジックの作成
REST APIとして実行される、メッセージを返却する業務ロジックを作成します。
作成する業務ロ ジックでは、以下の処理を行います。
- 入力値と定数を結合した文字列を出力します。
作成する業務ロジック
業務ロジックを新規作成する
- メニューの「管理」→「ローコード開発」→「アプリケーション一覧」から「アプリケーション一覧」画面を表示します。
- 「自動生成されたアプリケーション」カテゴリをクリックした後、「【チュートリアル】REST API作成」をクリックし、「【チュートリアル】REST API作成 - 詳細」画面を表示します。
- 「ロジック」タブをクリックし、「ロジックリソースを追加」→「ロジックを新規作成」→「ロジックフロー」をクリックします。
- 「ロジックフロー定義編集」画面が表示されます。
入出力設定を行う
REST APIとして実行される際にリクエストボディとして受け取るデータ、およびレスポンスボディとして返却するデータの設定を行います。
- ツールバーの「入出力設定」をクリックし、「入出力設定」ダイアログを表示します。
- 入力の「string」ボタンをクリックし、
input
を入力します。 - 出力の「string」ボタンをクリックし、
body
を入力します。 - 「決定」ボタンをクリックします。
定数設定を行う
業務ロジックの出力値として利用する文字列を定数として登録します。
-
ツールバーの「定数設定」をクリックし、「定数設定」ダイアログを表示します。
-
「定数を追加」をクリックし、下記の定数を追加します。
定数ID 定数値 説明 message REST APIを実行しました。入力値:
返却する文字列に利用します。 -
「決定」ボタンをクリックします。
タスクをつなぐ
以下の図のように、「開始」タスクと「終了」タスクをつなぎ合わせてください。
タスクのマッピング設定をする
「終了(im_end1)」タスクのマッピング設定を行います。
マッピング設定の詳しい操作方法は「マッピング設定を行う」を参照してください。
-
以下の通りマッピングを行ってください。
始点 終点 定数 - message<string>
concat - a
入力 - input<string>
concat - b
concat - out
出力 - body<string>
文字列の結合文字列の結合には、マッピング関数「文字列操作 -
concat
」を利用します。- マッピング関数
concat
の詳細は「concat」を参照してください。 - マッピング関数の使い方については「マッピング関数の利用」を参照してください。
- マッピング関数
-
「決定」ボタンをクリックします。
業務ロジックを保存する
-
ツールバーの「保存」をクリックし、「保存」ダイアログを表示します。
-
フォームに以下の通り 入力し、「アプリケーション作成」をクリックします。
- フロー定義ID:
tutorial_rest_api_flow
- フロー定義名:
【チュートリアル】REST APIフロー
- フローカテゴリ:任意のカテゴリ
- フロー定義ID:
-
「決定」ボタンをクリックします。
-
「確認」ダイアログで「決定」ボタンをクリックします。
公開URLの作成
業務ロジックをREST APIとして実行するための設定を行います。
-
「【チュートリアル】REST API作成 - 詳細」画面で「公開URL」タブをクリックし、「公開URLリソースを追加」→「公開URLを新規作成」→「APIのURL」をクリックします。
-
「ロジックフロールーティング定義編集」画面が表示されます。
-
以下の情報をフォームに入力します。
- 対象フロー:
tutorial_rest_api_flow(【チュートリアル】REST APIフロー)
- ルーティング:
tutorial/rest_api
- メソッド:POST
- 認証方法:Basic
- 認可URI:
tutorial/rest_api
- レスポンス種別:テキストとして返却
各項目の説明項目 説明 対象フロー REST APIとして利用したい業務ロジックを設定します。 バージョン番号 「対象フロー」で設定した業務ロジックについて、実行する際に参照するバージョン番号を設定します。 バージョン番号指定の詳細は以下の通りです。
・ 最新バージョンを利用する
「対象フロー」で設定した業務ロジックが持つバージョンの中から、最も新しいバージョンを利用します。利用するバージョンは、業務ロジックが呼び出されるタイミングで都度検証が行われます。
・利用するバージョンを指定する
「対象フロー」で設定した業務ロジックが持つバージョンの中から、利用するバージョンを指定します。ルーティング 業務ロジックをREST APIとして呼び出す際のURLを設定します。 メソッド 業務ロジックをREST APIとして呼び出す際に指定するHTTPメソッドを設定します。 認証方法 認証方式を設定します。
各認証方式の詳細は「認証方式による認証」を参照してください。認可URI 認可判断を行うための認可URIを設定します。
全ての公開URL設定間で一意となる値を設定してください。セキュアトークンを利用する(チェックボックス) 業務ロジックを実行する際にセキュアトークンを用いたトークンチェックを行うかを設定します。
Accel-Mart Quick上の画面から、更新処理等を行う業務ロジックをREST APIとして呼び出す場合に利用を検討してください。レスポンス種別 REST APIを実行した際に得られる出力データの形式を設定します。
各出力データの形式の詳細は「ロジックフローの出力データの返却 」を参照してください。レスポンスヘッダ REST APIを実行した際に得られるレスポンスへ付加するヘッダ情報を設定します。 - 対象フロー:
-
「登録」ボタンをクリックします。
-
確認ダイアログで「決定」ボタンをクリックします。
認可を設定する
「Accel-Mart Quick アプリケーション管理者」ロールを持つユーザのみがREST APIを実行可能となるように認可設定を行います。
- 「【チュートリアル】REST API作成 - 詳細」画面で アイコンをクリックし、「【チュートリアル】REST API作成 - 認可設定」画面を表示します。
- 「POST tutorial/rest_api」の行と「Accel-Mart Quick アプリケーション管理者」列の交点の をクリックして に変更します。
- 「更新」ボタンをクリックします。
- 「アプリケーション認可変更確認」ダイアログで「更新」ボタンをクリックします。
アプリケーションを公開する
作成したREST APIを公開し、外部のシステムから実行可能な状態にします。
- 「【チュートリアル】REST API作成 - 詳細」画面で アイコンをクリックし、「アプリケーション情報編集」ダイアログを表示します。
- 「アプリケーション公開設定」の「アプリケーションを公開する」ボタンをクリックし、「アプリケーション公開設定」ダイアログを表示します。
- 「アプリケーションを公開する」ボタンをクリックします。
作成したREST APIを実行する
作成したREST APIを実行してみましょう。
このチュートリアルで作成したREST APIを実行するための情報は以下の通りです。
- URL:
https://{個社環境ホスト名}.accel-mart.com/imart/logic/api/tutorial/rest_api
- HTTPメソッド:
POST
- 認証:アプリケーション管理者ロールを持つアカウントでのBasic認証
- リクエストボディ
input
:任意の文字列- この文字列がREST APIの実行結果として返却されるメッセージに含まれます。
このチュートリアルではWindows PowerShell、およびcurlを利用してREST APIを実行する手順を紹介します。
Windows PowerShellで作成したREST APIを実行する
Windows PowerShell を利用してREST APIを実行します。
-
Windows PowerShellで以下のコマンドを実行します。
$auth = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("{ユーザコード}:{パスワード}"))