ステップ1 : 製品カタログを作成する

最初のステップは、商品カタログの作成です。カタログには、商品の広告を配信するために必要な商品の詳細が含まれています。

  • 1回のリクエストで1つのカタログまたは複数のカタログを作成できます。複数のカタログを作成する場合、1回のリクエストでカタログ100件まで配列できます。
  • カタログを作成すると、 catalogId が返されます。この catalogId は、カタログに商品の詳細を追加するときに必要であり、カタログの一意の識別子として機能します。
  • このドキュメントに記載されているAPIを使用してカタログを作成できない場合は、カスタマー統合エンジニア(CIE)にお問い合わせください。エンジニアが代理でカタログを作成できます。
  • カタログが作成されると、デフォルトでは非表示になるため、CIE に連絡して名前空間で表示できるようにする必要があります。

前提条件

カタログの作成をリクエストする前に、APIキーとベースURLが必要です。

  1. 有効なAPIキーが必要になります。APIキーを取得するには、次の手順を実行します。

    1. EpsilonのRetail Mediaチームアカウントにログインします。

    2. ページの右上に移動し、ドロップダウンメニューをクリックします。

    3. ドロップダウンメニューから[統合設定]を選択します。

    4. APIキータブをクリックします。シークレットAPIキーは最初は非表示になっています。表示するには、[表示]ボタンをクリックします。表示されたら、シークレットAPIキーをコピーします。このキーをAPI呼び出しを行うために使用します。

  2. APIエンドポイントのベースURLが必要になります。例:https://staging-test.citrusad.com/v1/ads/generate HTTP/1.1. ベースURLについては、テクニカルアカウントマネージャーに確認してください。

単一のカタログを作成する

このAPIエンドポイントを使用すると、新しいカタログを作成できます。各カタログは、商品詳細をカタログに追加するときなど、以降の操作に必要となる id によって一意に識別されます。

リクエスト指標

対象type説明
カタログ配列、必須作成するカタログオブジェクトの配列。
name文字列、必須カタログの名前。小売業者を簡単に識別して関連付けることができる意味のある名前を使用することをお勧めします。

リクエスト例

POST $BASE_URL/v1/catalogs HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "catalogs": [
        {
            "name": "Retailer A"
        }
    ]
}

レスポンス例

レスポンスは標準的なJSON形式に従い、以下の詳細を配列で返します。

  • teamId:カタログに関連付けられているチームのID。
  • name: カタログの名前。
  • id: カタログの一意の識別子。このIDは、商品の詳細をカタログに追加するときなど、以降の操作に必要になります。
{
    "catalogs": [
        {
            "teamId": "9f48572c-0a5b-4997-9a0e-ed74f4d32dc6",
            "name": "Retailer A",
            "id": "216af452-d219-4807-b8ca-578bba446541"
        }
    ]
}

📘

オブジェクトが正常に返されると、新しいカタログのIDを受け取ります。同じリクエストを再度送信すると、新しいIDが付与され、カタログが2件作成されます。

複数のカタログを作成する

このAPIエンドポイントを使用すると、複数のカタログを作成できます。複数のカタログを作成する場合、1回のリクエストでカタログ100件まで配列できます。以下は、2つのカタログを作成するためのコンテキストの例です。

リクエスト例

POST $BASE_URL/v1/catalogs HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "catalogs": [
        {
            "name": "Retailer A"
        },
        {
            "name": "Retailer B"
        }
    ]
}

レスポンス例

レスポンスは標準的なJSON形式に従い、以下の詳細を配列で返します。各カタログには個別の次の要素があります。 teamidname、および id:

  • teamId:カタログに関連付けられているチームのID。
  • name: カタログの名前。
  • id: カタログの一意の識別子。このIDは、商品の詳細をカタログに追加するときなど、以降の操作に必要になります。
{
    "catalogs": [
        {
            "teamId": "9f48572c-0a5b-4997-9a0e-ed74f4d32dc6",
            "name": "Retailer A",
            "id": "216af452-d219-4807-b8ca-578bba446541"
        },
        {
            "teamId": "9f48572c-0a5b-4997-9a0e-ed74f4d32dc6",
            "name": "Retailer B",
            "id": "75047339-65f5-41b8-8f2c-e76b04716cd4"
        }
    ]
}

小売業者ごとに複数のカタログを作成する

複数のカタログを管理するには以下の手順に従います。

  • 各カタログごとに個別の「子」小売業者チームと単一の「親」小売業者チームを作成します。
  • 親チームと各子チームの間に親子関係を設定し、親チームがすべての子チームに正しく関連付けられるようにします。
  • 親チームを設定したら、すべての子チームのコンテンツ標準を更新して、親チームにリンクします。これについては、カスタマー統合エンジニア(CIE)にお問い合わせください。

小売業者向けに複数のカタログを作成する場合は、次の点を考慮します。

  • 1対1の関係:最も安全な設定は、カタログと小売業者チームの間に1対1の関係を持たせることです。厳密には必須ではありませんが、複雑化を避けるのに役立ちます。

  • 構造の例:次の図では、親チームは小売業者の名前空間内にネストされています。各子チーム(A、B、C)には、それぞれ関連するカタログ(A、B、C)があります。この構造により、注文確認で使用されるチームのAPIキーに基づいて、購入がそれぞれのカタログに正しく関連付けられるようになります。

  • 1つのチームに複数のカタログ:同じ小売業者チームに複数のカタログを作成できます。ただし、アトリビューションを正しく保つために、SKUとSessionIDがこれらのカタログで共有されていないことを確認してください。 catalogId を注文API呼び出しに含めると、カタログを区別し、アトリビューションエラーを防ぐのに役立ちます。詳細についてはAPIを介した注文データの同期を参照してください。

  • アトリビューションの問題:SKUと session IDs をカタログ間で共有すると、アトリビューションの問題が発生する可能性があります。例えば、2つの言語(例:ESとFR)のウェブサイトがあり、1つの小売業者チームが2件のカタログ(各言語に1つずつ)を関連付けていて、SKUを共有している場合、両方のバージョンで同じ sessionID で識別されたユーザーがESサイトで購入を行い、これがFRサイトに帰属する場合があります(この逆も同様です)。 catalogId を注文API呼び出しに含め、属性がそれぞれのカタログに正しく割り当てられるようにすることで、この問題を解決できます。詳細についてはAPIを介した注文データの同期を参照してください。