در مارس ۲۰۲۲، نسخه ۲ رابط برنامهنویسی کاربردی Bid Manager را منتشر کردیم. با توجه به انتشار این نسخه جدید، قصد داریم به زودی تاریخ پایان پشتیبانی از نسخه ۱.۱ را اعلام کنیم. توصیه میکنیم در اسرع وقت مهاجرت خود را از نسخه ۱.۱ به نسخه ۲ آغاز کنید.
برنامه خود را مهاجرت دهید
مهاجرت از نسخه ۱.۱ به نسخه ۲ نیازمند بهروزرسانی URLهای نقاط پایانی برای فراخوانی نسخه ۲ و بهروزرسانی برنامه برای در نظر گرفتن تغییرات ناگهانی است.
فراخوانیهای API خود را از نسخه ۱.۱ به نسخه ۲ بهروزرسانی کنید
برای استفاده از نسخه ۲ به جای نسخه ۱.۱، باید درخواستهای خود را برای استفاده از نقاط پایانی جدید نسخه ۲ بهروزرسانی کنید.
شناسایی روشهای معادل
برای بهروزرسانی فراخوانیهای API خود از نسخه ۱.۱ به نسخه ۲، ابتدا باید متدهای معادل نسخه ۱.۱ را در نسخه ۲ شناسایی کنید.
نامهای زیر برای تمام سرویسها و متدها بین نسخه ۱.۱ و نسخه ۲ کمی تغییر کردهاند:
-
QueriesوReportsسرویسها در نسخه ۱.۱ با نامqueriesو در نسخه ۲ باqueries.reportsشناخته میشوند. - متدها در نسخه ۲ به صورت زیر تغییر نام دادهاند:
بهروزرسانی به نقاط پایانی جدید
پس از شناسایی متدهای معادل، باید درخواستهای خود را بهروزرسانی کنید. برای مثال، برای فراخوانی متد queries.getquery با نسخه ۱.۱، از URL زیر استفاده خواهید کرد:
https://www.googleapis.com/doubleclickbidmanager/v1.1/query/queryId
برای فراخوانی متد معادل در نسخه ۲، که با نام queries.get شناخته میشود، URL را به صورت زیر بهروزرسانی کنید:
GET https://doubleclickbidmanager.googleapis.com/v2/queries/queryId
اگر از یک کتابخانه کلاینت برای ارسال درخواست به API استفاده میکنید، از جدیدترین نسخه کتابخانه کلاینت استفاده کنید و پیکربندی خود را برای استفاده از نسخه ۲ بهروزرسانی کنید.
اعمال تغییرات مورد نیاز
ما تعدادی تغییر اساسی را در نسخه ۲ معرفی میکنیم. دستورالعملهای زیر را مرور کنید و تغییرات لازم را که مربوط به استفاده فعلی شما از API مدیریت پیشنهادات است، اعمال کنید.
بهروزرسانی تماسها به سرویس queries
- فیلدهای زیر در منبع
Queryکه در ابتدا توسط اشیاء تو در تو نمایش داده میشدند، برای استفاده از انواع اشیاء زیر تغییر یافتهاند: - فیلدهای زیر در منبع
Queryکه در ابتدا توسط اشیاء لیست عمومی نمایش داده میشدند، به لیستهایی از انواع اشیاء جدید زیر تغییر یافتهاند: - فیلدهای زیر در منبع
Query، که در ابتدا توسط رشتهها نمایش داده میشدند، در نسخه ۲ توسط انواع enum نمایش داده میشوند و شامل تغییرات زیر میشوند:- معادل نسخه ۲ تابع
metadata.dataRangeاکنون از نوع شمارشیRangeاستفاده میکند. در تبدیل به این نوع شمارشی، مقدارPREVIOUS_HALF_MONTHحذف شده و مقدارTYPE_NOT_SUPPORTEDبهRANGE_UNSPECIFIEDتغییر یافته است. -
metadata.formatاکنون از نوع شمارشیFormatاستفاده میکند. در تبدیل به این نوع شمارشی، مقدارEXCEL_CSVحذف و مقدارFORMAT_UNSPECIFIEDاضافه شده است. -
params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.match وparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.match اکنون از نوع شمارشیMatchاستفاده میکنند. -
params.options.pathQueryOptions.pathFilters[].pathMatchPositionاکنون از enumPathMatchPositionاستفاده میکند. در تبدیل به این enum، مقدارPATH_MATCH_POSITION_UNSPECIFIEDاضافه شده است. -
schedule.frequencyاکنون از نوع شمارشیFrequencyاستفاده میکند. در تبدیل به این نوع شمارشی، مقدارFREQUENCY_UNSPECIFIEDاضافه شده است. -
params.typeاکنون از نوع شمارشیReportTypeاستفاده میکند. در تبدیل به این نوع شمارشی، تغییرات زیر اعمال شده است: - مقادیر زیر منسوخ شدهاند:
-
TYPE_ACTIVE_GRP -
TYPE_AUDIENCE_PERFORMANCE -
TYPE_CLIENT_SAFE -
TYPE_COMSCORE_VCE -
TYPE_CROSS_FEE -
TYPE_CROSS_PARTNER -
TYPE_CROSS_PARTNER_THIRD_PARTY_DATA_PROVIDER -
TYPE_ESTIMATED_CONVERSION -
TYPE_FEE -
TYPE_KEYWORD -
TYPE_LINEAR_TV_SEARCH_LIFT -
TYPE_NIELSEN_AUDIENCE_PROFILE -
TYPE_NIELSEN_DAILY_REACH_BUILD -
TYPE_NIELSEN_ONLINE_GLOBAL_MARKET -
TYPE_PAGE_CATEGORY -
TYPE_PETRA_NIELSEN_DAILY_REACH_BUILD -
TYPE_PETRA_NIELSEN_ONLINE_GLOBAL_MARKET -
TYPE_PIXEL_LOAD -
TYPE_THIRD_PARTY_DATA_PROVIDER -
TYPE_TRUEVIEW_IAR -
TYPE_VERIFICATION -
TYPE_YOUTUBE_VERTICAL
-
- مقادیر باقیمانده همگی بهروزرسانی شدهاند تا مقادیر معادل خود را در رابط کاربری بهتر نشان دهند:
مقادیر نسخه ۱.۱ مقدار معادل ReportTypeTYPE_NOT_SUPPORTEDREPORT_TYPE_UNSPECIFIEDTYPE_GENERALSTANDARDTYPE_INVENTORY_AVAILABILITYINVENTORY_AVAILABILITYTYPE_AUDIENCE_COMPOSITIONAUDIENCE_COMPOSITIONTYPE_ORDER_IDFLOODLIGHTTYPE_TRUEVIEWYOUTUBETYPE_NIELSEN_SITEGRPTYPE_PETRA_NIELSEN_AUDIENCE_PROFILEYOUTUBE_PROGRAMMATIC_GUARANTEEDTYPE_REACH_AND_FREQUENCYREACHTYPE_REACH_AUDIENCEUNIQUE_REACH_AUDIENCETYPE_PATHFULL_PATHTYPE_PATH_ATTRIBUTIONPATH_ATTRIBUTION
- معادل نسخه ۲ تابع
- فیلدهای
metadata.dataRange،reportDataStartTimeMsوreportDataEndTimeMsبا فیلدهایrange،customStartDateوcustomEndDateجایگزین شدهاند. فیلدهای تاریخ جدید از زمان Unix Epoch به جای میلیثانیه از اشیاءDateاستفاده میکنند. این فیلدهای جایگزین به شیءDataRangeاختصاص داده شده به فیلدdataRangeدر شیءQueryMetadataمنتقل شدهاند. - فیلدهای
schedule.startTimeMsوschedule.endTimeMsبا فیلدهایstartDateوendDateدر شیءQueryScheduleجایگزین شدهاند. فیلدهای تاریخ جدید از اشیاءDateبه جای میلیثانیه از زمان Unix Epoch استفاده میکنند. - فیلدهای
metadata.running،metadata.reportCount،metadata.googleCloudStoragePathForLatestReport،metadata.googleDrivePathForLatestReportوmetadata.latestReportRunTimeMsحذف شدهاند. در عوض، اطلاعات مربوط به جدیدترین گزارشهای تولید شده از یک پرسوجو باید با استفاده از متدqueries.reports.listبا پارامتر پرسوجویorderByاز نوع "key.reportId desc" بازیابی شوند تا تضمین شود که درخواست، جدیدترین گزارشها را در ابتدا فهرست میکند. - فیلدهای
kind،timezoneCode،metadata.locale،params.includeInviteDataوschedule.nextRunMinuteOfDayحذف شدهاند. -
queries.createدیگر به طور خودکار پس از ایجاد، پرسوجوها را اجرا نمیکند و پارامتر پرسوجویasynchronousحذف شده است. برای تولید گزارش برای پرسوجوهای جدید،queries.runرا پس ازqueries.createفراخوانی کنید. - متد
queries.runبه روشهای زیر بهروزرسانی شده است:- پارامتر پرسوجوی
asynchronousبا پارامتر پرسوجویsynchronousجایگزین شده است. پارامتر پرسوجوی جدید با منطق معکوس عمل میکند و در صورت عدم تعیین مقدار، نادرست در نظر گرفته میشود. با توجه به این موضوع،queries.runبه طور پیشفرض در نسخه ۲ گزارشها را به صورت ناهمگام تولید میکند، برخلاف همزمانی که در نسخه ۱.۱ پیشفرض است. - بدنه درخواست بهروزرسانی شده است تا فیلد
timezoneCodeحذف شده و فیلدهایdataRange،reportDataStartTimeMsوreportDataEndTimeMsبا یک شیءDataRangeاختصاص داده شده به فیلدdataRangeجایگزین شوند. - این متد به جای یک بدنه پاسخ خالی، شیء
Reportحاصل را برمیگرداند.
- پارامتر پرسوجوی
- فیلد
kindدر بدنه پاسخqueries.listحذف شده است.
بهروزرسانی تماسها به سرویس reports
- فیلدهای زیر در منبع
Reportکه در ابتدا توسط اشیاء تو در تو عمومی نمایش داده میشدند، برای استفاده از انواع اشیاء زیر تغییر یافتهاند: - فیلدهای زیر در منبع
Reportکه در ابتدا توسط اشیاء لیست عمومی نمایش داده میشدند، به لیستهایی از انواع اشیاء جدید زیر تغییر یافتهاند: - فیلدهای زیر در منبع
Reportکه در ابتدا توسط رشتهها نمایش داده میشدند، تغییر کردهاند، بنابراین فیلدهای معادل آنها در نسخه ۲ توسط انواع شمارشی جدید نمایش داده میشوند و شامل تغییراتی در مقادیر قابل قبول میشوند:-
metadata.status.formatاکنون از نوع شمارشیFormatاستفاده میکند. در تبدیل به این نوع شمارشی، مقدارEXCEL_CSVحذف وFORMAT_UNSPECIFIEDاضافه شده است. -
metadata.status.stateاکنون از شمارشگرStateاستفاده میکند. در تبدیل به این شمارشگر، مقادیرQUEUEDوSTATE_UNSPECIFIEDاضافه شدهاند. -
params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.match وparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.match اکنون از نوع شمارشیMatchاستفاده میکنند. -
params.options.pathQueryOptions.pathFilters[].pathMatchPositionاکنون از enumPathMatchPositionاستفاده میکند. در تبدیل به این enum، مقدارPATH_MATCH_POSITION_UNSPECIFIEDاضافه شده است. -
params.typeاکنون از نوع شمارشیReportTypeاستفاده میکند. در تبدیل به این نوع شمارشی، تغییرات زیادی ایجاد شده است که در بخش قبلی در مورد بهروزرسانی فراخوانیهای سرویس کوئریها به تفصیل فهرست شدهاند.
-
- فیلدهای
metadata.reportDataStartTimeMsوmetadata.reportDataEndTimeMsبا فیلدهایreportDataStartDateوreportDataEndDateدر شیءReportMetadataجایگزین شدهاند. فیلدهای جدید از اشیاءDateبه جای میلیثانیه از زمان Unix Epoch استفاده میکنند. - فیلد
finishTimeدر شیءReportStatusجایگزینmetadata.status.finishTimeMsشده است. این فیلد زمان جدید، datetime را به عنوان یک مهر زمانی در قالب RFC3339 UTC "Zulu" به جای میلی ثانیه از زمان Unix Epoch نشان میدهد. - فیلدهای
metadata.status.failureوparams.includeInviteDataحذف شدهاند. - فیلد
kindدر بدنه پاسخreports.listحذف شده است.
منطق مدیریت خطا را بهروزرسانی کنید
پیامهای خطا در سراسر API در نسخه ۲ بهروزرسانی شدهاند. این پیامهای خطای جدید خاصتر هستند و در برخی موارد، اطلاعاتی در مورد مقادیر موجود در درخواست API که باعث بازگشت خطا میشوند، ارائه میدهند. اگر منطق مدیریت خطای فعلی شما به متن پیام خطای خاصی متکی است، قبل از مهاجرت به نسخه ۲، مدیریت خطای خود را تعمیم دهید.