API を使用したRecommendations カタログの管理

Recommendations API を使用するための要件 ​ を満たしていることを確認しながら、JWT 認証フローを使用して ​ アクセストークンを生成 ​ し、Adobe Developer Consoleで Adobe Target 管理 API を使用する方法を学びました ​

Recommendations API を使用して、Recommendations カタログのアイテムを追加、更新、削除できるようになりました。 その他のAdobe Target管理 API と同様に、Recommendations API には認証が必要です。

NOTE
24 時間後に期限切れになるので、認証用にアクセストークンを更新する必要がある場合は、いつでも IMS: JWT Generate + Auth via User Token リクエストを送信します。 手順については、AdobeAPI 認証の設定 ​ を参照してください。

JWT3ff

続行する前に、Recommendations Postman コレクション ​ を取得します。

エンティティ保存 API を使用した項目の作成と更新

商品ページで発生する CSV 商品フィードや Target リクエストではなく、API を使用してRecommendations商品データベースに入力するには、Save Entities API を使用します。 このリクエストは、単一の Target 環境で項目を追加または更新します。 構文は次のとおりです。

POST https://mc.adobe.io/{{TENANT_ID}}/target/recs/entities

例えば、保存エンティティを使用して、在庫や価格のしきい値など、特定のしきい値に達した場合に常にアイテムを更新し、アイテムにフラグを立て、アイテムが推奨されないようにすることができます。

  1. Target/Setup/Hosts/CONTROL Environments に移動して、項目を追加または更新するターゲット環境 ID を取得します。

    SaveEntities1

  2. TENANT_ID を確認し、前 API_KEY 確立したPostman環境変数を参照します。 比較のために以下の画像を使用してください。 必要に応じて、API リクエストのヘッダーとパスを変更して、以下の画像のヘッダーとパスに一致させます。

    SaveEntities3

  3. JSON を raw コードとして Body に入力します。 environment 変数を使用して、環境 ID を必ず指定してください。 (以下の例では、環境 ID は 6781 です。)

    SaveEntities4.png

    以下は、Toaster Oven 製品の関連するエンティティ値に entity.id kit2001 を追加して、環境 6781 に送信する JSON のサンプルです。

    code language-none
        {
        "entities": [{
                "name": "Toaster Oven",
                "id": "kit2001",
                "environment": 6781,
                "categories": [
                    "housewares:appliances"
                ],
                "attributes": {
                    "inventory": 77,
                    "margin": 23,
                    "message": "crashing helicopter",
                    "pageUrl": "www.foobar.foo.com/helicopter.html",
                    "thumbnailUrl": "www.foobar.foo.com/helicopter.jpg",
                   "value": 19.2
                }
            }]
        }
    
  4. Send」をクリックします。 次の応答が届きます。

    SaveEntities5.png

    JSON オブジェクトは、複数の製品を送信するようにスケールできます。 例えば、この JSON は 2 つのエンティティを指定します。

    code language-none
        {
            "entities": [{
                    "name": "Toaster Oven",
                    "id": "kit2001",
                    "environment": 6781,
                    "categories": [
                        "housewares:appliances"
                    ],
                    "attributes": {
                        "inventory": 89,
                        "margin": 11,
                        "message": "Toaster Oven",
                        "pageUrl": "www.foobar.foo.com/helicopter.html",
                        "thumbnailUrl": "www.foobar.foo.com/helicopter.jpg",
                        "value": 102.5
                    }
                },
                {
                    "name": "Blender",
                    "id": "kit2002",
                    "environment": 6781,
                    "categories": [
                        "housewares:appliances"
                    ],
                    "attributes": {
                        "inventory": 36,
                        "margin": 5,
                        "message": "Blender",
                        "pageUrl": "www.foobar.foo.com/helicopter.html",
                        "thumbnailUrl": "www.foobar.foo.com/helicopter.jpg",
                        "value": 54.5
                    }
                }
            ]
        }
    
  5. さあ、君の番だ。 Save Entities API を使用して、次の項目をカタログに追加します。 上記のサンプル JSON を出発点として使用します。 (追加のエンティティを含めるには、JSON を拡張する必要があります)。

    SaveEntities6.png

これら最後の 2 つの項目は属していないようです。 Get Entity API を使用して検査し、必要に応じて Delete Entities API を使用して削除します。

Get Entity API を使用した項目の詳細の取得

既存の項目の詳細を取得するには、Get Entity API を使用します。 構文は次のとおりです。

GET https://mc.adobe.io/{{TENANT_ID}}/target/recs/entities/[entity.id]

エンティティの詳細は、一度に 1 つのエンティティに対してのみ取得できます。 「エンティティを取得」を使用して、カタログで更新が正常に行われたことを確認したり、カタログのコンテンツを監査したりできます。

  1. API リクエストで、変数 entityId を使用してエンティティ ID を指定します。 次の例では、entityId=kit2004 を持つエンティティの詳細を返します。

    GetEntity1

  2. TENANT_ID を確認し、前 API_KEY 確立したPostman環境変数を参照します。 比較のために以下の画像を使用してください。 必要に応じて、API リクエストのヘッダーとパスを変更して、以下の画像のヘッダーとパスに一致させます。

    GetEntity2

  3. リクエストを送信します。

    GetEntity3
    上の例に示すように、「エンティティが見つかりませんでした」というエラーが表示された場合は、正しい Target 環境にリクエストを送信していることを確認します。

    note note
    NOTE
    環境が明示的に指定されていない場合、Get Entity は自分の ​ デフォルト環境 ​ からのみエンティティの取得を試みます。 デフォルト環境以外の環境から取り込む場合は、環境 ID を指定する必要があります。
  4. 必要に応じて、environmentId パラメーターを追加し、リクエストを再送信します。

    GetEntity4

  5. 別の Get Entity リクエストを送信します。今回は、entityId=kit2005 を持つエンティティを調べます。

    GetEntity5

これらのエンティティをカタログから削除する必要があると判断したとします。 Delete Entities API を使用しましょう。

エンティティ削除 API を使用した項目の削除

カタログから項目を削除するには、​ エンティティ削除 API を使用します。 構文は次のとおりです。

DELETE https://mc.adobe.io/{{TENANT_ID}}/target/recs/entities?ids=[comma-delimited-entity-ids]&environment=[environmentId]
WARNING
Delete Entities API は、指定した ID によって参照されているエンティティを削除します。 エンティティ ID が指定されていない場合、指定された環境内のすべてのエンティティが削除されます。 環境 ID が指定されていない場合、エンティティはすべての環境から削除されます。 これを使用する際は注意が必要です。
  1. Target/Setup/Hosts/Environments に移動し、項目を削除するターゲット環境 ID を取得します。

    DeleteEntities1

  2. API リクエストで、構文 &ids=[comma-delimited-entity-ids] (クエリパラメーター)を使用して、削除するエンティティのエンティティ ID を指定します。 複数のエンティティを削除する場合は、コンマを使用して ID を区切ります。

    DeleteEntities2

  3. 構文 &environment=[environmentId] を使用して環境 ID を指定します。指定しない場合は、すべての環境のエンティティが削除されます。

    DeleteEntities3

  4. TENANT_ID を確認し、前 API_KEY 確立したPostman環境変数を参照します。 比較のために以下の画像を使用してください。 必要に応じて、API リクエストのヘッダーとパスを変更して、以下の画像のヘッダーとパスに一致させます。

    DeleteEntities4

  5. リクエストを送信します。

    DeleteEntities5

  6. Get Entity を使用して結果を確認します。これにより、削除されたエンティティが見つからないことが示されます。

    DeleteEntities6

    DeleteEntities6

おめでとうございます。 Recommendations API を使用して、カタログ内のエンティティの詳細を作成、更新、削除および取得できるようになりました。 次の節では、カスタム条件の管理方法について説明します。

<!— ​ 次の「カスタム条件の管理」 > —>

recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3