OData SDK for PHP を使ってe-Sales Manager のデータを取得

CData Connect Server を使えば、OData を使ってe-Sales Manager のデータにアクセスできます。CData Connect Server とOData PHP SDK を利用することで、e-Sales Manager のエンティティをPHP で取得して、オブジェクトとしてモデル化できます。

加藤龍彦
デジタルマーケティング

最終更新日:2022-11-25

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData Connect Server はe-Sales Manager のデータをWeb サービスとして公開します。 この記事の手順を実行することで、e-Sales Manager のデータをPHP オブジェクトとして扱うことができるようになります。

CData Connect Server はe-Sales Manager のデータへのクラウドベースのOData インターフェースを提供し、ODataPHP SDK からe-Sales Manager のデータへのリアルタイム連携を実現します。

e-Sales Manager の仮想OData API エンドポイントを作成

まずCData Connect Server でデータソースへの接続およびOData API エンドポイント作成を行います。

  1. CData Connect Server にログインして、「DATA MODEL」をクリックします。 データベースを追加
  2. 利用できるデータソースアイコンから"e-Sales Manager" を選択します。
  3. e-Sales Manager に接続するために必要なプロパティを入力します。

    e セールスマネージャー Remix に接続するには、User、Passowrd、URL、TenantId パラメータが必要です。

    • User:API を実行するためのログインユーザーのユーザーID。
    • Password:API を実行するためのログインユーザーのユーザーパスワード
    • URL:e-Sales Manager Remix エンドポイントへのURL。例:https://XXX.softbrain.co.jp
    • TenantId:e-Sales Manager Remix テナント名のTenantd。例:cdata
    接続を設定
  4. 「Test Connection」をクリックします。
  5. 「USERS」 -> Add をクリックして、新しいユーザーを追加し、適切な権限を指定します。
  6. API タブをクリックして OData API エンドポイントが生成されていることを確認します。

コネクションとOData エンドポイントを設定したら、PHP からe-Sales Manager のデータに接続できます。

  1. まずは、ODataPHP SDK を使用してCData Connect Server が公開したWeb サービスに接続するプロキシクラスを作成します。

    URI 部分を書き換えて、次のようなコマンドを実行してください。

    php C:\PHPLib\ODataphp\PHPDataSvcUtil.php /uri=https://your-server:8032/api.rsc/@your-authtoken/ /out=C:\PHPLib\ODataphp\ESalesManagerEntities.php

    このコマンドは、OData エンドポイントが返すメタデータからクラスを定義して、指定したフォルダにクラスの定義を出力します。

    CData Connect Server およびOData SDK for PHP は、どちらもフォームとWindows 認証をサポートします。CData Connect Server はOData エンドポイントへのアクセスが認可されたユーザーの認証に、認証トークンを使用します。認証トークンはHTTP Basic 認証の際に渡したり、OData URL に付加することで使用できます。

    認証済みのユーザーは、CData Connect Server の管理コンソールのUsers セクションで設定できます。

  2. これで、PHP のオブジェクト指向インターフェースを使ってe-Sales Manager のデータにアクセスできます。以下のコードはCustomer テーブルのレコードを作成してリアルタイムデータを取得し、新しく作成したレコードを表示します。

    require_once 'ESalesManagerEntities.php'; try{ $svc = new CDataAPI(); $customer = new Customer(); $customer->Address = 'CustomerAddress'; $svc->AddToCustomer($customer); $svc->SetSaveChangesOptions(SaveChangesOptions::None); $svc->SaveChanges(); $response = $svc->customer()->Execute(); foreach($response->Result as $customer) echo $customer->Name."
    "; } catch (Exception $e) { //CData Connect Server からのエラーをキャッチ echo $e->getError(), "\n"; }

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。