以下是验证事件和受众群体 上传的健康状况并找出数据问题的推荐工作流。
检查每个请求的总体状态。成功的请求具有
Status,其code等于0(枚举值OK,HTTP 响应200 OK),并返回IngestEventsResponse、IngestAudienceMembersResponse或RemoveAudienceMembersResponse。如果请求不成功,请修改请求以解决错误 然后重新发送请求。
如果请求成功,请捕获响应的
request_id,以便使用它 在下一步中检索诊断信息。为每个 成功的
request_id发送RetrieveRequestStatus请求。查看每个
RetrieveRequestStatusResponse,以确认 上传正常运行并找出数据中的任何问题。更正数据问题。
返回到第 1 步并重复,直到解决上传中的所有问题为止。
发送请求
A RetrieveRequestStatusRequest 具有单个 request_id
字段。在发送
提取请求时,为捕获的每个成功请求 ID 发送一个请求。
查看响应
request_status_per_destination 在
RetrieveRequestStatusResponse 中包含相应提取请求中每个目标位置的单独条目。
例如,如果您的 IngestAudienceMembersRequest
包含 3 个条目在 destinations 列表中以将数据发送到 3 个不同的
受众群体,则状态响应将在
request_status_per_destination 中包含 3 个条目(每个受众群体一个条目)。
检查总体目标位置状态
第一步是检查 request_status 字段,以确定
Data Manager API 是否已完成 destination 的
RequestStatusPerDestination 的数据处理。以下是 request_status 的可能值
:
PROCESSING:目标位置的数据仍在处理中。SUCCESS:目标位置的请求处理已完成,没有任何错误。FAILURE:目标位置的所有记录都因错误而失败。PARTIAL_SUCCESS:目标位置的部分记录成功,但 其他记录因错误而失败。
按目标位置检查事件或受众群体状态
检查与提取请求类型对应的状态字段。在每个 RequestStatusPerDestination 上,以下字段中仅设置了
一个:
事件提取状态
如果请求是
IngestEventsRequest,则会填充 events_ingestion_status 字段。
检查 record_count 的 IngestEventStatus
,以确认收到的记录总数符合您的
预期。record_count 包括成功和失败的
记录。
受众群体成员提取状态
如果请求是
IngestAudienceMembersRequest,则会填充audience_members_ingestion_status字段。以下是针对
IngestAudienceMembersStatus字段检查的
每种类型的受众群体数据。这些字段中仅设置了 一个。
user_data_ingestion_status检查
record_count的IngestUserDataStatus,以确认收到的记录总数符合您的预期。record_count包括成功和失败的记录。检查
user_identifier_count,以确认收到的 用户标识符数量符合您的 预期。如果请求包含足够多的记录,则
upload_match_rate_range会包含请求中记录的 匹配率 范围。mobile_data_ingestion_status检查
record_count的IngestMobileDataStatus,以确认 收到的记录总数符合您的预期。record_count包括成功和失败的记录。检查
mobile_id_count,以确认收到的移动设备 ID 数量 符合您的预期。pair_data_ingestion_status检查
record_count的IngestPairDataStatus,以确认收到的记录总数符合您的预期。record_count包括成功和失败的记录。检查
pair_id_count,以确认收到的 PAIR ID 数量 符合您的预期。ppid_data_ingestion_status检查
record_count的IngestPpidDataStatus,以确认收到的记录总数符合您的预期。record_count包括成功和失败的记录。检查
ppid_count,以确认收到的 PPID 数量 符合您的预期。user_id_data_ingestion_status检查
record_count的IngestUserIdDataStatus,以确认收到的记录总数符合您的预期。record_count包括成功和失败的记录。检查
user_id_count,以确认收到的用户 ID 数量 符合您的预期。
受众群体成员移除状态
如果请求是
RemoveAudienceMembersRequest,则会填充 audience_members_removal_status 字段。以下是针对每种
类型的受众群体数据检查的
RemoveAudienceMembersStatus 字段。这些字段中仅设置了 一个。
user_data_removal_status- 用户数据的移除状态。
mobile_data_removal_status- 移动数据的移除状态。
pair_data_removal_status- PAIR 数据的移除状态。
ppid_data_removal_status- PPID 数据的移除状态。
user_id_data_removal_status- 用户 ID 数据的移除状态
检查 record_count,以确认收到的记录总数符合您的预期。record_count 包括
成功和失败的记录。
此外,检查 user_identifier_count、mobile_id_count 或
pair_id_count,以确认收到的用户标识符、移动设备 ID
或 PAIR ID 的总数。
检查警告和错误
除了目标位置和请求类型的状态字段之外,
RetrieveRequestStatusResponse 还包含请求的
警告和错误细分信息。
- 错误表示 API 完全拒绝了记录。
- 警告表示 API 没有拒绝记录,但必须 忽略记录的部分数据。
例如,如果 Event 包含加密的
UserIdentifier 数据和
AdIdentifiers(例如 gclid),并且
UserIdentifier 数据无法解密,则 Data Manager API 仍会使用 AdIdentifiers 处理
记录,但会返回警告
PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR。
但是,如果 Event 不包含 AdIdentifiers 且 UserIdentifier
数据无法解密,则 Data Manager API 会拒绝整个记录并
报告错误 PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR
,因为有效的 Event 必须至少包含 ad_identifiers 或
user_data 中的一个。
以下是包含警告和错误信息的响应字段。
warning_infoWarningCount对象列表。每个WarningCount都包含一个reason(包含警告类型)和一个record_count(表示具有该类型警告的记录数)。error_infoErrorCount对象列表。每个ErrorCount都包含一个reason(包含错误类型)和一个record_count(表示因该类型错误而失败的记录数)。