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 738b737c11c..d4e4986c1ca 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 7158bcec57b..2c94d05ce57 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=%s 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 9c0ac6a483e..d6e64d51a03 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 a66f73f6409..ccd6e33fc0b 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 @@ -20,6 +22,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 @@ -34,6 +38,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 0a929be2172..93959029739 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 6928936bc5f..d08ed3eebb5 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: 32 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 5f3bdad4829..02721da5bd4 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: @@ -18,6 +19,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: @@ -29,6 +31,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 9514160b5a2..f97f254a25f 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 198b887ea4b..d19953a01ca 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 34080708c3e..abcd930c5f3 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 44970a25db2..1f6036bc561 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 ff042fe76d2..0ad8ea1e709 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 11bcccea4a5..facab1d47da 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 eccdefb17e8..b9076b1d0ae 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 4b37cc73d2f..932465d19ea 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 961d909e0d0..14f10e64703 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 @@ -26,38 +30,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/nexx360.yaml b/src/main/resources/bidder-config/nexx360.yaml index 61bf29ca5e5..3b0df7a6282 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: 965 + easybid: + meta-info: + vendor-id: 965 + prismassp: + meta-info: + vendor-id: 965 ybidder: enabled: false meta-info: diff --git a/src/main/resources/bidder-config/rubicon.yaml b/src/main/resources/bidder-config/rubicon.yaml index 8092766796c..2b2c4eaf505 100644 --- a/src/main/resources/bidder-config/rubicon.yaml +++ b/src/main/resources/bidder-config/rubicon.yaml @@ -11,6 +11,8 @@ adapters: aliases: magnite: enabled: false + meta-info: + vendor-id: 52 ortb: multiformat-supported: true meta-info: diff --git a/src/main/resources/bidder-config/screencore.yaml b/src/main/resources/bidder-config/screencore.yaml index c214608cc5c..795d4b45b41 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 6f3f64bb8aa..0c3484cbe5d 100644 --- a/src/main/resources/bidder-config/seedingAlliance.yaml +++ b/src/main/resources/bidder-config/seedingAlliance.yaml @@ -17,6 +17,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 343bec392de..aa451abdfab 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 e3d370266b5..dd3af0dfd17 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 d5393b7d29c..fc58a313228 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 e1496ed1986..7c4f99943cc 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 @@ -23,11 +24,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 @@ -42,6 +45,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 @@ -56,7 +60,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: @@ -64,6 +68,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 @@ -120,6 +125,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 @@ -136,6 +142,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 e8b9976e786..0c317304411 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 98630182983..aea02dab120 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 adb9b9758a5..c751cbab1d3 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/ + 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}} support-cors: false @@ -16,6 +17,7 @@ adapters: endpoint: https://exchange.tagoras.io/openrtb/ 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 7bc0bf4c0be..a7698b4d30d 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 78c54a4d1bd..d98efa0b7e6 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 1e2c67fad6f..8d3690e2deb 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 81b2dc5d46e..8b461233f40 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/BidderParamsSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/BidderParamsSpec.groovy @@ -1037,6 +1037,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) @@ -1157,6 +1158,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) @@ -1202,6 +1204,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) @@ -1430,8 +1433,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" @@ -1471,10 +1475,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" @@ -1618,10 +1623,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" @@ -1661,10 +1667,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 b868962a4a4..e7729915ebd 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/CookieSyncSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/CookieSyncSpec.groovy @@ -110,6 +110,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" @@ -141,6 +142,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" @@ -334,6 +336,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" @@ -707,6 +710,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" @@ -738,6 +742,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 d032747b0d7..593a7ccd878 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 String WARNING_TIME_OUT_MESSAGE = "secondary bidder timed out, auction proceeded" private static final Long RESPONSE_DELAY_MILLISECONDS = 5000 private static final Bidder openXBidder = new Bidder(networkServiceContainer, OPENX_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 d8cf909537d..b577783d75c 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/SetUidSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/SetUidSpec.groovy @@ -49,8 +49,9 @@ class SetUidSpec extends BaseSpec { "adapters.${GENERIC.value}.usersync.${USER_SYNC_TYPE.value}.url" : USER_SYNC_URL, "adapters.${GENERIC.value}.usersync.${USER_SYNC_TYPE.value}.support-cors": CORS_SUPPORT.toString()] 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 diff --git a/src/test/groovy/org/prebid/server/functional/tests/bidder/openx/OpenxSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/bidder/openx/OpenxSpec.groovy index 97a0015cea5..65a54435d86 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/bidder/openx/OpenxSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/bidder/openx/OpenxSpec.groovy @@ -39,8 +39,9 @@ class OpenxSpec extends BaseSpec { private static final Map OPENX_CONFIG = ["adapters.openx.enabled" : "true", "adapters.openx.endpoint": "$networkServiceContainer.rootUri/auction".toString()] - private static final Map OPENX_ALIAS_CONFIG = ["adapters.openx.aliases.openxalias.enabled" : "true", - "adapters.openx.aliases.openxalias.endpoint": "$networkServiceContainer.rootUri/auction".toString()] + private static final Map OPENX_ALIAS_CONFIG = ["adapters.openx.aliases.openxalias.enabled" : "true", + "adapters.openx.aliases.openxalias.meta-info.vendor-id": "0", + "adapters.openx.aliases.openxalias.endpoint" : "$networkServiceContainer.rootUri/auction".toString()] @Shared PrebidServerService pbsService = pbsServiceFactory.getService(OPENX_CONFIG) diff --git a/src/test/groovy/org/prebid/server/functional/tests/module/pbruleengine/RuleEngineBaseSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/module/pbruleengine/RuleEngineBaseSpec.groovy index bfc73c8de37..6c55a65acf5 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/module/pbruleengine/RuleEngineBaseSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/module/pbruleengine/RuleEngineBaseSpec.groovy @@ -83,8 +83,9 @@ abstract class RuleEngineBaseSpec 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 = [