패키지 끝점
샌드박스 도구 를 사용하면 객체라고도 하는 다양한 객체를 선택하여 패키지로 내보낼 수 있습니다. 패키지는 단일 아티팩트 또는 여러 아티팩트(예: 데이터 세트 또는 스키마)로 구성될 수 있습니다. 패키지에 포함된 모든 아티팩트는 동일한 샌드박스의 아티팩트여야 합니다.
샌드박스 도구 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 또는 empty 여야 합니다.응답
응답이 성공하면 새로 만든 패키지가 반환됩니다. 응답에는 해당 패키지 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}
요청
다음 요청은 ID가 {PACKAGE_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
이고 대체 값은 값인 대체 맵입니다. 맵 또는 페이로드가 empty 인 경우 대체가 수행되지 않습니다.
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}
요청
다음 요청은 ID가 {TRANSFER_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 요청을 수행하여 패키지를 private에서 public으로 변경합니다. 기본적으로 패키지는 비공개 가용성으로 생성됩니다.
API 형식
GET `/packages/update`
요청
다음 요청은 패키지 가용성을 private에서 public으로 변경합니다.
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
요청
다음 요청은 패키지를 가져오고 해당 가용성을 public으로 설정합니다.
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}
요청
다음 요청은 ID가 {PACKAGE_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}"
}