REST APIs の使用の手引き getting-started-with-rest-apis
一般的な要件、認証、オプションのクエリパラメーター、リクエスト URLs およびその他の参考資料についての情報です。
API の要件とレコメンデーション api-requirements-recommendations
Audience Manager API コードを操作する場合は、以下の点に注意してください。
- リクエストパラメーター:特に指定のない限り、すべてのリクエストパラメーターが必要となります。
- リクエストヘッダー:Adobe Developer トークンを使用する場合、
x-api-keyヘッダーを指定する必要があります。API キーは、サービスアカウント統合ページの手順に従って取得できます。 - JSONコンテンツタイプ: コード内で、
content-type: application/jsonおよびaccept: application/jsonを指定してください。 - 要求と応答:適切な形式の JSON オブジェクトとして要求を送信してください。Audience Manager は JSON 形式のデータで応答します。サーバーの応答には要求されたデータもしくはステータスコード、またはその両方を含めることができます。
- アクセス:担当の Audience Manager コンサルタントによって、API 要求をおこなうために必要なクライアント ID およびキーが提供されます。
- ドキュメントおよびコードサンプル: 斜体 のテキストは、API データを作成または受け取る際に指定または渡される変数を示します。斜体のテキストを独自のコード、パラメーターまたは他の必要な情報に置き換えてください。
認証 authentication
Audience Manager REST APIsは3つの認証方法をサポートしています。
- [Adobe開発者コンソール ]{class="badge positive"}を使用したOAuth サーバー間認証の推奨を推奨しました。 Adobe Developer は、アドビの開発者エコシステムおよびコミュニティです。これにはすべてのアドビ製品の API が含まれます。これは、Adobe APIsを設定して使用する推奨される方法です。 OAuth Server-to-Server Authenticationの詳細については、Adobe開発者向けドキュメントをご覧ください。
- [Adobe開発者コンソール ]{class="badge negative"}を使用したJWT (サービスアカウント)認証を非推奨にしました。 Adobe Developer は、アドビの開発者エコシステムおよびコミュニティです。これにはすべてのアドビ製品の API が含まれます。
- [非推奨]{class="badge negative"} 従来のOAuth認証。 この方法は非推奨ですが、既存の OAuth 統合を使用するお客様は、引き続きこの方法を使用できます。
Adobe Developerを使用したOAuth サーバー間の認証 oauth-adobe-developer
この節では、以下のフローチャートに示すように、Audience Manager API呼び出しを認証するために必要な資格情報を収集する方法について説明します。 必要な資格情報のほとんどは、最初の1回限りの設定で収集できます。 ただし、アクセストークンは24時間ごとに更新する必要があります。
Adobe Developer の概要 developer-overview
Adobe Developer は、アドビの開発者エコシステムおよびコミュニティです。これにはすべてのアドビ製品の API が含まれます。
Adobe APIs を設定および使用する場合は、この方法をお勧めします。
前提条件 prerequisites-server-to-server
OAuth Server-to-Server 認証を設定する前に、Adobe Developer で Adobe Developer Console にアクセスできることを確認します。アクセスリクエストについては、組織の管理者にお問い合わせください。
認証 oauth
次の手順に従って、Adobe Developer を使用して OAuth Server-to-Server 認証を設定します。
- Adobe Developer Console にログインします。
- 「OAuth サーバー間の資格情報実装ガイド 」の手順に従います。
- 手順 2:サービスアカウント認証を使用してプロジェクトに API を追加するで、Audience Manager API オプションを選択します。
- 手順 3 の指示に基づいて最初の API 呼び出しをおこない、接続を試します。
プロジェクトへのAudience Manager APIの追加 add-aam-api-to-project
Adobe Developer Consoleに移動し、Adobe IDでログインします。 次に、Adobe Developer Console ドキュメントの空のプロジェクトの作成に関するチュートリアルで説明されている手順に従います。
新しいプロジェクトを作成したら、Add API画面で Project Overview を選択します。
「APIを追加」オプションがハイライト表示された
Add an API画面が表示されます。 Adobe Experience Cloudの商品アイコンを選択し、Audience Manager APIを選択する前に Next を選択します。
OAuth サーバー間認証タイプを選択します select-oauth-server-to-server
次に、認証タイプを選択してアクセストークンを生成し、Audience Manager APIにアクセスします。
統合の製品プロファイルの選択 select-product-profiles
Configure API画面で、目的の製品プロファイルを選択します。 統合のサービスアカウントは、ここで選択した製品プロファイルを通じて、詳細な機能にアクセスできます。
準備ができたら Save configured API を選択します。
資格情報の収集 gather-credentials
APIがプロジェクトに追加されると、プロジェクトのAudience Manager API ページに、Audience Manager APIへのすべての呼び出しに必要な次の資格情報が表示されます。
{API_KEY}(Client ID){ORG_ID}(Organization ID)
アクセストークンの生成 generate-access-token
次の手順では、Audience Manager API呼び出しで使用する{ACCESS_TOKEN}資格情報を生成します。 {API_KEY}および{ORG_ID}の値とは異なり、Audience Manager APIを引き続き使用するには、24時間ごとに新しいトークンを生成する必要があります。 次に示すように、Generate access tokenを選択します。
API呼び出しのテスト test-api-call
認証ベアラートークンを取得したら、API呼び出しを実行してテストし、Audience Manager APIにアクセスできるようになりました。
-
API リファレンスドキュメント に移動します。
-
Authorizeを選択し、 アクセストークンの生成手順で取得したアクセストークンを貼り付けます。
-
/datasourcesAPI エンドポイントに対してGET呼び出しを実行し、API リファレンスドキュメント に示されているように、グローバルに利用可能なすべてのデータソースのリストを取得します。 次に示すように、Try it outを選択し、その後 Execute を選択します。
| code language-shell |
|---|
|
動作するアクセストークンを使用する場合、API エンドポイントは200の応答と、組織がアクセスできるすべてのグローバルデータソースを含む応答本文を返します。
| code language-json |
|---|
|
Adobe Developerを使用した[非推奨]{class="badge negative"} JWT (Service Account)認証 jwt
Adobe Developer の概要 adobeio
Adobe Developer は、アドビの開発者エコシステムおよびコミュニティです。これにはすべてのアドビ製品の API が含まれます。
Adobe APIs を設定および使用する場合は、この方法をお勧めします。
前提条件 prerequisites
JWT 認証を設定する前に、Adobe Developer で Adobe Developer Console にアクセスできることを確認します。アクセスリクエストについては、組織の管理者にお問い合わせください。
認証 auth
次の手順に従って、Adobe Developer を使用して JWT (Service Account) 認証を設定します。
- Adobe Developer Console にログインします。
- サービスアカウント接続の手順に従います。
- 手順 2:サービスアカウント認証を使用してプロジェクトに API を追加するで、Audience Manager API オプションを選択します。
- 手順 3 の指示に基づいて最初の API 呼び出しをおこない、接続を試します。
| note |
|---|
| NOTE |
| Audience Manager REST APIs を自動的に設定および操作するため、プログラムによって JWT を生成できます。詳しい手順については、JWT(サービスアカウント)認証を参照してください。 |
テクニカルアカウントの RBAC 権限
Audience Manager アカウントで役割ベースのアクセス制御を使用する場合は、Audience Manager のテクニカルユーザーアカウントを作成し、API 呼び出しをおこなう Audience Manager の RBAC グループに追加する必要があります。
以下の手順に従って、テクニカルユーザーアカウントを作成し、RBAC グループに追加します。
-
https://aam.adobe.io/v1/users/selfに対してGET呼び出しを実行します。この呼び出しにより、Admin Console の Users ページに表示されるテクニカルユーザーアカウントが作成されます。
-
Audience Manager アカウントにログインし、API 呼び出しをおこなうユーザーグループにテクニカルユーザーアカウントを追加します。
[非推奨]{class="badge negative"} OAuth認証(非推奨) oauth-deprecated
| note warning |
|---|
| WARNING |
| Audience Manager REST API トークンの認証とOAuth 2.0経由の更新は非推奨になりました。 |
| 代わりに、JWT(サービスアカウント)認証を使用してください。 |
Audience Manager REST API では、OAuth 2.0 標準規格に従って、トークンの認証と更新をおこないます。以下のセクションでは、API を認証し、使用を開始する方法について説明します。
汎用の API ユーザーの作成 requirements
Audience Manager APIを使用するための個別の技術的なユーザーアカウントを作成することをお勧めします。これは、組織の特定ユーザーに関連していない、または関連付けられていない一般的なアカウントです。このような API ユーザーアカウントによって 2 つのことが可能になります。
- API の呼び出し元のサービスを特定する(アドビの API を使用するアプリケーションからの呼び出し、または API 要求をおこなう他のツールからの呼び出しなど)。
- API への妨げられることのないアクセスを提供する。特定ユーザーが退社すると、そのユーザーに関連するアカウントが無効になることがあります。すると、利用可能な API コードを使用できなくなってしまいます。特定の従業員に関連付けられていない汎用のアカウントを使用することで、この問題を回避できます。
このタイプのアカウントの例またはユースケースとして、一括管理ツール を使用して、多くのセグメントを一度に変更するとします。 これをおこなうためには、ユーザーアカウントに API へのアクセス権が付与されている必要があります。特定のユーザーに対して権限を追加するのではなく、適切な資格情報、キー、および API 呼び出し用の暗号鍵を持つ汎用の API ユーザーアカウントを作成します。これは、Audience Manager API を使用する独自のアプリケーションを開発する場合にも便利です。
担当の Audience Manager コンサルタントにご相談のうえ、API 専用のユーザーアカウントの設定をおこなってください。
パスワード認証ワークフロー password-authentication-workflow
パスワード認証により、 REST API へのアクセスが保護されます。以下の手順は、ブラウザーで JSON クライアントからパスワードを認証する際のワークフローの概要を示しています。
| note tip |
|---|
| TIP |
| 更新トークンをデータベースに保存する場合は、アクセスと更新トークンを暗号化します。 |
手順 1:API アクセスのリクエスト
パートナーソリューションソリューションに問い合わせます。API クライアント ID と暗号鍵が通知されます。この ID と暗号鍵により、API での認証をおこないます。
注意:更新トークンを受け取る場合は、API アクセスをリクエストする際にその旨を申告してください。
ステップ 2:トークンのリクエスト
JSON クライアントでトークンのリクエストを渡します。リクエストをおこなうには、次の手順に従います。
POSTメソッドを使用してhttps://api.demdex.com/oauth/tokenを呼び出します。- クライアント ID と暗号鍵を、base-64 でエンコードされた文字列に変換します。この変換では、ID と暗号鍵はコロンで区切ります。例えば、資格情報
testId : testSecretはdGVzdElkOnRlc3RTZWNyZXQ=に変換されます。 - HTTP headers
Authorization:Basic <base-64 clientID:clientSecret>およびContent-Type: application/x-www-form-urlencodedで渡します。ヘッダーの例を次に示します。Authorization: Basic dGVzdElkOnRlc3RTZWNyZXQ=Content-Type: application/x-www-form-urlencoded - リクエストの本文を次のように設定します。
grant_type=password&username=<your-AudienceManager-user-name>&password=<your-AudienceManager-password>
ステップ 3:トークンの受け取り
JSON応答にはアクセストークンが含まれています。応答は次のようになっています。
| code language-json |
|---|
|
expires_in キーは、アクセストークンの有効期間を秒単位で表しています。トークンが公開される場合、ベストプラクティスとして、有効期間を短く設定し、公開時間を制限します。
更新トークン refresh-token
更新トークンは、元のトークンの有効期間が終了した後、API アクセスを更新します。リクエストがあれば、パスワードワークフローの応答 JSON に更新トークンが含まれます。更新トークンを受け取らない場合、パスワード認証プロセスにより新しいトークンを作成します。
また、更新トークンを使用して、既存のアクセストークンの有効期間が終了する前に新しいトークンを作成することもできます。
アクセストークンの有効期間が終了している場合、401 Status Code が生成され、応答のヘッダーが次のようになります。
WWW-Authenticate: Bearer realm="oauth", error="invalid_token", error_description="Access token expired: <token>"
次の表は、更新トークンを使用してブラウザーの JSON クライアントから新しいアクセストークンを作成するワークフローを示しています。
ステップ 1:新しいトークンのリクエスト
優先 JSON クライアントで更新トークンのリクエストを渡します。リクエストをおこなうには、次の手順に従います。
POSTメソッドを使用してhttps://api.demdex.com/oauth/tokenを呼び出します。- クライアント ID と暗号鍵を、base-64 でエンコードされた文字列に変換します。この変換では、ID と暗号鍵はコロンで区切ります。例えば、資格情報
testId : testSecretはdGVzdElkOnRlc3RTZWNyZXQ=に変換されます。 - HTTP ヘッダー
Authorization:Basic <base-64 clientID:clientSecret>とContent-Type: application/x-www-form-urlencodedを渡します。ヘッダーの例を次に示します。Authorization: Basic dGVzdElkOnRlc3RTZWNyZXQ=Content-Type: application/x-www-form-urlencoded - リクエストの本文で、
grant_type:refresh_tokenを指定し、前のアクセスリクエストで受け取った更新トークンを渡します。リクエストは次のようになっています。grant_type=refresh_token&refresh_token=b27122c0-b0c7-4b39-a71b-1547a3b3b88e
ステップ 2:新しいトークンの受け取り
JSON 応答に新しいアクセストークンが含まれます。応答は次のようになっています。
| code language-json |
|---|
|
認証コードと暗黙的な認証 authentication-code-implicit
Audience Manager は、認証コードを暗黙的な認証をサポートしています。REST APIこれらのアクセス方法を利用するには、ユーザーが https://api.demdex.com/oauth/authorize にログインし、アクセス権と更新トークンを取得する必要があります。
認証済み API リクエストの作成 authenticated-api-requests
認証トークン受信後の API メソッドの呼び出しの要件。
使用可能な API メソッドに対する呼び出しをおこなうには:
HTTPヘッダーでAuthorization: Bearer <token>を設定します。- JWT(サービスアカウント)認証を使用する場合、
x-api-keyヘッダー(client_idと同じ)を提供する必要があります。client_idについては、Adobe Developer 統合ページから取得できます。 - 必要な API メソッドを呼び出します。
オプションの API クエリパラメーター optional-api-query-parameters
オブジェクトのすべてのプロパティを返すメソッドに使用可能なオプションのパラメーターを設定します。
オブジェクトのAPIすべてのプロパティを返す メソッドで、これらのオプションパラメーターを使用できます。そのクエリを API に渡す際に、リクエスト文字列にこれらのオプションを設定します。
pagepageSizesortBydescendingascending がデフォルトです。searchGET https://aam.adobe.io/v1/models/?search=Test。 「get all」メソッドで返されるすべての値を検索できます。folderIdpermissions指定された権限に基づいて、セグメントのリストを返します。READ がデフォルトです。権限には以下のものがあります。
READ:セグメントに関する情報を返して表示します。WRITE:PUTを使用してセグメントを更新します。CREATE:POSTを使用してセグメントを作成します。DELETE:セグメントの削除。基になる特性がある場合、その特性へのアクセス権が必要です。例えば、特性を削除する場合、セグメントに属する特性を削除する権限が必要です。
複数の権限を個別のキーと値のペアで指定します。例えば、READ および WRITE 権限だけを持っているセグメントのリストを返すには、"permissions":"READ"、"permissions":"WRITE" を渡します。
includePermissionstrue に設定して、セグメントの権限を返します。初期設定は false です。ページオプションに関する注意
ページ情報が指定 されていない 場合、リクエストは、プレーンな JSON 結果を配列で返します。ページ情報が指定 されている 場合、返されるリストは、合計結果と現在のページに関する情報を含んだ JSON オブジェクトにラッピングされます。ページオプションを使用したサンプルリクエストは次のようになります。
GET https://aam.adobe.io/v1/models/?page=1&pageSize=2&search=Test
API URLs api-urls
リクエストの URLs、ステージング環境および本番環境、バージョンの説明です。
リクエスト URLs request-urls
次の表は、API リクエストを渡すためのリクエスト URLs のリストを、メソッド別に示しています。
使用する認証方法に応じて、次の表に従ってリクエスト URLs を調整する必要があります。
Adobe Developerを使用したURLsRecommended[ OAuth サーバー間および]{class="badge positive"}非推奨[ ]{class="badge negative"}認証のJWTをリクエストします request-urls-jwt
https://aam.adobe.io/v1/models/https://aam.adobe.io/v1/datasources/https://aam.adobe.io/v1/signals/derived/https://aam.adobe.io/v1/destinations/https://aam.adobe.io/v1/partner-sites/https://aam.adobe.io/v1/folders/traits /セグメント:
https://aam.adobe.io/v1/folders/segments /https://aam.adobe.io/v1/schemas/https://aam.adobe.io/v1/segments/https://aam.adobe.io/v1/traits/https://aam.adobe.io/v1/customer-trait-typeshttps://aam.adobe.io/v1/taxonomies/0/URLs非推奨[ レガシー]{class="badge negative"}認証のOAuthをリクエスト request-urls-oauth
https://api.demdex.com/v1/models/https://api.demdex.com/v1/datasources/https://api.demdex.com/v1/signals/derived/https://api.demdex.com/v1/destinations/https://api.demdex.com/v1/partner-sites/https://api.demdex.com/v1/folders/traits /セグメント:
https://api.demdex.com/v1/folders/segments /https://api.demdex.com/v1/schemas/https://api.demdex.com/v1/segments/https://api.demdex.com/v1/traits/https://api.demdex.com/v1/customer-trait-typeshttps://api.demdex.com/v1/taxonomies/0/環境 environments
Audience Manager API では、複数の作業環境にアクセスできます。これらの環境では、使用中の実稼動データに影響することなく、個別のデータベースについてコードをテストすることができます。次の表は、使用可能な API 環境と、対応するリソースホスト名のリストです。
使用する認証方法に応じて、次の表に従って環境 URLs を調整する必要があります。
https://aam.adobe.io/...https://api.demdex.com/...https://aam-beta.adobe.io/...https://api-beta.demdex.com/...バージョン versions
これらの API では、新しいバージョンが定期的にリリースされています。新しいリリースでは、API バージョン番号が増加しています。リクエスト URL では、バージョン番号は次の例のように v<version number> として参照されます。
https://<host>/v1/...
レスポンスコードの定義 response-codes-defined
Audience Manager REST API によって返される HTTP ステータスコードおよび応答テキスト。
200OK201CreatedPUT および POST リクエストに対して返されます。204No Content400Bad Request403Forbidden404Not Found409Conflict500Server Error