Azure App サービスでEpicor Kinetic IFTTT フローをトリガー

古川えりか
古川えりか
コンテンツスペシャリスト
この記事では、Logic Apps の標準ウィザードを使用してIFTTT (if-this-then-that) ワークフローを自動化する方法を説明します。

Azure Logic Apps は ノーコードでアプリを構築できるクラウドサービスです。さらにCData Connect AI と連携することで、ノーコードアプリ開発用のEpicor Kinetic のデータへのクラウドベースのアクセスをノーコードで追加できます。本記事では、CData Connect AI 経由でAzure Logic Apps からEpicor Kinetic 連携を実現する方法を紹介します。

Connect AI を構成

Azure Logic Apps でEpicor Kinetic のデータを操作するには、Connect AI からEpicor Kinetic に接続し、コネクションにユーザーアクセスを提供してEpicor Kinetic のデータのOData エンドポイントを作成する必要があります。

Epicor Kinetic に接続したら、目的のテーブルのOData エンドポイントを作成します。

(オプション)新しいConnect AI ユーザーの追加

必要であれば、Connect AI 経由でEpicor Kinetic に接続するユーザーを作成します。

  1. 「Users」ページに移動し、 Invite Users をクリックします。
  2. 新しいユーザーのE メールアドレスを入力して、 Send をクリックしてユーザーを招待します。 新しいユーザーを招待
  3. 「Users」ページからユーザーを確認および編集できます。 Connect AI ユーザー

パーソナルアクセストークン(PAT)の追加

OAuth 認証をサポートしていないサービス、アプリケーション、プラットフォーム、またはフレームワークから接続する場合は、認証に使用するパーソナルアクセストークン(PAT)を作成できます。きめ細かなアクセス管理を行うために、サービスごとに個別のPAT を作成するのがベストプラクティスです。

  1. Connect AI アプリの右上にあるユーザー名をクリックし、「User Profile」をクリックします。
  2. 「User Profile」ページで「Access Token」セクションにスクロールし、 Create PAT をクリックします。
  3. PAT の名前を入力して Create をクリックします。 Creating a new PAT
  4. パーソナルアクセストークン(PAT)は作成時にしか表示されないため、必ずコピーして安全に保存してください。

Connect AI からEpicor Kinetic に接続

CData Connect AI では、簡単なクリック操作ベースのインターフェースでデータソースに接続できます。

  1. Connect AI にログインし、 Add Connection をクリックします。 コネクションの追加
  2. 「Add Connection」パネルから「Epicor Kinetic」を選択します。 データソースの選択
  3. 必要な認証プロパティを入力し、Epicor Kinetic に接続します。

    ERP インスタンスに接続するには、次の接続プロパティを指定してください。

    • Url:ERP インスタンスをホストしているサーバーのURL。例えば、https://myserver.EpicorSaaS.com
    • ERPInstance:ERP インスタンス名。
    • User:アカウントのユーザー名。
    • Password:アカウントのパスワード。
    • Service:データを取得するサービス。例えば、BaqSvc。

    また、オプションで次の接続プロパティを指定することもできます。

    • ApiKey:アカウント設定に応じて、いくつかのサービスへの接続に必要となるオプションのキー。
    • ApiVersion:デフォルトはv1。新しいEpicor API を使用するにはv2 に設定してください。
    • Company:ApiVersion をv2 に設定した場合は必須になります。
    接続の設定(Salesforce の表示)
  4. Create & Test をクリックします。
  5. 「Add Epicor Kinetic Connection」ページの「Permissions」タブに移動し、ユーザーベースのアクセス許可を更新します。 権限を更新

Connect AI にEpicor Kinetic OData エンドポイントを追加する

Epicor Kinetic に接続したら、目的のテーブルのOData エンドポイントを作成します。

  1. OData ページに移動し、 Add をクリックして新しいOData エンドポイントを作成します。
  2. Epicor Kinetic 接続(例:EpicorKinetic1)を選択し、Next をクリックします。
  3. 使用するテーブルを選択し、「Confirm」をクリックします。 テーブルを選択(Salesforce の例)

コネクションとOData エンドポイントを設定したら、Azure Logic Apps からEpicor Kinetic のデータに接続できます。

Logic App でEpicor Kinetic にアクセス

Logic App でCData Connect AI を使用し、Epicor Kinetic の周りにプロセスフローを作成できます。HTTP + Swagger アクションは、Epicor Kinetic に対して実行する操作を定義するためのウィザードを提供します。以下のステップでは、Logic App でEpicor Kinetic を取得する方法を説明しています。

テーブルにレコードの作成日を含むカラムがある場合は、以下のステップに従って新しいレコードのカラム値をチェックする関数を作成できます。それ以外の場合は、[Create a Logic App]セクションにスキップし、フィルタに一致するエンティティにメールを送信します。

新しいEpicor Kinetic エンティティを確認

特定の新しいEpicor Kinetic エンティティを見つけるために、インターバルの開始日時の値を取得する関数を作成できます。

  1. [Azure Portal]で、[New]->[Function App]->[Create]と進みます。
  2. 名前を入力し、サブスクリプション、リソースグループ、App Service プラン、そしてストレージアカウントを選択します。
  3. Function App を選択し、Webhook + API シナリオを選択します。
  4. 言語を選択します。この記事では、JavaScript を使用します。
  5. 以下のコードを追加し、JSON オブジェクトで前の時間を返します。
    module.exports = function (context, data) {
      var d = new Date();
      d.setHours(d.getHours()-1);
      // Response of the function to be used later.
      context.res = {
        body: {
          start: d
        }
      };
      context.done();
    };
    

トリガーにEpicor Kinetic を追加

以下のステップに従って、フィルタに一致する結果をEpicor Kinetic で検索するトリガーを作成します。上記の関数を作成した場合は、返されたインターバルの開始後に作成されたオブジェクトを検索できます。

  1. Azure Portal で[New]をクリックし、[Web + Mobile]セクションで[Logic App]を選択してリソースグループとApp Service プランを選択します。
  2. これで、Logic App Designer で使用可能なウィザードが使用できます。このウィザードには、Logic App の設定ブレードからアクセスできます。Blank Logic App templateを選択します。
  3. Epicor Kinetic オブジェクトをポーリングするRecurrence アクションを追加します。この記事では、一時間ごとにポーリングします。タイムゾーンを選択します。デフォルトはUTC です。
  4. 関数アクションを追加します。[Add Action]ダイアログのメニューを展開し、リジョンにAzure 関数を表示するオプションを選択します。先に作成したFunction App を選択し、インターバル開始を返す関数を選択します。
  5. からの中括弧のペア({})を入力し、からのペイロードオブジェクトを関数に渡します。
  6. HTTP + Swagger アクションを追加し、CData Connect AI のOData エンドポイントを入力します。
    http://MySite:MyPort/api.rsc/@MyAuthtoken/$oas
  7. [Return Customers]操作を選択します。
  8. 各プロパティの説明を使用して、取得する列やフィルターなどの追加パラメータを指定します。以下はフィルタの一例です。

    CompanyName eq 'CompanyName'

  9. getInterval 関数から返された日時値を使用するには、Customers テーブルの日時列で[ge]演算子を使用し、ダイアログでBody パラメータを選択します。日時値を囲むには、クォーテーションを使用する必要があることに注意して下さい。

    An OData filter on the results of an Azure Function App, getToday.(Salesforce is shown.)
  10. [Code View]に切り替え、$filter 式を変更してインターバルの開始を含むプロパティを抽出します。'@{body('MyFunc')['MyProp']' 構文を使用します。

    "getAllAccount": {
      "inputs": {
        "method": "get",
          "queries": {
            "$filter":"CreatedDate ge '@{body('getInterval')['start']}'"
          },
          "uri": "https://MySite:MyPort/api.rsc/@MyAuthtoken/Customers"
      }
    

これで、ワークフローのデータソースおよび宛先としてEpicor Kinetic にアクセスできます。

新しレコードをメールで送信

以下のステップに従って、新しいCustomers エンティティを含むレポートをメールで送信します。

  1. [Logic Apps Designer]で[SMTP - Send Email]アクションを追加します。
  2. SMTP サーバーに必要な情報を構成します。
  3. From、To、Subject、Body を構成します。返されたEpicor Kinetic 列からパラメータを追加できます。

[Save]をクリックし、[Run]をクリックして過去一時間に作成されたEpicor Kinetic レコードに関する電子メール通知を送信します。

Dynamic columns added to template the body of an email.(Salesforce is shown.)

クラウドアプリケーションからEpicor Kinetic のデータへのライブ接続

Azure Logic Apps からEpicor Kinetic のリアルタイムデータに直接接続できるようになりました。これで、Epicor Kinetic のデータを複製せずにより多くの接続とアプリを作成できます。

クラウドアプリケーションから直接350を超えるSaaS 、ビッグデータ、NoSQL ソースへのリアルタイムデータアクセスを取得するには、CData Connect AI を参照してください。

はじめる準備はできましたか?

CData Connect AI の詳細、または無料トライアルにお申し込みください:

無料トライアル