パッケージエンドポイント
サンドボックスツールを使用すると、様々なアーティファクト(オブジェクトとも呼ばれます)を選択し、それらをパッケージに書き出すことができます。 パッケージは、単一のアーティファクトまたは複数のアーティファクト(データセットやスキーマなど)で構成できます。 パッケージに含まれるアーティファクトは、同じサンドボックスからのアーティファクトである必要があります。
サンドボックスツール API の /packages
エンドポイントを使用すると、パッケージの公開やサンドボックスへのパッケージの読み込みなど、組織内のパッケージをプログラムによって管理できます。
パッケージを作成 create
パッケージの名前とパッケージタイプの値を指定しながら /packages
エンドポイントに対してPOSTリクエストを行うことで、複数のアーティファクトからなるパッケージを作成できます。
API 形式
POST /packages/
リクエスト
curl -X POST \
https://platform.adobe.io/data/foundation/exim/packages \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d'{
"name": "acme",
"description": "Acme Business Group",
"packageType": "PARTIAL",
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"expiry": "2023-05-20T20:05:10Z",
"artifacts": [
{
"id": "27115daa-c92b-4f17-a077-d65ffeb0c525",
"type": "PROFILE_SEGMENT",
"title": "Acme Profile Segment"
}
]
}'
name
description
packageType
sourceSandbox
expiry
artifacts
packageType
が FULL
の場合、artifacts
値は null または 空 にする必要があります。応答
応答が成功すると、新しく作成したパッケージが返されます。 応答には、対応するパッケージ ID と、そのステータス、有効期限およびアーティファクトのリストに関する情報が含まれます。
{
"id": "209f886b00444eac9bb5836fe32e7681",
"version": 0,
"createdDate": 1684475012105,
"modifiedDate": 1684475012105,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "c875b077162b40409c1327b16da99c1b",
"requestId": "devxa54a6b56d04f46119d9e3cc006fcc1cb",
"userId": "platform_exim",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"sourceSandbox": {
"name": "cjm-mr",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"packageType": "PARTIAL",
"expiry": 1684613110000,
"status": "DRAFT",
"artifactsList": [
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29",
"type": "JOURNEY",
"found": false,
"count": 0
}
]
}
パッケージの更新 update
/packages
エンドポイントに対してPUTリクエストを実行することで、パッケージを更新できます。
パッケージへのアーティファクトの追加 add-artifacts
アーティファクトをパッケージに追加するには、id
を指定し、action
に ADD を含める必要があります。
API 形式
PUT /packages/
リクエスト
curl -X PUT \
https://platform.adobe.io/data/foundation/exim/packages \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d'{
"id": "6fa50baedd344a278129a87e68cc9dc7",
"action": "ADD",
"expiry": "2023-05-20T20:05:10Z",
"artifacts": [
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29@1647559351683",
"type": "JOURNEY"
}
]
}'
id
action
artifacts
expiry
現在、次のアーティファクトタイプがサポートされています。
JOURNEY
ID_NAMESPACE
REGISTRY_DATATYPE
REGISTRY_CLASS
REGISTRY_MIXIN
REGISTRY_SCHEMA
CATALOG_DATASET
DULE_CONSENT_POLICY
PROFILE_SEGMENT
FLOW
応答
応答が成功すると、更新されたパッケージが返されます。 応答には、対応するパッケージ ID と、そのステータス、有効期限およびアーティファクトのリストに関する情報が含まれます。
{
"id": "6fa50baedd344a278129a87e68cc9dc7",
"version": 4,
"createdDate": 1684235842000,
"modifiedDate": 1684475861366,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "c875b077162b40409c1327b16da99c1b",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"packageType": "PARTIAL",
"expiry": 1692251861352,
"status": "DRAFT",
"artifactsList": [
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29@1647559351683",
"type": "JOURNEY",
"found": false,
"count": 0
},
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29",
"type": "JOURNEY",
"found": false,
"count": 0
}
]
}
パッケージからのアーティファクトの削除 delete-artifacts
パッケージからアーティファクトを削除するには、id
を指定し、action
に DELETE を含める必要があります。
API 形式
PUT /packages/
リクエスト
curl -X PUT \
https://platform.adobe.io/data/foundation/exim/packages \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d'{
"id": "6fa50baedd344a278129a87e68cc9dc7",
"action": "DELETE",
"artifacts": [
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29@1647559351683",
"type": "JOURNEY"
}
]
}'
id
action
artifacts
応答
応答が成功すると、更新されたパッケージが返されます。 応答には、対応するパッケージ ID と、そのステータス、有効期限およびアーティファクトのリストに関する情報が含まれます。
{
"id": "6fa50baedd344a278129a87e68cc9dc7",
"version": 5,
"createdDate": 1684235842000,
"modifiedDate": 1684478830416,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "c875b077162b40409c1327b16da99c1b",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"packageType": "PARTIAL",
"expiry": 1692254830403,
"status": "DRAFT",
"artifactsList": [
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29",
"type": "JOURNEY",
"found": false,
"count": 0
}
]
}
パッケージ内のメタデータフィールドの更新 update-metadata
パッケージ内のメタデータフィールドを更新するには、id
を指定し、action
の UPDATE を含める必要があります。
API 形式
PUT /packages/
リクエスト
curl -X PUT \
https://platform.adobe.io/data/foundation/exim/packages \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d'{
"id": "6fa50baedd344a278129a87e68cc9dc7",
"action": "UPDATE",
"name": "acme",
"description": "Acme Business Group",
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
}
}'
id
action
name
sourceSandbox
応答
応答が成功すると、更新されたパッケージが返されます。 応答には、対応するパッケージ ID に加え、説明、ステータス、有効期限およびアーティファクトのリストに関する情報が含まれます。
{
"id": "6fa50baedd344a278129a87e68cc9dc7",
"version": 6,
"createdDate": 1684235842000,
"modifiedDate": 1684479094129,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "c875b077162b40409c1327b16da99c1b",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"packageType": "PARTIAL",
"expiry": 1692255094127,
"status": "DRAFT",
"artifactsList": [
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29",
"type": "JOURNEY",
"found": false,
"count": 0
}
]
}
パッケージの削除 delete
パッケージを削除するには、/packages
エンドポイントに対してDELETEリクエストを実行し、削除するパッケージの ID を指定します。
API 形式
DELETE /packages/{PACKAGE_ID}
{PACKAGE_ID}
リクエスト
次のリクエストでは、ID が {PACKAGE_ID} のパッケージが削除されます。
curl -X DELETE \
https://platform.adobe.io/data/foundation/exim/packages/{PACKAGE_ID} \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
応答
応答が成功すると、理由が返され、パッケージ ID が削除されたことが示されます。
{
"reason": "Package d30e0424a37b46ada6a5cf37f47a86ff deleted"
}
パッケージのPublish publish
パッケージをサンドボックスにインポートできるようにするには、パッケージを公開する必要があります。 公開するパッケージの ID を指定したうえで、/packages
エンドポイントに対してGETリクエストを行います。
API 形式
GET /packages/{PACKAGE_ID}/export
{PACKAGE_ID}
リクエスト
次のリクエストでは、{PACKAGE_ID} という ID でパッケージが公開されます。
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/{PACKAGE_ID}\export \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
expiryPeriod
値を指定しない場合、デフォルトは公開日から 90 (日)として計算されます。
応答
応答が成功すると、公開されたパッケージが返されます。
{
"name": "acme",
"description": "Acme Business Group",
"visibility": "TENANT",
"sourceSandbox":
{
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"type": "PARTIAL",
"correlationId": "48effe5e-1bef-4250-9c71-23b93ef5d285"
}
パッケージの検索 look-up-package
個々のパッケージを検索するには、リクエストパスにパッケージの対応する ID を含む /packages
エンドポイントに対してGETリクエストを実行します。
API 形式
GET /packages/{PACKAGE_ID}
{PACKAGE_ID}
リクエスト
次のリクエストは、{PACKAGE_ID} の情報を取得します。
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/{PACKAGE_ID} \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
応答
応答が成功すると、クエリされたパッケージ ID の詳細が返されます。 応答には、名前、説明、公開日と有効期限、パッケージのソースサンドボックス、アーティファクトのリストが含まれます。
{
"id": "8f585fad94d042cd82dbcba594108a41",
"version": 2,
"createdDate": 1685597784000,
"modifiedDate": 1685597810000,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "c875b077162b40409c1327b16da99c1b",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"packageType": "PARTIAL",
"expiry": 1693373810000,
"publishDate": 1685597810000,
"status": "PUBLISHED",
"artifactsList": [
{
"id": "f4f57771-2bd2-469a-9c13-8d803eeb6515",
"type": "JOURNEY",
"found": false,
"count": 0
},
{
"id": "7f4caca7-a477-400d-a41e-c4735f8e780d",
"type": "JOURNEY",
"found": false,
"count": 0
}
],
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
}
}
パッケージのリスト list-packages
/packages
エンドポイントに対してGETリクエストをおこなうと、組織内のすべてのパッケージをリストできます。
API 形式
GET /packages/?{QUERY_PARAMS}
{QUERY_PARAMS}
リクエスト
次のリクエストは、{QUERY_PARAMS} に基づいてパッケージの情報を取得します。
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/?property=status==DRAFT,PUBLISHED&property=createdDate>=2023-05-11T18:29:59.999Z&property=createdDate<=2023-05-16T18:29:59.999Z&start=0&orderby=-createdDate&limit=20 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
応答
応答が成功すると、名前、ステータス、有効期限、アーティファクトリストなどの詳細を含む、組織に属するパッケージのリストが返されます。
{
"totalElements": 109,
"currentPage": 0,
"totalPages": 6,
"hasPreviousPage": false,
"hasNextPage": true,
"data": [
{
"id": "8f585fad94d042cd82dbcba594108a41",
"version": 2,
"createdDate": 1685597784000,
"modifiedDate": 1685597810000,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "c875b077162b40409c1327b16da99c1b",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"packageType": "PARTIAL",
"expiry": 1693373810000,
"publishDate": 1685597810000,
"status": "PUBLISHED",
"artifactsList": [
{
"id": "f4f57771-2bd2-469a-9c13-8d803eeb6515",
"type": "JOURNEY",
"found": false,
"count": 0
},
{
"id": "7f4caca7-a477-400d-a41e-c4735f8e780d",
"type": "JOURNEY",
"found": false,
"count": 0
}
],
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
}
},
{
"id": "0d7e427ce4cb4dc1b78e30ef61b125c1",
"version": 2,
"createdDate": 1685555213000,
"modifiedDate": 1685555275000,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "7d7d8bbe3c7c4a8ea701cc5e42c57aeb",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"packageType": "PARTIAL",
"expiry": 1693331275000,
"publishDate": 1685555275000,
"status": "PUBLISHED",
"artifactsList": [
{
"id": "626a9669a9f5b818db270e95",
"type": "CATALOG_DATASET",
"found": false,
"count": 0
}
],
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
}
}
]
}
パッケージのインポート import
このエンドポイントは、指定されたターゲットサンドボックスで競合するオブジェクトを取得するために使用されます。 競合するオブジェクトは、ターゲットサンドボックスに既に存在する類似のオブジェクトを表します。
API 形式
GET /packages/{PACKAGE_ID}/import?targetSandbox=targetSandboxName
{PACKAGE_ID}
リクエスト
次のリクエストでは、{PACKAGE_ID} を読み込みます。
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/{PACKAGE_ID}/import?targetSandbox=targetSandboxName \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
応答
競合は、応答で返されます。 この応答では、元のパッケージと、ランキング順の配列として alternatives
フラグメントが表示されます。
code language-json |
---|
|
読み込みを送信 submit-import
競合や置き換えを確認した後、/packages
エンドポイントに対してPOSTリクエストを行うことで、パッケージの読み込みを送信できます。 結果はペイロードとして提供され、ペイロードで指定された宛先サンドボックスの読み込みジョブが開始されます。
ペイロードは、インポートジョブのユーザー指定ジョブ名と説明も受け付けます。 ユーザーが指定した名前と説明を使用できない場合は、パッケージ名と説明がジョブの名前と説明に使用されます。
API 形式
POST /packages/import
リクエスト
次のリクエストでは、読み込むパッケージを取得します。 ペイロードは置き換えのマップで、エントリが存在する場合、キーはパッケージが提供する artifactId
、代替値はの値です。 マップまたはペイロードが 空 の場合、代用は実行されません。
curl -X POST \
https://platform.adobe.io/data/foundation/exim/packages/import/ \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d'{
"id": "09484a599f5f4a5faa43986643964615",
"name": "acme",
"description": "Acme Business Group",
"destinationSandbox": {
"name": "cjm-mr",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"alternatives": {
"https://ns.adobe.com/cjmstage/schemas/ac33bbd22eb4ad6656e1c7e12e9f520261fb39fd28a902a9": {
"id": "https://ns.adobe.com/cjmstage/schemas/a3b935344685afad4e52c753161cf673ec23d4fb1b3e9ce",
"type": "REGISTRY_SCHEMA"
}
}
}'
alternatives
alternatives
ます。 読み込みジョブでは、これらのアーティファクトは既にターゲットサンドボックスに作成されているので、作成されません。応答
{
"name": "acme",
"description": "Acme Business Group",
"visibility": "TENANT",
"sourceSandbox":
{
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"destinationSandbox":
{
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"type": "PARTIAL",
"correlationId": "48effe5e-1bef-4250-9c71-23b93ef5d285"
}
すべての依存オブジェクトのリスト dependent-objects
パッケージの ID を指定して /packages
エンドポイントにPOSTリクエストを行い、パッケージ内の書き出されたオブジェクトのすべての依存オブジェクトをリストします。
API 形式
POST /packages/{PACKAGE_ID}/children
{PACKAGE_ID}
リクエスト
次のリクエストでは、{PACKAGE_ID} のすべての依存オブジェクトをリストします。
curl -X POST \
https://platform.adobe.io/data/foundation/exim/packages/{PACKAGE_ID}/import?targetSandbox=targetSandboxName \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-d'[
{
"id": "4d4c874ec3344d64bf8b3160e60ac78b",
"type": "MAPPING_SET"
},
{
"id": "https://ns.adobe.com/cjmstage/schemas/20121c2110bb2c6a585baabe5f82994577da1f7d0628234c",
"type": "REGISTRY_SCHEMA"
},
{
"id": "https://ns.adobe.com/cjmstage/classes/24c1525f4f06fae2d203c6b78e26ae479ec4541c2c0d6b26",
"type": "REGISTRY_CLASS"
}
]'
応答
応答が成功すると、オブジェクトの子のリストが返されます。
[
{
"id": "4d4c874ec3344d64bf8b3160e60ac78b",
"title": "4d4c874ec3344d64bf8b3160e60ac78b",
"type": "MAPPING_SET",
"children": [
{
"id": "https://ns.adobe.com/cjmstage/schemas/20121c2110bb2c6a585baabe5f82994577da1f7d0628234c",
"title": "Dean Dataset 1 - adhoc schema - 1618950408870",
"type": "REGISTRY_SCHEMA"
}
]
},
{
"id": "https://ns.adobe.com/cjmstage/schemas/20121c2110bb2c6a585baabe5f82994577da1f7d0628234c",
"title": "Dean Dataset 1 - adhoc schema - 1618950408870",
"type": "REGISTRY_SCHEMA",
"children": [
{
"id": "https://ns.adobe.com/cjmstage/classes/24c1525f4f06fae2d203c6b78e26ae479ec4541c2c0d6b26",
"title": "Dean Dataset 1 - Adhoc class - 1618950408870",
"type": "REGISTRY_CLASS"
}
]
},
{
"id": "https://ns.adobe.com/cjmstage/classes/24c1525f4f06fae2d203c6b78e26ae479ec4541c2c0d6b26",
"title": "Dean Dataset 1 - Adhoc class - 1618950408870",
"type": "REGISTRY_CLASS",
"children": []
}
]
役割ベースの権限を確認してすべてのパッケージアーティファクトをインポートする role-based-permissions
パッケージアーティファクトを読み込む権限があるかどうかを確認するには、パッケージの ID とターゲットのサンドボックス名を指定したうえで /packages
エンドポイントに対してGETリクエストを行います。
API 形式
GET /packages/preflight/{packageId}?targetSandbox=<sandbox_name
{PACKAGE_ID}
リクエスト
次のリクエストでは、{PACKAGE_ID} とサンドボックスの権限を確認しています。
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/preflight/{PACKAGE_ID}?targetSandbox=<sandbox_name> \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
応答
応答が成功すると、ターゲットサンドボックスのリソース権限が返されます。この権限には、必要な権限のリスト、権限がない場合、アーティファクトのタイプ、作成が許可されているかどうかの決定が含まれます。
code language-json |
---|
|
書き出し/読み込みジョブのリスト list-jobs
/packages
エンドポイントに対してGETリクエストを実行することで、現在の書き出し/読み込みジョブをリストできます。
API 形式
GET /packages/jobs?{QUERY_PARAMS}
{QUERY_PARAMS}
リクエスト
次のリクエストでは、成功したすべてのインポートジョブをリストします。
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/jobs?property=requestType==IMPORT&property=jobStatus==SUCCESS&orderby=createdDate&start=0&limit=5 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
応答
応答が成功すると、成功したすべてのインポートジョブが返されます。
{
"totalElements": 42,
"currentPage": 0,
"totalPages": 9,
"hasPreviousPage": false,
"hasNextPage": true,
"data": [
{
"id": "3c1b92cf47a246d7bfbe6fd507c5d543",
"name": "acme",
"updated": 1685973675401,
"created": 1685973675401,
"jobType": "NEW",
"packageType": "PARTIAL",
"description": "Acme Business Group",
"jobStatus": "SUCCESS",
"visibility": "TENANT",
"sourceSandBox": "acme-sandbox",
"targetSandbox": "poc",
"createdBy": "{CREATED_BY}"
},
{
"id": "ead59d21405f4184a94dd786a1bf040d",
"name": "acme1",
"updated": 1685986367198,
"created": 1685986367198,
"jobType": "NEW",
"packageType": "PARTIAL",
"description": "Acme Business Group",
"jobStatus": "SUCCESS",
"visibility": "TENANT",
"sourceSandBox": "acme-sandbox",
"targetSandbox": "poc",
"createdBy": "{CREATED_BY}"
},
{
"id": "85ddaa3c2f6c475088167cde7a9d4326",
"name": "acme2",
"updated": 1686147692568,
"created": 1686147692568,
"jobType": "NEW",
"packageType": "PARTIAL",
"description": "Acme Business Group",
"jobStatus": "SUCCESS",
"visibility": "TENANT",
"sourceSandBox": "acme-sandbox",
"targetSandbox": "poc",
"createdBy": "{CREATED_BY}"
},
{
"id": "c49a4fcb31954cbd828ece1da096c8f5",
"name": "acme3",
"updated": 1686148007586,
"created": 1686148007586,
"jobType": "NEW",
"packageType": "PARTIAL",
"description": "Acme Business Group",
"jobStatus": "SUCCESS",
"visibility": "TENANT",
"sourceSandBox": "acme-sandbox",
"targetSandbox": "poc",
"createdBy": "{CREATED_BY}"
},
{
"id": "a3669315baed4cf2af49bf9ce90b8158",
"name": "acme4",
"updated": 1686148651910,
"created": 1686148651910,
"jobType": "NEW",
"packageType": "PARTIAL",
"description": "Acme Business Group",
"jobStatus": "SUCCESS",
"visibility": "TENANT",
"sourceSandBox": "acme-sandbox",
"targetSandbox": "poc",
"createdBy": "{CREATED_BY}"
}
]
}
組織間でのパッケージの共有 org-linking
サンドボックスツール API の /handshake
エンドポイントを使用すると、他の組織と提携してパッケージを共有できます。
共有リクエストの送信 send-request
/handshake/bulkCreate
エンドポイントに承認リクエストを行うことで、POST共有のリクエストをターゲットパートナー組織に送信します。 これは、プライベートパッケージを共有する前に必要です。
API 形式
POST /handshake/bulkCreate
リクエスト
次のリクエストでは、ターゲットパートナー組織とソース組織の間で共有承認を開始します。
curl -X POST \
https://platform.adobe.io/data/foundation/exim/handshake/bulkCreate \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/json' \
-H 'Authorization: {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"targetIMSOrgIds":["acme@AdobeOrg"],
"sourceIMSDetails":{
"id":"acme@AdobeOrg",
"name":"acme_org"
}
}'
targetIMSOrgIds
sourceIMSDetails
応答
応答が成功すると、共有リクエストに関する詳細が返されます。
{
"successfulRequests": {
"acme@AdobeOrg": {
"id": "{ID}",
"version": 0,
"createdDate": 1724938816798,
"modifiedDate": 1724938816798,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"sourceIMSOrgId": "{ORG_ID}",
"targetIMSOrgId": "{TARGET_ID}",
"sourceRegion": "va6",
"sourceIMSOrgName": "{SOURCE_NAME}",
"status": "APPROVAL_PENDING",
"createdByName": "{CREATED_BY}",
"modifiedByName": "{MODIFIED_BY}",
"modifiedByIMSOrgId": "{ORG_ID}",
"statusHistory": "[{\"actionTakenBy\":\"acme@98ff67fa661fdf6549420b.e\",\"actionTakenByName\":\"{NAME}\",\"actionTakenByImsOrgID\":\"{ORG_ID}\",\"action\":\"INITIATED\",\"actionTimeStamp\":1724938816885}]",
"linkingId": "{LINKIND_ID}"
}
},
"failedRequests": {}
}
受信した共有リクエストの承認 approve-requests
/handshake/action
エンドポイントに対して承認リクエストを行い、ターゲットパートナー組織からの共有リクエストをPOSTします。 承認後、ソースパートナー組織はプライベートパッケージを共有できます。
API 形式
POST /handshake/action
リクエスト
次のリクエストは、ターゲットパートナー組織からの共有リクエストを承認します。
curl -X POST \
https://platform.adobe.io/data/foundation/exim/handshake/action \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"linkingID":"{LINKING_ID}",
"status":"APPROVED",
"reason":"Done",
"targetIMSOrgDetails":{
"id":"acme@AdobeOrg",
"name":"acme",
"region":"va7"
}
}'
linkingID
status
reason
targetIMSOrgDetails
応答
応答が成功すると、承認された共有リクエストに関する詳細が返されます。
{
"id": "{ID}",
"version": 1,
"createdDate": 1726737474000,
"modifiedDate": 1726737541731,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"sourceIMSOrgId": "{ORG_ID}",
"targetIMSOrgId": "{TARGET_ID}",
"sourceRegion": "va7",
"targetRegion": "va7",
"sourceOrgName": "{SOURCE_ORG}",
"targetOrgName": "{TARGET_ORG}",
"status": "APPROVED",
"createdByName": "{CREATED_BY}",
"modifiedByIMSOrgId": "{MODIFIED_BY}",
"statusHistory": "[{\"actionTakenBy\":\"{ACTION_BY}\",\"actionTakenByName\":\"{NAME}\",\"actionTakenByImsOrgID\":\"acme@AdobeOrg\",\"action\":\"INITIATED\",\"actionTimeStamp\":1726737474450,\"reason\":null},{\"actionTakenBy\":null,\"actionTakenByName\":null,\"actionTakenByImsOrgID\":\"745F37C35E4B776E0A49421B@AdobeOrg\",\"action\":\"APPROVED\",\"actionTimeStamp\":1726737541818,\"reason\":\"Done\"}]",
"linkingId": "{LINKING_ID}"
}
送信/受信の共有リクエストのリスト outgoing-and-incoming-requests
handshake/list?property=status%3D%3DAPPROVED&requestType=INCOMING
エンドポイントに対してGETリクエストを行い、送信および受信する共有リクエストを一覧表示します。
API 形式
POST handshake/list?property=status%3D%3DAPPROVED&requestType=INCOMING
property
APPROVED
、REJECTED
、IN_PROGRESS
です。start
0
です。limit
20
です。orderBy
requestType
INCOMING
または OUTGOING
を受け入れます。リクエスト
次のリクエストは、すべての送信および受信の共有リクエストのリストを返します。
curl -X GET \
https://platform.adobe.io/data/foundation/exim/handshake/list?property=status%3D%3DAPPROVED&requestType=INCOMING \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id:{ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
応答
応答が成功すると、送信および受信する共有リクエストとその詳細のリストが返されます。
{
"totalElements": 1,
"currentPage": 0,
"totalPages": 1,
"hasPreviousPage": false,
"hasNextPage": false,
"data": [
{
"id": "{ID}",
"version": 1,
"createdDate": 1724929446000,
"modifiedDate": 1724929617000,
"modifiedBy": "{MODIFIED_BY}",
"sourceIMSOrgId": "{ORG_ID}",
"targetIMSOrgId": "{TARGET_ID}",
"sourceRegion": "va7",
"targetRegion": "va6",
"sourceOrgName": "{SOURCE_ORG}",
"targetOrgName": "{TARGET_ORG}",
"status": "APPROVED",
"createdByName": "{CREATED_BY}",
"modifiedByName": "{MODIFIED_BY}",
"modifiedByIMSOrgId": "{MODIFIED_BY}",
"statusHistory": "[{\"actionTakenBy\":\"{ACTION_BY}\",\"actionTakenByName\":\"{NAME}\",\"actionTakenByImsOrgID\":\"{ORG_ID}\",\"action\":\"INITIATED\",\"actionTimeStamp\":1724929442467,\"reason\":null},{\"actionTakenBy\":null,\"actionTakenByName\":\"{NAME}\",\"actionTakenByImsOrgID\":\"{ORG_ID}\",\"action\":\"APPROVED\",\"actionTimeStamp\":1724929617531,\"reason\":\"Done\"}]",
"linkingId": "{LINKING_ID}"
}
],
"nextPage": null,
"pageSize": null
}
転送パッケージ
サンドボックスツール API の /transfer
エンドポイントを使用して、新しいパッケージ共有リクエストを取得および作成します。
新しい共有リクエスト share-request
公開済みのソース組織のパッケージを取得し、パッケージ ID とターゲット組織 ID を指定したうえで、/transfer
エンドポイントに対してPOSTリクエストを行ってターゲット組織と共有します。
API 形式
POST /transfer
リクエスト
次のリクエストでは、ソース組織パッケージを取得し、ターゲット組織と共有します。
curl -X POST \
https://platform.adobe.io/data/foundation/exim/transfer/ \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"packageId": "{PACKAGE_ID}",
"targets": [
{
"imsOrgId": "{TARGET_IMS_ORG}"
}
]
}'
packageId
targets
応答
応答が成功すると、リクエストされたパッケージの詳細と共有ステータスが返されます。
[
{
"id": "{ID}",
"version": 0,
"createdDate": 1726480559313,
"modifiedDate": 1726480559313,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"sourceIMSOrgId": "{ORG_ID}",
"targetIMSOrgId": "{TARGET_ID}",
"packageId": "{PACKAGE_ID}",
"status": "PENDING",
"initiatedBy": "acme@3ec9197a65a86f34494221.e",
"transferDetails": {
"messages": [
"Fetched Package",
"Fetched Manifest"
],
"additionalMetadata": null
},
"requestType": "PRIVATE"
}
]
ID による共有リクエストの取得 fetch-transfer-by-id
転送 ID を指定しながら /transfer/{TRANSFER_ID}
エンドポイントに対してGETリクエストを実行して、共有リクエストの詳細を取得します。
API 形式
GET /transfer/{TRANSFER_ID}
{TRANSFER_ID}
リクエスト
次のリクエストは、{TRANSFER_ID} という ID の転送を取得します。
curl -X GET \
https://platform.adobe.io/data/foundation/exim/transfer/0c843180a64c445ca1beece339abc04b \
-H 'x-api-key: {API__KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Authorization: Bearer {ACCESS_TOKEN}'
応答
成功の応答は、共有リクエストの詳細を返します。
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_ORG}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_ORG}",
"packageId": "{PACKAGE_ID}",
"packageName": "{PACKAGE_NAME}",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"createdDate": 1724442856000,
"transferDetails": {
"messages": [
"Fetched Package",
"Fetched Manifest",
"Tenant Identified",
"Fetched Sandbox Id",
"Fetched Blob Files",
"Message Published to Kafka",
"Completed Transfer"
],
"additionalMetadata": null
},
"requestType": "PRIVATE"
}
共有リストを取得 transfers-list
/transfer/list?{QUERY_PARAMETERS}
エンドポイントに対してGETリクエストを実行し、必要に応じてクエリパラメーターを変更することで、転送リクエストのリストを取得します。
API 形式
GET `/transfer/list?{QUERY_PARAMETERS}`
property
COMPLETED
、PENDING
、IN_PROGRESS
、FAILED
です。start
0
です。limit
20
です。orderBy
createdDate
フィールドのみ使用できます。リクエスト
次のリクエストは、指定された検索パラメーターから転送リクエストのリストを取得します。
curl -X GET \
https://platform.adobe.io/data/foundation/exim/transfer/list?property=status==COMPLETED&start=0&limit=2&orderBy=-createdDate \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Authorization: Bearer {ACCESS_TOKEN}'
応答
応答が成功すると、指定された検索パラメーターからすべての転送リクエストのリストが返されます。
{
"totalElements": 43,
"currentPage": 0,
"totalPages": 22,
"hasPreviousPage": false,
"hasNextPage": true,
"data": [
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_ORG}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_ORG}",
"packageId": "{PACKAGE_ID}",
"packageName": "{PACKAGE_NAME}",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1726129077000,
"createdDate": 1726129062000,
"transferDetails": {
"messages": [
"Fetched Package",
"Fetched Manifest",
"Tenant Identified",
"Fetched Sandbox Id",
"Fetched Blob Files",
"Message Published to Kafka",
"Completed Transfer",
"Finished with status: COMPLETED"
],
"additionalMetadata": null
},
"requestType": "PRIVATE"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_ORG}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_ORG}",
"packageId": "{PACKAGE_ID}",
"packageName": "{PACKAGE_NAME}",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1726066046000,
"createdDate": 1726065936000,
"transferDetails": {
"messages": [
"Fetched Package",
"Fetched Manifest",
"Tenant Identified",
"Fetched Sandbox Id",
"Fetched Blob Files",
"Message Published to Kafka",
"Completed Transfer",
"Finished with status: COMPLETED"
],
"additionalMetadata": null
},
"requestType": "PRIVATE"
}
],
"nextPage": null,
"pageSize": null
}
パッケージの可用性をプライベートからパブリックに更新 update-availability
/packages/update
エンドポイントに対してGETリクエストを実行して、パッケージをプライベートからパブリックに変更します。 デフォルトでは、パッケージは非公開で作成されます。
API 形式
GET `/packages/update`
リクエスト
次のリクエストは、パッケージの可用性をプライベートからパブリックに変更します。
curl -X GET \
http://platform.adobe.io/data/foundation/exim/packages/update \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-type: application/json' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-d '{
"id":"{ID}",
"action":"UPDATE",
"packageVisibility":"PUBLIC"
}'
id
action
packageVisbility
応答
応答が成功すると、パッケージとその表示に関する詳細が返されます。
{
"id": "{ID}",
"version": 7,
"createdDate": 1729624618000,
"modifiedDate": 1729658596340,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"name": "acme",
"imsOrgId": "{ORG_ID}",
"packageType": "PARTIAL",
"expiry": 1737434596325,
"status": "PUBLISH_FAILED",
"packageVisibility": "PUBLIC",
"artifactsList": [
{
"id": "{ID}",
"type": "PROFILE_SEGMENT",
"found": false,
"count": 0,
"title": "Acme Profile Segment"
}
],
"schemaMapping": {},
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "{ORG_ID}",
"empty": false
}
}
公開パッケージをインポートするリクエスト pull-public-package
/transfer/pullRequest
エンドポイントに対してPOSTリクエストを行うことで、公開されているソース組織からパッケージを読み込みます。
API 形式
POST /transfer/pullRequest
リクエスト
次のリクエストは、パッケージをインポートし、可用性をパブリックに設定します。
curl -X POST \
https://platform.adobe.io/data/foundation/exim/transfer/pullRequest \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"imsOrgId": "{ORG_ID}",
"packageId": "{PACKAGE_ID}"
}'
imsOrgId
packageId
応答
応答が成功すると、読み込んだパブリックパッケージの詳細が返されます。
{
"id": "{ID}",
"version": 0,
"createdDate": 1729658890425,
"modifiedDate": 1729658890425,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"sourceIMSOrgId": "{ORG_ID}",
"targetIMSOrgId": "{TARGET_ID}",
"packageId": "{PACKAGE_ID}",
"status": "PENDING",
"initiatedBy": "{INITIATED_BY}",
"pipelineMessageId": "{MESSAGE_ID}",
"requestType": "PUBLIC"
}
公開パッケージのリスト list-public-packages
/transfer/list?{QUERY_PARAMS}
エンドポイントに対してGETリクエストを実行することで、公開された可視性を持つパッケージのリストを取得します。
API 形式
GET /transfer/list?{QUERY_PARAMS}
property
COMPLETED
および FAILED
です。start
0
です。limit
20
です。orderBy
createdDate
フィールドのみ使用できます。requestType
PUBLIC
または PRIVATE
を受け入れます。リクエスト
次のリクエストは、公開されているパッケージのリストを取得します。
curl -X GET \
https://platform.adobe.io/data/foundation/exim/transfer/list?property=status%3D%3DCOMPLETED%2CFAILED&requestType=PUBLIC&orderby=-createdDate \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/json' \
-H 'Authorization: {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
応答
応答が成功すると、公開パッケージとその詳細のリストが返されます。
code language-json |
---|
|
パッケージペイロード(#package-payload)をコピー
リクエストパスにパッケージの対応する ID を含む /packages/payload
エンドポイントに対してGETリクエストを実行することで、公開パッケージのペイロードをコピーできます。
API 形式
GET /packages/payload/{PACKAGE_ID}
{PACKAGE_ID}
リクエスト
次のリクエストでは、{PACKAGE_ID} という ID を持つパッケージのペイロードを取得しています。
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/payload/{PACKAGE_ID} \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"imsOrgId": "{ORG_ID}",
"packageId": "{PACKAGE_ID}"
}'
imsOrdId
packageId
応答
応答が成功すると、パッケージのペイロードが返されます。
{
"imsOrgId": "{ORG_ID}",
"packageId": "{PACKAGE_ID}"
}