Sau đây là quy trình công việc được đề xuất để xác minh tình trạng của lượt tải sự kiện và đối tượng lên, đồng thời xác định các vấn đề về dữ liệu của bạn.
Gửi yêu cầu để gửi sự kiện hoặc gửi/xoá thành viên đối tượng.
Kiểm tra trạng thái tổng thể của từng yêu cầu. Một yêu cầu thành công sẽ có a
Statusvớicodebằng0(giá trị enumOK, HTTP phản hồi200 OK) và trả về aIngestEventsResponse,IngestAudienceMembersResponsehoặcRemoveAudienceMembersResponse.Nếu một yêu cầu không thành công, hãy sửa đổi yêu cầu để giải quyết lỗi và gửi lại yêu cầu.
Nếu một yêu cầu thành công, hãy ghi lại
request_idcủa phản hồi để bạn có thể dùng mã này để truy xuất thông tin chẩn đoán ở bước tiếp theo.Chờ 30 phút, sau đó gửi
RetrieveRequestStatusyêu cầu cho từng thành côngrequest_id.Định kỳ lặp lại bước này cho từng
request_idcho đến khi trạng thái đích của từng đích đạt đếnSUCCESS,PARTIAL_SUCCESS, hoặcFAILURE. Sử dụng thuật toán thời gian đợi tăng theo cấp luỹ thừa để đợi giữa mỗi yêu cầu.Xem xét từng
RetrieveRequestStatusResponseđể xác nhận rằng lượt tải lên của bạn đang hoạt động đúng cách và xác định mọi vấn đề về dữ liệu của bạn.Khắc phục các vấn đề về dữ liệu.
Quay lại bước 1 và lặp lại cho đến khi bạn giải quyết xong mọi vấn đề về lượt tải lên.
Gửi yêu cầu
A RetrieveRequestStatusRequest yêu cầu một giá trị
request_id duy nhất. Gửi một yêu cầu trạng thái riêng cho từng mã yêu cầu mà bạn đã ghi lại từ một yêu cầu nhập thành công.
Định kỳ gửi RetrieveRequestStatusRequest
bằng thuật toán thời gian đợi tăng theo cấp luỹ thừa cho đến khi request_status đạt đến
SUCCESS, FAILURE hoặc PARTIAL_SUCCESS cho mọi đích trong yêu cầu
ban đầu. Quá trình này có thể mất đến 24 giờ, mặc dù Data Manager API có thể hoàn tất quá trình xử lý một số yêu cầu chỉ trong 30 phút.
Dưới đây là ví dụ về thời gian đợi ban đầu hợp lý và cấu hình thử lại giúp cân bằng mức độ hoạt động và mức sử dụng hạn mức:
| Cài đặt | Giá trị |
|---|---|
| Thời gian đợi trước yêu cầu chẩn đoán đầu tiên (phút) | 30 |
| Hệ số thời gian đợi | 1.3 |
| Thời gian đợi tối đa (phút) | 60 (1 giờ) |
| Tổng thời gian tối đa (phút) | 1440 (24 giờ) |
Dưới đây là trình tự các yêu cầu và thời gian đã trôi qua với cấu hình này:
Biểu đồ

Dữ liệu
| Lần thử | Thời gian kể từ yêu cầu nhập (hh:mm) | Độ trễ trước lần thử | Ghi chú |
|---|---|---|---|
| 1 | 00:30 | 30,0 phút | Lần kiểm tra đầu tiên về trạng thái có sẵn |
| 2 | 01:09 | 39,0 phút | |
| 3 | 01:59 | 50,7 phút | |
| 4 | 02:59 | 60,0 phút | Độ trễ hiện được giới hạn ở mức 1 giờ |
| 5 | 03:59 | 60,0 phút | |
| 6 | 04:59 | 60,0 phút | |
| 7 | 05:59 | 60,0 phút | |
| 8 | 06:59 | 60,0 phút | |
| 9 | 07:59 | 60,0 phút | |
| 10 | 08:59 | 60,0 phút | |
| 11 | 09:59 | 60,0 phút | |
| 12 | 10:59 | 60,0 phút | |
| 13 | 11:59 | 60,0 phút | Mốc 12 giờ |
| 14 | 12:59 | 60,0 phút | |
| 15 | 13:59 | 60,0 phút | |
| 16 | 14:59 | 60,0 phút | |
| 17 | 15:59 | 60,0 phút | |
| 18 | 16:59 | 60,0 phút | |
| 19 | 17:59 | 60,0 phút | |
| 20 | 18:59 | 60,0 phút | |
| 21 | 19:59 | 60,0 phút | |
| 22 | 20:59 | 60,0 phút | |
| 23 | 21:59 | 60,0 phút | |
| 24 | 22:59 | 60,0 phút | |
| 25 | 23:59 | 60,0 phút | Yêu cầu cuối cùng trước tổng thời gian tối đa là 24 giờ |
Xem lại câu trả lời
The request_status_per_destination trong a
RetrieveRequestStatusResponse chứa một mục riêng cho
từng đích trong yêu cầu nhập tương ứng.
Ví dụ: nếu IngestAudienceMembersRequest
của bạn chứa 3 mục trong danh sách destinations để gửi dữ liệu đến 3 đối tượng
khác nhau, thì phản hồi trạng thái sẽ chứa 3 mục trong
request_status_per_destination (mỗi mục cho một đối tượng).
Kiểm tra trạng thái tổng thể của đích
Bước đầu tiên là kiểm tra trường request_status để xác định xem
API Trình quản lý dữ liệu đã hoàn tất quá trình xử lý dữ liệu cho destination của
RequestStatusPerDestination hay chưa.
Sau đây là các giá trị có thể có của request_status:
PROCESSING: Dữ liệu cho đích vẫn đang được xử lý. Các cảnh báo và lỗi không được điền sẵn cho đích ở giai đoạn này.SUCCESS: Quá trình xử lý yêu cầu cho đích đã hoàn tất mà không có lỗi nào. Kiểm tra các cảnh báo được gắn cờ trong quá trình xử lý.FAILURE: Tất cả hồ sơ cho đích đều không thành công do lỗi. Kiểm tra các cảnh báo và lỗi để xác định lý do tất cả hồ sơ không thành công. Ngoài ra, hãy kiểm tra các cảnh báo được gắn cờ trong quá trình xử lý.PARTIAL_SUCCESS: Một số hồ sơ cho đích đã thành công, nhưng những hồ sơ khác không thành công do lỗi. Kiểm tra các lỗi để xác định lý do một số hồ sơ không thành công. Ngoài ra, hãy kiểm tra các cảnh báo được gắn cờ trong quá trình xử lý.
Kiểm tra trạng thái sự kiện hoặc đối tượng theo đích
Kiểm tra trường trạng thái tương ứng với loại yêu cầu nhập. Chỉ một trong các trường sau được đặt trên mỗi RequestStatusPerDestination:
Trạng thái nhập sự kiện
Trường events_ingestion_status được điền sẵn nếu yêu cầu là
IngestEventsRequest.
Kiểm tra record_count của IngestEventStatus
để xác nhận rằng tổng số hồ sơ nhận được khớp với
kỳ vọng của bạn. record_count bao gồm cả hồ sơ thành công và không thành công.
Trạng thái nhập thành viên đối tượng
Trường audience_members_ingestion_status được điền sẵn nếu yêu cầu là
IngestAudienceMembersRequest. Sau đây là trường
IngestAudienceMembersStatus để kiểm tra
từng loại dữ liệu đối tượng. Chỉ một trong các trường này được đặt.
user_data_ingestion_statusKiểm tra
record_countcủaIngestUserDataStatusđể xác nhận rằng tổng số hồ sơ nhận được khớp với kỳ vọng của bạn.record_countbao gồm cả hồ sơ thành công và không thành công.Kiểm tra
user_identifier_countđể xác nhận rằng số lượng giá trị nhận dạng người dùng nhận được khớp với kỳ vọng của bạn.Nếu yêu cầu có đủ số lượng hồ sơ, thì
upload_match_rate_rangesẽ chứa phạm vi tỷ lệ khớp cho các hồ sơ trong yêu cầu.mobile_data_ingestion_statusKiểm tra
record_countcủaIngestMobileDataStatusđể xác nhận rằng tổng số hồ sơ nhận được khớp với kỳ vọng của bạn.record_countbao gồm cả hồ sơ thành công và không thành công.Kiểm tra
mobile_id_countđể xác nhận rằng số lượng mã di động nhận được khớp với kỳ vọng của bạn.pair_data_ingestion_statusKiểm tra
record_countcủaIngestPairDataStatusđể xác nhận rằng tổng số hồ sơ nhận được khớp với kỳ vọng của bạn.record_countbao gồm cả hồ sơ thành công và không thành công.Kiểm tra
pair_id_countđể xác nhận rằng số lượng mã PAIR nhận được khớp với kỳ vọng của bạn.ppid_data_ingestion_statusKiểm tra
record_countcủaIngestPpidDataStatusđể xác nhận rằng tổng số hồ sơ nhận được khớp với kỳ vọng của bạn.record_countbao gồm cả hồ sơ thành công và không thành công.Kiểm tra
ppid_countđể xác nhận rằng số lượng PPID nhận được khớp với kỳ vọng của bạn.user_id_data_ingestion_statusKiểm tra
record_countcủaIngestUserIdDataStatusđể xác nhận rằng tổng số hồ sơ nhận được khớp với kỳ vọng của bạn.record_countbao gồm cả hồ sơ thành công và không thành công.Kiểm tra
user_id_countđể xác nhận rằng số lượng mã người dùng nhận được khớp với kỳ vọng của bạn.composite_data_ingestion_statusKiểm tra
record_countcủaIngestCompositeDataStatusđể xác nhận rằng tổng số hồ sơ nhận được khớp với kỳ vọng của bạn.record_countbao gồm cả hồ sơ thành công và không thành công.Kiểm tra
data_type_countsđể xác nhận rằng số lượng giá trị nhận dạng khớp với kỳ vọng của bạn. Danh sách này cung cấp bảng chi tiết về tất cả giá trị nhận dạng nhận được (chẳng hạn như địa chỉ email, số điện thoại, địa chỉ thực tế và địa chỉ IP) theoDataType.Nếu yêu cầu có đủ số lượng hồ sơ, thì
upload_match_rate_rangesẽ chứa phạm vi tỷ lệ khớp cho các hồ sơ trong yêu cầu.
Trạng thái xoá thành viên đối tượng
Trường audience_members_removal_status được điền sẵn nếu yêu cầu là
RemoveAudienceMembersRequest. Sau đây là trường
RemoveAudienceMembersStatus để kiểm tra từng
loại dữ liệu đối tượng. Chỉ một trong các trường này được đặt.
user_data_removal_status- Trạng thái xoá đối với dữ liệu người dùng.
mobile_data_removal_status- Trạng thái xoá đối với dữ liệu di động.
pair_data_removal_status- Trạng thái xoá đối với dữ liệu PAIR.
ppid_data_removal_status- Trạng thái xoá đối với dữ liệu PPID.
user_id_data_removal_status
Trạng thái xoá đối với dữ liệu Mã người dùngcomposite_data_removal_status- Trạng thái xoá đối với dữ liệu Tổng hợp
Kiểm tra record_count để xác nhận rằng tổng số hồ sơ nhận được khớp với kỳ vọng của bạn. record_count bao gồm cả hồ sơ thành công và không thành công.
Ngoài ra, hãy kiểm tra user_identifier_count, mobile_id_count, pair_id_count, ppid_count hoặc user_id_count để xác nhận tổng số giá trị nhận dạng nhận được.
Đối với dữ liệu tổng hợp, hãy kiểm tra data_type_counts để xác nhận rằng số lượng giá trị nhận dạng khớp với kỳ vọng của bạn. Danh sách này cung cấp thông tin phân tích về tất cả
giá trị nhận dạng nhận được (chẳng hạn như địa chỉ email, số điện thoại, địa chỉ thực tế và
địa chỉ IP) theo DataType.
Kiểm tra cảnh báo và lỗi
Ngoài các trường trạng thái cho đích và loại yêu cầu, RetrieveRequestStatusResponse còn chứa bảng chi tiết về các
cảnh báo và lỗi cho yêu cầu.
- Lỗi cho biết rằng API đã hoàn toàn từ chối hồ sơ.
- Cảnh báo cho biết rằng API không từ chối hồ sơ, nhưng phải bỏ qua một số phần dữ liệu của hồ sơ.
Ví dụ: nếu Event chứa dữ liệu được mã hoá
UserIdentifier và
AdIdentifiers như gclid, đồng thời không thể giải mã dữ liệu
UserIdentifier, thì Data Manager API vẫn xử lý
hồ sơ bằng AdIdentifiers nhưng trả về cảnh báo
PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR.
Tuy nhiên, nếu Event không chứa AdIdentifiers và không thể giải mã dữ liệu UserIdentifier, thì Data Manager API sẽ từ chối toàn bộ hồ sơ và báo cáo lỗi PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR vì Event hợp lệ phải có ít nhất một trong các giá trị ad_identifiers hoặc user_data.
Sau đây là các trường phản hồi chứa thông tin cảnh báo và lỗi. Các
trường này được điền sẵn khi trạng thái tổng thể của đích
đạt đến SUCCESS, PARTIAL_SUCCESS, hoặc FAILURE.
warning_infoDanh sách các đối tượng
WarningCount. MỗiWarningCountchứa mộtreasonvới loại cảnh báo và mộtrecord_countcho biết số lượng hồ sơ có loại cảnh báo đó.Kiểm tra
warning_infongay cả khi trạng thái tổng thể của đích làSUCCESS.error_infoDanh sách các đối tượng
ErrorCount. MỗiErrorCountchứa mộtreasonvới loại lỗi và mộtrecord_countcho biết số lượng hồ sơ không thành công do loại lỗi đó.