EC 特化ノーコードツール TēPs(テープス)を使ってPingOne のデータをkintone に連携:CData Connect Server

CData Connect Server を使ってPingOne データの仮想OData API エンドポイントを作成して、TēPs でPingOne のデータを連携する方法。

杉本和也
リードエンジニア

最終更新日:2022-11-04

こんにちは!リードエンジニアの杉本です。

TēPsは、API を介して EC モール、受注管理システム、Google スプレッドシートやチャットツールなど、日々の業務で利用するさまざまなサービスや機能を自由に組み合わせ、プログラミングの知識や経験がなくても、自社独自の業務を自動化できるiPaaS です。

そんなTēPs はAmazon セラーセントラルやYahoo! ショッピング、ShopifyといったEC 系のコネクタが多数提供されていましたが、CData Connect Server 向けのコネクターを提供しています。本記事ではこのCData Connect Server のコネクタを使ってPingOne のデータをkintone に連携する手順を解説します。

CData Connect Server は、PingOne データのクラウド to クラウドの仮想OData インターフェースを提供し、TēPs からリアルタイムにPingOne データへ連携することができます。

ホスティングについて

TēPs からCData Connect Server に接続するには、利用するConnect Server インスタンスをネットワーク経由での接続が可能なサーバーにホスティングして、URL での接続を設定する必要があります。CData Connect がローカルでホスティングされており、localhost アドレス(localhost:8080 など)またはローカルネットワークのIP アドレス(192.168.1.x など)からしか接続できない場合、TēPs はCData Connect Server に接続することができません。

クラウドホスティングでの利用をご希望の方は、AWS MarketplaceGCP Marketplace で設定済みのインスタンスを提供しています。


PingOne の仮想OData API エンドポイントを作成

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

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

    PingOne に接続するには以下のプロパティを設定します。

    • Region:自身のPingOne 組織のデータがホスティングされている地域。
    • AuthScheme:PingOne に接続する際に使用する認証の種類。
    • WorkerAppEnvironmentId (デフォルトのPingOne ドメインを使用する場合に必要)、またはAuthorizationServerURL のいずれかで、下で説明するように設定します。

    WorkerAppEnvironmentId の設定

    WorkerAppEnvironmentId は、Worker アプリケーションが存在するPingOne 環境のID です。 このパラメータは、環境がデフォルトのPingOne ドメイン(auth.pingone)を利用している場合のみ使用されます。 これは、ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、PingOne への認証に使用するカスタムOAuth アプリケーションを作成した後に設定します。

    はじめに、このプロパティの値を見つけます。

    1. 自身のPingOne 組織のホームページからナビゲーションサイドバーに移動し、Environments をクリックします。
    2. OAuth / Worker のカスタムアプリケーションを作成した環境(通常はAdministrators)を見つけ、Manage Environment をクリックします。 環境のホームページが表示されます。
    3. 環境のホームページのナビゲーションサイドバーで、Applications をクリックします。
    4. リストから、OAuth またはWorker アプリケーションの詳細を見つけます。
    5. Environment ID フィールドの値をコピーします。 以下の例に似たものになるはずです:
      WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'

    次に、WorkerAppEnvironmentIdEnvironment ID フィールドの値に設定します。

    AuthorizationServerURL の設定

    AuthorizationServerURL は、お使いのアプリケーションが配置されている環境のPingOne 認可サーバーのベースURL です。 このプロパティは、PingOne プラットフォームAPI ドキュメントで説明されているように、環境にカスタムドメインを設定した場合にのみ使用されます。 Custom Domains を参照してください。

    OAuth でのPingOne への認証

    PingOne はOAuth とOAuthClient 認証の両方をサポートしています。 上述の設定手順に加え、OAuth またはOAuthCliet 認証をサポートするために、さらに2つの手順を完了する必要があります。

    • ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、カスタムOAuth アプリケーションを作成して設定します。
    • ドライバーがデータモデル内のエンティティにアクセスできるようにするには、ヘルプドキュメントのAdministrator Roles での説明のとおり、使用するアドミンユーザー / ワーカーアプリケーションに対して正しいロールを設定していることを確認してください。
    • 以下のサブセクションで説明されているように、選択した認証スキームと認証フローに適切なプロパティを設定します。

    OAuth(認可コードグラント)

    AuthSchemeOAuth に設定します。

    デスクトップアプリケーション

    OAuth アクセストークンの取得およびリフレッシュ

    以下を設定して、接続してください。

    • InitiateOAuthGETANDREFRESH。繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要をなくすには、InitiateOAuth を使用します。
    • OAuthClientId:カスタムOAuth アプリケーションを作成した際に取得したClient ID。
    • OAuthClientSecret:カスタムOAuth アプリケーションを作成した際に取得したClient Secret。
    • CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。例:https://localhost:3333

    接続すると、本製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。

    1. ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
    2. OAuth 値はOAuthSettingsLocation で指定された場所に保存され、接続間で永続化されるようにします。

    ドライバーはアクセストークンの期限が切れると自動的にリフレッシュします。

    Web アプリケーションやヘッドレスマシン、クライアントクレデンシャルグラントを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。

    接続を設定
  4. 「Test Connection」をクリックします。
  5. 「USERS」 -> Add をクリックして、新しいユーザーを追加し、適切な権限を指定します。
  6. API タブをクリックして OData API エンドポイントが生成されていることを確認します。

コネクションとOData エンドポイントを設定したら、TēPs からPingOne のデータに接続できます。

フレーズを作成

それではTēPs 側で連携用のフレーズ(一連の処理をまとめたもの)を作成していきましょう。

  1. フレーズ一覧画面で「+」ボタンをクリックし
  2. 任意の名前のフレーズを作成します。今回は定期的に実行するフレーズとして構成していきます。

CData Connect Server の接続を追加する

フレーズを作成したら処理を追加していきます。

  1. 最初にPingOne からデータを取得するので「+」ボタンから「CData Connect Cloud」→「OData テーブルを検索」を指定します。ちなみに「OData テーブルレコードを取得」はキーを元に1レコードだけ取得する処理になります。
  2. 「OData テーブルを検索」を追加したらコネクションを追加します。
  3. 以下の画面でCData Connect Server のメールアドレスとパスワードを指定して「アカウントを追加」をクリックしましょう。
  4. コネクションを設定するとOData テーブルが選択できるようになります。一覧から先程追加したテーブルを指定しましょう。
  5. ちなみに「OData テーブルを検索」は様々な条件でデータが取得できます。

ループ処理の追加

次に取得したテーブルデータをループする処理を追加します。

  1. 新しい処理から「フロー」→「ループ」を選択します。
  2. ループを追加したら、シーケンスで「OData テーブルを検索」からループする対象のリストを選びましょう。

kintone への登録処理を作成

最後にループの中でkintone への登録処理を作成します。

  1. 新しい処理として「キントーン」→「レコードを登録」を追加します。
  2. キントーンへのコネクションを追加します。
  3. 「サブドメイン」「アプリID」「APIトークン」を指定してコネクションを作成します。
  4. コネクションを作成すると、以下のようにkintone のアプリに存在する項目が表示されるので、CData Connect Server の項目をマッピングしていきましょう。

フレーズの実行

これでフレーズの作成は完了です。それでは画面右上の再生ボタンからフレーズを実行してみましょう。

  1. 画面右上の再生ボタンをクリックします。
  2. 以下のようにメッセージが表示されるので内容を確認して「実行」をクリックします。
  3. 以下のように実行ログが表示されていき、無事kintone にデータが登録できました!

このように、CData Connect Serverを経由することで、API 側の複雑な仕様を意識せずにTēPs 各種クラウドサービスと連携できます。他にも多くのデータソースに対応するCData Connect Server の詳細をこちらからご覧ください。

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

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