파일 기반 이메일 마케팅 대상에 연결하고 플로우 서비스 API를 사용하여 데이터를 활성화합니다
이 자습서에서는 흐름 서비스 API를 사용하여 파일 기반으로 만드는 방법을 보여줍니다 이메일 마케팅 대상를 클릭하고, 새로 만든 대상에 데이터 흐름을 만들고, CSV 파일을 통해 새로 만든 대상에 데이터를 내보냅니다.
이 튜토리얼에서는 Adobe Campaign 대상 모든 예에서 동일하지만 파일 기반 이메일 마케팅 대상의 단계는 동일합니다.
플랫폼 사용자 인터페이스를 사용하여 대상에 연결하고 데이터를 활성화하려면 다음을 참조하십시오. 대상 연결 및 대상자 데이터를 활성화하여 프로필 내보내기 대상 일괄 처리 튜토리얼.
시작하기 get-started
이 안내서를 사용하려면 Adobe Experience Platform의 다음 구성 요소에 대해 이해하고 있어야 합니다.
- Experience Data Model (XDM) System: 표준화된 프레임워크 Experience Platform 고객 경험 데이터를 구성합니다.
- Segmentation Service: Adobe Experience Platform Segmentation Service 에서 대상을 작성할 수 있습니다. Adobe Experience Platform (으)로부터 Real-Time Customer Profile 데이터.
- Sandboxes: Experience Platform 단일 파티션을 만드는 가상 샌드박스를 제공합니다. Platform 인스턴스를 별도의 가상 환경으로 전환하여 디지털 경험 애플리케이션을 개발하고 발전시킵니다.
다음 섹션은 Platform의 배치 대상으로 데이터를 활성화하기 위해 알아야 하는 추가 정보를 제공합니다.
필요한 자격 증명 수집 gather-required-credentials
이 자습서의 단계를 완료하려면 대상을 연결하고 활성화하는 대상 유형에 따라 다음 자격 증명을 준비해야 합니다.
- 대상 Amazon S3 연결:
accessId
,secretKey
- 대상 Amazon S3 에 대한 연결 Adobe Campaign:
accessId
,secretKey
- SFTP 연결의 경우:
domain
,port
,username
,password
또는sshKey
(FTP 위치에 대한 연결 방법에 따라 다름) - 대상 Azure Blob 연결:
connectionString
accessId
, secretKey
대상 Amazon S3 연결 및 accessId
, secretKey
대상 Amazon S3 에 대한 연결 Adobe Campaign 은 동일합니다.샘플 API 호출 읽기 reading-sample-api-calls
이 튜토리얼에서는 요청 형식을 지정하는 방법을 보여 주는 예제 API 호출을 제공합니다. 여기에는 경로, 필수 헤더 및 적절한 형식의 요청 페이로드가 포함됩니다. API 응답에서 반환되는 샘플 JSON도 제공됩니다. 샘플 API 호출에 대한 설명서에 사용되는 규칙에 대한 자세한 내용은 의 섹션을 참조하십시오. 예제 API 호출을 읽는 방법 다음에서 Experience Platform 문제 해결 가이드.
필수 및 선택적 헤더에 대한 값 수집 gather-values-headers
을 호출하기 위해 Platform API, 먼저 다음을 완료해야 합니다. 인증 자습서. 인증 튜토리얼을 완료하면 아래와 같이 모든 Experience Platform API 호출의 필수 헤더 각각에 대한 값이 제공됩니다.
- 인증: 전달자
{ACCESS_TOKEN}
- x-api-key:
{API_KEY}
- x-gw-ims-org-id:
{ORG_ID}
의 리소스 Experience Platform 는 특정 가상 샌드박스로 격리될 수 있습니다. 에 대한 요청에서 Platform API에서는 작업이 수행될 샌드박스의 이름과 ID를 지정할 수 있습니다. 이러한 매개 변수는 선택 사항입니다.
- x-sandbox-name:
{SANDBOX_NAME}
페이로드(POST, PUT, PATCH)가 포함된 모든 요청에는 추가 미디어 유형 헤더가 필요합니다.
- 컨텐츠 유형:
application/json
API 참조 설명서 api-reference-documentation
이 자습서에서 모든 API 작업에 대한 참조 설명서를 함께 찾을 수 있습니다. 다음을 참조하십시오. Adobe I/O에 대한 흐름 서비스 API 설명서. 이 자습서와 API 참조 설명서를 동시에 사용하는 것이 좋습니다.
사용 가능한 대상 목록 가져오기 get-the-list-of-available-destinations
첫 번째 단계로 데이터를 활성화할 대상을 결정해야 합니다. 먼저, 대상자를 연결하고 활성화할 수 있는 사용 가능한 대상 목록을 요청하는 호출을 수행합니다. 에 다음 GET 요청을 수행합니다. connectionSpecs
사용 가능한 대상 목록을 반환하는 끝점:
API 형식
GET /connectionSpecs
요청
curl --location --request GET 'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs' \
--header 'accept: application/json' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}'
응답
성공적인 응답에는 사용 가능한 대상 목록과 해당 고유 식별자(id
). 사용할 대상의 값을 저장합니다. 이 값은 이후 단계에서 필수입니다. 예를 들어 대상자를 (으)로 연결하여 전달하려는 경우 Adobe Campaign응답에서 다음 코드 조각을 찾습니다.
{
"id": "0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"name": "Adobe Campaign",
...
...
}
아래 표에는 일반적으로 사용되는 배치 대상에 대한 연결 사양 ID가 포함되어 있습니다.
0b23e41a-cb4a-4321-a78f-3b654f5d7d97
c1e44b6b-e7c8-404b-9031-58f0ef760604
a5e28ddf-e265-426e-83a1-9d03a3a6822b
f599a5b3-60a7-4951-950a-cc4115c7ea27
다음에 연결 Experience Platform 데이터 connect-to-your-experience-platform-data
다음으로, 다음에 연결해야 합니다. Experience Platform 따라서 프로필 데이터를 내보내고 원하는 대상에서 활성화할 수 있습니다. 이 단계는 아래에 설명된 두 개의 하위 단계로 구성됩니다.
- 먼저 호출을 수행하여 의 데이터에 대한 액세스를 승인해야 합니다. Experience Platform기본 연결 설정.
- 그런 다음 기본 연결 ID를 사용하여 소스 연결 에 대한 연결을 설정하는 Experience Platform 데이터.
에서 데이터에 대한 액세스 권한 인증 Experience Platform
API 형식
POST /connections
요청
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Base connection to Experience Platform",
"description": "This call establishes the connection to Experience Platform data",
"connectionSpec": {
"id": "{CONNECTION_SPEC_ID}",
"version": "1.0"
}
}'
name
description
connectionSpec.id
8a9c3494-9708-43d7-ae3f-cda01e5030e1
.응답
성공적인 응답에는 기본 연결의 고유 식별자()가 포함됩니다.id
). 다음 단계에서 소스 연결을 만드는 데 필요한 대로 이 값을 저장합니다.
{
"id": "1ed86558-59b5-42f7-9865-5859b552f7f4"
}
다음에 연결 Experience Platform 데이터 connect-to-platform-data
API 형식
POST /sourceConnections
요청
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Connecting to Profile Store",
"description": "Optional",
"connectionSpec": {
"id": "{CONNECTION_SPEC_ID}",
"version": "1.0"
},
"baseConnectionId": "{BASE_CONNECTION_ID}",
"data": {
"format": "CSV",
"schema": null
},
"params" : {}
}'
name
description
connectionSpec.id
8a9c3494-9708-43d7-ae3f-cda01e5030e1
.baseConnectionId
data.format
CSV
는 현재 유일하게 지원되는 파일 내보내기 형식입니다.응답
성공적인 응답은 고유 식별자()를 반환합니다.id
)에 새로 만든 소스 연결 Profile Store. 이를 통해 을(를) 정상적으로 연결했습니다. Experience Platform 데이터. 이 값은 이후 단계에서 필요한 대로 저장하십시오.
{
"id": "ed48ae9b-c774-4b6e-88ae-9bc7748b6e97"
}
배치 대상에 연결 connect-to-batch-destination
이 단계에서는 원하는 배치 클라우드 스토리지 또는 이메일 마케팅 대상에 대한 연결을 설정합니다. 이 단계는 아래에 설명된 두 개의 하위 단계로 구성됩니다.
- 먼저 기본 연결을 설정하여 대상 플랫폼에 대한 액세스 권한을 부여하는 호출을 수행해야 합니다.
- 그런 다음 기본 연결 ID를 사용하여 대상 연결: 내보낸 데이터 파일이 전달될 저장소 계정의 위치와 내보낼 데이터의 형식을 지정합니다.
배치 대상에 대한 액세스 권한 인증 authorize-access-to-batch-destination
API 형식
POST /connections
요청
아래 요청은 다음에 대한 기본 연결을 설정합니다. Adobe Campaign 대상. 파일을 내보낼 저장소 위치에 따라 다릅니다(Amazon S3, SFTP, Azure Blob), 적절한 상태 유지 auth
세부 항목을 지정하고 다른 항목은 삭제합니다.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "S3 Connection for Adobe Campaign",
"description": "summer advertising campaign",
"connectionSpec": {
"id": "0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"version": "1.0"
},
"auth": {
"specName": "S3",
"params": {
"accessId": "{ACCESS_ID}",
"secretKey": "{SECRET_KEY}"
}
}
"auth": {
"specName": "SFTP with Password",
"params": {
"domain": "{DOMAIN}",
"host": "{HOST}",
"username": "{USERNAME}",
"password": "{PASSWORD}"
}
}
"auth": {
"specName": "SFTP with SSH Key",
"params": {
"domain": "{DOMAIN}",
"host": "{HOST}",
"username": "{USERNAME}",
"sshKey": "{SSH_KEY}"
}
}
"auth": {
"specName": "Azure Blob",
"params": {
"connectionString": "{AZURE_BLOB_CONNECTION_STRING}"
}
}
}'
지원되는 다른 일괄 처리 클라우드 스토리지 및 이메일 마케팅 대상에 연결하려면 아래의 예제 요청을 참조하십시오.
아래 요청은 다음에 대한 기본 연결을 설정합니다. Amazon S3 대상.
code language-shell |
---|
|
아래 요청은 다음에 대한 기본 연결을 설정합니다. Azure Blob 대상.
code language-shell |
---|
|
아래 요청은 다음에 대한 기본 연결을 설정합니다. Oracle Eloqua 대상. 파일을 내보낼 저장소 위치에 따라 적절한 위치를 유지합니다 auth
세부 항목을 지정하고 다른 항목은 삭제합니다.
code language-shell |
---|
|
아래 요청은 다음에 대한 기본 연결을 설정합니다. Oracle Responsys 대상. 파일을 내보낼 저장소 위치에 따라 적절한 위치를 유지합니다 auth
세부 항목을 지정하고 다른 항목은 삭제합니다.
code language-shell |
---|
|
아래 요청은 다음에 대한 기본 연결을 설정합니다. Salesforce Marketing Cloud 대상. 파일을 내보낼 저장소 위치에 따라 적절한 위치를 유지합니다 auth
세부 항목을 지정하고 다른 항목은 삭제합니다.
code language-shell |
---|
|
아래 요청은 SFTP 대상에 대한 기본 연결을 설정합니다.
code language-shell |
---|
|
name
description
connectionSpec.id
auth.specname
authSpec.name
응답.예를 들어 Adobe Campaign 대상의 경우 다음 중 하나를 사용할 수 있습니다
S3
, SFTP with Password
, 또는 SFTP with SSH Key
.params
대상에 대한 필수 매개 변수를 확인하려면 다음을 수행하십시오. 연결 사양 엔드포인트에 대한 GET 호출원하는 대상의 연결 사양을 제공합니다. 매개 변수를 찾습니다.
authSpec.spec.required
응답.응답
성공적인 응답에는 기본 연결의 고유 식별자()가 포함됩니다.id
). 다음 단계에서 대상 연결을 만드는 데 필요한 대로 이 값을 저장합니다.
{
"id": "1ed86558-59b5-42f7-9865-5859b552f7f4"
}
저장소 위치 및 데이터 형식 지정 specify-storage-location-data-format
Adobe Experience Platform 일괄 이메일 마케팅 및 클라우드 스토리지 대상에 대한 데이터를 다음 형식으로 내보냅니다. CSV 파일. 이 단계에서는 파일을 내보낼 저장소 위치의 경로를 결정할 수 있습니다.
filename.csv
, filename_2.csv
, filename_3.csv
.API 형식
POST /targetConnections
요청
아래 요청은 (으)로 타겟 연결을 설정합니다. Adobe Campaign 대상: 내보낸 파일이 스토리지 위치에 도달할 위치를 결정합니다. 파일을 내보낼 저장소 위치에 따라 적절한 위치를 유지합니다 params
세부 항목을 지정하고 다른 항목은 삭제합니다.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "TargetConnection for Adobe Campaign",
"description": "Connection to Adobe Campaign",
"baseConnectionId": "{BASE_CONNECTION_ID}",
"connectionSpec": {
"id": "0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"version": "1.0"
},
"data": {
"format": "json",
"schema": {
"id": "1.0",
"version": "1.0"
}
},
"params": {
"mode": "S3",
"bucketName": "{BUCKET_NAME}",
"path": "{FILEPATH}",
"format": "CSV"
}
"params": {
"mode": "AZURE_BLOB",
"container": "{CONTAINER}",
"path": "{FILEPATH}",
"format": "CSV"
}
"params": {
"mode": "FTP",
"remotePath": "{REMOTE_PATH}",
"format": "CSV"
}
}'
지원되는 다른 일괄 처리 클라우드 스토리지 및 이메일 마케팅 대상에 대한 스토리지 위치를 설정하려면 아래 예제 요청을 참조하십시오.
아래 요청은 (으)로 타겟 연결을 설정합니다. Amazon S3 대상: 내보낸 파일이 스토리지 위치에 도달할 위치를 결정합니다.
code language-shell |
---|
|
아래 요청은 (으)로 타겟 연결을 설정합니다. Azure Blob 대상: 내보낸 파일이 스토리지 위치에 도달할 위치를 결정합니다.
code language-shell |
---|
|
아래 요청은 (으)로 타겟 연결을 설정합니다. Oracle Eloqua 대상: 내보낸 파일이 스토리지 위치에 도달할 위치를 결정합니다. 파일을 내보낼 저장소 위치에 따라 적절한 위치를 유지합니다 params
세부 항목을 지정하고 다른 항목은 삭제합니다.
code language-shell |
---|
|
아래 요청은 (으)로 타겟 연결을 설정합니다. Oracle Responsys 대상: 내보낸 파일이 스토리지 위치에 도달할 위치를 결정합니다. 파일을 내보낼 저장소 위치에 따라 적절한 위치를 유지합니다 params
세부 항목을 지정하고 다른 항목은 삭제합니다.
code language-shell |
---|
|
아래 요청은 (으)로 타겟 연결을 설정합니다. Salesforce Marketing Cloud 대상: 내보낸 파일이 스토리지 위치에 도달할 위치를 결정합니다. 파일을 내보낼 저장소 위치에 따라 적절한 위치를 유지합니다 params
세부 항목을 지정하고 다른 항목은 삭제합니다.
code language-shell |
---|
|
아래 요청은 SFTP 대상에 대한 대상 연결을 설정하여 내보낸 파일이 스토리지 위치에 도달할 위치를 결정합니다.
code language-shell |
---|
|
name
description
baseConnectionId
connectionSpec.id
params
대상에 대한 필수 매개 변수를 확인하려면 다음을 수행하십시오. 연결 사양 엔드포인트에 대한 GET 호출원하는 대상의 연결 사양을 제공합니다. 매개 변수를 찾습니다.
targetSpec.spec.required
응답.params.mode
targetSpec.spec.properties.mode.enum
응답에서 원하는 모드를 선택합니다.params.bucketName
params.path
params.format
CSV
는 현재 유일하게 지원되는 파일 내보내기 유형입니다.응답
성공적인 응답은 고유 식별자()를 반환합니다.id
)을 참조하십시오. 이 값은 이후 단계에서 필요에 따라 저장합니다.
{
"id": "12ab90c7-519c-4291-bd20-d64186b62da8"
}
데이터 흐름 만들기 create-dataflow
이제 이전 단계에서 얻은 흐름 사양, 소스 연결 및 타겟 연결 ID를 사용하여 Experience Platform 데이터 및 데이터 파일을 내보낼 대상. 이 단계를 나중에 데이터 흐름을 통해 파이프라인을 구성하는 것으로 간주합니다. Experience Platform 원하는 목적지까지
데이터 흐름을 만들려면 페이로드 내에 아래에 언급된 값을 제공하면서 아래 표시된 대로 POST 요청을 수행합니다.
API 형식
POST /flows
요청
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-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}' \
-H 'Content-Type: application/json' \
-d '{
"name": "activate audiences to Adobe Campaign",
"description": "This operation creates a dataflow which we will later use to activate audiences to Adobe Campaign",
"flowSpec": {
"id": "{FLOW_SPEC_ID}",
"version": "1.0"
},
"sourceConnectionIds": [
"{SOURCE_CONNECTION_ID}"
],
"targetConnectionIds": [
"{TARGET_CONNECTION_ID}"
],
"transformations": [
{
"name": "GeneralTransform",
"params": {
"segmentSelectors": {
"selectors": []
},
"profileSelectors": {
"selectors": []
}
}
}
]
}
name
description
flowSpec.Id
flowspecs
에 표시된 대로 엔드포인트 흐름 사양 API 참조 설명서. 응답에서 다음을 찾습니다. upsTo
연결할 배치 대상의 해당 ID를 복사합니다. 예를 들어 Adobe Campaign의 경우 upsToCampaign
및 복사 id
매개 변수.sourceConnectionIds
targetConnectionIds
transformations
아래 표에는 일반적으로 사용되는 배치 대상에 대한 흐름 사양 ID가 포함되어 있습니다.
71471eba-b620-49e4-90fd-23f1fa0174d8
51d675ce-e270-408d-91fc-22717bdf2148
493b2bd6-26e4-4167-ab3b-5e910bba44f0
응답
성공적인 응답은 ID( )를 반환합니다.id
)을 사용하여 새로 만든 데이터 흐름 및 etag
. 다음 단계에서 필요한 대로 두 값을 모두 기록하여 대상을 활성화하고 데이터 파일을 내보냅니다.
{
"id": "8256cfb4-17e6-432c-a469-6aedafb16cd5",
"etag": "8256cfb4-17e6-432c-a469-6aedafb16cd5"
}
새 대상에 데이터 활성화 activate-data
모든 연결 및 데이터 흐름을 만들었으므로 이제 프로필 데이터를 대상 플랫폼에 활성화할 수 있습니다. 이 단계에서는 대상으로 내보낼 대상과 프로필 속성을 선택합니다.
또한 내보낸 파일의 파일 이름 지정 형식과 사용할 특성을 결정할 수 있습니다. 중복 제거 키 또는 필수 속성. 이 단계에서는 데이터를 대상으로 전송하는 일정을 결정할 수도 있습니다.
새 대상에 대상을 활성화하려면 아래 예제와 유사한 JSON PATCH 작업을 수행해야 합니다. 한 번의 호출로 여러 대상과 프로필 속성을 활성화할 수 있습니다. JSON PATCH에 대한 자세한 내용은 RFC 사양.
API 형식
PATCH /flows
요청
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/flowservice/flows/{DATAFLOW_ID}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'If-Match: "{ETAG}"' \
--data-raw '[
{
"op": "add",
"path": "/transformations/0/params/segmentSelectors/selectors/-",
"value": {
"type": "PLATFORM_SEGMENT",
"value": {
"name": "Name of the audience that you are activating",
"description": "Description of the audience that you are activating",
"id": "{SEGMENT_ID}",
"filenameTemplate": "%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode": "DAILY_FULL_EXPORT",
"schedule": {
"frequency": "ONCE",
"startDate": "2021-12-20",
"startTime": "17:00"
}
}
}
},
{
"op": "add",
"path": "/transformations/0/params/segmentSelectors/selectors/-",
"value": {
"type": "PLATFORM_SEGMENT",
"value": {
"name": "Name of the audience that you are activating",
"description": "Description of the audience that you are activating",
"id": "{SEGMENT_ID}",
"filenameTemplate": "%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode": "DAILY_FULL_EXPORT",
"schedule": {
"frequency": "ONCE",
"triggerType": "SCHEDULED",
"startDate": "2021-12-20",
"startTime": "17:00"
},
}
}
},
{
"op": "add",
"path": "/transformations/0/params/profileSelectors/selectors/-",
"value": {
"type": "JSON_PATH",
"value": {
"path": "{PROFILE_ATTRIBUTE}"
}
}
}
]
{DATAFLOW_ID}
{ETAG}
가져오기 {ETAG}
이전 단계의 응답에서 데이터 흐름 만들기. 이전 단계의 응답 형식에서 따옴표를 이스케이프 처리했습니다. 요청의 헤더에서 이스케이프되지 않은 값을 사용해야 합니다. 아래 예를 참조하십시오.
- 응답 예:
"etag":""7400453a-0000-1a00-0000-62b1c7a90000""
- 요청에 사용할 값:
"etag": "7400453a-0000-1a00-0000-62b1c7a90000"
데이터 흐름이 성공적으로 업데이트될 때마다 etag 값이 업데이트됩니다.
{SEGMENT_ID}
{PROFILE_ATTRIBUTE}
"person.lastName"
op
add
, replace
, 및 remove
. 데이터 흐름에 대상을 추가하려면 add
작업.path
value
id
name
filenameTemplate
이 필드는 대상으로 내보내는 파일의 파일 이름 형식을 결정합니다.
다음 옵션을 사용할 수 있습니다.
%DESTINATION_NAME%
: 필수입니다. 내보낸 파일에는 대상 이름이 포함되어 있습니다.%SEGMENT_ID%
: 필수입니다. 내보낸 파일에는 내보낸 대상자의 ID가 들어 있습니다.%SEGMENT_NAME%
: 선택 사항입니다. 내보낸 파일에는 내보낸 대상자의 이름이 포함됩니다.DATETIME(YYYYMMdd_HHmmss)
또는%TIMESTAMP%
: 선택 사항입니다. 다음 두 옵션 중 하나를 선택하여 Experience Platform으로 생성된 시간을 파일에 포함합니다.custom-text
: 선택 사항입니다. 이 자리 표시자를 파일 이름 끝에 추가할 사용자 지정 텍스트로 바꿉니다.
파일 이름 구성에 대한 자세한 내용은 파일 이름 구성 배치 대상 활성화 자습서의 섹션입니다.
exportMode
"DAILY_FULL_EXPORT"
또는 "FIRST_FULL_THEN_INCREMENTAL"
. 두 옵션에 대한 자세한 내용은 전체 파일 내보내기 및 증분 파일 내보내기 배치 대상 활성화 자습서에서 다음을 수행합니다.startDate
frequency
필수.
- 의 경우
"DAILY_FULL_EXPORT"
내보내기 모드에서 다음을 선택할 수 있습니다.ONCE
또는DAILY
. - 의 경우
"FIRST_FULL_THEN_INCREMENTAL"
내보내기 모드에서 다음을 선택할 수 있습니다."DAILY"
,"EVERY_3_HOURS"
,"EVERY_6_HOURS"
,"EVERY_8_HOURS"
,"EVERY_12_HOURS"
.
triggerType
대상 일괄 처리 대상 만 해당. 이 필드는 을(를) 선택할 때만 필요합니다. "DAILY_FULL_EXPORT"
의 모드 frequency
선택기.
필수.
- 선택
"AFTER_SEGMENT_EVAL"
매일 플랫폼 일괄 처리 세분화 작업이 완료된 후 즉시 활성화 작업을 실행하도록 합니다. 이렇게 하면 활성화 작업이 실행될 때 가장 최신 프로필을 대상으로 내보냅니다. - 선택
"SCHEDULED"
고정된 시간에 활성화 작업을 실행합니다. 이렇게 하면 Experience Platform 프로필 데이터를 매일 동시에 내보낼 수 있지만 활성화 작업이 시작되기 전에 배치 세분화 작업이 완료되었는지 여부에 따라 내보내는 프로필이 최신 프로필이 아닐 수 있습니다. 이 옵션을 선택할 때는startTime
일별 내보내기가 발생하는 시간을 UTC로 표시합니다.
endDate
선택 시 적용할 수 없음
"exportMode":"DAILY_FULL_EXPORT"
및 "frequency":"ONCE"
.대상 구성원의 대상 내보내기를 중지할 날짜를 설정합니다.
startTime
필수. 대상자의 멤버가 포함된 파일을 생성하여 대상으로 내보내야 하는 시간을 선택합니다.
응답
202 수락된 응답을 찾습니다. 응답 본문이 반환되지 않습니다. 요청이 올바른지 확인하려면 다음 단계, 데이터 흐름의 유효성 검사.
데이터 흐름의 유효성 검사 validate-dataflow
자습서의 마지막 단계에서는 대상 및 프로필 속성이 실제로 데이터 흐름에 올바르게 매핑되었는지 확인해야 합니다.
유효성을 검사하려면 다음 GET 요청을 수행하십시오.
API 형식
GET /flows
요청
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/flowservice/flows/{DATAFLOW_ID}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--header 'x-sandbox-name: prod' \
--header 'If-Match: "{ETAG}"'
{DATAFLOW_ID}
: 이전 단계의 데이터 흐름을 사용합니다.{ETAG}
: 이전 단계의 etag를 사용합니다.
응답
반환된 응답은에 포함되어야 합니다. transformations
매개 변수는 이전 단계에서 제출한 대상자 및 프로필 속성입니다. 샘플 transformations
응답의 매개 변수는 다음과 같습니다.
"transformations":[
{
"name":"GeneralTransform",
"params":{
"profileSelectors":{
"selectors":[
{
"type":"JSON_PATH",
"value":{
"path":"homeAddress.countryCode",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"homeAddress.countryCode",
"destination":"homeAddress.countryCode",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"homeAddress.countryCode",
"destinationXdmPath":"homeAddress.countryCode"
}
}
},
{
"type":"JSON_PATH",
"value":{
"path":"person.name.firstName",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"person.name.firstName",
"destination":"person.name.firstName",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"person.name.firstName",
"destinationXdmPath":"person.name.firstName"
}
}
},
{
"type":"JSON_PATH",
"value":{
"path":"person.name.lastName",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"person.name.lastName",
"destination":"person.name.lastName",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"person.name.lastName",
"destinationXdmPath":"person.name.lastName"
}
}
},
{
"type":"JSON_PATH",
"value":{
"path":"personalEmail.address",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"personalEmail.address",
"destination":"personalEmail.address",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"personalEmail.address",
"destinationXdmPath":"personalEmail.address"
}
}
},
{
"type":"JSON_PATH",
"value":{
"path":"segmentMembership.status",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"segmentMembership.status",
"destination":"segmentMembership.status",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"segmentMembership.status",
"destinationXdmPath":"segmentMembership.status"
}
}
}
],
"mandatoryFields":[
"person.name.firstName",
"person.name.lastName"
],
"primaryFields":[
{
"fieldType":"ATTRIBUTE",
"attributePath":"personalEmail.address"
}
]
},
"segmentSelectors":{
"selectors":[
{
"type":"PLATFORM_SEGMENT",
"value":{
"id":"9f7d37fd-7039-4454-94ef-2b0cd6c3206a",
"name":"Interested in Mountain Biking",
"filenameTemplate":"%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode":"DAILY_FULL_EXPORT",
"schedule":{
"frequency":"ONCE",
"startDate":"2021-12-20",
"startTime":"17:00"
},
"createTime":"1640016962",
"updateTime":"1642534355"
}
},
{
"type":"PLATFORM_SEGMENT",
"value":{
"id":"25768be6-ebd5-45cc-8913-12fb3f348613",
"name":"Loyalty Segment",
"filenameTemplate":"%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode":"FIRST_FULL_THEN_INCREMENTAL",
"schedule":{
"frequency":"EVERY_6_HOURS",
"startDate":"2021-12-22",
"endDate":"2021-12-31",
"startTime":"17:00"
},
"createTime":"1640016962",
"updateTime":"1642534355"
}
}
]
}
}
}
]
API 오류 처리 api-error-handling
이 자습서의 API 끝점은 일반적인 Experience Platform API 오류 메시지 원칙을 따릅니다. 을(를) 참조하십시오 API 상태 코드 및 요청 헤더 오류 오류 응답 해석에 대한 자세한 내용은 플랫폼 문제 해결 안내서를 참조하십시오.
다음 단계 next-steps
이 자습서에 따라 선호하는 파일 기반 이메일 마케팅 대상 중 하나에 Platform을 연결하고 데이터 파일을 내보낼 각 대상에 대한 데이터 흐름을 설정했습니다. 이제 발신 데이터를 이메일 캠페인, 타겟팅 광고 및 기타 많은 사용 사례의 대상에서 사용할 수 있습니다. 흐름 서비스 API를 사용하여 기존 데이터 흐름을 편집하는 방법과 같은 자세한 내용은 다음 페이지를 참조하십시오.