サンドボックス管理エンドポイント
Adobe Experience Platformのサンドボックスは独立した開発環境を提供します。これにより、本番環境に影響を与えることなく、機能のテスト、検証の実行、カスタム設定を行うことができます。 /sandboxes APIのSandbox エンドポイントを使用すると、Experience Platformでサンドボックスをプログラムで管理できます。
はじめに
このガイドで使用する API エンドポイントは、Sandbox API の一部です。先に進む前に、はじめる前にを参照し、関連ドキュメントへのリンク、このドキュメントのサンプル API 呼び出しを読み取るためのガイドおよび任意の Experience Platform API を正常に呼び出すために必要なヘッダーに関する重要な情報を確認してください。
サンドボックスのリストの取得 list
/sandboxes エンドポイントに対してGET リクエストを行うことで、組織に属するすべてのサンドボックスを(アクティブであるか、その他の方法で)一覧表示できます。
API 形式
GET /sandboxes?{QUERY_PARAMS}
{QUERY_PARAMS}リクエスト
curl -X GET \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes?&limit=4&offset=1 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
応答
成功応答は、組織に属するサンドボックスのリスト(name、title、state、type などの詳細を含むを返します。
{
"sandboxes": [
{
"name": "prod",
"title": "Production",
"state": "active",
"type": "production",
"region": "VA7",
"isDefault": true,
"eTag": 2,
"createdDate": "2019-09-04 04:57:24",
"lastModifiedDate": "2019-09-04 04:57:24",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
},
{
"name": "dev",
"title": "Development",
"state": "active",
"type": "development",
"region": "VA7",
"isDefault": false,
"eTag": 1,
"createdDate": "2019-09-03 22:27:48",
"lastModifiedDate": "2019-09-03 22:27:48",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
},
{
"name": "stage",
"title": "Staging",
"state": "active",
"type": "development",
"region": "VA7",
"isDefault": false,
"eTag": 1,
"createdDate": "2019-09-03 22:27:48",
"lastModifiedDate": "2019-09-03 22:27:48",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
},
{
"name": "dev-2",
"title": "Development 2",
"state": "creating",
"type": "development",
"region": "VA7",
"isDefault": false,
"eTag": 1,
"createdDate": "2019-09-07 10:16:02",
"lastModifiedDate": "2019-09-07 10:16:02",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
}
],
"_page": {
"limit": 4,
"count": 4
},
"_links": {
"next": {
"href": "https://platform.adobe.io:443/data/foundation/sandbox-management/sandboxes/?limit={limit}&offset={offset}",
"templated": true
},
"prev": {
"href": "https://platform.adobe.io:443/data/foundation/sandbox-management/sandboxes?offset=0&limit=1",
"templated": null
},
"page": {
"href": "https://platform.adobe.io:443/data/foundation/sandbox-management/sandboxes?offset=1&limit=1",
"templated": null
}
}
}
nametitlestateサンドボックスの現在の処理状態です。サンドボックスの状態は、次のいずれかになります。
creating: サンドボックスは作成されましたが、まだシステムによってプロビジョニングされています。active: サンドボックスが作成され、アクティブになっています。failed: エラーが発生したため、サンドボックスをシステムでプロビジョニングできず、無効になっています。deleted: サンドボックスは手動で無効になっています。
typedevelopmentとproductionがあります。isDefaulteTagサンドボックスの検索 lookup
個々のサンドボックスを検索するには、リクエストパスにサンドボックスの name プロパティを含む GET リクエストを作成する必要があります。
API 形式
GET /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}name プロパティです。リクエスト
次のリクエストは、「dev-2」という名前のサンドボックスを取得します。
curl -X GET \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/dev-2 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
応答
成功した応答は、サンドボックスの詳細(name、title、state、type)を返します。
{
"name": "dev-2",
"title": "Development 2",
"state": "creating",
"type": "development",
"region": "VA7",
"isDefault": false,
"eTag": 1,
"createdDate": "2019-09-07 10:16:02",
"lastModifiedDate": "2019-09-07 10:16:02",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
}
nametitlestateサンドボックスの現在の処理状態。サンドボックスの状態は、次のいずれかになります。
- 作成:サンドボックスは作成されましたが、システムによって引き続きプロビジョニングされています。
- アクティブ:サンドボックスが作成され、アクティブです。
- 失敗:エラーが原因で、サンドボックスはシステムでプロビジョニングできず、無効になっています。
- 削除:サンドボックスは手動で無効にされています。
typedevelopmentとproductionがあります。isDefaulteTagサンドボックスの作成 create
/sandboxes エンドポイントにPOST リクエストを行うことで、新しい開発サンドボックスまたは実稼動サンドボックスを作成できます。
開発サンドボックスを作成
開発サンドボックスを作成するには、リクエストペイロードにtypeの値を持つdevelopment属性を指定する必要があります。
API 形式
POST /sandboxes
リクエスト
次のリクエストは、「acme-dev」という名前の新しい開発サンドボックスを作成します。
curl -X POST \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json' \
-d '{
"name": "acme-dev",
"title": "Acme Business Group dev",
"type": "development"
}'
nametitletypedevelopmentである必要があります。応答
正常な応答は、新しく作成されたサンドボックスの詳細を返し、state が「作成中」であることを示します。
{
"name": "acme-dev",
"title": "Acme Business Group dev",
"state": "creating",
"type": "development",
"region": "VA7"
}
stateは「アクティブ」または「失敗」になります。実稼動サンドボックスの作成
実稼動サンドボックスを作成するには、リクエストペイロードにtypeの値を持つproduction属性を指定する必要があります。
API 形式
POST /sandboxes
リクエスト
次のリクエストは、「acme」という名前の新しい実稼動サンドボックスを作成します。
curl -X POST \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H `Accept: application/json` \
-H 'Content-Type: application/json' \
-d '{
"name": "acme",
"title": "Acme Business Group",
"type": "production"
}'
nametitletypeproductionである必要があります。応答
正常な応答は、新しく作成されたサンドボックスの詳細を返し、state が「作成中」であることを示します。
{
"name": "acme",
"title": "Acme Business Group",
"state": "creating",
"type": "production",
"region": "VA7"
}
stateは「アクティブ」または「失敗」になります。サンドボックスの更新 put
リクエストパスにサンドボックスのnameを含む PATCH リクエストを作成し、リクエストペイロードで更新するプロパティを作成することで、サンドボックス内の 1 つ以上のフィールドを更新できます。
title プロパティのみです。API 形式
PATCH /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}nameプロパティ。リクエスト
次のリクエストは、「acme」という名前のサンドボックスのtitle プロパティを更新します。
curl -X PATCH \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/acme \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json'
-d '{
"title": "Acme Business Group prod"
}'
応答
成功した応答は、新しく更新されたサンドボックスの詳細を含む HTTP ステータス 200(OK)を返します。
{
"name": "acme",
"title": "Acme Business Group prod",
"state": "active",
"type": "production",
"region": "VA7"
}
サンドボックスのリセット reset
サンドボックスには、「工場出荷時のリセット」機能があり、サンドボックスからすべてのデフォルト以外のリソースを削除します。 サンドボックスをリセットするには、そのサンドボックスの name をリクエストパスに含む PUT リクエストを作成する必要があります。
API 形式
PUT /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}name プロパティです。validationOnlyvalidationOnly=trueに設定して、リセットしようとしているサンドボックスにAdobe Analytics、Adobe Audience Manager、またはセグメント共有データが含まれているかどうかを確認します。リクエスト
次のリクエストは、「acme-dev」という名前のサンドボックスをリセットします。
curl -X PUT \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/acme-dev?validationOnly=true \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json'
-d '{
"action": "reset"
}'
action応答
正常な応答は、更新されたサンドボックスの詳細を返し、state が「リセット中」であることを示します。
{
"id": "d8184350-dbf5-11e9-875f-6bf1873fec16",
"name": "acme-dev",
"title": "Acme Business Group dev",
"state": "resetting",
"type": "development",
"region": "VA7"
}
デフォルトの実稼動用サンドボックスとユーザーが作成した実稼動用サンドボックスは、その中でホストされているID グラフがCross Device Analytics (CDA) 機能にAdobe Analyticsでも使用されている場合や、その中でホストされているID グラフがPeople Based Destinations (PBD) 機能にAdobe Audience Managerでも使用されている場合、リセットできません。
サンドボックスのリセットを妨げる可能性のある例外のリストを次に示します。
{
"status": 400,
"title": "Sandbox `{SANDBOX_NAME}` cannot be reset. The identity graph hosted in this sandbox is also being used by Adobe Analytics for the Cross Device Analytics (CDA) feature.",
"type": "http://ns.adobe.com/aep/errors/SMS-2074-400"
},
{
"status": 400,
"title": "Sandbox `{SANDBOX_NAME}` cannot be reset. The identity graph hosted in this sandbox is also being used by Adobe Audience Manager for the People Based Destinations (PBD) feature.",
"type": "http://ns.adobe.com/aep/errors/SMS-2075-400"
},
{
"status": 400,
"title": "Sandbox `{SANDBOX_NAME}` cannot be reset. The identity graph hosted in this sandbox is also being used by Adobe Audience Manager for the People Based Destinations (PBD) feature, as well by Adobe Analytics for the Cross Device Analytics (CDA) feature.",
"type": "http://ns.adobe.com/aep/errors/SMS-2076-400"
},
{
"status": 400,
"title": "Warning: Sandbox `{SANDBOX_NAME}` is used for bi-directional segment sharing with Adobe Audience Manager or Audience Core Service.",
"type": "http://ns.adobe.com/aep/errors/SMS-2077-400"
}
Audience ManagerまたはAudience Core Serviceとの双方向セグメント共有に使用される実稼動サンドボックスのリセットを続行するには、ignoreWarnings パラメーターをリクエストに追加します。
API 形式
PUT /sandboxes/{SANDBOX_NAME}?ignoreWarnings=true
{SANDBOX_NAME}name プロパティです。ignoreWarningsリクエスト
次のリクエストは、「acme」という名前の実稼動サンドボックスをリセットします。
curl -X PUT \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/acme?ignoreWarnings=true \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json'
-d '{
"action": "reset"
}'
応答
正常な応答は、更新されたサンドボックスの詳細を返し、state が「リセット中」であることを示します。
{
"id": "d8184350-dbf5-11e9-875f-6bf1873fec16",
"name": "acme",
"title": "Acme Business Group prod",
"state": "resetting",
"type": "production",
"region": "VA7"
}
サンドボックスの削除 delete
サンドボックスを削除するには、リクエストパスにサンドボックスの name を含む DELETE リクエストを実行します。
status プロパティが「削除済み」に更新され、無効になります。 サンドボックスが削除された後も、GET リクエストを使用して、その詳細を取得できます。API 形式
DELETE /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}name。validationOnlyvalidationOnly=trueに設定して、リセットしようとしているサンドボックスにAdobe Analytics、Adobe Audience Manager、またはセグメント共有データが含まれているかどうかを確認します。ignoreWarningsリクエスト
次のリクエストは、「acme」という名前の実稼動サンドボックスを削除します。
curl -X DELETE \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/acme?ignoreWarnings=true \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}'
応答
リクエストが成功した場合は、サンドボックスの更新された情報が返され、サンドボックスの state が「deleted」になったことが示されます。
{
"name": "acme",
"title": "Acme Business Group prod",
"state": "deleted",
"type": "development",
"region": "VA7"
}