Power Automate の自動タスクで CData API Server およびSage 300 ADO.NET Provider を使う

詳細情報をご希望ですか?

製品について詳細情報や無償トライアルをご案内します:

CData API Server



コンタクト先へのE メール送信、SNS へのポスト、CRM やERP の同期などを自動化します。

Power Automate (Microsoft Flow) は、オンプレやクラウドの複数のシステムからのデータを含むタスクを自動化することができます。CData API Server およびSage 300 ADO.NET Provider (または240+ の他のADO.NET Providers) を使用すると、基幹業務ユーザーはPower Automate のSage 300 トリガーに基づく、アクションのネイティブな作成が可能になります。API Server は、Power Automate などのSaaS アプリケーションを、OData やSwagger などのデータアクセス標準を通じてSage 300 とシームレスに統合できます。この記事では、Power Automate のウィザードとSage 300 API Server を使い、検索条件に一致するエンティティであるトリガーを作成し、結果に基づいて電子メールを送信する方法を示します。

API サーバーをセットアップ

以下のステップに従って、安全でSwaggerに対応するSage 300 API の作成を開始します。

デプロイ

API サーバーは独自のサーバーで実行されます。Windows では、スタンドアロンサーバーまたはIIS を使用して展開できます。Java サーブレットコンテナで、API Server WAR ファイルをドロップします。詳細とハウツーについては、ヘルプドキュメントを参照してください。

API Server は、Microsoft AzureAmazon EC2Heroku にも簡単にデプロイできます。

Sage 300 に接続

デプロイ後、API Server 管理コンソールで[Settings]->[Connections]とクリックし、認証値とその他の接続プロパティを指定します。 次に、[Settings]->[Resources]をクリックして、API サーバーへのアクセスを許可する エンティティを選択できます。

Sage 300 requires some initial setup in order to communicate over the Sage 300 Web API.

  • Set up the security groups for the Sage 300 user. Give the Sage 300 user access to the option under Security Groups (per each module required).
  • Edit both web.config files in the /Online/Web and /Online/WebApi folders; change the key AllowWebApiAccessForAdmin to true. Restart the webAPI app-pool for the settings to take.
  • Once the user access is configured, click https://server/Sage300WebApi/ to ensure access to the web API.

Authenticate to Sage 300 using Basic authentication.

Connect Using Basic Authentication

You must provide values for the following properties to successfully authenticate to Sage 300. Note that the provider reuses the session opened by Sage 300 using cookies. This means that your credentials are used only on the first request to open the session. After that, cookies returned from Sage 300 are used for authentication.

  • Url: Set this to the url of the server hosting Sage 300. Construct a URL for the Sage 300 Web API as follows: {protocol}://{host-application-path}/v{version}/{tenant}/ For example, http://localhost/Sage300WebApi/v1.0/-/.
  • User: Set this to the username of your account.
  • Password: Set this to the password of your account.

また、CORS を有効にし、[Settings]->[Server]ページで次のセクションを定義する必要があります。[*]なしですべてのドメインを許可するオプションを選択することもできます。

  1. Access-Control-Allow-Origin:[*]の値に設定するか、接続を許可するドメインを指定します。
  2. Access-Control-Allow-Methods:値を[GET,PUT,POST,OPTIONS]に設定します。
  3. Access-Control-Allow-Headers:[x-ms-client-request-id, authorization, content-type]に設定します。

API サーバーユーザーを承認

作成するOData サービスを決定したら、[Settings]->[Users]をクリックしてユーザーを承認します。API サーバーは、認証トークンベースの認証を使用して主要な認証スキームをサポートします。SSL を使用して、接続を認証及び暗号化することができます。アクセスはIP アドレスによって制限することもできます。デフォルトでは、ローカルマシンのみに制限されています。

簡単にするために、API ユーザーの認証トークンをURL で渡すことができます。データディレクトリにあるsettings.cfg ファイルの[Application]セクションに設定を追加する必要があります。Windows でこれは、アプリケーションルートのapp_data サブフォルダにあたります。Java エディションでは、データディレクトリの場所はオペレーティングシステムによって異なります。

  1. Windows:C:\ProgramData\CData
  2. Unix or Mac OS X: ~/cdata
[Application] AllowAuthtokenInURL = true

Sage 300 データをFlow に追加する

組み込みのHTTP + Swagger コネクタを使用し、ウィザードを使用してSage 300 プロセスフローを設計できます。

  1. [Power Automate]で、[My Flows]->[Create from Blank]をクリックします。
  2. [Recurrence]アクションを選択し、電子メールを送信する時間間隔を選択します。この記事では、[1日]にします。
  3. Swagger を検索してHTTP + Swagger アクションを追加します。
  4. Swagger メタデータドキュメントのURL を入力します。 https://MySite:MyPort/api.rsc/@MyAuthtoken/$oas
  5. [Return OEInvoices]操作を選択します。
  6. Sage 300 を取得するためのOData クエリを作成します。この記事では、$filter ボックスで次のOData フィルタ形式を定義します。

    AllowPartialShipments eq 'Yes'

    サポートされているOData のフィルタリングと例の詳細については、API Server のヘルプドキュメントを参照してください。

アクションをトリガー

これで、プロセスフローでOEInvoices エンティティを操作できます。以下のステップに従って、自動メールを送信します。

  1. E メール送信アクションであるSMTP を追加します。
  2. SMTP サーバーのアドレスと資格情報を入力し、接続に名前を付けます。サーバーでサポートされている場合には、必ず暗号化を有効にしてください。
  3. メッセージのヘッダーと本文を入力します。これらのボックスにSage 300 カラムを追加できます。