パートナーのリンク方法

パートナーや会員管理システムは、支店 ID、店舗番号、施設 ID など、それぞれ独自の ID で各施設や拠点を識別しています。データの同期や送信の際に拠点を識別する方法は 2 種類あります。

データを送信する際、パートナーは Performance Hub システムの施設 ID を使用します。

たとえば、Partner A では、東京の施設の内部 ID が branch_tokyo であるとします。Performance Hub のエコシステム内でデータを正規化するため、この拠点とこのパートナーに対して新しい ID(たとえば UUID: 550e8400-e29b-41d4-a716-446655440000)を割り当てます。

パートナーは、データを送信するために API を呼び出す際、この facility_id を使用する必要があります。

リンクに使用する正しい facility_id(Direct Link 方式で必要)を取得するには、パートナーは /partner/v1/facilities API エンドポイントを呼び出します。このエンドポイントは、現在 Performance Hub でパートナー連携が有効になっているすべての施設の一覧を、対応する facility_id の値とともに返します。

curl -X POST https://partner-api.performancehub.co/partner/v1/membership-plans \
  -u sk_live_YOUR_PARTNER_SECRET_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "membership_plans": [
      {
        "membership_plan_id": "plan_unlimited_monthly",
        "facility_id": "550e8400-e29b-41d4-a716-446655440000",
        "name": "Unlimited Monthly Access",
        "billing_cycle": "monthly",
        "price": 10058,
        "currency": "JPY"
      }
    ]
  }'

2. 連携識別子

パートナーは、各拠点の一意の識別子(「Branch ID」、「Location Code」、「Store Number」など)を独自のシステムで管理しています。このリンク方法では、パートナーは当社の施設 ID ではなく、独自の識別子を使用して Performance Hub の施設を識別できます。

施設の設定: 施設がこのパートナーを有効にすると、パートナーがその拠点の識別に使用している一意の識別子を、Performance Hub 内の施設設定で入力するよう求められます。

API 連携: パートナーが Performance Hub に API 呼び出しを行う際、リクエストに独自の一意の識別子を指定できます。Performance Hub は内部で linking_identifier を検索し、API 呼び出しを正しい施設に照合します。

例: パートナーのシステムで拠点を「Branch ID」と呼んでいる場合は、下のラベルを「Branch ID」に設定します。各施設は連携を有効にする際に自分の Branch ID の値を入力するため、システム間でデータをシームレスに同期できます。

partner-console-facilities-partner-config.png 施設の統合画面(Performance Hub メインの施設ビュー)での設定例。パートナー連携画面で設定された、会員管理システムのリンク識別子/内部 ID が表示されています

例: Linking Identifier

curl -X POST https://partner-api.performancehub.co/partner/v1/membership-plans \
  -u sk_live_YOUR_PARTNER_SECRET_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "membership_plans": [
      {
        "membership_plan_id": "plan_unlimited_monthly",
        "linking_identifier": "branch_tokyo",
        "name": "Unlimited Monthly Access",
        "billing_cycle": "monthly",
        "price": 10058,
        "currency": "JPY"
      }
    ]
  }'