以下是建议的工作流程,可用于验证活动和受众群体上传的健康状况,并发现数据存在的问题。
- 查看每个请求的总体状态。如果请求成功,则 - Status的- code等于- 0(枚举值- OK,HTTP 响应- 200 OK),并返回- IngestEventsResponse、- IngestAudienceMembersResponse或- RemoveAudienceMembersResponse。- 如果请求不成功,请修改请求以解决错误,然后再次发送请求。 - 如果请求成功,请捕获响应的 - request_id,以便在下一步中使用它来检索诊断信息。
- 针对每次成功的 - request_id发送- RetrieveRequestStatus请求。
- 查看每个 - RetrieveRequestStatusResponse,确认上传功能是否正常运行,并找出数据中的任何问题。
- 更正数据问题。 
- 返回第 1 步并重复执行,直到解决上传的所有问题。 
构建请求
RetrieveRequestStatusRequest 只有一个 request_id 字段。针对您在发送提取请求时捕获的每个成功请求 ID 发送一个请求。
查看回答
RetrieveRequestStatusResponse 中的 request_status_per_destination 包含相应提取请求中每个目的地的单独条目。
例如,如果您的 IngestAudienceMembersRequest 的 destinations 列表中包含 3 个条目,用于将数据发送给 3 个不同的受众群体,则状态响应的 request_status_per_destination 中将包含 3 个条目(每个受众群体对应一个条目)。
查看整体目标状态
首先,检查 request_status 字段,以确定 Data Manager API 是否已完成对 RequestStatusPerDestination 的 destination 的数据处理。以下是 request_status 的可能值:
- PROCESSING:目标的数据仍在处理中。
- SUCCESS:目标位置的请求处理已完成,未出现任何错误。
- FAILURE:由于错误,目标的所有记录均失败。
- PARTIAL_SUCCESS:部分目标记录成功,但其他记录因错误而失败。
按目标平台查看事件或受众群体状态
检查与提取请求类型对应的状态字段。每个 RequestStatusPerDestination 仅设置以下字段中的一个:
事件注入状态
如果请求是 IngestEventsRequest,则会填充 events_ingestion_status 字段。
检查 IngestEventStatus 的 record_count,确认收到的记录总数是否符合您的预期。record_count 包含成功和失败的记录。
受众群体成员提取状态
如果请求是 IngestAudienceMembersRequest,则会填充 audience_members_ingestion_status 字段。下表列出了每种受众群体数据需要检查的 IngestAudienceMembersStatus 字段。只会设置这些字段中的一个。
- user_data_ingestion_status
- 检查 - IngestUserDataStatus的- record_count,确认收到的记录总数是否符合您的预期。- record_count包含成功和失败的记录。- 检查 - user_identifier_count,确认收到的用户标识符数量是否符合您的预期。- 如果请求包含足够数量的记录,则 - upload_match_rate_range包含请求中记录的匹配率范围。
- mobile_data_ingestion_status
- 检查 - IngestMobileDataStatus的- record_count,确认收到的记录总数是否符合您的预期。- record_count包括成功和失败的记录。- 检查 - mobile_id_count,确认收到的移动设备 ID 数量是否符合您的预期。
- pair_data_ingestion_status
- 检查 - IngestPairDataStatus的- record_count,确认收到的记录总数是否符合您的预期。- record_count包含成功和失败的记录。- 检查 - pair_id_count以确认收到的 PAIR ID 数量是否符合您的预期。
受众群体成员移除状态
如果请求是 RemoveAudienceMembersRequest,则系统会填充 audience_members_removal_status 字段。下表列出了每种受众群体数据需要检查的 RemoveAudienceMembersStatus 字段。只会设置这些字段中的一个。
- user_data_removal_status
- 用户数据的移除状态。
- mobile_data_removal_status
- 移动数据的移除状态。
- pair_data_removal_status
- PAIR 数据的移除状态。
检查 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_info
- WarningCount对象的列表。每个- WarningCount都包含一个- reason(包含警告类型)和一个- record_count(用于指明出现相应类型警告的记录数)。
- error_info
- ErrorCount对象的列表。每个- ErrorCount都包含一个- reason(包含错误类型)和一个- record_count(用于指明因相应类型的错误而失败的记录数)。