APIを使用したレコメンデーションカタログの管理
Recommendations API🔗を使用するための要件を満たしていることを確認しながら、JWT認証フローを使用して アクセストークン を生成し、Adobe Developer ConsoleでAdobe Target管理APIを使用する方法を学習しました。
Recommendations APIを使用して、レコメンデーションカタログ内の項目を追加、更新、または削除できるようになりました。 その他のAdobe Target管理APIと同様に、Recommendations APIには認証が必要です。
続行する前に、Recommendations Postman コレクション を入手してください。
エンティティを保存APIを使用したアイテムの作成と更新
CSV製品フィードまたは製品ページで実行されるTarget リクエストではなく、APIを使用してRecommendations製品データベースにデータを入力するには、 エンティティを保存APIを使用します。 このリクエストは、単一のTarget環境の項目を追加または更新します。 構文は次のとおりです。
POST https://mc.adobe.io/{{TENANT_ID}}/target/recs/entities
例えば、特定のしきい値(在庫や価格のしきい値など)を満たした場合に、これらの項目にフラグを立てて推奨されないようにするために、エンティティを保存を使用して項目を更新できます。
-
Target > Setup > Hosts > CONTROL Environmentsに移動して、項目を追加または更新するターゲット環境IDを取得します。
-
TENANT_IDとAPI_KEYが、以前に確立されたPostman環境変数を参照していることを確認します。 以下の画像を使用して比較してください。 必要に応じて、API リクエストのヘッダーとパスを、以下の画像のヘッダーとパスと一致するように変更します。
-
JSONをraw コードとして Body に入力します。
environment変数を使用して、環境IDを指定することを忘れないでください。 (以下の例では、環境IDは6781です)。
以下は、entity.id kit2001をToaster Oven製品の関連するエンティティ値と共に環境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 } }] } -
Send をクリックします。 次の応答が返されます。
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 } } ] } -
今度はお前の番だ! Save Entities APIを使用して、次の項目をカタログに追加します。 上記のサンプル JSONを出発点として使用します。 (追加のエンティティを含めるようにJSONを拡張する必要があります)。
最後の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つのエンティティに対してのみ取得できます。 「エンティティを取得」を使用して、カタログ内で予定どおりに更新が行われたことを確認したり、カタログの内容を監査したりできます。
-
API リクエストで、変数
entityIdを使用してエンティティ IDを指定します。 次の例では、entityId=kit2004のエンティティの詳細を返します。
-
TENANT_IDとAPI_KEYが、以前に確立されたPostman環境変数を参照していることを確認します。 以下の画像を使用して比較してください。 必要に応じて、API リクエストのヘッダーとパスを、以下の画像のヘッダーとパスと一致するように変更します。
-
リクエストを送信します。
上記の例に示すように、エンティティが見つからなかったというエラーが表示された場合は、リクエストを正しいTarget環境に送信していることを確認してください。note NOTE 環境が明示的に指定されていない場合、「エンティティを取得」では、 デフォルト環境のみからエンティティを取得しようとします。 デフォルト環境以外の環境から取得する場合は、環境IDを指定する必要があります。 -
必要に応じて、
environmentIdパラメーターを追加し、リクエストを再送信します。
-
別のGet Entity リクエストを送信します。今回は、entityId=kit2005のエンティティを検査します。
これらのエンティティをカタログから削除する必要があるとします。 Delete Entities APIを使用しましょう。
エンティティを削除APIを使用した項目の削除
カタログから項目を削除するには、 エンティティを削除APIを使用します。 構文は次のとおりです。
DELETE https://mc.adobe.io/{{TENANT_ID}}/target/recs/entities?ids=[comma-delimited-entity-ids]&environment=[environmentId]
-
Target > Setup > Hosts > Environmentsに移動して、項目を削除するターゲット環境IDを取得します。
-
API リクエストで、構文
&ids=[comma-delimited-entity-ids](クエリパラメーター)を使用して、削除するエンティティのエンティティ IDを指定します。 複数のエンティティを削除する場合は、コンマを使用してIDを分離します。
-
構文
&environment=[environmentId]を使用して環境IDを指定します。指定しないと、すべての環境のエンティティが削除されます。
-
TENANT_IDとAPI_KEYが、以前に確立されたPostman環境変数を参照していることを確認します。 以下の画像を使用して比較してください。 必要に応じて、API リクエストのヘッダーとパスを、以下の画像のヘッダーとパスと一致するように変更します。
-
リクエストを送信します。
-
Get Entityを使用して結果を確認します。削除されたエンティティが見つかりません。
おめでとうございます。 Recommendations APIを使用して、カタログ内のエンティティの詳細を作成、更新、削除、取得できるようになりました。 次の節では、カスタム条件の管理方法について説明します。