बिड मैनेजर एपीआई के 1.1 वर्शन से वर्शन 2 पर माइग्रेट करना

हमने मार्च 2022 में, Bid Manager API का वर्शन 2 रिलीज़ किया था. इस नए वर्शन के रिलीज़ होने के बाद, हम जल्द ही v1.1 के बंद होने की तारीख का एलान करेंगे. हमारा सुझाव है कि आप जल्द से जल्द v1.1 से v2 पर माइग्रेट करें.

अपना ऐप्लिकेशन माइग्रेट करना

v1.1 से v2 पर माइग्रेट करने के लिए, आपको v2 को कॉल करने के लिए अपने एंडपॉइंट यूआरएल अपडेट करने होंगे. साथ ही, आपको अपने ऐप्लिकेशन को अपडेट करना होगा, ताकि वह बड़े बदलावों को ध्यान में रख सके.

एपीआई कॉल को v1.1 से v2 पर अपडेट करें

v1.1 के बजाय v2 का इस्तेमाल करने के लिए, आपको अपने अनुरोधों को नए v2 एंडपॉइंट का इस्तेमाल करने के लिए अपडेट करना होगा.

एक जैसी समस्याओं को हल करने के लिए इस्तेमाल की जाने वाली अलग-अलग विधियों की पहचान करना

एपीआई कॉल को v1.1 से v2 पर अपडेट करने के लिए, आपको सबसे पहले v2 में v1.1 के बराबर के तरीकों की पहचान करनी होगी.

v1.1 और v2 के बीच, सभी सेवाओं और तरीकों के इन नामों में थोड़ा बदलाव किया गया है:

नए एंडपॉइंट पर अपडेट करना

मिलते-जुलते तरीकों की पहचान करने के बाद, आपको अपने अनुरोधों को अपडेट करना होगा. उदाहरण के लिए, v1.1 के साथ queries.getquery तरीके को कॉल करने के लिए, आपको इस यूआरएल का इस्तेमाल करना होगा:

https://www.googleapis.com/doubleclickbidmanager/v1.1/query/queryId

v2 में इसी तरह के तरीके को कॉल करने के लिए, जिसे queries.get कहा जाता है, यूआरएल को इस तरह अपडेट करें:

GET https://doubleclickbidmanager.googleapis.com/v2/queries/queryId

अगर एपीआई से अनुरोध करने के लिए क्लाइंट लाइब्रेरी का इस्तेमाल किया जा रहा है, तो क्लाइंट लाइब्रेरी के सबसे नए वर्शन का इस्तेमाल करें. साथ ही, v2 का इस्तेमाल करने के लिए अपने कॉन्फ़िगरेशन को अपडेट करें.

ज़रूरी बदलाव करना

हम v2 में कई ऐसे बदलाव कर रहे हैं जिनसे मौजूदा सिस्टम पर असर पड़ सकता है. यहां दिए गए निर्देशों को पढ़ें और Bid Manager API के मौजूदा इस्तेमाल से जुड़े ज़रूरी बदलाव करें.

queries सेवा पर किए गए कॉल अपडेट करें

  • Query रिसॉर्स में, सामान्य नेस्ट किए गए ऑब्जेक्ट के तौर पर दिखाए गए इन फ़ील्ड को अब इन ऑब्जेक्ट टाइप का इस्तेमाल करने के लिए बदल दिया गया है:
    v1.1 फ़ील्डv2 ऑब्जेक्ट टाइप के बराबर
    metadata QueryMetadata
    params Parameters
    params.options Options
    params.options.pathQueryOptions हटाया गया
    params.options.pathQueryOptions.channelGrouping हटाया गया
    params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter हटाया गया
    params.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter हटाया गया
    schedule QuerySchedule
  • Query संसाधन में मौजूद इन फ़ील्ड को, सामान्य सूची वाले ऑब्जेक्ट के तौर पर दिखाया जाता था. अब इन्हें इन नए ऑब्जेक्ट टाइप की सूचियों के तौर पर दिखाया जाएगा:
    सूची वाले फ़ील्ड का वर्शन 1.1v2 ऑब्जेक्ट टाइप
    params.filters[] FilterPair
    params.options.pathQueryOptions.channelGrouping.rules[] हटाया गया
    params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[] हटाया गया
    params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[] हटाया गया
    params.options.pathQueryOptions.pathFilters[] हटाया गया
    params.options.pathQueryOptions.pathFilters[].eventFilters[] हटाया गया
  • Query रिसॉर्स में मौजूद इन फ़ील्ड को मूल रूप से स्ट्रिंग के तौर पर दिखाया जाता था. हालांकि, v2 में इन्हें enum टाइप के तौर पर दिखाया जाता है. इनमें ये बदलाव शामिल हैं:
    • metadata.dataRange के v2 वर्शन में अब Range enum का इस्तेमाल किया जाता है. इस enum में बदलने के दौरान, वैल्यू PREVIOUS_HALF_MONTH को हटा दिया गया है और वैल्यू TYPE_NOT_SUPPORTED को RANGE_UNSPECIFIED में बदल दिया गया है.
    • metadata.format अब Format enum का इस्तेमाल करता है. इस enum में बदलने के दौरान, वैल्यू EXCEL_CSV को हटा दिया गया है और वैल्यू FORMAT_UNSPECIFIED को जोड़ दिया गया है.
    • params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.match और params.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.match अब Match enum का इस्तेमाल करते हैं.
    • params.options.pathQueryOptions.pathFilters[].pathMatchPosition अब PathMatchPosition enum का इस्तेमाल करता है. इस enum में बदलते समय, वैल्यू PATH_MATCH_POSITION_UNSPECIFIED जोड़ी गई है.
    • schedule.frequency अब Frequency enum का इस्तेमाल करता है. इस enum में बदलने के दौरान, वैल्यू FREQUENCY_UNSPECIFIED जोड़ी गई है.
    • params.type अब ReportType enum का इस्तेमाल करता है. इस enum में बदलने के दौरान, ये बदलाव किए गए हैं:
    • इन वैल्यू का इस्तेमाल अब नहीं किया जा सकता:
      • 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
    • बची हुई सभी वैल्यू को अपडेट कर दिया गया है, ताकि यूज़र इंटरफ़ेस (यूआई) में उनकी वैल्यू बेहतर तरीके से दिखें:
      v1.1 वैल्यूReportType एट्रिब्यूट की मिलती-जुलती वैल्यू
      TYPE_NOT_SUPPORTED REPORT_TYPE_UNSPECIFIED
      TYPE_GENERAL STANDARD
      TYPE_INVENTORY_AVAILABILITY INVENTORY_AVAILABILITY
      TYPE_AUDIENCE_COMPOSITION AUDIENCE_COMPOSITION
      TYPE_ORDER_ID FLOODLIGHT
      TYPE_TRUEVIEW YOUTUBE
      TYPE_NIELSEN_SITE GRP
      TYPE_PETRA_NIELSEN_AUDIENCE_PROFILE YOUTUBE_PROGRAMMATIC_GUARANTEED
      TYPE_REACH_AND_FREQUENCY REACH
      TYPE_REACH_AUDIENCE UNIQUE_REACH_AUDIENCE
      TYPE_PATH FULL_PATH
      TYPE_PATH_ATTRIBUTION PATH_ATTRIBUTION
  • metadata.dataRange, reportDataStartTimeMs, और reportDataEndTimeMs फ़ील्ड को range, customStartDate, और customEndDate फ़ील्ड से बदल दिया गया है. नए तारीख वाले फ़ील्ड, Unix Epoch के बाद से मिलीसेकंड के बजाय Date ऑब्जेक्ट का इस्तेमाल करते हैं. बदले गए इन फ़ील्ड को, DataRange ऑब्जेक्ट में ले जाया गया है. यह ऑब्जेक्ट, QueryMetadata ऑब्जेक्ट में मौजूद dataRange फ़ील्ड को असाइन किया गया है.
  • QuerySchedule ऑब्जेक्ट में, फ़ील्ड schedule.startTimeMs और schedule.endTimeMs को फ़ील्ड startDate और endDate से बदल दिया गया है. नए तारीख वाले फ़ील्ड, Unix Epoch के बाद से मिलीसेकंड के बजाय Date ऑब्जेक्ट का इस्तेमाल करते हैं.
  • metadata.running, metadata.reportCount, metadata.googleCloudStoragePathForLatestReport, metadata.googleDrivePathForLatestReport, और metadata.latestReportRunTimeMs फ़ील्ड हटा दिए गए हैं. क्वेरी की सबसे हाल ही में जनरेट की गई रिपोर्ट की जानकारी पाने के लिए, queries.reports.list तरीके का इस्तेमाल करना चाहिए. साथ ही, “key.reportId desc” के orderBy क्वेरी पैरामीटर का इस्तेमाल करना चाहिए. इससे यह पक्का किया जा सकेगा कि अनुरोध में सबसे हाल की रिपोर्ट सबसे ऊपर दिखें.
  • kind, timezoneCode, metadata.locale, params.includeInviteData, और schedule.nextRunMinuteOfDay फ़ील्ड हटा दिए गए हैं.
  • queries.create अब क्वेरी बनाने के बाद, अपने-आप क्वेरी नहीं चलाता. साथ ही, asynchronous क्वेरी पैरामीटर को हटा दिया गया है. नई क्वेरी के लिए रिपोर्ट जनरेट करने के लिए, queries.create के बाद queries.run को कॉल करें.
  • queries.run तरीके को इन तरीकों से अपडेट किया गया है:
    • asynchronous क्वेरी पैरामीटर को synchronous क्वेरी पैरामीटर से बदल दिया गया है. नया क्वेरी पैरामीटर, उल्टे लॉजिक के साथ काम करता है. अगर इसे तय नहीं किया जाता है, तो इसे गलत माना जाता है. इसलिए, queries.run, v2 में डिफ़ॉल्ट रूप से रिपोर्ट को एसिंक्रोनस तरीके से जनरेट करता है. वहीं, v1.1 में रिपोर्ट को सिंक्रोनस तरीके से जनरेट किया जाता है.
    • अनुरोध के मुख्य हिस्से को अपडेट किया गया है. इसमें timezoneCode फ़ील्ड को हटा दिया गया है. साथ ही, dataRange, reportDataStartTimeMs, और reportDataEndTimeMs फ़ील्ड को dataRange फ़ील्ड को असाइन किए गए DataRange ऑब्जेक्ट से बदल दिया गया है.
    • यह तरीका, खाली रिस्पॉन्स बॉडी के बजाय, नतीजे के तौर पर मिले Report ऑब्जेक्ट को दिखाता है.
  • queries.list रिस्पॉन्स बॉडी में मौजूद kind फ़ील्ड को हटा दिया गया है.

reports सेवा पर किए गए कॉल अपडेट करें

  • Report संसाधन में मौजूद इन फ़ील्ड को, मूल रूप से सामान्य नेस्ट किए गए ऑब्जेक्ट के तौर पर दिखाया गया था. अब इनमें इन ऑब्जेक्ट टाइप का इस्तेमाल किया जाता है:
    v1.1 फ़ील्डv2 ऑब्जेक्ट टाइप के बराबर
    key ReportKey
    metadata ReportMetadata
    metadata.status ReportStatus
    params Parameters
    params.options Options
    params.options.pathQueryOptions हटाया गया
    params.options.pathQueryOptions.channelGrouping हटाया गया
    params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter हटाया गया
    params.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter हटाया गया
  • Report संसाधन में, सामान्य सूची ऑब्जेक्ट के तौर पर दिखाए गए इन फ़ील्ड को अब नए ऑब्जेक्ट टाइप की सूचियों के तौर पर दिखाया जाएगा:
    सूची वाले फ़ील्ड का वर्शन 1.1v2 ऑब्जेक्ट टाइप
    params.filters[] FilterPair
    params.options.pathQueryOptions.channelGrouping.rules[] हटाया गया
    params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[] हटाया गया
    params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[] हटाया गया
    params.options.pathQueryOptions.pathFilters[] हटाया गया
    params.options.pathQueryOptions.pathFilters[].eventFilters[] हटाया गया
  • Report रिसोर्स में मौजूद इन फ़ील्ड को मूल रूप से स्ट्रिंग के तौर पर दिखाया जाता था. अब इन्हें बदल दिया गया है, ताकि v2 में इनके बराबर के फ़ील्ड को नए enum टाइप के तौर पर दिखाया जा सके. साथ ही, स्वीकार की जा सकने वाली वैल्यू में भी बदलाव किए गए हैं:
    • metadata.status.format अब Format enum का इस्तेमाल करता है. इस enum में बदलने के दौरान, EXCEL_CSV वैल्यू को हटा दिया गया है और FORMAT_UNSPECIFIED को जोड़ दिया गया है.
    • metadata.status.state अब State enum का इस्तेमाल करता है. इस enum में बदलते समय, QUEUED और STATE_UNSPECIFIED वैल्यू जोड़ी गई हैं.
    • params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.match और params.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.match अब Match enum का इस्तेमाल करते हैं.
    • params.options.pathQueryOptions.pathFilters[].pathMatchPosition अब PathMatchPosition enum का इस्तेमाल करता है. इस enum में बदलते समय, वैल्यू PATH_MATCH_POSITION_UNSPECIFIED जोड़ी गई है.
    • params.type अब ReportType enum का इस्तेमाल करता है. इस enum में बदलने के दौरान, कई बदलाव किए गए हैं. इनके बारे में, क्वेरी सेवा कॉल को अपडेट करने से जुड़े पिछले सेक्शन में पूरी जानकारी दी गई है.
  • ReportMetadata ऑब्जेक्ट में, metadata.reportDataStartTimeMs और metadata.reportDataEndTimeMs फ़ील्ड की जगह reportDataStartDate और reportDataEndDate फ़ील्ड जोड़ दिए गए हैं. नए फ़ील्ड, Unix Epoch के बाद के मिलीसेकंड के बजाय Date ऑब्जेक्ट का इस्तेमाल करते हैं.
  • metadata.status.finishTimeMs को ReportStatus ऑब्जेक्ट में मौजूद finishTime फ़ील्ड से बदल दिया गया है. यह नया टाइम फ़ील्ड, तारीख और समय को यूनिक्स इपॉक के बाद से मिलीसेकंड में दिखाने के बजाय, आरएफ़सी3339 यूटीसी "Zulu" फ़ॉर्मैट में टाइमस्टैंप के तौर पर दिखाता है.
  • metadata.status.failure और params.includeInviteData फ़ील्ड हटा दिए गए हैं.
  • reports.list रिस्पॉन्स बॉडी में मौजूद kind फ़ील्ड को हटा दिया गया है.

गड़बड़ी की जानकारी मैनेज करने के लॉजिक को अपडेट करना

एपीआई के सभी गड़बड़ी के मैसेज को v2 में अपडेट कर दिया गया है. ये नए गड़बड़ी के मैसेज ज़्यादा सटीक हैं. साथ ही, कुछ मामलों में ये एपीआई अनुरोध में मौजूद उन वैल्यू के बारे में जानकारी देते हैं जिनकी वजह से गड़बड़ी हुई है. अगर गड़बड़ी को ठीक करने के लिए इस्तेमाल किया जा रहा मौजूदा लॉजिक, गड़बड़ी के मैसेज के किसी खास टेक्स्ट पर निर्भर करता है, तो v2 पर माइग्रेट करने से पहले, गड़बड़ी को ठीक करने के लिए इस्तेमाल किए जा रहे लॉजिक को सामान्य बनाएं.