本文档提供有关Adobe Experience PlatformIdentity Service的常见问题解答,以及常见错误的疑难解答指南。 有关Platform API的一般问题和疑难解答,请参阅Adobe Experience PlatformAPI疑难解答指南。
识别单个客户的数据通常在他们用于与您的品牌互动的各种设备和系统中分散。 Identity Service 将这些分散的身份汇集在一起,以便全面了解客户行为,从而实时提供有影响力的数字体验。有关详细信息,请参阅Identity Service概述。
以下是关于Identity Service的常见问题的列表解答。
身份数据是可用于识别个人的任何数据。 根据组织中数据使用方式的上下文,标识数据可以包括CRM系统中的用户名、电子邮件地址和ID。 身份数据不仅限于网站或服务的注册用户,因为匿名用户也可以通过其设备或cookie ID进行标识。
将某些数据字段标记为记录和时间序列数据中的身份,使您能够在数据的自然结构中映射身份关系并协调重复数据的跨渠道。 有关详细信息,请参阅Identity Service概述。
已知身份是指可以单独使用或与其他信息一起使用的身份值,用于识别、联系或定位个人。 已知身份的示例可能包括电子邮件地址、电话号码和CRM ID。
匿名身份是指不能单独使用或与其他信息一起使用的身份值,用于识别、联系或定位个人(如cookie ID)。
私人身份图是拼接和链接身份之间关系的私人地图,仅对您的组织可见。
当从流端点摄取或发送到启用Identity Service的数据集的任何数据中包含多个标识时,这些标识将链接到“私有标识图”中。 Identity Service 利用此图表为给定的消费者或实体收集身份,允许身份拼接和用户档案合并。
体验数据模型(XDM) 模式支持多个身份字段。在实现XDM单个用户档案或XDM ExperienceEvent类的模式中,任何类型为string
的数据字段都可以标记为标识字段。 标记后,这些字段中包含的任何数据都将添加到用户档案的标识图中。
有关如何使用用户界面将XDM字段标记为标识字段的步骤,请参阅模式编辑器教程中的标识部分。 如果您正在使用API,请参阅模式注册表API教程中的标识描述符部分。
标识字段应保留为每个个人唯一的值。 例如,考虑客户忠诚度项目的数据集。 “忠诚度级别”字段(金、银、铜牌)不是有用的身份领域,而忠诚度ID(唯一值)则是。
ZIP代码和IP地址等字段不应标记为个人身份,因为这些值可以应用于多个个人。 这些领域只应被标记为家庭级营销策略的标识。
使用Identity Service API中的/cluster/members
endpoint,您可以视图一个或多个标识字段的关联标识。 如果响应未返回您期望的链接身份,请确保您在XDM数据中提供适当的身份信息。 有关详细信息,请参阅标识服务概述中的向标识服务提供XDM数据部分。
标识命名空间提供了标识字段如何与客户标识相关的上下文。 例如,“电子邮件”命名空间下的标识字段应符合标准电子邮件格式(名称@emailprovider.com),而使用“电话”命名空间的字段应符合标准电话号码(如北美的987-555-1234)。
命名空间区分不同CRM系统之间的相似标识值。 例如,考虑一个用户档案,其中包含与公司奖励项目关联的数字忠诚度ID。 命名空间为“Loyalty”会将此值与同一用户档案中显示的电子商务系统的类似数字ID相分离。
有关详细信息,请参阅标识命名空间概述。
创建身份字段时,必须将其与现有身份命名空间关联。 在将任何新命名空间与标识字段关联之前,必须使用API](#how-do-i-create-a-custom-namespace-for-my-organization)创建它们。[
有关在使用API创建标识描述符时定义命名空间的分步说明,请参阅模式注册表开发人员指南中关于创建描述符](/docs/experience-platform/xdm/tutorials/create-schema-ui.html?lang=zh-Hans)的一节。 [要在UI中将模式字段标记为标识,请按照模式编辑器教程中的步骤操作。
标准身份命名空间是所有组织都可用的命名空间。 有关可用标准命名空间的完整列表,请参阅标识命名空间概述。
使用Identity Service API,您可以通过向/idnamespace/identities
端点发出列表请求,来GET组织的所有可用标识命名空间。 有关详细信息,请参阅Identity Service API概述中的列出可用命名空间一节。
使用Identity Service API,您可以通过向/idnamespace/identities
端点发出POST请求,为组织创建自定义标识命名空间。 有关详细信息,请参阅Identity Service API概述中有关创建自定义命名空间的部分。
标识在API调用中由其组合标识或XID引用。 组合标识是包含ID值和命名空间的标识的表示。 XID是表示与组合标识(ID和命名空间)相同的构造的单值标识符,当由标识服务保留时,会自动将其分配给新标识。 有关详细信息,请参阅Identity Service API概述。
Identity Service在持久值之前创建PII的强单向加密哈希。 “电话”和“电子邮件”命名空间中的标识数据使用SHA-256自动散列,“电子邮件”值在散列之前自动转换为小写。
在将PII数据引入平台之前,您无需手动加密它。 通过将I1
数据使用标签应用于所有适用的数据字段,平台在获取时会自动将这些字段转换为散列ID值。
有关如何应用和管理数据使用标签的步骤,请参阅数据使用标签教程。
如果要将散列PII值发送到Identity Service,则必须在数据集中使用相同的加密方法。 这可确保数据集中相同的身份值生成相同的哈希值,并能够在身份图中正确匹配和链接。
以下部分提供了有关使用Identity Service API时可能遇到的特定错误代码和意外行为的疑难解答建议。
以下是使用Identity Service API时可能遇到的一列表错误消息。
{
"title": "InvalidInput",
"status": 400,
"detail": "Missing required query parameter - namespace"
}
当请求路径中未包括所需的查询参数时,将显示此错误。 错误消息的detail
提供缺失参数的名称。 此错误消息的变体包括:
再次尝试之前,请检查是否在请求路径中正确包含指示的参数。
{
"title": "InvalidInput",
"status": 400,
"detail": "Timestamp should be within last 180 days"
}
Identity Service 清除180天以上的数据。当您尝试访问早于此版本的数据时,将显示此错误消息。
{
"title": "InvalidInput",
"status": 400,
"detail": "There is a limit of 1000 XIDs in a single call"
}
当您尝试检索超过单个API调用中允许的最大数量XID的身份信息时,将显示此错误消息。 将请求中的XID数量减少到显示的限制以解决此问题。
{
"title": "InvalidInput",
"status": 400,
"detail": "There is a limit for 1000 compositeXids in a single call"
}
当您尝试检索超过单个API调用中允许的最大数量复合身份的身份信息时,将显示此错误消息。 将请求中的复合身份数量减少到显示的限制以下,以解决此问题。
{
"title": "InvalidInput",
"status": 400,
"detail": "The graph-type abc specified is invalid. Please provide a valid graph-type"
}
当在请求路径中为graph-type
查询参数赋值无效时,将显示此错误消息。 请参见Identity Service概述中的标识图形一节,了解支持哪些图形类型。
{
"title": "UnauthorizedAccess",
"status": 401,
"detail": "Service token does not have valid scope. Either acp.core.identity or acp.foundation is required"
}
未为您的IMS组织设置适当的Identity Service权限时,将显示此错误消息。 请与系统管理员联系以解决此问题。
{
"title": "UnauthorizedAccess",
"status": 401,
"detail": "Gateway service token is not valid"
}
如果出现此错误,则您的访问令牌无效。 访问令牌每24小时过期一次,必须重新生成才能继续使用Platform API。 有关生成新访问令牌的说明,请参见身份验证教程。
{
"title": "UnauthorizedAccess",
"status": 401,
"detail": "Authorization service token is not valid"
}
如果出现此错误,则您的访问令牌无效。 访问令牌每24小时过期一次,必须重新生成才能继续使用Platform API。 有关生成新访问令牌的说明,请参见身份验证教程。
{
"title": "UnauthorizedAccess",
"status": 401,
"detail": "User token does not have valid product context"
}
未从Experience Platform集成生成访问令牌时,将显示此错误消息。 有关为Experience Platform集成生成新访问令牌的说明,请参见身份验证教程。
{
"title": "UnauthorizedAccess",
"status": 401,
"detail": "Invalid IMS Token/IMS Org | Internal error - when tried to get native XID from identity and namespace code"
}
当Identity Service继续存在身份时,将为该身份的ID和关联的命名空间ID分配一个称为XID的唯一标识符。 当在查找给定ID值和命名空间的XID过程中发生错误时,将显示此消息。
{
"title": "AccountNotProvisioned",
"status": 403,
"detail": "The IMS Org. {IMS_ORG_NAME} is not provisioned for Identity Service usage"
}
未为您的IMS组织设置适当的Identity Service权限时,将显示此错误消息。 请与系统管理员联系以解决此问题。
{
"title": "InternalError",
"status": 500,
"detail": "Internal Server Error. There was a problem processing your request"
}
当执行Platform服务调用时发生意外异常时,将显示此错误。 最佳实践是在收到此错误时,项目自动调用以在定时间隔内重试其请求几次。 如果问题仍然存在,请与系统管理员联系。
Identity Service 使用批处理摄取从上传到的记录和时间序列数据 Platform 中摄取标识数据。由于批处理摄取是一个异步过程,因此必须将批处理的详细信息视图为视图错误。 错误会随着批处理的进行而累积,直到批处理完成为止。
以下是使用数据摄取API时可能遇到的与Identity Service相关的错误消息列表。
{
"title": "InvalidInput",
"status": 400,
"detail": "Unknown XDM schema"
}
Identity Service 只为分别符合或类的记录或时间序列数 Profile 据 ExperienceEvent 使用标识。尝试为未符合任何类的Identity Service摄取数据将触发此错误。
{
"title": "InvalidInput",
"status": 400,
"detail": "There were 0 valid identities in the first 100 rows of the processed batch"
}
当批的前100行未显示身份时,将显示此错误。 但是,此错误没有明确表示在后续记录中未找到任何身份。
{
"title": "InvalidInput",
"status": 400,
"detail": "Skipped {NUMBER_OF_RECORDS} records as they had only 1 identity per XDM record"
}
Identity Service 仅当单个记录显示两个或更多标识值时链接标识。对于每个摄取的批次,此错误消息发生一次,并显示记录数,其中只能找到一个身份,并导致对身份图没有更改。
{
"title": "InvalidInput",
"status": 400,
"detail": "Namespace Code {ERRONEOUS_CODE} is not registered for this IMS Org"
}
当收录的记录显示其关联命名空间不存在或IMS组织无法访问的标识时,将显示此错误。
{
"title": "AccountNotProvisioned",
"status": 403,
"detail": "Skipping batch ingestion as IMS Org is not provisioned for Private Identity Graph"
}
在摄取批处理数据时,当IMS组织未设置适当的Identity Service权限时,将显示此错误消息。 请与系统管理员联系以解决此问题。
{
"title": "InternalError",
"status": 500,
"detail": "Internal Error. There was a problem during the ingestion"
}
在批处理摄取期间发生意外异常时,将显示此错误。 最佳实践是在收到此错误时,项目自动调用以在定时间隔内重试其请求几次。 如果问题仍然存在,请与系统管理员联系。