diff --git a/src/main/java/org/prebid/server/spring/config/bidder/util/BidderDepsAssembler.java b/src/main/java/org/prebid/server/spring/config/bidder/util/BidderDepsAssembler.java index 415a20f8ee2..d81bbc02d26 100644 --- a/src/main/java/org/prebid/server/spring/config/bidder/util/BidderDepsAssembler.java +++ b/src/main/java/org/prebid/server/spring/config/bidder/util/BidderDepsAssembler.java @@ -21,6 +21,7 @@ import org.prebid.server.spring.config.bidder.model.MetaInfo; import org.prebid.server.spring.config.bidder.model.usersync.UsersyncConfigurationProperties; import org.prebid.server.spring.env.YamlPropertySourceFactory; +import org.prebid.server.util.ObjectUtil; import org.springframework.boot.context.properties.bind.Binder; import org.springframework.boot.context.properties.source.MapConfigurationPropertySource; import org.springframework.core.io.InputStreamResource; @@ -210,11 +211,17 @@ private CFG configurationAsPropertiesObject(Object configuration, Class targe @SuppressWarnings({"unchecked", "rawtypes"}) private CFG mergeConfigurations(CFG aliasConfiguration, CFG coreConfiguration) { try { + final Integer aliasVendorId = ObjectUtil.getIfNotNull( + aliasConfiguration.getMetaInfo(), MetaInfo::getVendorId); final JsonNode mergedNode = JsonMergePatch .fromJson(MAPPER.valueToTree(aliasConfiguration)) .apply(MAPPER.valueToTree(coreConfiguration)); - return (CFG) MAPPER.treeToValue(mergedNode, (Class) coreConfiguration.getSelfClass()); + final CFG mergedConfiguration = (CFG) MAPPER.treeToValue( + mergedNode, (Class) coreConfiguration.getSelfClass()); + mergedConfiguration.getMetaInfo().setVendorId(aliasVendorId); + + return mergedConfiguration; } catch (JsonPatchException | JsonProcessingException e) { throw new IllegalArgumentException("Exception occurred while merging alias configuration", e); } diff --git a/src/main/resources/bidder-config/adf.yaml b/src/main/resources/bidder-config/adf.yaml index 7aa57c8ecae..5f25325dcf6 100644 --- a/src/main/resources/bidder-config/adf.yaml +++ b/src/main/resources/bidder-config/adf.yaml @@ -2,7 +2,9 @@ adapters: adf: endpoint: https://adx.adform.net/adx/openrtb aliases: - adform: ~ + adform: + meta-info: + vendor-id: 50 meta-info: maintainer-email: scope.sspp@adform.com app-media-types: diff --git a/src/main/resources/bidder-config/adkernel.yaml b/src/main/resources/bidder-config/adkernel.yaml index 1f594cf7275..a2307cff83c 100644 --- a/src/main/resources/bidder-config/adkernel.yaml +++ b/src/main/resources/bidder-config/adkernel.yaml @@ -3,8 +3,12 @@ adapters: endpoint: http://pbs.adksrv.com/hb?zone={ZoneId} endpoint-compression: gzip aliases: - rxnetwork: ~ - 152media: ~ + rxnetwork: + meta-info: + vendor-id: 0 + 152media: + meta-info: + vendor-id: 1111 xapads: enabled: false meta-info: diff --git a/src/main/resources/bidder-config/admatic.yaml b/src/main/resources/bidder-config/admatic.yaml index 3085797000c..a65d6502441 100644 --- a/src/main/resources/bidder-config/admatic.yaml +++ b/src/main/resources/bidder-config/admatic.yaml @@ -6,24 +6,30 @@ adapters: enabled: false meta-info: maintainer-email: publisher@adtarget.com.tr - vendor-id: 779 + vendor-id: 779 pixad: enabled: false meta-info: maintainer-email: prebid@pixad.com.tr + vendor-id: 1281 monetixads: enabled: false meta-info: maintainer-email: team@monetixads.com + vendor-id: 1281 admaticde: enabled: false + meta-info: + vendor-id: 1281 yobee: enabled: false meta-info: maintainer-email: adops@yobee.it + vendor-id: 1281 netaddiction: meta-info: maintainer-email: publishers-support@netaddiction.it + vendor-id: 1281 meta-info: maintainer-email: prebid@admatic.com.tr app-media-types: diff --git a/src/main/resources/bidder-config/adtelligent.yaml b/src/main/resources/bidder-config/adtelligent.yaml index faeb18c9bdf..8e4775294c0 100644 --- a/src/main/resources/bidder-config/adtelligent.yaml +++ b/src/main/resources/bidder-config/adtelligent.yaml @@ -17,25 +17,25 @@ adapters: - video site-media-types: - video - vendor-id: 0 + vendor-id: 410 janet: enabled: false endpoint: http://ghb.bidder.jmgads.com/pbs/ortb meta-info: maintainer-email: info@thejmg.com - vendor-id: 0 + vendor-id: 410 pgam: enabled: false endpoint: http://ghb.pgamssp.com/pbs/ortb meta-info: maintainer-email: ppatel@pgammedia.com - vendor-id: 0 + vendor-id: 1353 copper6: enabled: false endpoint: http://ghb.app.copper6.com/pbs/ortb meta-info: maintainer-email: info@copper6.com - vendor-id: 0 + vendor-id: 1356 indicue: enabled: false endpoint: http://ghb.console.indicue.com/pbs/ortb diff --git a/src/main/resources/bidder-config/adverxo.yaml b/src/main/resources/bidder-config/adverxo.yaml index 469aec0ce59..988897fcddc 100644 --- a/src/main/resources/bidder-config/adverxo.yaml +++ b/src/main/resources/bidder-config/adverxo.yaml @@ -6,6 +6,8 @@ adapters: adport: enabled: false endpoint: https://adport.pbsadverxo.com/auction?id={adUnitId}&auth={auth} + meta-info: + vendor-id: 0 usersync: enabled: false cookie-family-name: adport @@ -18,6 +20,8 @@ adapters: bidsmind: enabled: false endpoint: https://bidsmind.pbsadverxo.com/auction?id={adUnitId}&auth={auth} + meta-info: + vendor-id: 0 usersync: enabled: false cookie-family-name: bidsmind @@ -30,6 +34,8 @@ adapters: harrenmedia: enabled: false endpoint: https://harrenmedia.pbsadverxo.com/auction?id={adUnitId}&auth={auth} + meta-info: + vendor-id: 0 usersync: enabled: false cookie-family-name: harrenmedia diff --git a/src/main/resources/bidder-config/apacdex.yaml b/src/main/resources/bidder-config/apacdex.yaml index 1fb97e98e34..974857be722 100644 --- a/src/main/resources/bidder-config/apacdex.yaml +++ b/src/main/resources/bidder-config/apacdex.yaml @@ -3,8 +3,12 @@ adapters: modifying-vast-xml-allowed: false endpoint: http://useast.quantumdex.io/auction/pbs aliases: - quantumdex: ~ - valueimpression: ~ + quantumdex: + meta-info: + vendor-id: 0 + valueimpression: + meta-info: + vendor-id: 0 meta-info: maintainer-email: support@apacdex.com app-media-types: diff --git a/src/main/resources/bidder-config/appnexus.yaml b/src/main/resources/bidder-config/appnexus.yaml index 68ea6ec9658..318dad0ec9d 100644 --- a/src/main/resources/bidder-config/appnexus.yaml +++ b/src/main/resources/bidder-config/appnexus.yaml @@ -5,6 +5,7 @@ adapters: mediafuse: meta-info: maintainer-email: support@mediafuse.com + vendor-id: 0 meta-info: maintainer-email: prebid@microsoft.com app-media-types: diff --git a/src/main/resources/bidder-config/aso.yaml b/src/main/resources/bidder-config/aso.yaml index 14ba5ff60e9..ad0a6062319 100644 --- a/src/main/resources/bidder-config/aso.yaml +++ b/src/main/resources/bidder-config/aso.yaml @@ -7,6 +7,7 @@ adapters: endpoint: https://srv.datacygnal.io/pbs/bidder?zid={ZoneID} meta-info: maintainer-email: contact@bcm.ltd + vendor-id: 0 usersync: cookie-family-name: bcmint redirect: @@ -17,6 +18,7 @@ adapters: endpoint: https://srv.bidgx.com/pbs/bidder?zid={ZoneID} meta-info: maintainer-email: aso@bidgency.com + vendor-id: 0 usersync: cookie-family-name: bidagency redirect: @@ -27,6 +29,7 @@ adapters: endpoint: https://srv.kntxy.com/pbs/bidder?zid={ZoneID} meta-info: maintainer-email: ssp@kuantyx.com + vendor-id: 0 usersync: cookie-family-name: kuantyx redirect: diff --git a/src/main/resources/bidder-config/beyondmedia.yaml b/src/main/resources/bidder-config/beyondmedia.yaml index 7c5859a1c39..e187f64d85a 100644 --- a/src/main/resources/bidder-config/beyondmedia.yaml +++ b/src/main/resources/bidder-config/beyondmedia.yaml @@ -4,6 +4,8 @@ adapters: aliases: andbeyondmedia: endpoint: http://backend.andbeyond.media/pserver + meta-info: + vendor-id: 0 meta-info: maintainer-email: sysengg@andbeyond.media app-media-types: diff --git a/src/main/resources/bidder-config/colossus.yaml b/src/main/resources/bidder-config/colossus.yaml index b03b7dcb72a..d74bfbd505a 100644 --- a/src/main/resources/bidder-config/colossus.yaml +++ b/src/main/resources/bidder-config/colossus.yaml @@ -5,6 +5,8 @@ adapters: aliases: colossusssp: enabled: false + meta-info: + vendor-id: 0 meta-info: maintainer-email: support@colossusmediassp.com app-media-types: diff --git a/src/main/resources/bidder-config/elementaltv.yaml b/src/main/resources/bidder-config/elementaltv.yaml index 0d6a83cf6a9..f5e3fc8d8d8 100644 --- a/src/main/resources/bidder-config/elementaltv.yaml +++ b/src/main/resources/bidder-config/elementaltv.yaml @@ -3,7 +3,9 @@ adapters: endpoint: https://pbs.elementaltv.io/ads/processHeaderBid/{AdUnit} ortb-version: "2.6" aliases: - adoppler: ~ + adoppler: + meta-info: + vendor-id: 0 meta-info: maintainer-email: support@elementaltv.com app-media-types: diff --git a/src/main/resources/bidder-config/emxdigital.yaml b/src/main/resources/bidder-config/emxdigital.yaml index f89c489dc51..e358522534b 100644 --- a/src/main/resources/bidder-config/emxdigital.yaml +++ b/src/main/resources/bidder-config/emxdigital.yaml @@ -4,6 +4,8 @@ adapters: aliases: cadent_aperture_mx: enabled: false + meta-info: + vendor-id: 183 # CadentAperture only operates in North America geoscope: - USA diff --git a/src/main/resources/bidder-config/epsilon.yaml b/src/main/resources/bidder-config/epsilon.yaml index b93929ad431..63767be2b34 100644 --- a/src/main/resources/bidder-config/epsilon.yaml +++ b/src/main/resources/bidder-config/epsilon.yaml @@ -4,6 +4,8 @@ adapters: ortb-version: "2.6" aliases: conversant: + meta-info: + vendor-id: 24 usersync: cookie-family-name: conversant meta-info: diff --git a/src/main/resources/bidder-config/freewheelssp.yaml b/src/main/resources/bidder-config/freewheelssp.yaml index cb0cb6d04cb..97d488da30b 100644 --- a/src/main/resources/bidder-config/freewheelssp.yaml +++ b/src/main/resources/bidder-config/freewheelssp.yaml @@ -8,6 +8,8 @@ adapters: enabled: false endpoint: "https://prebid.v.fwmrm.net/ortb/ssp" endpoint-compression: gzip + meta-info: + vendor-id: 285 usersync: enabled: true cookie-family-name: fwssp diff --git a/src/main/resources/bidder-config/generic.yaml b/src/main/resources/bidder-config/generic.yaml index 80f5af96d1c..57ab0ca72e8 100644 --- a/src/main/resources/bidder-config/generic.yaml +++ b/src/main/resources/bidder-config/generic.yaml @@ -4,6 +4,8 @@ adapters: aliases: genericAlias: enabled: false + meta-info: + vendor-id: 0 adrino: enabled: false endpoint: https://prd-prebid-bidder.adrino.io/openrtb/bid diff --git a/src/main/resources/bidder-config/gothamads.yaml b/src/main/resources/bidder-config/gothamads.yaml index 9b4add5f93d..1cc2e2fe26b 100644 --- a/src/main/resources/bidder-config/gothamads.yaml +++ b/src/main/resources/bidder-config/gothamads.yaml @@ -7,6 +7,7 @@ adapters: endpoint: http://lb-east.intenze.co/?pass={AccountID} meta-info: maintainer-email: connect@intenze.co + vendor-id: 0 meta-info: maintainer-email: support@gothamads.com app-media-types: diff --git a/src/main/resources/bidder-config/imds.yaml b/src/main/resources/bidder-config/imds.yaml index b617fb99d39..ee52cfd8bc9 100644 --- a/src/main/resources/bidder-config/imds.yaml +++ b/src/main/resources/bidder-config/imds.yaml @@ -9,6 +9,8 @@ adapters: synacormedia: deprecated-names: null # Must re-declare as empty or the deprecation error in the response is incorrect endpoint: "https://pbs.technoratimedia.com/openrtb/bids/{AccountID}?src={SourceId}&adapter=synacormedia" + meta-info: + vendor-id: 0 endpoint: "https://pbs.technoratimedia.com/openrtb/bids/{AccountID}?src={SourceId}&adapter=imds" meta-info: maintainer-email: eng-demand@imds.tv diff --git a/src/main/resources/bidder-config/limelightDigital.yaml b/src/main/resources/bidder-config/limelightDigital.yaml index 4ce130419ef..8b7822cecf2 100644 --- a/src/main/resources/bidder-config/limelightDigital.yaml +++ b/src/main/resources/bidder-config/limelightDigital.yaml @@ -4,6 +4,8 @@ adapters: aliases: filmzie: enabled: false + meta-info: + vendor-id: 0 iionads: enabled: false endpoint: http://ads-pbs.iionads.com/openrtb/{PublisherID}?host={Host} @@ -12,6 +14,8 @@ adapters: evtech: enabled: false endpoint: http://ads-pbs.direct.e-volution.ai/openrtb/{PublisherID}?host={Host} + meta-info: + vendor-id: 0 usersync: enabled: true cookie-family-name: evtech @@ -24,38 +28,62 @@ adapters: adsyield: enabled: false endpoint: http://ads-pbs.open-adsyield.com/openrtb/{PublisherID}?host={Host} + meta-info: + vendor-id: 0 greedygame: enabled: false endpoint: http://ads-pbs.rtb-greedygame.com/openrtb/{PublisherID}?host={Host} + meta-info: + vendor-id: 0 appstock: enabled: false endpoint: http://ads-pbs.pre.vr-tb.com/openrtb/{PublisherID}?host={Host} + meta-info: + vendor-id: 0 xtrmqb: enabled: false endpoint: http://ads-pbs.ortb.tech/openrtb/{PublisherID}?host={Host} + meta-info: + vendor-id: 0 embimedia: enabled: false endpoint: http://ads-pbs.bidder-embi.media/openrtb/{PublisherID}?host={Host} + meta-info: + vendor-id: 0 tgm: enabled: false + meta-info: + vendor-id: 0 streamlyn: enabled: false endpoint: http://rtba.bidsxchange.com/openrtb/{PublisherID}?host={Host} + meta-info: + vendor-id: 0 streamvision: enabled: false endpoint: http://ads-pbs.adops.streamvisionmedia.com/openrtb/{PublisherID}?host={Host} + meta-info: + vendor-id: 0 orangeclickmedia: enabled: false endpoint: http://ads-pbs.scotty.orangeclickmedia.com/openrtb/{PublisherID}?host={Host} + meta-info: + vendor-id: 0 velonium: enabled: false endpoint: http://ads-pbs.adxvel.com/openrtb/{PublisherID}?host={Host} + meta-info: + vendor-id: 0 adtg_org: enabled: false endpoint: http://ads-pbs.rtb.adtarget.org/openrtb/{PublisherID}?host={Host} + meta-info: + vendor-id: 0 performist: enabled: false endpoint: http://ads-pbs.performserv.com/openrtb/{PublisherID} + meta-info: + vendor-id: 0 meta-info: maintainer-email: engineering@project-limelight.com app-media-types: diff --git a/src/main/resources/bidder-config/magnite.yaml b/src/main/resources/bidder-config/magnite.yaml index 64a95dd98bd..d2259d3a95b 100644 --- a/src/main/resources/bidder-config/magnite.yaml +++ b/src/main/resources/bidder-config/magnite.yaml @@ -11,6 +11,8 @@ adapters: aliases: rubicon: enabled: false + meta-info: + vendor-id: 52 ortb: multiformat-supported: true meta-info: diff --git a/src/main/resources/bidder-config/nexx360.yaml b/src/main/resources/bidder-config/nexx360.yaml index 129fcaaf95e..802b8b2963d 100644 --- a/src/main/resources/bidder-config/nexx360.yaml +++ b/src/main/resources/bidder-config/nexx360.yaml @@ -3,9 +3,15 @@ adapters: endpoint: http://fast.nexx360.io/prebid-server endpoint-compression: gzip aliases: - 1accord: ~ - easybid: ~ - prismassp: ~ + 1accord: + meta-info: + vendor-id: 0 + easybid: + meta-info: + vendor-id: 0 + prismassp: + meta-info: + vendor-id: 0 ybidder: enabled: false meta-info: diff --git a/src/main/resources/bidder-config/screencore.yaml b/src/main/resources/bidder-config/screencore.yaml index 87331bd4abd..7d471dbd1df 100644 --- a/src/main/resources/bidder-config/screencore.yaml +++ b/src/main/resources/bidder-config/screencore.yaml @@ -12,4 +12,4 @@ adapters: - video - native supported-vendors: - vendor-id: 0 + vendor-id: 1473 diff --git a/src/main/resources/bidder-config/seedingAlliance.yaml b/src/main/resources/bidder-config/seedingAlliance.yaml index 212dab14afe..890074d823c 100644 --- a/src/main/resources/bidder-config/seedingAlliance.yaml +++ b/src/main/resources/bidder-config/seedingAlliance.yaml @@ -16,6 +16,8 @@ adapters: finative: enabled: false endpoint: https://b.finative.cloud/cds/rtb/bid?ssp={AccountId} + meta-info: + vendor-id: 371 meta-info: maintainer-email: tech@seeding-alliance.de app-media-types: diff --git a/src/main/resources/bidder-config/showheroes.yaml b/src/main/resources/bidder-config/showheroes.yaml index b5fd953ac71..16fde8ec973 100644 --- a/src/main/resources/bidder-config/showheroes.yaml +++ b/src/main/resources/bidder-config/showheroes.yaml @@ -2,8 +2,12 @@ adapters: showheroes: endpoint: https://ads.viralize.tv/openrtb2/auction/ aliases: - showheroes-bs: ~ - showheroesBs: ~ + showheroes-bs: + meta-info: + vendor-id: 111 + showheroesBs: + meta-info: + vendor-id: 111 ortb-version: '2.6' meta-info: maintainer-email: tech@showheroes.com diff --git a/src/main/resources/bidder-config/smartadserver.yaml b/src/main/resources/bidder-config/smartadserver.yaml index cfb95121f45..81704a4c2a3 100644 --- a/src/main/resources/bidder-config/smartadserver.yaml +++ b/src/main/resources/bidder-config/smartadserver.yaml @@ -6,6 +6,8 @@ adapters: aliases: equativ: enabled: false + meta-info: + vendor-id: 45 meta-info: maintainer-email: supply-partner-integration@equativ.com app-media-types: diff --git a/src/main/resources/bidder-config/smarthub.yaml b/src/main/resources/bidder-config/smarthub.yaml index 118742dc858..216805b2334 100644 --- a/src/main/resources/bidder-config/smarthub.yaml +++ b/src/main/resources/bidder-config/smarthub.yaml @@ -5,30 +5,48 @@ adapters: markapp: enabled: false endpoint: https://markapp-prebid.attekmi.com/pbserver/?seat={AccountID}&token={SourceId} + meta-info: + vendor-id: 0 jdpmedia: enabled: false endpoint: https://jdpmedia-prebid.attekmi.com/pbserver/?seat={AccountID}&token={SourceId} + meta-info: + vendor-id: 0 tredio: enabled: false endpoint: https://tredio-prebid.attekmi.com/pbserver/?seat={AccountID}&token={SourceId} + meta-info: + vendor-id: 0 felixads: enabled: false endpoint: https://felixads-prebid.attekmi.com/pbserver/?seat={AccountID}&token={SourceId} + meta-info: + vendor-id: 0 jambojar: enabled: false endpoint: https://jambojar-prebid.attekmi.com/pbserver/?seat={AccountID}&token={SourceId} + meta-info: + vendor-id: 0 adinify: enabled: false endpoint: https://adinify-prebid.attekmi.com/pbserver/?seat={AccountID}&token={SourceId} + meta-info: + vendor-id: 0 artechnology: enabled: false endpoint: https://artechnology-prebid.attekmi.com/pbserver/?seat={AccountID}&token={SourceId} + meta-info: + vendor-id: 0 addigi: enabled: false endpoint: https://addigi-prebid.attekmi.com/pbserver/?seat={AccountID}&token={SourceId} + meta-info: + vendor-id: 0 radianfusion: enabled: false endpoint: https://radiantfusion-prebid.attekmi.co/pbserver/?seat={AccountID}&token={SourceId} + meta-info: + vendor-id: 0 meta-info: maintainer-email: prebid@attekmi.com app-media-types: diff --git a/src/main/resources/bidder-config/teal.yaml b/src/main/resources/bidder-config/teal.yaml index 38f06be0be3..0ea60923d2d 100644 --- a/src/main/resources/bidder-config/teal.yaml +++ b/src/main/resources/bidder-config/teal.yaml @@ -9,6 +9,8 @@ adapters: aliases: tealplus: enabled: false + meta-info: + vendor-id: 1378 ortb: multiformat-supported: true meta-info: diff --git a/src/main/resources/bidder-config/teqblaze.yaml b/src/main/resources/bidder-config/teqblaze.yaml index 094beaec09a..d6c34012379 100644 --- a/src/main/resources/bidder-config/teqblaze.yaml +++ b/src/main/resources/bidder-config/teqblaze.yaml @@ -7,6 +7,7 @@ adapters: endpoint: https://ssp.360playvid.com/pserver meta-info: maintainer-email: prebid@360playvid.com + vendor-id: 0 usersync: enabled: true cookie-family-name: 360playvid @@ -21,11 +22,13 @@ adapters: endpoint: https://us-east-ep.pinklion.io/pserver meta-info: maintainer-email: prebid@pinklion.io + vendor-id: 0 rocketlab: enabled: false endpoint: https://traffic1.rocketlab.ai/pserver meta-info: maintainer-email: support@rocketlab.ai + vendor-id: 0 usersync: enabled: true cookie-family-name: rocketlab @@ -39,6 +42,7 @@ adapters: endpoint: https://#{REGION}#.al-ad.com/pserver meta-info: maintainer-email: sdksupport@app-stock.com + vendor-id: 0 usersync: enabled: true cookie-family-name: appStockSSP @@ -51,7 +55,7 @@ adapters: gravite: enabled: false endpoint: https://node1-rtb.gravite.net/pserver - mata-info: + meta-info: maintainer-email: support@gravite.net vendor-id: 377 bidfuse: @@ -59,6 +63,7 @@ adapters: endpoint: https://bn.bidfuse.com/pserver meta-info: maintainer-email: support@bidfuse.com + vendor-id: 0 usersync: enabled: true cookie-family-name: bidfuse @@ -94,6 +99,7 @@ adapters: endpoint: https://east-backend.mycodemedia.com/pserver meta-info: maintainer-email: support-platform@mycodemedia.com + vendor-id: 0 usersync: enabled: true cookie-family-name: mycodemedia @@ -108,6 +114,7 @@ adapters: endpoint: https://tag-ssp.adsmovil.com/pserver meta-info: maintainer-email: prebid@adsmovil.com + vendor-id: 0 meta-info: maintainer-email: github@teqblaze.com app-media-types: diff --git a/src/main/resources/bidder-config/thetradedesk.yaml b/src/main/resources/bidder-config/thetradedesk.yaml index 74d6bf2176b..628e3b149fa 100644 --- a/src/main/resources/bidder-config/thetradedesk.yaml +++ b/src/main/resources/bidder-config/thetradedesk.yaml @@ -2,7 +2,9 @@ adapters: thetradedesk: endpoint: https://direct.adsrvr.org/bid/bidder/{SupplyId} aliases: - ttd: ~ + ttd: + meta-info: + vendor-id: 21 meta-info: maintainer-email: Prebid-Maintainers@thetradedesk.com app-media-types: diff --git a/src/main/resources/bidder-config/thirtythreeacross.yaml b/src/main/resources/bidder-config/thirtythreeacross.yaml index 990440ca78d..fd76cc6254d 100644 --- a/src/main/resources/bidder-config/thirtythreeacross.yaml +++ b/src/main/resources/bidder-config/thirtythreeacross.yaml @@ -7,8 +7,12 @@ adapters: aliases: 33across: enabled: false + meta-info: + vendor-id: 58 ttx: enabled: false + meta-info: + vendor-id: 58 meta-info: maintainer-email: headerbidding@33across.com app-media-types: diff --git a/src/main/resources/bidder-config/vidazoo.yaml b/src/main/resources/bidder-config/vidazoo.yaml index b116a231baa..93a0d2287c9 100644 --- a/src/main/resources/bidder-config/vidazoo.yaml +++ b/src/main/resources/bidder-config/vidazoo.yaml @@ -4,10 +4,11 @@ adapters: aliases: omnidex: endpoint: https://exchange.omni-dex.io/openrtb/{ConnectionId} + meta-info: + vendor-id: 1463 usersync: enabled: true cookie-family-name: omnidex - vendor-id: 1463 iframe: url: https://sync.omni-dex.io/api/user/html/6810d0c7f163277130f3d7a9?pbs=true&gdpr={gdpr}&gdpr_consent={gdpr_consent}&us_privacy={us_privacy}&redirect={redirect_url}&gpp={gpp}&gpp_sid={gpp_sid} uid-macro: '${userId}' @@ -15,6 +16,7 @@ adapters: endpoint: https://exchange.tagoras.io/openrtb/{ConnectionId} meta-info: maintainer-email: prebid@tagoras.io + vendor-id: 1450 usersync: enabled: true cookie-family-name: tagoras diff --git a/src/main/resources/bidder-config/vungle.yaml b/src/main/resources/bidder-config/vungle.yaml index 0a9baf58403..53c20a2e959 100644 --- a/src/main/resources/bidder-config/vungle.yaml +++ b/src/main/resources/bidder-config/vungle.yaml @@ -4,6 +4,8 @@ adapters: aliases: liftoff: enabled: false + meta-info: + vendor-id: 0 modifying-vast-xml-allowed: true endpoint-compression: gzip meta-info: diff --git a/src/main/resources/bidder-config/xeworks.yaml b/src/main/resources/bidder-config/xeworks.yaml index c37e5b098a0..911fab6c66c 100644 --- a/src/main/resources/bidder-config/xeworks.yaml +++ b/src/main/resources/bidder-config/xeworks.yaml @@ -7,6 +7,7 @@ adapters: endpoint: http://rtb.connektai.live/?pid={SourceId}&host={Host}&s=pbs meta-info: maintainer-email: adops@connekt.ai + vendor-id: 0 adipolo: enabled: false endpoint: http://rtb.adipolo.live?pid={SourceId}&host={Host}&pbs=1 diff --git a/src/main/resources/bidder-config/yahooAds.yaml b/src/main/resources/bidder-config/yahooAds.yaml index c45be2e9377..4359ee36f16 100644 --- a/src/main/resources/bidder-config/yahooAds.yaml +++ b/src/main/resources/bidder-config/yahooAds.yaml @@ -3,9 +3,15 @@ adapters: endpoint: https://s2shb.ssp.yahoo.com/admax/bid/partners/PBS ortb-version: "2.6" aliases: - yssp: ~ - yahoossp: ~ - yahooAdvertising: ~ + yssp: + meta-info: + vendor-id: 25 + yahoossp: + meta-info: + vendor-id: 25 + yahooAdvertising: + meta-info: + vendor-id: 25 meta-info: maintainer-email: prebid-tech-team@yahooinc.com app-media-types: diff --git a/src/test/groovy/org/prebid/server/functional/tests/AlternateBidderCodeSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/AlternateBidderCodeSpec.groovy index aabdc832c72..27bc35f3cc3 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/AlternateBidderCodeSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/AlternateBidderCodeSpec.groovy @@ -1339,8 +1339,9 @@ class AlternateBidderCodeSpec extends BaseSpec { def "PBS shouldn't discard bid when hard alias and alternate bidder allow bidder code"() { given: "PBS config with bidder" - def pbsConfig = AMX_CONFIG + ["adapters.amx.aliases.alias.enabled" : "true", - "adapters.amx.aliases.alias.endpoint": "$networkServiceContainer.rootUri/auction".toString()] + def pbsConfig = AMX_CONFIG + ["adapters.amx.aliases.alias.enabled" : "true", + "adapters.amx.aliases.alias.meta-info.vendor-id": "0", + "adapters.amx.aliases.alias.endpoint" : "$networkServiceContainer.rootUri/auction".toString()] def defaultPbsService = pbsServiceFactory.getService(pbsConfig) and: "Default bid request with alias" @@ -1525,8 +1526,9 @@ class AlternateBidderCodeSpec extends BaseSpec { def "PBS should populate adapter code with requested bidder when conflict soft and hard alias and alternate bidder code"() { given: "PBS config with bidder" - def pbsConfig = AMX_CONFIG + ["adapters.amx.aliases.alias.enabled" : "true", - "adapters.amx.aliases.alias.endpoint": "$networkServiceContainer.rootUri/auction".toString()] + def pbsConfig = AMX_CONFIG + ["adapters.amx.aliases.alias.enabled" : "true", + "adapters.amx.aliases.alias.meta-info.vendor-id": "0", + "adapters.amx.aliases.alias.endpoint" : "$networkServiceContainer.rootUri/auction".toString()] def defaultPbsService = pbsServiceFactory.getService(pbsConfig) and: "Bid request with amx bidder and targeting" diff --git a/src/test/groovy/org/prebid/server/functional/tests/BaseSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/BaseSpec.groovy index 880b4ab5636..b50f9772eef 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/BaseSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/BaseSpec.groovy @@ -47,8 +47,9 @@ abstract class BaseSpec extends Specification implements ObjectMapperWrapper { private static final int DEFAULT_TARGETING_PRECISION = 1 private static final String DEFAULT_CACHE_DIRECTORY = "/app/prebid-server/data" protected static final String ALERT_GENERAL = "alerts.general" - protected static final Map GENERIC_ALIAS_CONFIG = ["adapters.generic.aliases.alias.enabled" : "true", - "adapters.generic.aliases.alias.endpoint": "$networkServiceContainer.rootUri/auction".toString()] + protected static final Map GENERIC_ALIAS_CONFIG = ["adapters.generic.aliases.alias.enabled" : "true", + "adapters.generic.aliases.alias.meta-info.vendor-id": "0", + "adapters.generic.aliases.alias.endpoint" : "$networkServiceContainer.rootUri/auction".toString()] protected static final PrebidServerService defaultPbsService = pbsServiceFactory.getService([:]) @@ -116,7 +117,7 @@ abstract class BaseSpec extends Specification implements ObjectMapperWrapper { } private static LinkedHashMap> collectRequestByBidderName(String bidderName, - List bidderCalls) { + List bidderCalls) { [(bidderName): bidderCalls.collect { bidderCall -> decode(bidderCall.requestBody as String, BidRequest) }] } diff --git a/src/test/groovy/org/prebid/server/functional/tests/BidderParamsSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/BidderParamsSpec.groovy index 42579c0f688..49bbd9c2e17 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/BidderParamsSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/BidderParamsSpec.groovy @@ -1017,6 +1017,7 @@ class BidderParamsSpec extends BaseSpec { given: "PBS with adapter configuration" def pbsConfig = [ "adapters.generic.aliases.alias.enabled" : "true", + "adapters.generic.aliases.alias.meta-info.vendor-id" : "0", "adapters.generic.aliases.alias.endpoint" : "$networkServiceContainer.rootUri/auction".toString(), "adapters.generic.aliases.alias.meta-info.currency-accepted": ""] def pbsService = pbsServiceFactory.getService(pbsConfig) @@ -1137,6 +1138,7 @@ class BidderParamsSpec extends BaseSpec { given: "PBS with adapter configuration" def pbsConfig = [ "adapters.generic.aliases.alias.enabled" : "true", + "adapters.generic.aliases.alias.meta-info.vendor-id" : "0", "adapters.generic.aliases.alias.endpoint" : "$networkServiceContainer.rootUri/auction".toString(), "adapters.generic.aliases.alias.meta-info.currency-accepted": "${USD},${EUR}".toString()] def pbsService = pbsServiceFactory.getService(pbsConfig) @@ -1182,6 +1184,7 @@ class BidderParamsSpec extends BaseSpec { given: "PBS with adapter configuration" def pbsConfig = [ "adapters.generic.aliases.alias.enabled" : "true", + "adapters.generic.aliases.alias.meta-info.vendor-id" : "0", "adapters.generic.aliases.alias.endpoint" : "$networkServiceContainer.rootUri/auction".toString(), "adapters.generic.aliases.alias.meta-info.currency-accepted": "${JPY},${CHF}".toString()] def pbsService = pbsServiceFactory.getService(pbsConfig) @@ -1349,8 +1352,9 @@ class BidderParamsSpec extends BaseSpec { def "PBS should populate same code for adapter code when make call for generic hard code alias"() { given: "PBS config with bidder" - def pbsConfig = ["adapters.generic.aliases.alias.enabled" : "true", - "adapters.generic.aliases.alias.endpoint": "$networkServiceContainer.rootUri/auction".toString()] + def pbsConfig = ["adapters.generic.aliases.alias.enabled" : "true", + "adapters.generic.aliases.alias.meta-info.vendor-id": "0", + "adapters.generic.aliases.alias.endpoint" : "$networkServiceContainer.rootUri/auction".toString()] def defaultPbsService = pbsServiceFactory.getService(pbsConfig) and: "Default bid request with alias" @@ -1390,10 +1394,11 @@ class BidderParamsSpec extends BaseSpec { def "PBS should make call for alias when hard alias and demandSource specified"() { given: "PBS config with bidder" - def pbsConfig = ["adapters.amx.enabled" : "true", - "adapters.amx.endpoint" : "$networkServiceContainer.rootUri/auction".toString(), - "adapters.amx.aliases.alias.enabled" : "true", - "adapters.amx.aliases.alias.endpoint": "$networkServiceContainer.rootUri/auction".toString()] + def pbsConfig = ["adapters.amx.enabled" : "true", + "adapters.amx.endpoint" : "$networkServiceContainer.rootUri/auction".toString(), + "adapters.amx.aliases.alias.enabled" : "true", + "adapters.amx.aliases.alias.meta-info.vendor-id": "0", + "adapters.amx.aliases.alias.endpoint" : "$networkServiceContainer.rootUri/auction".toString()] def defaultPbsService = pbsServiceFactory.getService(pbsConfig) and: "Default bid Request with generic and openx bidder within separate imps" @@ -1537,10 +1542,11 @@ class BidderParamsSpec extends BaseSpec { def "PBS should populate adapter code with requested bidder when conflict with soft and hard alias"() { given: "PBS config with bidder" - def pbsConfig = ["adapters.amx.enabled" : "true", - "adapters.amx.endpoint" : "$networkServiceContainer.rootUri/auction".toString(), - "adapters.amx.aliases.alias.enabled" : "true", - "adapters.amx.aliases.alias.endpoint": "$networkServiceContainer.rootUri/auction".toString()] + def pbsConfig = ["adapters.amx.enabled" : "true", + "adapters.amx.endpoint" : "$networkServiceContainer.rootUri/auction".toString(), + "adapters.amx.aliases.alias.enabled" : "true", + "adapters.amx.aliases.alias.meta-info.vendor-id": "0", + "adapters.amx.aliases.alias.endpoint" : "$networkServiceContainer.rootUri/auction".toString()] def defaultPbsService = pbsServiceFactory.getService(pbsConfig) and: "Bid request with amx bidder and targeting" @@ -1580,10 +1586,11 @@ class BidderParamsSpec extends BaseSpec { def "PBS should populate adapter code with requested bidder when conflict with soft and generic hard alias"() { given: "PBS config with bidders" - def pbsConfig = ["adapters.amx.enabled" : "true", - "adapters.amx.endpoint" : "$networkServiceContainer.rootUri/auction".toString(), - "adapters.generic.aliases.alias.enabled" : "true", - "adapters.generic.aliases.alias.endpoint": "$networkServiceContainer.rootUri/auction".toString()] + def pbsConfig = ["adapters.amx.enabled" : "true", + "adapters.amx.endpoint" : "$networkServiceContainer.rootUri/auction".toString(), + "adapters.generic.aliases.alias.enabled" : "true", + "adapters.generic.aliases.alias.meta-info.vendor-id": "0", + "adapters.generic.aliases.alias.endpoint" : "$networkServiceContainer.rootUri/auction".toString()] def defaultPbsService = pbsServiceFactory.getService(pbsConfig) and: "Bid request with amx bidder and targeting" diff --git a/src/test/groovy/org/prebid/server/functional/tests/CookieSyncSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/CookieSyncSpec.groovy index 0fea9561336..43453891d1a 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/CookieSyncSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/CookieSyncSpec.groovy @@ -102,6 +102,7 @@ class CookieSyncSpec extends BaseSpec { def bidderAlias = ALIAS def prebidServerService = pbsServiceFactory.getService(GENERIC_CONFIG + APPNEXUS_CONFIG + ["adapters.${GENERIC.value}.aliases.${bidderAlias.value}.enabled" : "true", + "adapters.${GENERIC.value}.aliases.${bidderAlias.value}.meta-info.vendor-id" : "0", "adapters.${GENERIC.value}.aliases.${bidderAlias.value}.usersync.cookie-family-name": null]) and: "Default cookie sync request" @@ -133,6 +134,7 @@ class CookieSyncSpec extends BaseSpec { def prebidServerService = pbsServiceFactory.getService(GENERIC_CONFIG + ["adapters.${GENERIC.value}.usersync.redirect.url" : "$networkServiceContainer.rootUri/generic-usersync&redir={redirect_url}".toString(), "adapters.${GENERIC.value}.aliases.${bidderAlias.value}.enabled" : "true", + "adapters.${GENERIC.value}.aliases.${bidderAlias.value}.meta-info.vendor-id" : "0", "adapters.${GENERIC.value}.aliases.${bidderAlias.value}.usersync.cookie-family-name": GENERIC.value]) and: "Cookie sync request for alias bidder" @@ -326,6 +328,7 @@ class CookieSyncSpec extends BaseSpec { def bidderAlias = ALIAS def prebidServerService = pbsServiceFactory.getService(GENERIC_CONFIG + ["adapters.${GENERIC.value}.aliases.${bidderAlias.value}.enabled" : "true", + "adapters.${GENERIC.value}.aliases.${bidderAlias.value}.meta-info.vendor-id" : "0", "adapters.${GENERIC.value}.aliases.${bidderAlias.value}.usersync.cookie-family-name": null]) and: "Cookie sync request with 2 bidders" @@ -695,6 +698,7 @@ class CookieSyncSpec extends BaseSpec { def bidderAlias = ALIAS def prebidServerService = pbsServiceFactory.getService(PBS_CONFIG + ["adapters.${GENERIC.value}.aliases.${bidderAlias.value}.enabled" : "true", + "adapters.${GENERIC.value}.aliases.${bidderAlias.value}.meta-info.vendor-id" : "0", "adapters.${GENERIC.value}.aliases.${bidderAlias.value}.usersync.cookie-family-name": null]) and: "Cookie sync request with 2 bidders" @@ -725,6 +729,7 @@ class CookieSyncSpec extends BaseSpec { def bidderAlias = ALIAS def prebidServerService = pbsServiceFactory.getService(PBS_CONFIG + ["adapters.${GENERIC.value}.aliases.${bidderAlias.value}.enabled" : "true", + "adapters.${GENERIC.value}.aliases.${bidderAlias.value}.meta-info.vendor-id" : "0", "adapters.${GENERIC.value}.aliases.${bidderAlias.value}.usersync.cookie-family-name": bidderAlias.value]) and: "Cookie sync request with 2 bidders" diff --git a/src/test/groovy/org/prebid/server/functional/tests/SecondaryBidderSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/SecondaryBidderSpec.groovy index 058af6495c7..b38b1c18794 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/SecondaryBidderSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/SecondaryBidderSpec.groovy @@ -28,8 +28,9 @@ class SecondaryBidderSpec extends BaseSpec { "adapters.${OPENX.value}.enabled" : "true", "adapters.${OPENX.value}.endpoint": "$networkServiceContainer.rootUri$OPENX_AUCTION_ENDPOINT".toString()] private static final Map GENERIC_ALIAS_CONFIG = [ - "adapters.${GENERIC.value}.aliases.${ALIAS}.enabled" : "true", - "adapters.${GENERIC.value}.aliases.${ALIAS}.endpoint": "$networkServiceContainer.rootUri$GENERIC_ALIAS_AUCTION_ENDPOINT".toString()] + "adapters.${GENERIC.value}.aliases.${ALIAS}.enabled" : "true", + "adapters.${GENERIC.value}.aliases.${ALIAS}.meta-info.vendor-id": "0", + "adapters.${GENERIC.value}.aliases.${ALIAS}.endpoint" : "$networkServiceContainer.rootUri$GENERIC_ALIAS_AUCTION_ENDPOINT".toString()] private static final Integer RESPONSE_DELAY_MILLISECONDS = 5_000 private static final Bidder openXBidder = new Bidder(networkServiceContainer, OPENX_AUCTION_ENDPOINT) private static final Bidder genericAliasBidder = new Bidder(networkServiceContainer, GENERIC_ALIAS_AUCTION_ENDPOINT) diff --git a/src/test/groovy/org/prebid/server/functional/tests/SetUidSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/SetUidSpec.groovy index b767cec7f4e..d14d58c3f61 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/SetUidSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/SetUidSpec.groovy @@ -43,8 +43,9 @@ class SetUidSpec extends BaseSpec { private static final String GENERIC_COOKIE_FAMILY_NAME = GENERIC.value private static final String VENDOR_ID = PBSUtils.randomNumber as String private static final Map UID_COOKIES_CONFIG = ['setuid.number-of-uid-cookies': MAX_NUMBER_OF_UID_COOKIES.toString()] - private static final Map GENERIC_ALIAS_CONFIG = ["adapters.generic.aliases.alias.enabled" : "true", - "adapters.generic.aliases.alias.endpoint": "$networkServiceContainer.rootUri/auction".toString()] + private static final Map GENERIC_ALIAS_CONFIG = ["adapters.generic.aliases.alias.enabled" : "true", + "adapters.generic.aliases.alias.meta-info.vendor-id": "0", + "adapters.generic.aliases.alias.endpoint" : "$networkServiceContainer.rootUri/auction".toString()] private static final String TCF_ERROR_MESSAGE = "The gdpr_consent param prevents cookies from being saved" private static final int UNAVAILABLE_FOR_LEGAL_REASONS_CODE = 451 private static final Map PBS_CONFIG = diff --git a/src/test/groovy/org/prebid/server/functional/tests/module/pbruleengine/PbRuleEngineBaseSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/module/pbruleengine/PbRuleEngineBaseSpec.groovy index 4ed578adbf8..494a44f8460 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/module/pbruleengine/PbRuleEngineBaseSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/module/pbruleengine/PbRuleEngineBaseSpec.groovy @@ -76,8 +76,9 @@ abstract class PbRuleEngineBaseSpec extends ModuleBaseSpec { protected static final Map AMX_CONFIG = ["adapters.${AMX}.enabled" : "true", "adapters.${AMX}.endpoint" : "$networkServiceContainer.rootUri/auction".toString(), "adapters.${AMX}.meta-info.vendor-id": AMX_VENDOR_ID as String] - protected static final Map OPENX_ALIAS_CONFIG = ["adapters.${OPENX}.aliases.${OPENX_ALIAS}.enabled" : "true", - "adapters.${OPENX}.aliases.${OPENX_ALIAS}.endpoint": "$networkServiceContainer.rootUri/auction".toString()] + protected static final Map OPENX_ALIAS_CONFIG = ["adapters.${OPENX}.aliases.${OPENX_ALIAS}.enabled" : "true", + "adapters.${OPENX}.aliases.${OPENX_ALIAS}.meta-info.vendor-id": "0", + "adapters.${OPENX}.aliases.${OPENX_ALIAS}.endpoint" : "$networkServiceContainer.rootUri/auction".toString()] protected static final String CONFIG_DATA_CENTER = PBSUtils.randomString private static final String USER_SYNC_URL = "$networkServiceContainer.rootUri/generic-usersync" private static final Map GENERIC_CONFIG = [