흐름 서비스 API를 사용하여 대상 데이터 흐름 업데이트
이 튜토리얼에서는 대상 데이터 흐름을 업데이트하는 단계를 설명합니다. Flow Service API를 사용하여 데이터 흐름을 활성화 또는 비활성화하거나, 기본 정보를 업데이트하거나, 대상 및 특성을 추가 및 제거하는 방법에 대해 알아봅니다. Experience Platform UI를 사용하여 대상 데이터 흐름을 편집하는 방법에 대한 자세한 내용은 활성화 흐름 편집을 참조하십시오.
시작하기 get-started
이 자습서를 사용하려면 유효한 흐름 ID가 있어야 합니다. 유효한 흐름 ID가 없는 경우 대상 카탈로그에서 선택한 대상을 선택하고 대상에 연결 및 데이터 활성화에 설명된 단계를 따라 이 자습서를 시작하십시오.
또한 이 자습서에서는 Adobe Experience Platform의 다음 구성 요소를 이해하고 있어야 합니다.
다음 섹션에서는 Flow Service API를 사용하여 데이터 흐름을 성공적으로 업데이트하기 위해 알아야 하는 추가 정보를 제공합니다.
샘플 API 호출 읽기 reading-sample-api-calls
이 튜토리얼에서는 요청 형식을 지정하는 방법을 보여 주는 예제 API 호출을 제공합니다. 여기에는 경로, 필수 헤더 및 적절한 형식의 요청 페이로드가 포함됩니다. API 응답에서 반환되는 샘플 JSON도 제공됩니다. 샘플 API 호출에 대한 설명서에 사용된 규칙에 대한 자세한 내용은 Experience Platform 문제 해결 안내서의 예제 API 호출을 읽는 방법에 대한 섹션을 참조하십시오.
필수 헤더에 대한 값 수집 gather-values-for-required-headers
Platform API를 호출하려면 먼저 인증 자습서를 완료해야 합니다. 인증 자습서를 완료하면 아래와 같이 모든 Experience Platform API 호출에서 필요한 각 헤더의 값이 제공됩니다.
Authorization: Bearer {ACCESS_TOKEN}
x-api-key: {API_KEY}
x-gw-ims-org-id: {ORG_ID}
Flow Service에 속하는 리소스를 포함한 Experience Platform의 모든 리소스는 특정 가상 샌드박스로 격리됩니다. Platform API에 대한 모든 요청에는 작업이 수행될 샌드박스의 이름을 지정하는 헤더가 필요합니다.
x-sandbox-name: {SANDBOX_NAME}
x-sandbox-name
헤더를 지정하지 않으면 prod
샌드박스에서 요청이 확인됩니다.페이로드(POST, PUT, PATCH)가 포함된 모든 요청에는 추가 미디어 유형 헤더가 필요합니다.
Content-Type: application/json
데이터 흐름 세부 정보 조회 look-up-dataflow-details
대상 데이터 흐름을 업데이트하는 첫 번째 단계는 흐름 ID를 사용하여 데이터 흐름 세부 정보를 검색하는 것입니다. /flows
끝점에 대한 GET 요청을 수행하여 기존 데이터 흐름의 현재 세부 정보를 볼 수 있습니다.
API 형식
GET /flows/{FLOW_ID}
{FLOW_ID}
id
값입니다.요청
다음 요청은 플로우 ID와 관련된 정보를 검색합니다.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/flows/226fb2e1-db69-4760-b67e-9e671e05abfc' \
-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}'
응답
성공적인 응답은 버전, 고유 식별자(id
) 및 기타 관련 정보를 포함하여 데이터 흐름의 현재 세부 정보를 반환합니다.
{
"items":[
{
"id":"226fb2e1-db69-4760-b67e-9e671e05abfc",
"createdAt":"{CREATED_AT}",
"updatedAt":"{UPDATED_BY}",
"createdBy":"{CREATED_BY}",
"updatedBy":"{UPDATED_BY}",
"createdClient":"{CREATED_CLIENT}",
"updatedClient":"{UPDATED_CLIENT}",
"sandboxId":"{SANDBOX_ID}",
"sandboxName":"prod",
"imsOrgId":"{ORG_ID}",
"name":"2021 winter campaign",
"description":"ACME company holiday campaign for high fidelity customers",
"flowSpec":{
"id":"71471eba-b620-49e4-90fd-23f1fa0174d8",
"version":"1.0"
},
"state":"enabled",
"version":"\"8b0351ca-0000-0200-0000-61c4d6700000\"",
"etag":"\"8b0351ca-0000-0200-0000-61c4d6700000\"",
"sourceConnectionIds":[
"5e45582a-5336-4ea1-9ec9-d0004a9f344a"
],
"targetConnectionIds":[
"8ce3dc63-3766-4220-9f61-51d2f8f14618"
],
"inheritedAttributes":{
"sourceConnections":[
{
"id":"5e45582a-5336-4ea1-9ec9-d0004a9f344a",
"connectionSpec":{
"id":"8a9c3494-9708-43d7-ae3f-cda01e5030e1",
"version":"1.0"
},
"baseConnection":{
"id":"0a82f29f-b457-47f7-bb30-33856e2ae5aa",
"connectionSpec":{
"id":"8a9c3494-9708-43d7-ae3f-cda01e5030e1",
"version":"1.0"
}
},
"typeInfo":{
"type":"ProfileFragments",
"id":"ups"
}
}
],
"targetConnections":[
{
"id":"8ce3dc63-3766-4220-9f61-51d2f8f14618",
"connectionSpec":{
"id":"0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"version":"1.0"
},
"baseConnection":{
"id":"7fbf542b-83ed-498f-8838-8fde0c4d4d69",
"connectionSpec":{
"id":"0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"version":"1.0"
}
}
}
]
},
"transformations":[
{
"name":"GeneralTransform",
"params":{
"profileSelectors":{
"selectors":[
{
"type":"JSON_PATH",
"value":{
"path":"Email",
"operator":"EXISTS",
"identity":{
"namespace":"Email"
},
"mapping":{
"sourceType":"text/x.schema-path",
"source":"Email",
"destination":"Email",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"Email",
"destinationXdmPath":"Email"
}
}
},
{
"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":[
"Email",
"person.name.firstName",
"person.name.lastName"
],
"primaryFields":[
{
"identityNamespace":"Email",
"fieldType":"IDENTITY"
}
]
},
"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-25",
"startTime":"20:00"
},
"createTime":"1640289901",
"updateTime":"1640289901"
}
},
{
"type":"PLATFORM_SEGMENT",
"value":{
"id":"f52a3785-2e7c-40a7-8137-9be99af7794e",
"name":"Birth year 1970",
"filenameTemplate":"%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode":"DAILY_FULL_EXPORT",
"schedule":{
"frequency":"DAILY",
"startDate":"2021-12-23",
"endDate":"2021-12-31",
"startTime":"20:00"
},
"createTime":"1640289901",
"updateTime":"1640289901"
}
},
{
"type":"PLATFORM_SEGMENT",
"value":{
"id":"6caa79b9-39e0-4c37-892b-5061cdca2377",
"name":"Account Leads",
"filenameTemplate":"%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode":"FIRST_FULL_THEN_INCREMENTAL",
"schedule":{
"frequency":"DAILY",
"startDate":"2021-12-23",
"endDate":"2021-12-31",
"startTime":"20:00"
},
"createTime":"1640289901",
"updateTime":"1640289901"
}
},
{
"type":"PLATFORM_SEGMENT",
"value":{
"id":"4c41c318-9e8c-4a4f-b880-877cdd629fc7",
"name":"Batch export for autumn campaign",
"filenameTemplate":"%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode":"FIRST_FULL_THEN_INCREMENTAL",
"schedule":{
"frequency":"EVERY_6_HOURS",
"startDate":"2022-01-05",
"endDate":"2022-12-30",
"startTime":"20:00"
},
"createTime":"1640289901",
"updateTime":"1640289901"
}
}
]
}
}
}
]
}
]
데이터 흐름 이름 및 설명 업데이트 update-dataflow
데이터 흐름의 이름과 설명을 업데이트하려면 흐름 ID, 버전 및 사용할 새 값을 제공하면서 Flow Service API에 대한 PATCH 요청을 수행합니다.
If-Match
헤더가 필요합니다. 이 헤더의 값은 업데이트하려는 데이터 흐름의 고유 버전입니다. 데이터 흐름이 성공적으로 업데이트될 때마다 etag 값이 업데이트됩니다.API 형식
PATCH /flows/{FLOW_ID}
요청
다음 요청은 데이터 흐름의 이름과 설명을 업데이트합니다.
curl -X PATCH \
'https://platform.adobe.io/data/foundation/flowservice/flows/226fb2e1-db69-4760-b67e-9e671e05abfc' \
-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 'If-Match: "1a0037e4-0000-0200-0000-602e06f60000"' \
-d '[
{
"op": "replace",
"path": "/name",
"value": "2021/2022 winter campaign"
},
{
"op": "replace",
"path": "/description",
"value": "ACME company holiday campaign for high fidelity customers and prospects"
}
]'
op
add
, replace
및 remove
이(가) 포함됩니다.path
value
응답
성공적인 응답은 흐름 ID와 업데이트된 etag를 반환합니다. 흐름 ID를 제공하는 동안 Flow Service API에 대한 GET 요청을 하여 업데이트를 확인할 수 있습니다.
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"50014cc8-0000-0200-0000-6036eb720000\""
}
데이터 흐름 활성화 또는 비활성화 enable-disable-dataflow
활성화되면 데이터 흐름이 프로필을 대상으로 내보냅니다. 데이터 흐름은 기본적으로 활성화되어 있지만, 프로필 내보내기를 일시 중지하기 위해 비활성화할 수 있습니다.
Flow Service API에 대한 POST 요청을 만들고 흐름을 업데이트할 상태를 제공하여 기존 대상 데이터 흐름을 활성화하거나 비활성화할 수 있습니다.
API 형식
POST /flows/{FLOW_ID}/action?op=enable or disable
요청
다음 요청은 데이터 흐름의 상태를 활성화됨으로 업데이트합니다.
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows/226fb2e1-db69-4760-b67e-9e671e05abfc/action?op=enable' \
-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}'
다음 요청은 데이터 흐름의 상태를 비활성화로 업데이트합니다.
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows/226fb2e1-db69-4760-b67e-9e671e05abfc/action?op=disable' \
-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}'
응답
성공적인 응답은 흐름 ID와 업데이트된 etag를 반환합니다. 흐름 ID를 제공하는 동안 Flow Service API에 대한 GET 요청을 하여 업데이트를 확인할 수 있습니다.
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"50014cc8-0000-0200-0000-6036eb720000\""
}
데이터 흐름에 대상 추가 add-segment
대상 데이터 흐름에 대상을 추가하려면 흐름 ID, 버전 및 추가할 대상을 제공하는 동안 Flow Service API에 대한 PATCH 요청을 수행합니다.
API 형식
PATCH /flows/{FLOW_ID}
요청
다음 요청은 기존 대상 데이터 흐름에 새 대상을 추가합니다.
curl -X PATCH \
'https://platform.adobe.io/data/foundation/flowservice/flows/226fb2e1-db69-4760-b67e-9e671e05abfc' \
-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 'If-Match: "1a0037e4-0000-0200-0000-602e06f60000"' \
-d '[
{
"op":"add",
"path":"/transformations/0/params/segmentSelectors/selectors/-",
"value":{
"type":"PLATFORM_SEGMENT",
"value":{
"id":"2d79d0d8-724f-49fc-a09d-d1dec338c93c",
"name":"Winter 2021/2022 campaign",
"filenameTemplate":"%DESTINATION_NAME%_%SEGMENT_ID%_%SEGMENT_NAME%_%DATETIME(YYYYMMdd_HHmmss)%_custom-text",
"exportMode":"DAILY_FULL_EXPORT",
"schedule":{
"startDate":"2022-01-05",
"frequency":"DAILY",
"triggerType": "AFTER_SEGMENT_EVAL",
"endDate":"2022-03-10"
}
}
}
}
]'
op
add
, replace
및 remove
이(가) 포함됩니다. 데이터 흐름에 대상을 추가하려면 add
작업을 사용하십시오.path
value
id
name
filenameTemplate
일괄 처리 대상 에만 해당. 이 필드는 Amazon S3, SFTP 또는 Azure Blob와 같은 배치 파일 내보내기 대상의 데이터 흐름에 대상을 추가할 때만 필요합니다.
이 필드는 대상으로 내보내는 파일의 파일 이름 형식을 결정합니다.
다음 옵션을 사용할 수 있습니다.
%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
일괄 처리 대상 에만 해당. 이 필드는 Amazon S3, SFTP 또는 Azure Blob와 같은 배치 파일 내보내기 대상의 데이터 흐름에 대상을 추가할 때만 필요합니다.
은(는) 필수입니다.
"DAILY_FULL_EXPORT"
내보내기 모드의 경우ONCE
또는DAILY
을(를) 선택할 수 있습니다."FIRST_FULL_THEN_INCREMENTAL"
내보내기 모드의 경우"DAILY"
,"EVERY_3_HOURS"
,"EVERY_6_HOURS"
,"EVERY_8_HOURS"
,"EVERY_12_HOURS"
을(를) 선택할 수 있습니다.
triggerType
일괄 처리 대상 에만 해당. 이 필드는 frequency
선택기에서 "DAILY_FULL_EXPORT"
모드를 선택하는 경우에만 필요합니다.
은(는) 필수입니다.
- 매일 플랫폼 일괄 처리 세분화 작업이 완료된 후 즉시 활성화 작업을 실행하려면
"AFTER_SEGMENT_EVAL"
을(를) 선택하십시오. 이렇게 하면 활성화 작업이 실행될 때 가장 최신 프로필을 대상으로 내보냅니다. - 고정된 시간에 활성화 작업을 실행하려면
"SCHEDULED"
을(를) 선택하십시오. 이렇게 하면 Experience Platform 프로필 데이터를 매일 동시에 내보낼 수 있지만 활성화 작업이 시작되기 전에 배치 세분화 작업이 완료되었는지 여부에 따라 내보내는 프로필이 최신 프로필이 아닐 수 있습니다. 이 옵션을 선택할 때는 일별 내보내기가 발생하는 시간을 UTC로 나타내려면startTime
도 추가해야 합니다.
endDate
"exportMode":"DAILY_FULL_EXPORT"
및 "frequency":"ONCE"
을(를) 선택할 때는을(를) 적용할 수 없습니다.
대상 구성원의 대상 내보내기를 중지할 날짜를 설정합니다.
startTime
은(는) 필수입니다. 대상자의 멤버가 포함된 파일을 생성하여 대상으로 내보내야 하는 시간을 선택합니다.
응답
성공적인 응답은 흐름 ID와 업데이트된 etag를 반환합니다. 흐름 ID를 제공하는 동안 Flow Service API에 대한 GET 요청을 하여 업데이트를 확인할 수 있습니다.
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"50014cc8-0000-0200-0000-6036eb720000\""
}
데이터 흐름에서 대상자 제거 remove-segment
기존 대상 데이터 흐름에서 대상을 제거하려면 제거할 대상의 흐름 ID, 버전 및 인덱스 선택기를 제공하면서 Flow Service API에 대한 PATCH 요청을 수행합니다. 인덱싱이 0
에 시작됩니다. 예를 들어 아래 샘플 요청은 데이터 흐름에서 첫 번째 및 두 번째 대상을 제거합니다.
API 형식
PATCH /flows/{FLOW_ID}
요청
다음 요청은 기존 대상 데이터 흐름에서 두 대상을 제거합니다.
curl -X PATCH \
'https://platform.adobe.io/data/foundation/flowservice/flows/226fb2e1-db69-4760-b67e-9e671e05abfc' \
-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 'If-Match: "1a0037e4-0000-0200-0000-602e06f60000"' \
-d '[
{
"op":"remove",
"path":"/transformations/0/params/segmentSelectors/selectors/0",
"value":{
"type":"PLATFORM_SEGMENT",
"value":{
}
}
},
{
"op":"remove",
"path":"/transformations/0/params/segmentSelectors/selectors/1",
"value":{
"type":"PLATFORM_SEGMENT",
"value":{
}
}
}
]'
op
add
, replace
및 remove
이(가) 포함됩니다. 데이터 흐름에서 대상을 제거하려면 remove
작업을 사용하십시오.path
/flows
끝점에 대한 GET 호출을 수행하고 transformations.segmentSelectors
속성을 검사하십시오. 데이터 흐름의 첫 번째 대상을 삭제하려면 "path":"/transformations/0/params/segmentSelectors/selectors/0"
을(를) 사용합니다.응답
성공적인 응답은 흐름 ID와 업데이트된 etag를 반환합니다. 흐름 ID를 제공하는 동안 Flow Service API에 대한 GET 요청을 하여 업데이트를 확인할 수 있습니다.
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"50014cc8-0000-0200-0000-6036eb720000\""
}
데이터 흐름에서 대상의 구성 요소 업데이트 update-segment
기존 대상 데이터 흐름에서 대상의 구성 요소를 업데이트할 수 있습니다. 예를 들어 내보내기 빈도를 변경하거나 파일 이름 템플릿을 편집할 수 있습니다. 이렇게 하려면 업데이트할 대상자의 흐름 ID, 버전 및 색인 선택기를 제공하면서 Flow Service API에 대한 PATCH 요청을 수행합니다. 인덱싱이 0
에 시작됩니다. 예를 들어 아래 요청은 데이터 흐름의 9번째 대상을 업데이트합니다.
API 형식
PATCH /flows/{FLOW_ID}
요청
기존 대상 데이터 흐름에서 대상을 업데이트할 때에는 먼저 업데이트할 대상의 세부 정보를 검색하는 GET 작업을 수행해야 합니다. 그런 다음 업데이트하려는 필드뿐만 아니라 페이로드에 모든 대상 정보를 제공합니다. 아래 예에서는 파일 이름 템플릿 끝에 사용자 정의 텍스트가 추가되고 내보내기 일정 빈도가 6시간에서 12시간으로 업데이트됩니다.
curl -X PATCH \
'https://platform.adobe.io/data/foundation/flowservice/flows/226fb2e1-db69-4760-b67e-9e671e05abfc' \
-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 'If-Match: "1a0037e4-0000-0200-0000-602e06f60000"' \
-d '[
{
"op":"replace",
"path":"/transformations/0/params/segmentSelectors/selectors/8",
"value":{
"type":"PLATFORM_SEGMENT",
"value":{
"id":"4c41c318-9e8c-4a4f-b880-877cdd629fc7",
"name":"Batch export for autumn campaign",
"filenameTemplate":"%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%_custom-text",
"exportMode":"FIRST_FULL_THEN_INCREMENTAL",
"schedule":{
"frequency":"EVERY_12_HOURS",
"startDate":"2022-01-05",
"endDate":"2022-01-30",
"startTime":"20:00"
},
"createTime":"1640289901",
"updateTime":"1640289901"
}
}
}
]'
페이로드의 속성에 대한 설명은 데이터 흐름에 대상 추가 섹션을 참조하십시오.
응답
성공적인 응답은 흐름 ID와 업데이트된 etag를 반환합니다. 흐름 ID를 제공하는 동안 Flow Service API에 대한 GET 요청을 하여 업데이트를 확인할 수 있습니다.
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"50014cc8-0000-0200-0000-6036eb720000\""
}
데이터 흐름에서 업데이트할 수 있는 대상 구성 요소의 추가 예는 아래 예를 참조하십시오.
대상자의 내보내기 모드를 예약됨에서 대상자 평가 후로 업데이트 update-export-mode
대상은 매일 16:00 UTC에 내보내집니다.
code language-json |
---|
|
매일 일괄 처리 세분화 작업이 완료된 후 대상자를 매일 내보냅니다.
code language-json |
---|
|
파일 이름에 추가 필드를 포함하도록 파일 이름 템플릿 업데이트 update-filename-template
내보낸 파일에는 대상 이름과 Experience Platform 대상 ID가 포함되어 있습니다
code language-json |
---|
|
내보낸 파일에는 대상 이름, Experience Platform 대상 ID, Experience Platform에 의해 파일이 생성된 날짜와 시간, 파일 끝에 추가된 사용자 지정 텍스트가 포함되어 있습니다.
code language-json |
---|
|
데이터 흐름에 프로필 속성 추가 add-profile-attribute
대상 데이터 흐름에 프로필 특성을 추가하려면 흐름 ID, 버전 및 추가할 프로필 특성을 제공하는 동안 Flow Service API에 대한 PATCH 요청을 수행합니다.
API 형식
PATCH /flows/{FLOW_ID}
요청
다음 요청은 기존 대상 데이터 흐름에 새 프로필 속성을 추가합니다.
curl -X PATCH \
'https://platform.adobe.io/data/foundation/flowservice/flows/226fb2e1-db69-4760-b67e-9e671e05abfc' \
-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 'If-Match: "1a0037e4-0000-0200-0000-602e06f60000"' \
-d '[
{
"op":"add",
"path":"/transformations/0/params/profileSelectors/selectors/-",
"value":{
"type":"JSON_PATH",
"value":{
"path":"mobilePhone.status"
}
}
}
]'
op
add
, replace
및 remove
이(가) 포함됩니다. 프로필 특성을 데이터 흐름에 추가하려면 add
작업을 사용하십시오.path
value.path
응답
성공적인 응답은 흐름 ID와 업데이트된 etag를 반환합니다. 흐름 ID를 제공하는 동안 Flow Service API에 대한 GET 요청을 하여 업데이트를 확인할 수 있습니다.
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"50014cc8-0000-0200-0000-6036eb720000\""
}
데이터 흐름에서 프로필 속성 제거 remove-profile-attribute
기존 대상 데이터 흐름에서 프로필 특성을 제거하려면 제거할 프로필 특성의 흐름 ID, 버전 및 인덱스 선택기를 제공하면서 Flow Service API에 대한 PATCH 요청을 수행합니다. 인덱싱이 0
에 시작됩니다. 예를 들어 아래의 샘플 요청은 데이터 흐름에서 다섯 번째 프로필 속성을 제거합니다.
API 형식
PATCH /flows/{FLOW_ID}
요청
다음 요청은 기존 대상 데이터 흐름에서 프로필 속성을 제거합니다.
curl -X PATCH \
'https://platform.adobe.io/data/foundation/flowservice/flows/226fb2e1-db69-4760-b67e-9e671e05abfc' \
-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 'If-Match: "1a0037e4-0000-0200-0000-602e06f60000"' \
-d '[
{
"op":"remove",
"path":"/transformations/0/params/profileSelectors/selectors/4",
"value":{
"type":"JSON_PATH",
"value":{
"path":"mobilePhone.status"
}
}
}
]'
op
add
, replace
및 remove
이(가) 포함됩니다. 데이터 흐름에서 대상을 제거하려면 remove
작업을 사용하십시오.path
/flows
끝점에 대한 GET 호출을 수행하고 transformations.profileSelectors
속성을 검사하십시오. 데이터 흐름의 첫 번째 대상을 삭제하려면 "path":"transformations/0/params/segmentSelectors/selectors/0/"
을(를) 사용합니다.응답
성공적인 응답은 흐름 ID와 업데이트된 etag를 반환합니다. 흐름 ID를 제공하는 동안 Flow Service API에 대한 GET 요청을 하여 업데이트를 확인할 수 있습니다.
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"50014cc8-0000-0200-0000-6036eb720000\""
}
API 오류 처리 api-error-handling
이 자습서의 API 끝점은 일반적인 Experience Platform API 오류 메시지 원칙을 따릅니다. 오류 응답 해석에 대한 자세한 내용은 플랫폼 문제 해결 안내서의 API 상태 코드 및 요청 헤더 오류를 참조하십시오.
다음 단계 next-steps
이 자습서를 통해 Flow Service API를 사용하여 대상 또는 프로필 특성을 추가하거나 제거하는 등 대상 데이터 흐름의 다양한 구성 요소를 업데이트하는 방법에 대해 알아보았습니다. 대상에 대한 자세한 내용은 대상 개요를 참조하십시오.