درخواستهای ارسال رویدادها یا اعضای مخاطب بهصورت ناهمگام پردازش میشوند.
پاسخ موفقیتآمیز دریافت request_id را برمیگرداند و نشان میدهد که
درخواست همه الزامات را برآورده کرده و برای پردازش پذیرفته شده است. بااینحال،
این نشان نمیدهد که آیا سوابق موجود در درخواست باموفقیت
پردازش شدهاند یا نه.
از request_id برگرداندهشده با RetrieveRequestStatus استفاده کنید تا
وضعیت بارگذاریتان را بررسی کنید و عیبیابیها را مرور کنید.
در اینجا گردش کار توصیهشده برای بررسی وضعیت درخواستهایتان و درستیسنجی سلامت رویداد و بارگذاریهای مخاطبانتان آورده شده است:
درخواستهای ارسال رویداد یا ارسال یا برداشتن اعضای مخاطب را صادر کنید.
وضعیت کلی هر درخواست انتقال را بررسی کنید. درخواست موفق
Statusباcodeبرابر با0(مقدار enumOK، پاسخ HTTP200 OK) دارد وIngestEventsResponse،IngestAudienceMembersResponse، یاRemoveAudienceMembersResponseبرمیگرداند.اگر درخواستی ناموفق بود، درخواست را اصلاح کنید تا خطا برطرف شود و درخواست را دوباره ارسال کنید.
اگر درخواست موفقیتآمیز بود،
request_idپاسخ را ضبط کنید تا بتوانید از آن برای بررسی وضعیت پردازش در مرحله بعد استفاده کنید.۳۰ دقیقه صبر کنید، سپس برای هر
request_idموفق، درخواستRetrieveRequestStatusارسال کنید.RetrieveRequestStatusRequestبه یک مقدارrequest_idواحد نیاز دارد. برای هر شناسه درخواستی که از درخواست انتقال موفقیتآمیز دریافت کردهاید، یک درخواست وضعیت جداگانه ارسال کنید.این مرحله را بهطور دورهای برای هر
request_idتکرار کنید تا وضعیت مقصد برای هر مقصد بهSUCCESS،PARTIAL_SUCCESS، یاFAILEDبرسد. راهبرد نظرسنجی توصیهشده را دنبال کنید تا بین هر درخواست منتظر بمانید.هر
RetrieveRequestStatusResponseرا مرور کنید تا مطمئن شوید بارگذاریهایتان بهدرستی کار میکند و مشکلات دادههایتان را شناسایی کنید.مشکلات دادهها را اصلاح کنید.
به مرحله ۱ برگردید و این کار را تکرار کنید تا همه مشکلات مربوط به بارگذاریهایتان را برطرف کنید.
بررسی وضعیت کلی مقصد
request_status_per_destination در
RetrieveRequestStatusResponse حاوی ورودی جداگانهای برای
هر مقصد در درخواست جذب مربوطه است.
برای مثال، اگر IngestAudienceMembersRequest شما
حاوی ۳ ورودی در فهرست destinations برای ارسال داده به ۳ مخاطب
مختلف باشد، پاسخ وضعیت حاوی ۳ ورودی در
request_status_per_destination (یک ورودی برای هر مخاطب) است.
فیلد request_status را در هریک از
RequestStatusPerDestination بررسی کنید تا ببینید آیا
Data Manager API پردازش دادهها را برای آن مقصد بهپایان رسانده است یا نه.
مقادیر احتمالی request_status در اینجا آمده است:
PROCESSING: دادههای مقصد هنوز درحال پردازش است. در این مرحله، هشدارها و خطاها برای مقصد پر نشده است. نظرسنجی را تا زمانی که وضعیت به حالت نهایی برسد ادامه دهید.
SUCCESS: پردازش درخواست برای مقصد بدون هیچ خطایی تکمیل شد. هشدارهای پرچمگذاریشده درطول پردازش را بررسی کنید.FAILED: همه سوابق مقصد بهدلیل خطا ناموفق بود. هشدارها و خطاها را بررسی کنید تا مشخص شود چرا همه سوابق ناموفق بودهاند. همچنین هشدارهای پرچمگذاریشده درطول پردازش را بررسی کنید.PARTIAL_SUCCESS: برخیاز رکوردهای مقصد موفقیتآمیز بود، اما برخی دیگر بهدلیل خطا ناموفق بود. خطاها را بررسی کنید تا دلیل ناموفق بودن برخیاز سوابق را مشخص کنید. همچنین هشدارهای پرچمگذاریشده درطول پردازش را بررسی کنید.
مرور عیبیابی
وقتی request_status برای مقصدی به SUCCESS، FAILED، یا PARTIAL_SUCCESS رسید، تشخیصهای دقیق را در پاسخ مرور کنید تا تعداد را درستیسنجی کنید و مشکلات را عیبیابی کنید.
بررسی وضعیت رویداد یا مخاطب براساس مقصد
فیلد وضعیت مربوط به نوع درخواست جذب را بررسی کنید. فقط
یکی از فیلدهای زیر در هر RequestStatusPerDestination تنظیم شده است:
وضعیت انتقال داده رویدادها
اگر درخواست از نوع IngestEventsRequest باشد، فیلد events_ingestion_status پر میشود.
record_count مربوط به IngestEventStatus را بررسی کنید تا مطمئن شوید تعداد کل سوابق دریافتی با انتظارات شما مطابقت دارد. record_count شامل هر دو سابقه موفق و ناموفق است.
وضعیت دریافت اعضای مخاطب
اگر درخواست از نوع IngestAudienceMembersRequest باشد، فیلد audience_members_ingestion_status پر میشود. در اینجا فیلد
IngestAudienceMembersStatus برای بررسی
هر نوع داده مخاطب آورده شده است. فقط یکی از این فیلدها تنظیم شده است.
composite_data_ingestion_statusrecord_countIngestCompositeDataStatusرا بررسی کنید تا مطمئن شوید که تعداد کل سوابق دریافتی با انتظارات شما مطابقت دارد.record_countشامل رکوردهای موفق و ناموفق است.data_type_countsرا بررسی کنید تا مطمئن شوید تعداد شناسهها با انتظارات شما مطابقت دارد. این فهرست تفکیک همه شناسههای دریافتی (مانند نشانی ایمیل، شماره تلفن، نشانی فیزیکی، و نشانی IP) را توسطDataTypeارائه میدهد.اگر درخواست تعداد کافی سابقه داشته باشد،
upload_match_rate_rangeحاوی محدوده نرخ مطابقت برای سوابق موجود در درخواست است.google_user_id_data_ingestion_statusrecord_countIngestGoogleUserIdDataStatusرا بررسی کنید تا مطمئن شوید تعداد کل سوابق دریافتی با انتظارات شما مطابقت دارد.record_countشامل رکوردهای موفق و ناموفق است.google_user_id_countرا بررسی کنید تا مطمئن شوید تعداد شناسههای کاربر Google دریافتی با انتظارات شما مطابقت دارد.mobile_data_ingestion_statusrecord_countIngestMobileDataStatusرا بررسی کنید تا مطمئن شوید که تعداد کل سوابق دریافتی با انتظارات شما مطابقت دارد.record_countشامل رکوردهای موفق و ناموفق است.mobile_id_countرا بررسی کنید تا مطمئن شوید تعداد شناسههای تلفن همراه دریافتی با انتظارات شما مطابقت دارد.pair_data_ingestion_statusrecord_countIngestPairDataStatusرا بررسی کنید تا مطمئن شوید تعداد کل سوابق دریافتی با انتظارات شما مطابقت دارد.record_countشامل سوابق موفق و ناموفق است.pair_id_countرا بررسی کنید تا مطمئن شوید تعداد شناسههای PAIR دریافتی با انتظارات شما مطابقت دارد.partner_provided_id_data_ingestion_statusrecord_countIngestPartnerProvidedIdDataStatusرا بررسی کنید تا مطمئن شوید تعداد کل سوابق دریافتی با انتظارات شما مطابقت دارد.record_countشامل سوابق موفق و ناموفق است.partner_provided_id_countرا بررسی کنید تا مطمئن شوید تعداد شناسههای ارائهشده توسط شریک که دریافت شده است با انتظارات شما مطابقت دارد.ppid_data_ingestion_statusrecord_countIngestPpidDataStatusرا بررسی کنید تا مطمئن شوید تعداد کل سوابق دریافتی با انتظارات شما مطابقت دارد.record_countشامل سوابق موفق و ناموفق است.ppid_countرا بررسی کنید تا مطمئن شوید تعداد PPIDهای دریافتی با انتظارات شما مطابقت دارد.user_data_ingestion_statusrecord_countIngestUserDataStatusرا بررسی کنید تا مطمئن شوید تعداد کل سوابق دریافتی با انتظارات شما مطابقت دارد.record_countشامل سوابق موفق و ناموفق است.user_identifier_countرا بررسی کنید تا مطمئن شوید تعداد شناسههای کاربر دریافتی با انتظارات شما مطابقت دارد.اگر درخواست تعداد کافی سابقه داشته باشد،
upload_match_rate_rangeحاوی محدوده نرخ مطابقت برای سوابق موجود در درخواست است.user_id_data_ingestion_statusrecord_countIngestUserIdDataStatusرا بررسی کنید تا مطمئن شوید تعداد کل سوابق دریافتی با انتظارات شما مطابقت دارد.record_countشامل سوابق موفق و ناموفق است.user_id_countرا بررسی کنید تا مطمئن شوید تعداد شناسههای کاربر دریافتی با انتظارات شما مطابقت دارد.
وضعیت برداشتن اعضای مخاطب
اگر درخواست از نوع RemoveAudienceMembersRequest باشد، فیلد audience_members_removal_status پر میشود. در اینجا فیلد
RemoveAudienceMembersStatus برای بررسی هر نوع داده مخاطب آورده شده است. فقط یکی از این فیلدها تنظیم شده است.
composite_data_removal_status- وضعیت برداشتن برای دادههای ترکیبی
google_user_id_data_removal_status- وضعیت برداشتن دادههای شناسه کاربر Google
mobile_data_removal_status- وضعیت برداشتن داده تلفن همراه.
pair_data_removal_status- وضعیت برداشتن برای دادههای PAIR.
partner_provided_id_data_removal_status- وضعیت برداشتن برای دادههای شناسه ارائهشده توسط شریک
ppid_data_removal_status- وضعیت برداشتن دادههای شناسه شخصی.
user_data_removal_status- وضعیت برداشتن دادههای کاربر.
user_id_data_removal_status- وضعیت برداشتن دادههای شناسه کاربر
record_count را بررسی کنید تا مطمئن شوید تعداد کل سوابق دریافتی با انتظارات شما مطابقت دارد. record_count شامل هر دو سوابق موفق و ناموفق است.
علاوهبراین، user_identifier_count، mobile_id_count،
pair_id_count، ppid_count، user_id_count، google_user_id_count، یا
partner_provided_id_count را بررسی کنید تا تعداد کل
شناسههای دریافتی را تأیید کنید.
برای دادههای ترکیبی، data_type_counts را بررسی کنید تا مطمئن شوید تعداد شناسهها با انتظارات شما مطابقت دارد. این فهرست تفکیک همه شناسههای دریافتی (مانند نشانی ایمیل، شماره تلفن، نشانی فیزیکی، و نشانی IP) را براساس DataType ارائه میدهد.
بررسی هشدارها و خطاها
علاوهبر فیلدهای وضعیت برای مقصد و نوع درخواست،
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 را داشته باشد.
فیلدهای پاسخ حاوی اطلاعات هشدار و خطا در اینجا آمده است. وقتی وضعیت کلی مقصد به SUCCESS، PARTIAL_SUCCESS، یا FAILED میرسد، این فیلدها پر میشوند.
warning_infoشیء
WarningInfo. فیلدwarning_countsآن حاوی فهرستی از اشیایWarningCountاست. هرWarningCountحاوی یکreasonبا نوع هشدار، و یکrecord_countاست که نشاندهنده تعداد رکوردهایی است که آن نوع هشدار را داشتهاند.warning_infoرا بررسی کنید، حتی اگر وضعیت کلی مقصدSUCCESSباشد.error_infoشیء
ErrorInfo. فیلدerror_countsآن حاوی فهرستی از اشیاءErrorCountاست. هرErrorCountحاوی یکreasonبا نوع خطا، و یکrecord_countاست که تعداد ردیفهایی را نشان میدهد که بهدلیل آن نوع خطا ناموفق بودهاند.
راهبرد نظرسنجی
بهطور دورهای RetrieveRequestStatusRequest را بااستفاده از الگوریتم عقبگرد نمایی ارسال کنید تا request_status برای هر مقصد در درخواست اصلی به SUCCESS، FAILED، یا PARTIAL_SUCCESS برسد. این کار ممکن است تا ۲۴ ساعت طول بکشد، هرچند Data Manager API ممکن است
پردازش برخیاز درخواستها را در ۳۰ دقیقه تمام کند.
در اینجا نمونهای از زمان انتظار اولیه منطقی و پیکربندی تلاش مجدد آورده شده است که بین پویایی و استفاده از سهمیه تعادل برقرار میکند:
| تنظیم | مقدار |
|---|---|
| زمان انتظار قبلاز اولین درخواست تشخیص خرابی (دقیقه) | 30 |
| ضریب عقبنشینی | 1.3 |
| حداکثر زمان انتظار (دقیقه) | 60 (۱ ساعت) |
| حداکثر زمان کل (دقیقه) | 1440 (۲۴ ساعت) |
در اینجا توالی درخواستها و زمان سپریشده با این پیکربندی را میبینید:
نمودار

داده
| تلاش | زمان از درخواست انتقال داده (سس:دد) | تأخیر قبلاز تلاش مجدد | یادداشتها |
|---|---|---|---|
| 1 | 00:30 | ۳۰ دقیقه | ابتدا دردسترس بودن وضعیت را بررسی کنید |
| 2 | 01:09 | ۳۹٫۰ دقیقه | |
| 3 | 01:59 | ۵۰٫۷ دقیقه | |
| 4 | 02:59 | ۶۰٫۰ دقیقه | تأخیر اکنون به ۱ ساعت محدود شده است |
| 5 | 03:59 | ۶۰٫۰ دقیقه | |
| 6 | 04:59 | ۶۰٫۰ دقیقه | |
| 7 | 05:59 | ۶۰٫۰ دقیقه | |
| 8 | 06:59 | ۶۰٫۰ دقیقه | |
| 9 | 07:59 | ۶۰٫۰ دقیقه | |
| 10 | 08:59 | ۶۰٫۰ دقیقه | |
| 11 | 09:59 | ۶۰٫۰ دقیقه | |
| 12 | 10:59 | ۶۰٫۰ دقیقه | |
| 13 | 11:59 | ۶۰٫۰ دقیقه | علامت ۱۲ ساعته |
| 14 | 12:59 | ۶۰٫۰ دقیقه | |
| 15 | 13:59 | ۶۰٫۰ دقیقه | |
| 16 | 14:59 | ۶۰٫۰ دقیقه | |
| 17 | 15:59 | ۶۰٫۰ دقیقه | |
| 18 | 16:59 | ۶۰٫۰ دقیقه | |
| 19 | 17:59 | ۶۰٫۰ دقیقه | |
| 20 | 18:59 | ۶۰٫۰ دقیقه | |
| 21 | 19:59 | ۶۰٫۰ دقیقه | |
| 22 | 20:59 | ۶۰٫۰ دقیقه | |
| 23 | 21:59 | ۶۰٫۰ دقیقه | |
| 24 | 22:59 | ۶۰٫۰ دقیقه | |
| 25 | 23:59 | ۶۰٫۰ دقیقه | آخرین درخواست قبلاز حداکثر زمان کل ۲۴ ساعت |
مقدار تصادفی کوچکی از لرزش به تأخیرهای عقبنشینی اضافه کنید تا از مشکل «گله رعدآسا» که در آن بسیاری از مشتریان بهطور همزمان دوباره امتحان میکنند، جلوگیری شود.
الزامات صدور مجوز
RetrieveRequestStatusRequest حسابهای مقصد یا سرایندهای درخواست را نمیپذیرد. درعوض، Data Manager API مقصدهای درخواست دریافت اصلی مرتبط با request_id را شناسایی میکند و تأیید میکند که تماسگیرنده به operating_account در هر Destination دسترسی دارد.
برای بررسی وضعیت درخواست، اطلاعات اعتباری استفادهشده در
RetrieveRequestStatusRequest باید شرایط زیر را برای operating_account هر مقصد از درخواست اصلی
دریافت داده برآورده کند:
مسیر دسترسی یکسان: اعتبارنامهها باید به هر
operating_accountبااستفاده از دقیقاً همان مسیر دسترسی مشخصشده در درخواست اصلی درج داده دسترسی داشته باشند.برای مثال، اگر درخواست انتقال برای Google Ads
operating_accountیک حساب مدیر اصلی را بهعنوانlogin_accountمشخص کرده باشد، اعتبارنامهها نیز باید ازطریق همان حساب مدیر بهoperating_accountدسترسی داشته باشند. حتی اگر «حساب Google» مرتبط با اطلاعات کاربری دسترسی مستقیم بهoperating_accountفرزند داشته باشد، اگر آن حساب ازطریق حساب مدیرlogin_accountمشخصشده درطول آمادهسازی دسترسی نداشته باشد، درخواست با خطایPERMISSION_DENIEDناموفق میشود.سطح دسترسی کافی: «حساب Google» مرتبط با اطلاعات کاربری باید سطح دسترسی یا نقشی داشته باشد که اجازه وارد کردن داده به
operating_accountرا داشته باشد.برای مثال، در Google Ads، «حساب Google» باید سطح دسترسی سرپرست یا استاندارد داشته باشد. درخواست با اطلاعات کاربری برای حسابی با سطح دسترسی فقط خواندنی با خطای
PERMISSION_DENIEDناموفق میشود.