파트너 스키마 구성
Experience Platform은 스키마를 사용하여 데이터의 구조를 일관되고 재사용 가능한 방식으로 설명합니다. 데이터가 Platform에 수집되면 XDM 스키마에 따라 구조화됩니다. 디자인 원칙 및 모범 사례를 포함하여 스키마 구성 모델에 대한 자세한 내용은 스키마 구성 기본 사항을 참조하십시오.
Destination SDK을 사용하여 대상을 작성할 때 대상 플랫폼에서 사용할 고유한 파트너 스키마를 정의할 수 있습니다. 이를 통해 사용자는 Platform의 프로필 속성을 대상 플랫폼이 인식하는 특정 필드에 모두 Platform UI 내에서 매핑할 수 있습니다.
대상에 대한 파트너 스키마를 구성할 때 다음과 같이 대상 플랫폼에서 지원하는 필드 매핑을 미세 조정할 수 있습니다.
- 사용자가
phoneNumber
XDM 특성을 대상 플랫폼에서 지원하는phone
특성에 매핑하도록 허용합니다. - Experience Platform이 대상 내에서 지원되는 모든 속성 목록을 검색하기 위해 동적으로 호출할 수 있는 동적 파트너 스키마를 만듭니다.
- 대상 플랫폼에 필요한 필수 필드 매핑을 정의합니다.
이 구성 요소가 Destination SDK으로 만든 통합에 어떻게 적합한지 이해하려면 구성 옵션 설명서에서 다이어그램을 참조하거나 Destination SDK을 사용하여 파일 기반 대상을 구성하는 방법에 대한 안내서를 참조하십시오.
/authoring/destinations
끝점을 통해 스키마 설정을 구성할 수 있습니다. 이 페이지에 표시된 구성 요소를 구성할 수 있는 자세한 API 호출 예는 다음 API 참조 페이지를 참조하십시오.
이 문서에서는 대상에 사용할 수 있는 지원되는 모든 스키마 구성 옵션에 대해 설명하고 고객이 Platform UI에서 보게 되는 내용을 보여 줍니다.
지원되는 통합 유형 supported-integration-types
이 페이지에 설명된 기능을 지원하는 통합 유형에 대한 자세한 내용은 아래 표를 참조하십시오.
지원되는 스키마 구성 supported-schema-types
Destination SDK은 여러 스키마 구성을 지원합니다.
- 정적 스키마는
schemaConfig
섹션의profileFields
배열을 통해 정의됩니다. 정적 스키마에서는profileFields
배열의 Experience Platform UI에 표시되어야 하는 모든 대상 특성을 정의합니다. 스키마를 업데이트해야 하는 경우 대상 구성을 업데이트해야 합니다. - 동적 스키마는 동적 스키마 서버라는 추가 대상 서버 유형을 사용하여 지원되는 대상 특성을 동적으로 검색하고 고유한 API를 기반으로 스키마를 생성합니다. 동적 스키마는
profileFields
배열을 사용하지 않습니다. 스키마를 업데이트해야 하는 경우 대상 구성을 업데이트할 필요가 없습니다. 대신 동적 스키마 서버는 API에서 업데이트된 스키마를 검색합니다. - 스키마 구성 내에는 필수(또는 사전 정의된) 매핑을 추가할 수 있는 옵션이 있습니다. 이는 사용자가 Platform UI에서 볼 수 있는 매핑이지만 대상에 대한 연결을 설정할 때 수정할 수 없습니다. 예를 들어 이메일 주소 필드를 항상 대상으로 전송하도록 적용할 수 있습니다.
schemaConfig
섹션은 아래 섹션에 표시된 대로 필요한 스키마 유형에 따라 여러 구성 매개 변수를 사용합니다.
정적 스키마 만들기 attributes-schema
프로필 특성이 있는 정적 스키마를 만들려면 아래와 같이 profileFields
배열에서 대상 특성을 정의합니다.
"schemaConfig":{
"profileFields":[
{
"name":"phoneNo",
"title":"phoneNo",
"description":"This is a fixed attribute on your destination side that customers can map profile attributes to. For example, the mobilePhone.number value in Experience Platform could be phoneNo on your side.",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"firstName",
"title":"firstName",
"description":"This is a fixed attribute on your destination side that customers can map profile attributes to. For example, the person.name.firstName value in Experience Platform could be firstName on your side.",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"lastName",
"title":"lastName",
"description":"This is a fixed attribute on your destination side that customers can map profile attributes to. For example, the person.name.lastName value in Experience Platform could be phoneNo on your side.",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
}
],
"useCustomerSchemaForAttributeMapping":false,
"profileRequired":true,
"segmentRequired":true,
"identityRequired":true,
"segmentNamespaceAllowList": ["someNamespace"],
"segmentNamespaceDenyList": ["someOtherNamespace"]
}
profileFields
profileFields
배열을 사용하는 경우 useCustomerSchemaForAttributeMapping
매개 변수를 완전히 생략할 수 있습니다.useCustomerSchemaForAttributeMapping
고객 스키마의 특성을 profileFields
배열에서 정의한 특성으로 매핑하거나 사용하지 않도록 설정합니다.
true
(으)로 설정된 경우 매핑 필드에 소스 열만 표시됩니다. 이 경우profileFields
을(를) 적용할 수 없습니다.false
(으)로 설정하면 사용자는 스키마의 소스 특성을profileFields
배열에서 정의한 특성에 매핑할 수 있습니다.
기본값은 false
입니다.
profileRequired
true
을(를) 사용합니다.segmentRequired
true
(으)로 설정해야 합니다.identityRequired
segmentNamespaceAllowList
segmentNamespaceDenyList
.과(와) 함께 사용할 수 없습니다
예:
"segmentNamespaceAllowList": ["AudienceManager"]
에서 사용자는 AudienceManager
네임스페이스의 대상자만 이 대상에 매핑할 수 있습니다.사용자가 대상을 대상으로 내보낼 수 있도록 하려면 이 매개 변수를 무시할 수 있습니다.
구성에서
segmentNamespaceAllowList
과(와) segmentNamespaceDenyList
이(가) 모두 누락된 경우 사용자는 세그먼테이션 서비스에서 시작된 대상만 내보낼 수 있습니다.segmentNamespaceDenyList
segmentNamespaceAllowed
과(와) 함께 사용할 수 없습니다.예:
"segmentNamespaceDenyList": ["AudienceManager"]
은(는) AudienceManager
네임스페이스에서 이 대상으로 대상을 매핑하는 것을 차단합니다.사용자가 대상을 대상으로 내보낼 수 있도록 하려면 이 매개 변수를 무시할 수 있습니다.
구성에서
segmentNamespaceAllowed
과(와) segmentNamespaceDenyList
이(가) 모두 누락된 경우 사용자는 세그먼테이션 서비스에서 시작된 대상만 내보낼 수 있습니다.원본에 관계없이 모든 대상을 내보내도록 허용하려면
"segmentNamespaceDenyList":[]
을(를) 설정하십시오.결과 UI 경험이 아래 이미지에 표시됩니다.
사용자가 대상 매핑을 선택하면 profileFields
배열에 정의된 필드가 표시됩니다.
속성을 선택하면 타겟 필드 열에서 속성을 볼 수 있습니다.
특성이 있는 정적 대상 스키마를 표시하는
동적 스키마 만들기 dynamic-schema-configuration
Destination SDK은 동적 파트너 스키마 생성을 지원합니다. 정적 스키마와 달리 동적 스키마는 profileFields
배열을 사용하지 않습니다. 대신 동적 스키마는 스키마 구성을 검색하는 위치에서 자체 API에 연결되는 동적 스키마 서버를 사용합니다.
동적 스키마 구성에서 profileFields
배열은 아래와 같이 dynamicSchemaConfig
섹션으로 대체됩니다.
"schemaConfig":{
"dynamicSchemaConfig":{
"dynamicEnum": {
"authenticationRule":"CUSTOMER_AUTHENTICATION",
"destinationServerId":"DYNAMIC_SCHEMA_SERVER_ID",
"value": "Schema Name",
"responseFormat": "SCHEMA"
}
},
"profileRequired":true,
"segmentRequired":true,
"identityRequired":true
}
dynamicEnum.authenticationRule
Platform명의 고객이 대상에 연결하는 방법을 나타냅니다. 허용되는 값은 CUSTOMER_AUTHENTICATION
, PLATFORM_AUTHENTICATION
, NONE
입니다.
- 플랫폼 고객이 여기에 설명된 인증 방법을 통해 시스템에 로그인하는 경우
CUSTOMER_AUTHENTICATION
을(를) 사용합니다. - Adobe과 대상 사이에 전역 인증 시스템이 있고 Platform 고객이 대상에 연결하기 위해 인증 자격 증명을 제공할 필요가 없는 경우
PLATFORM_AUTHENTICATION
을(를) 사용합니다. 이 경우 자격 증명 API를 사용하여 자격 증명 개체를 만들어야 합니다. - 대상 플랫폼으로 데이터를 보내는 데 인증이 필요하지 않은 경우
NONE
을(를) 사용합니다.
dynamicEnum.destinationServerId
instanceId
입니다. 이 대상 서버에는 Experience Platform이 동적 스키마를 검색하기 위해 호출할 API 끝점이 포함됩니다.dynamicEnum.value
dynamicEnum.responseFormat
SCHEMA
(으)로 설정하십시오.profileRequired
true
을(를) 사용합니다.segmentRequired
true
(으)로 설정해야 합니다.identityRequired
필수 매핑 required-mappings
스키마 구성 내에서는 정적 또는 동적 스키마 외에 필수(또는 사전 정의된) 매핑을 추가할 수 있습니다. 이는 사용자가 Platform UI에서 볼 수 있는 매핑이지만 대상에 대한 연결을 설정할 때 수정할 수 없습니다.
예를 들어 이메일 주소 필드를 항상 대상으로 전송하도록 적용할 수 있습니다.
- 필수 소스 필드와 필수 대상 필드를 구성할 수 있습니다. 이 경우 사용자는 두 필드 중 하나를 편집하거나 선택할 수 없으며 선택 사항만 볼 수 있습니다.
- 필수 대상 필드만 구성할 수 있습니다. 이 경우 사용자는 대상에 매핑할 소스 필드를 선택할 수 있습니다.
필요한 매핑이 포함된 스키마 구성의 두 가지 예제와 일괄 처리 대상에 데이터 활성화 워크플로의 매핑 단계에서 이러한 구성이 어떻게 보이는지 아래를 참조하십시오.
아래 예는 필수 소스 및 대상 매핑을 모두 보여 줍니다. 소스 필드와 대상 필드가 모두 필수 매핑으로 지정된 경우 사용자는 두 필드 중 하나를 선택하거나 편집할 수 없으며 사전 정의된 선택 사항만 볼 수 있습니다.
code language-json |
---|
|
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 layout-auto | |||
---|---|---|---|
매개변수 | 유형 | 필수/선택 사항 | 설명 |
requiredMappingsOnly |
부울 | 선택 사항입니다 | true로 설정되면 사용자는 requiredMappings 배열에서 정의하는 필수 매핑과 별도로 활성화 흐름에서 다른 특성과 ID를 매핑할 수 없습니다. |
requiredMappings.sourceType |
문자열 | 필수 여부 |
|
requiredMappings.source |
문자열 | 필수 여부 |
소스 필드의 값을 나타냅니다. 지원되는 값 유형:
|
requiredMappings.destination |
문자열 | 필수 여부 | 대상 필드의 값을 나타냅니다. 소스 필드와 대상 필드가 모두 필수 매핑으로 지정된 경우 사용자는 두 필드 중 하나를 선택하거나 편집할 수 없으며 선택 사항만 볼 수 있습니다. |
따라서 Platform UI의 Source 필드 및 Target 필드 섹션이 모두 회색으로 표시됩니다.
아래 예는 필수 대상 매핑을 보여 줍니다. 대상 필드만 필요에 따라 지정하는 경우 사용자는 매핑할 소스 필드를 선택할 수 있습니다.
code language-json |
---|
|
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 layout-auto | |||
---|---|---|---|
매개변수 | 유형 | 필수/선택 사항 | 설명 |
requiredMappingsOnly |
부울 | 선택 사항입니다 | true로 설정되면 사용자는 requiredMappings 배열에서 정의하는 필수 매핑과 별도로 활성화 흐름에서 다른 특성과 ID를 매핑할 수 없습니다. |
requiredMappings.destination |
문자열 | 필수 여부 | 대상 필드의 값을 나타냅니다. 대상 필드만 지정된 경우 사용자는 대상에 매핑할 소스 필드를 선택할 수 있습니다. |
mandatoryRequired |
부울 | 선택 사항입니다 | 매핑을 필수 특성(으)로 표시할지 여부를 나타냅니다. |
primaryKeyRequired |
부울 | 선택 사항입니다 | 매핑을 중복 제거 키(으)로 표시할지 여부를 나타냅니다. |
따라서 Platform UI의 Target 필드 섹션은 회색으로 표시되고 Source 필드 섹션은 활성 상태이며 사용자는 이 섹션과 상호 작용할 수 있습니다. 필수 키 및 중복 제거 키 옵션이 활성화되어 있으므로 사용자가 변경할 수 없습니다.
외부 대상자에 대한 지원 구성 external-audiences
외부에서 생성된 대상의 활성화를 지원하도록 대상을 구성하려면 schemaConfig
섹션에 아래 코드 조각을 포함하십시오.
"schemaConfig": {
"segmentNamespaceDenyList": [],
...
}
segmentNamespaceDenyList
기능에 대한 자세한 내용은 이 페이지의 위에 있는 표의 속성 설명을 참조하십시오.
다음 단계 next-steps
이 문서를 읽은 후에는 Destination SDK에서 지원하는 스키마 유형과 스키마를 구성하는 방법을 보다 잘 이해할 수 있어야 합니다.
다른 대상 구성 요소에 대한 자세한 내용은 다음 문서를 참조하십시오.