대상 서버 구성 만들기
- 주제:
- 대상
작성 대상:
- 관리자
- 사용자
대상 서버를 만드는 것은 Destination SDK을 사용하여 고유한 대상을 만드는 첫 번째 단계입니다. 대상 서버에는 서버 및 템플릿 사양, 메시지 형식 및 파일 형식 옵션(파일 기반 대상의 경우)에 대한 구성 옵션이 포함되어 있습니다.
이 페이지는 /authoring/destination-servers
API 끝점을 사용하여 고유한 대상 서버를 만드는 데 사용할 수 있는 API 요청 및 페이로드를 예시합니다.
이 끝점을 통해 구성할 수 있는 기능에 대한 자세한 설명은 다음 문서를 참조하십시오.
대상 서버 API 작업 시작
계속하기 전에 시작 안내서에서 필요한 대상 작성 권한 및 필수 헤더를 얻는 방법을 포함하여 API를 성공적으로 호출하기 위해 알아야 하는 중요한 정보를 검토하십시오.
대상 서버 구성 만들기
/authoring/destination-servers
끝점에 대한 POST
요청을 수행하여 새 대상 서버 구성을 만들 수 있습니다.
platform.adobe.io/data/core/activation/authoring/destination-servers
API 형식
POST /authoring/destination-servers
만드는 대상 유형에 따라 약간 다른 유형의 대상 서버를 구성해야 합니다.
정적 스키마 대상 서버 만들기
정적 스키마를 사용하는 대상에 대한 대상 서버의 아래 예제 탭에서 참조하십시오.
아래의 샘플 페이로드에는 각 대상 서버 유형에서 지원하는 모든 매개 변수가 포함되어 있습니다. 요청에 모든 매개 변수를 포함할 필요는 없습니다. 페이로드는 필요에 따라 사용자 정의할 수 있습니다.
아래의 각 탭을 선택하여 해당 API 요청을 확인합니다.
실시간(스트리밍) 대상 서버 만들기
실시간(스트리밍) API 기반 통합을 구성할 때 아래에 표시된 것과 유사한 실시간(스트리밍) 대상 서버를 만들어야 합니다.
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"name":"Moviestar destination server",
"destinationServerType":"URL_BASED",
"urlBasedDestination":{
"url":{
"templatingStrategy":"PEBBLE_V1",
"value":"https://api.moviestar.com/data/{{customerData.region}}/items"
}
},
"httpTemplate":{
"httpMethod":"POST",
"requestBody":{
"templatingStrategy":"PEBBLE_V1",
"value":"{ \"attributes\": [ {% for ns in [\"external_id\", \"yourdestination_id\"] %} {% if input.profile.identityMap[ns] is not empty and first_namespace_encountered %} , {% endif %} {% set first_namespace_encountered = true %} {% for identity in input.profile.identityMap[ns]%} { \"{{ ns }}\": \"{{ identity.id }}\" {% if input.profile.segmentMembership.ups is not empty %} , \"AEPSegments\": { \"add\": [ {% for segment in input.profile.segmentMembership.ups %} {% if segment.value.status == \"realized\" or segment.value.status == \"existing\" %} {% if added_segment_found %} , {% endif %} {% set added_segment_found = true %} \"{{ destination.segmentAliases[segment.key] }}\" {% endif %} {% endfor %} ], \"remove\": [ {% for segment in input.profile.segmentMembership.ups %} {% if segment.value.status == \"exited\" %} {% if removed_segment_found %} , {% endif %} {% set removed_segment_found = true %} \"{{ destination.segmentAliases[segment.key] }}\" {% endif %} {% endfor %} ] } {% set removed_segment_found = false %} {% set added_segment_found = false %} {% endif %} {% if input.profile.attributes is not empty %} , {% endif %} {% for attribute in input.profile.attributes %} \"{{ attribute.key }}\": {% if attribute.value is empty %} null {% else %} \"{{ attribute.value.value }}\" {% endif %} {% if not loop.last%} , {% endif %} {% endfor %} } {% if not loop.last %} , {% endif %} {% endfor %} {% endfor %} ] }"
},
"contentType":"application/json"
}
}
name
Moviestar destination server
.destinationServerType
URL_BASED
(으)로 설정합니다.urlBasedDestination.url.templatingStrategy
필수.
- Adobe에서 아래
value
필드의 URL을 변환해야 하는 경우PEBBLE_V1
을(를) 사용합니다.https://api.moviestar.com/data/{{customerData.region}}/items
과(와) 같은 끝점이 있고 고객 간에region
부분이 다를 수 있는 경우 이 옵션을 사용합니다. 이 경우 [대상 구성](https://experienceleague.adobe.com/destination-configuration/create-destination-configuration.html?lang=ko)에서region
을(를) 고객 데이터 필드(으)로 구성해야 합니다. - Adobe 측에 변환이 필요하지 않은 경우(예:
https://api.moviestar.com/data/items
과 같은 끝점이 있는 경우)NONE
을(를) 사용하십시오.
urlBasedDestination.url.value
httpTemplate.httpMethod
GET
, PUT
, POST
, DELETE
, PATCH
입니다.httpTemplate.requestBody.templatingStrategy
PEBBLE_V1
사용.httpTemplate.requestBody.value
필수. 이 문자열은 Experience Platform 고객의 데이터를 서비스에 필요한 형식으로 변환하는 문자 이스케이프 처리된 버전입니다.
- 템플릿 작성 방법에 대한 자세한 내용은 템플릿 사용 섹션을 참조하십시오.
- 문자 이스케이프에 대한 자세한 내용은 RFC JSON 표준, 섹션 7을 참조하세요.
- 간단한 변환의 예를 보려면 프로필 특성 변환을 참조하십시오.
httpTemplate.contentType
application/json
일 수 있습니다.Amazon S3 대상 서버 만들기
파일 기반 Amazon S3 대상을 구성할 때 아래에 표시된 것과 유사한 Amazon S3 대상 서버를 만들어야 합니다.
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"name": "S3 destination",
"destinationServerType": "FILE_BASED_S3",
"fileBasedS3Destination": {
"bucket": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.bucket}}"
},
"path": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.path}}"
}
},
"fileConfigurations": {
"compression": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.compression}}"
},
"fileType": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.fileType}}"
},
"csvOptions": {
"quote": {
"templatingStrategy": "NONE",
"value": "\""
},
"quoteAll": {
"templatingStrategy": "NONE",
"value": "false"
},
"escape": {
"templatingStrategy": "NONE",
"value": "\\"
},
"escapeQuotes": {
"templatingStrategy": "NONE",
"value": "true"
},
"header": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreLeadingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreTrailingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"nullValue": {
"templatingStrategy": "NONE",
"value": ""
},
"dateFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd"
},
"timestampFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
},
"charToEscapeQuoteEscaping": {
"templatingStrategy": "NONE",
"value": "\\"
},
"emptyValue": {
"templatingStrategy": "NONE",
"value": ""
}
}
}
}
name
destinationServerType
FILE_BASED_S3
(으)로 설정하십시오.fileBasedS3Destination.bucket.templatingStrategy
PEBBLE_V1
사용.fileBasedS3Destination.bucket.value
fileBasedS3Destination.path.templatingStrategy
PEBBLE_V1
사용.fileBasedS3Destination.path.value
대상 서버 SFTP을(를) 만듭니다
파일 기반 SFTP 대상을 구성할 때 아래에 표시된 것과 유사한 SFTP 대상 서버를 만들어야 합니다.
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"name":"File-based SFTP destination server",
"destinationServerType":"FILE_BASED_SFTP",
"fileBasedSFTPDestination":{
"rootDirectory":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.rootDirectory}}"
},
"port": 22,
"encryptionMode" : "PGP"
},
"fileConfigurations": {
"compression": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.compression}}"
},
"fileType": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.fileType}}"
},
"csvOptions": {
"quote": {
"templatingStrategy": "NONE",
"value": "\""
},
"quoteAll": {
"templatingStrategy": "NONE",
"value": "false"
},
"escape": {
"templatingStrategy": "NONE",
"value": "\\"
},
"escapeQuotes": {
"templatingStrategy": "NONE",
"value": "true"
},
"header": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreLeadingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreTrailingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"nullValue": {
"templatingStrategy": "NONE",
"value": ""
},
"dateFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd"
},
"timestampFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
},
"charToEscapeQuoteEscaping": {
"templatingStrategy": "NONE",
"value": "\\"
},
"emptyValue": {
"templatingStrategy": "NONE",
"value": ""
}
}
}
}
name
destinationServerType
FILE_BASED_SFTP
(으)로 설정하십시오.fileBasedSFTPDestination.rootDirectory.templatingStrategy
PEBBLE_V1
사용.fileBasedSFTPDestination.rootDirectory.value
fileBasedSFTPDestination.hostName.templatingStrategy
PEBBLE_V1
사용.fileBasedSFTPDestination.hostName.value
port
encryptionMode
파일 암호화를 사용할지 여부를 나타냅니다. 지원되는 값:
- PGP
- None
대상 서버 Azure Data Lake Storage을(를) 만듭니다
파일 기반 Azure Data Lake Storage 대상을 구성할 때 아래에 표시된 것과 유사한 Azure Data Lake Storage 대상 서버를 만들어야 합니다.
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"name":"ADLS destination server",
"destinationServerType":"FILE_BASED_ADLS_GEN2",
"fileBasedAdlsGen2Destination":{
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
}
},
"fileConfigurations": {
"compression": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.compression}}"
},
"fileType": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.fileType}}"
},
"csvOptions": {
"quote": {
"templatingStrategy": "NONE",
"value": "\""
},
"quoteAll": {
"templatingStrategy": "NONE",
"value": "false"
},
"escape": {
"templatingStrategy": "NONE",
"value": "\\"
},
"escapeQuotes": {
"templatingStrategy": "NONE",
"value": "true"
},
"header": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreLeadingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreTrailingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"nullValue": {
"templatingStrategy": "NONE",
"value": ""
},
"dateFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd"
},
"timestampFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
},
"charToEscapeQuoteEscaping": {
"templatingStrategy": "NONE",
"value": "\\"
},
"emptyValue": {
"templatingStrategy": "NONE",
"value": ""
}
}
}
}
name
destinationServerType
FILE_BASED_ADLS_GEN2
(으)로 설정하십시오.fileBasedAdlsGen2Destination.path.templatingStrategy
PEBBLE_V1
사용.fileBasedAdlsGen2Destination.path.value
대상 서버 Azure Blob Storage을(를) 만듭니다
파일 기반 Azure Blob Storage 대상을 구성할 때 아래에 표시된 것과 유사한 Azure Blob Storage 대상 서버를 만들어야 합니다.
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"name":"Blob destination server",
"destinationServerType":"FILE_BASED_AZURE_BLOB",
"fileBasedAzureBlobDestination":{
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
},
"container":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.container}}"
}
},
"fileConfigurations": {
"compression": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.compression}}"
},
"fileType": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.fileType}}"
},
"csvOptions": {
"quote": {
"templatingStrategy": "NONE",
"value": "\""
},
"quoteAll": {
"templatingStrategy": "NONE",
"value": "false"
},
"escape": {
"templatingStrategy": "NONE",
"value": "\\"
},
"escapeQuotes": {
"templatingStrategy": "NONE",
"value": "true"
},
"header": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreLeadingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreTrailingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"nullValue": {
"templatingStrategy": "NONE",
"value": ""
},
"dateFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd"
},
"timestampFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
},
"charToEscapeQuoteEscaping": {
"templatingStrategy": "NONE",
"value": "\\"
},
"emptyValue": {
"templatingStrategy": "NONE",
"value": ""
}
}
}
}
name
destinationServerType
FILE_BASED_AZURE_BLOB
(으)로 설정하십시오.fileBasedAzureBlobDestination.path.templatingStrategy
PEBBLE_V1
사용.fileBasedAzureBlobDestination.path.value
fileBasedAzureBlobDestination.container.templatingStrategy
PEBBLE_V1
사용.fileBasedAzureBlobDestination.container.value
대상 서버 Data Landing Zone (DLZ)을(를) 만듭니다
파일 기반 Data Landing Zone (DLZ) 대상을 구성할 때 아래에 표시된 것과 유사한 Data Landing Zone (DLZ) 대상 서버를 만들어야 합니다.
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"name":"DLZ destination server",
"destinationServerType":"FILE_BASED_DLZ",
"fileBasedDlzDestination":{
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
},
"useCase": "Your use case"
},
"fileConfigurations": {
"compression": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.compression}}"
},
"fileType": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.fileType}}"
},
"csvOptions": {
"quote": {
"templatingStrategy": "NONE",
"value": "\""
},
"quoteAll": {
"templatingStrategy": "NONE",
"value": "false"
},
"escape": {
"templatingStrategy": "NONE",
"value": "\\"
},
"escapeQuotes": {
"templatingStrategy": "NONE",
"value": "true"
},
"header": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreLeadingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreTrailingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"nullValue": {
"templatingStrategy": "NONE",
"value": ""
},
"dateFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd"
},
"timestampFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
},
"charToEscapeQuoteEscaping": {
"templatingStrategy": "NONE",
"value": "\\"
},
"emptyValue": {
"templatingStrategy": "NONE",
"value": ""
}
}
}
}
name
destinationServerType
FILE_BASED_DLZ
(으)로 설정하십시오.fileBasedDlzDestination.path.templatingStrategy
PEBBLE_V1
사용.fileBasedDlzDestination.path.value
대상 서버 Google Cloud Storage을(를) 만듭니다
파일 기반 Google Cloud Storage 대상을 구성할 때 아래에 표시된 것과 유사한 Google Cloud Storage 대상 서버를 만들어야 합니다.
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"name":"Google Cloud Storage Server",
"destinationServerType":"FILE_BASED_GOOGLE_CLOUD",
"fileBasedGoogleCloudStorageDestination":{
"bucket":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.bucket}}"
},
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
}
},
"fileConfigurations": {
"compression": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.compression}}"
},
"fileType": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.fileType}}"
},
"csvOptions": {
"quote": {
"templatingStrategy": "NONE",
"value": "\""
},
"quoteAll": {
"templatingStrategy": "NONE",
"value": "false"
},
"escape": {
"templatingStrategy": "NONE",
"value": "\\"
},
"escapeQuotes": {
"templatingStrategy": "NONE",
"value": "true"
},
"header": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreLeadingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreTrailingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"nullValue": {
"templatingStrategy": "NONE",
"value": ""
},
"dateFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd"
},
"timestampFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
},
"charToEscapeQuoteEscaping": {
"templatingStrategy": "NONE",
"value": "\\"
},
"emptyValue": {
"templatingStrategy": "NONE",
"value": ""
}
}
}
}
name
destinationServerType
FILE_BASED_GOOGLE_CLOUD
(으)로 설정하십시오.fileBasedGoogleCloudStorageDestination.bucket.templatingStrategy
PEBBLE_V1
사용.fileBasedGoogleCloudStorageDestination.bucket.value
fileBasedGoogleCloudStorageDestination.path.templatingStrategy
PEBBLE_V1
사용.fileBasedGoogleCloudStorageDestination.path.value
동적 스키마 대상 서버 만들기
동적 스키마를 사용하면 지원되는 타겟 속성을 동적으로 검색하고 고유한 API를 기반으로 스키마를 생성할 수 있습니다. 스키마를 구성하려면 먼저 동적 스키마에 대한 대상 서버를 구성해야 합니다.
동적 스키마를 사용하는 대상에 대한 대상 서버의 예제 아래 탭에서 참조하십시오.
아래 샘플 페이로드에는 동적 스키마 서버에 필요한 모든 매개 변수가 포함되어 있습니다.
동적 스키마 서버 만들기
고유한 API 끝점에서 프로필 스키마를 검색하는 대상을 구성할 때 아래에 표시된 것과 유사한 동적 스키마 서버를 만들어야 합니다. 정적 스키마와 달리 동적 스키마는 profileFields
배열을 사용하지 않습니다. 대신 동적 스키마는 스키마 구성을 검색하는 위치에서 자체 API에 연결되는 동적 스키마 서버를 사용합니다.
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"name":"Dynamic Schema Server",
"destinationServerType":"URL_BASED",
"urlBasedDestination":{
"url":{
"templatingStrategy":"PEBBLE_V1",
"value":"https://YOUR_API_ENDPOINT/"
}
},
"httpTemplate":{
"httpMethod":"GET"
},
"responseFields":[
{
"templatingStrategy":"PEBBLE_V1",
"value":"{\n \"type\":\"object\",\n \"title\": \"Contact Schema\",\n \"properties\": {\n {% for setDefinition in response.body.items %}\n \"{{setDefinition.key}}\": {\n \"title\" : \"{{setDefinition.name.value}}\",\n \"type\" : \"object\",\n \"properties\": {\n {% for attribute in setDefinition.attributes %}\n \"{{attribute.key}}\": {\n \"title\" : \"{{attribute.name.value}}\",\n \"type\" : \"string\"\n }\n {% if not loop.last %},{%endif%}\n {% endfor %}\n }\n }\n {% if not loop.last %},{%endif%}\n {% endfor %}\n }\n}",
"name":"schema"
}
]
}
name
destinationServerType
URL_BASED
(으)로 설정합니다.urlBasedDestination.url.templatingStrategy
필수.
- Adobe에서 아래
value
필드의 URL을 변환해야 하는 경우PEBBLE_V1
을(를) 사용합니다.https://api.moviestar.com/data/{{customerData.region}}/items
과(와) 같은 끝점이 있는 경우 이 옵션을 사용합니다. - Adobe 측에 변환이 필요하지 않은 경우(예:
https://api.moviestar.com/data/items
과 같은 끝점이 있는 경우)NONE
을(를) 사용하십시오.
urlBasedDestination.url.value
httpTemplate.httpMethod
GET
을(를) 사용합니다.responseFields.templatingStrategy
PEBBLE_V1
사용.responseFields.value
필수. 이 문자열은 파트너 API에서 받은 응답을 Experience Platform UI에 표시될 파트너 스키마로 변환하는 문자 이스케이프 변환 템플릿입니다.
- 템플릿 작성 방법에 대한 자세한 내용은 템플릿 사용 섹션을 참조하십시오.
- 문자 이스케이프에 대한 자세한 내용은 RFC JSON 표준, 섹션 7을 참조하세요.
- 간단한 변환의 예를 보려면 프로필 특성 변환을 참조하십시오.
동적 드롭다운 대상 서버 만들기
동적 드롭다운을(를) 사용하여 고유한 API를 기반으로 드롭다운 고객 데이터 필드를 동적으로 검색하고 채웁니다. 예를 들어 대상 연결에 사용할 기존 사용자 계정 목록을 검색할 수 있습니다.
동적 드롭다운 고객 데이터 필드를 구성하려면 먼저 동적 드롭다운에 대한 대상 서버를 구성해야 합니다.
API에서 드롭다운 선택기에 표시할 값을 동적으로 검색하는 데 사용되는 대상 서버의 예 아래 탭에서 를 참조하십시오.
아래 샘플 페이로드에는 동적 스키마 서버에 필요한 모든 매개 변수가 포함되어 있습니다.
동적 드롭다운 서버 만들기
고유한 API 끝점에서 드롭다운 고객 데이터 필드의 값을 검색하는 대상을 구성할 때 아래에 표시된 것과 유사한 동적 드롭다운 서버를 만들어야 합니다.
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"name":"Server for dynamic dropdown",
"destinationServerType":"URL_BASED",
"urlBasedDestination":{
"url":{
"templatingStrategy":"PEBBLE_V1",
"value":"https://api.moviestar.com/data/{{customerData.users}}/items"
}
},
"httpTemplate":{
"httpMethod":"GET",
"headers":[
{
"header":"Authorization",
"value":{
"templatingStrategy":"PEBBLE_V1",
"value":"My Bearer Token"
}
},
{
"header":"x-integration",
"value":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.integrationId}}"
}
},
{
"header":"Accept",
"value":{
"templatingStrategy":"NONE",
"value":"application/json"
}
}
]
},
"responseFields":[
{
"templatingStrategy":"PEBBLE_V1",
"value":"{% set list = [] %} {% for record in response.body %} {% set list = list|merge([{'name' : record.name, 'value' : record.id }]) %} {% endfor %}{{ {'list': list} | toJson | raw }}",
"name":"list"
}
]
}
name
destinationServerType
URL_BASED
(으)로 설정합니다.urlBasedDestination.url.templatingStrategy
필수.
- Adobe에서 아래
value
필드의 URL을 변환해야 하는 경우PEBBLE_V1
을(를) 사용합니다.https://api.moviestar.com/data/{{customerData.region}}/items
과(와) 같은 끝점이 있는 경우 이 옵션을 사용합니다. - Adobe 측에 변환이 필요하지 않은 경우(예:
https://api.moviestar.com/data/items
과 같은 끝점이 있는 경우)NONE
을(를) 사용하십시오.
urlBasedDestination.url.value
httpTemplate.httpMethod
GET
을(를) 사용합니다.httpTemplate.headers
responseFields.templatingStrategy
PEBBLE_V1
사용.responseFields.value
필수. 이 문자열은 API에서 받은 응답을 Experience Platform UI에 표시될 값으로 변환하는 문자 이스케이프 변환 템플릿입니다.
- 템플릿 작성 방법에 대한 자세한 내용은 템플릿 사용 섹션을 참조하십시오.
- 문자 이스케이프에 대한 자세한 내용은 RFC JSON 표준, 섹션 7을 참조하세요.
API 오류 처리
Destination SDK API 엔드포인트는 일반적인 Experience Platform API 오류 메시지 원칙을 따릅니다. Experience Platform 문제 해결 안내서에서 API 상태 코드 및 요청 헤더 오류를 참조하십시오.
다음 단계
이 문서를 읽은 후에는 Destination SDK /authoring/destination-servers
API 끝점을 통해 새 대상 서버를 만드는 방법을 알 수 있습니다.
이 끝점으로 수행할 수 있는 작업에 대한 자세한 내용은 다음 문서를 참조하십시오.
이 끝점이 대상 작성 프로세스에 맞는 위치를 이해하려면 다음 문서를 참조하십시오.