From 494f8c1369ed47d67d227b248af94c7a901c304f Mon Sep 17 00:00:00 2001 From: Pavel Ptashyts Date: Thu, 18 Dec 2025 09:59:59 +0100 Subject: [PATCH 1/4] Update Adoppler/ElementaTv: 1)Adoppler adapter now has new name ElementalTv 2)Left support adoppler adapter name 3)Update endpoint url 4)Remove clientId param, as it not used anymore --- adapters/adoppler/adoppler_test.go | 20 ----- .../adopplertest/exemplary/custom-client.json | 81 ------------------- .../elementaltv.go} | 28 +++---- adapters/elementaltv/elementaltv_test.go | 20 +++++ .../elementaltvtest/exemplary/base.json} | 2 +- .../elementaltvtest}/exemplary/multiimp.json | 6 +- .../supplemental/bad-request.json | 2 +- .../supplemental/duplicate-imp.json | 4 +- .../supplemental/invalid-impid.json | 2 +- .../supplemental/invalid-response.json | 2 +- .../supplemental/invalid-video-ext.json | 4 +- .../supplemental/missing-adunit.json | 2 +- .../elementaltvtest}/supplemental/no-bid.json | 2 +- .../supplemental/server-error.json | 2 +- exchange/adapter_builders.go | 4 +- openrtb_ext/bidders.go | 4 +- openrtb_ext/imp_adoppler.go | 6 -- openrtb_ext/imp_elementaltv.go | 5 ++ static/bidder-info/adoppler.yaml | 14 +--- static/bidder-info/elementaltv.yaml | 14 ++++ .../{adoppler.json => elementaltv.json} | 8 +- 21 files changed, 71 insertions(+), 161 deletions(-) delete mode 100644 adapters/adoppler/adoppler_test.go delete mode 100644 adapters/adoppler/adopplertest/exemplary/custom-client.json rename adapters/{adoppler/adoppler.go => elementaltv/elementaltv.go} (88%) create mode 100644 adapters/elementaltv/elementaltv_test.go rename adapters/{adoppler/adopplertest/exemplary/default-client.json => elementaltv/elementaltvtest/exemplary/base.json} (95%) rename adapters/{adoppler/adopplertest => elementaltv/elementaltvtest}/exemplary/multiimp.json (95%) rename adapters/{adoppler/adopplertest => elementaltv/elementaltvtest}/supplemental/bad-request.json (92%) rename adapters/{adoppler/adopplertest => elementaltv/elementaltvtest}/supplemental/duplicate-imp.json (94%) rename adapters/{adoppler/adopplertest => elementaltv/elementaltvtest}/supplemental/invalid-impid.json (94%) rename adapters/{adoppler/adopplertest => elementaltv/elementaltvtest}/supplemental/invalid-response.json (92%) rename adapters/{adoppler/adopplertest => elementaltv/elementaltvtest}/supplemental/invalid-video-ext.json (95%) rename adapters/{adoppler/adopplertest => elementaltv/elementaltvtest}/supplemental/missing-adunit.json (87%) rename adapters/{adoppler/adopplertest => elementaltv/elementaltvtest}/supplemental/no-bid.json (91%) rename adapters/{adoppler/adopplertest => elementaltv/elementaltvtest}/supplemental/server-error.json (92%) delete mode 100644 openrtb_ext/imp_adoppler.go create mode 100644 openrtb_ext/imp_elementaltv.go create mode 100644 static/bidder-info/elementaltv.yaml rename static/bidder-params/{adoppler.json => elementaltv.json} (66%) diff --git a/adapters/adoppler/adoppler_test.go b/adapters/adoppler/adoppler_test.go deleted file mode 100644 index 3c6888f3124..00000000000 --- a/adapters/adoppler/adoppler_test.go +++ /dev/null @@ -1,20 +0,0 @@ -package adoppler - -import ( - "testing" - - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" -) - -func TestJsonSamples(t *testing.T) { - bidder, buildErr := Builder(openrtb_ext.BidderAdoppler, config.Adapter{ - Endpoint: "http://{{.AccountID}}.trustedmarketplace.com/processHeaderBid/{{.AdUnit}}"}, config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) - - if buildErr != nil { - t.Fatalf("Builder returned unexpected error %v", buildErr) - } - - adapterstest.RunJSONBidderTest(t, "adopplertest", bidder) -} diff --git a/adapters/adoppler/adopplertest/exemplary/custom-client.json b/adapters/adoppler/adopplertest/exemplary/custom-client.json deleted file mode 100644 index fe92c363903..00000000000 --- a/adapters/adoppler/adopplertest/exemplary/custom-client.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "mockBidRequest":{ - "id":"req1", - "imp":[ - { - "id":"imp1", - "banner":{ - "w":100, - "h":200 - }, - "ext":{ - "bidder":{ - "adunit":"unit1", - "client":"client1" - } - } - } - ] - }, - "httpCalls":[ - { - "expectedRequest":{ - "uri":"http://client1.trustedmarketplace.com/processHeaderBid/unit1", - "body":{ - "id":"req1-unit1", - "imp":[ - { - "id":"imp1", - "banner":{ - "w":100, - "h":200 - }, - "ext":{ - "bidder":{ - "adunit":"unit1", - "client":"client1" - } - } - } - ] - }, - "impIDs":["imp1"] - }, - "mockResponse":{ - "status":200, - "body":{ - "id":"req1-unit1", - "seatbid":[ - { - "bid":[ - { - "id":"req1-unit1-bid1", - "impid":"imp1", - "price":0.12, - "adm":"An ad" - } - ] - } - ], - "cur":"USD" - } - } - } - ], - "expectedBidResponses":[ - { - "currency":"USD", - "bids":[ - { - "bid":{ - "id":"req1-unit1-bid1", - "impid":"imp1", - "price":0.12, - "adm":"An ad" - }, - "type":"banner" - } - ] - } - ] -} diff --git a/adapters/adoppler/adoppler.go b/adapters/elementaltv/elementaltv.go similarity index 88% rename from adapters/adoppler/adoppler.go rename to adapters/elementaltv/elementaltv.go index ace52b93b1d..87d2946392a 100644 --- a/adapters/adoppler/adoppler.go +++ b/adapters/elementaltv/elementaltv.go @@ -1,4 +1,4 @@ -package adoppler +package elementaltv import ( "encoding/json" @@ -17,8 +17,6 @@ import ( "github.com/prebid/prebid-server/v3/util/jsonutil" ) -const DefaultClient = "app" - var bidHeaders http.Header = map[string][]string{ "Accept": {"application/json"}, "Content-Type": {"application/json;charset=utf-8"}, @@ -33,24 +31,24 @@ type adsImpExt struct { Video *adsVideoExt `json:"video"` } -type AdopplerAdapter struct { +type ElementalTvAdapter struct { endpoint *template.Template } -// Builder builds a new instance of the Adoppler adapter for the given bidder with the given config. +// Builder builds a new instance of the ElementalTv adapter for the given bidder with the given config. func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { template, err := template.New("endpointTemplate").Parse(config.Endpoint) if err != nil { return nil, fmt.Errorf("unable to parse endpoint url template: %v", err) } - bidder := &AdopplerAdapter{ + bidder := &ElementalTvAdapter{ endpoint: template, } return bidder, nil } -func (ads *AdopplerAdapter) MakeRequests( +func (ads *ElementalTvAdapter) MakeRequests( req *openrtb2.BidRequest, info *adapters.ExtraRequestInfo, ) ( @@ -100,7 +98,7 @@ func (ads *AdopplerAdapter) MakeRequests( return datas, errs } -func (ads *AdopplerAdapter) MakeBids( +func (ads *ElementalTvAdapter) MakeBids( intReq *openrtb2.BidRequest, extReq *adapters.RequestData, resp *adapters.ResponseData, @@ -193,33 +191,27 @@ func (ads *AdopplerAdapter) MakeBids( return adsResp, nil } -func (ads *AdopplerAdapter) bidUri(ext *openrtb_ext.ExtImpAdoppler) (string, error) { +func (ads *ElementalTvAdapter) bidUri(ext *openrtb_ext.ExtImpElementalTv) (string, error) { params := macros.EndpointTemplateParams{} params.AdUnit = url.PathEscape(ext.AdUnit) - if ext.Client == "" { - params.AccountID = DefaultClient - } else { - params.AccountID = url.PathEscape(ext.Client) - } - return macros.ResolveMacros(ads.endpoint, params) } -func unmarshalExt(ext json.RawMessage) (*openrtb_ext.ExtImpAdoppler, error) { +func unmarshalExt(ext json.RawMessage) (*openrtb_ext.ExtImpElementalTv, error) { var bext adapters.ExtImpBidder err := jsonutil.Unmarshal(ext, &bext) if err != nil { return nil, err } - var adsExt openrtb_ext.ExtImpAdoppler + var adsExt openrtb_ext.ExtImpElementalTv err = jsonutil.Unmarshal(bext.Bidder, &adsExt) if err != nil { return nil, err } if adsExt.AdUnit == "" { - return nil, errors.New("$.imp.ext.adoppler.adunit required") + return nil, errors.New("$.imp.ext.bidder.adunit required") } return &adsExt, nil diff --git a/adapters/elementaltv/elementaltv_test.go b/adapters/elementaltv/elementaltv_test.go new file mode 100644 index 00000000000..0669e2f45fc --- /dev/null +++ b/adapters/elementaltv/elementaltv_test.go @@ -0,0 +1,20 @@ +package elementaltv + +import ( + "testing" + + "github.com/prebid/prebid-server/v3/adapters/adapterstest" + "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v3/openrtb_ext" +) + +func TestJsonSamples(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderElementalTv, config.Adapter{ + Endpoint: "https://pbs.elementaltv.io/processHeaderBid/{{.AdUnit}}"}, config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + adapterstest.RunJSONBidderTest(t, "elementaltvtest", bidder) +} diff --git a/adapters/adoppler/adopplertest/exemplary/default-client.json b/adapters/elementaltv/elementaltvtest/exemplary/base.json similarity index 95% rename from adapters/adoppler/adopplertest/exemplary/default-client.json rename to adapters/elementaltv/elementaltvtest/exemplary/base.json index dd53208f7d8..b7913c6597b 100644 --- a/adapters/adoppler/adopplertest/exemplary/default-client.json +++ b/adapters/elementaltv/elementaltvtest/exemplary/base.json @@ -19,7 +19,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ diff --git a/adapters/adoppler/adopplertest/exemplary/multiimp.json b/adapters/elementaltv/elementaltvtest/exemplary/multiimp.json similarity index 95% rename from adapters/adoppler/adopplertest/exemplary/multiimp.json rename to adapters/elementaltv/elementaltvtest/exemplary/multiimp.json index bdbef5a4af0..6575a503004 100644 --- a/adapters/adoppler/adopplertest/exemplary/multiimp.json +++ b/adapters/elementaltv/elementaltvtest/exemplary/multiimp.json @@ -44,7 +44,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ @@ -86,7 +86,7 @@ }, { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit2", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit2", "body":{ "id":"req1-unit2", "imp":[ @@ -141,7 +141,7 @@ }, { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit3", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit3", "body":{ "id":"req1-unit3", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/bad-request.json b/adapters/elementaltv/elementaltvtest/supplemental/bad-request.json similarity index 92% rename from adapters/adoppler/adopplertest/supplemental/bad-request.json rename to adapters/elementaltv/elementaltvtest/supplemental/bad-request.json index c2e38460202..3fac885c8aa 100644 --- a/adapters/adoppler/adopplertest/supplemental/bad-request.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/bad-request.json @@ -19,7 +19,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/duplicate-imp.json b/adapters/elementaltv/elementaltvtest/supplemental/duplicate-imp.json similarity index 94% rename from adapters/adoppler/adopplertest/supplemental/duplicate-imp.json rename to adapters/elementaltv/elementaltvtest/supplemental/duplicate-imp.json index cc24ae03a2f..137997c2ce6 100644 --- a/adapters/adoppler/adopplertest/supplemental/duplicate-imp.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/duplicate-imp.json @@ -31,7 +31,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ @@ -73,7 +73,7 @@ }, { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit2", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit2", "body":{ "id":"req1-unit2", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/invalid-impid.json b/adapters/elementaltv/elementaltvtest/supplemental/invalid-impid.json similarity index 94% rename from adapters/adoppler/adopplertest/supplemental/invalid-impid.json rename to adapters/elementaltv/elementaltvtest/supplemental/invalid-impid.json index e94a0e0c406..2ea9ed4c325 100644 --- a/adapters/adoppler/adopplertest/supplemental/invalid-impid.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/invalid-impid.json @@ -19,7 +19,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/invalid-response.json b/adapters/elementaltv/elementaltvtest/supplemental/invalid-response.json similarity index 92% rename from adapters/adoppler/adopplertest/supplemental/invalid-response.json rename to adapters/elementaltv/elementaltvtest/supplemental/invalid-response.json index 84342feaa0e..81c9ba59681 100644 --- a/adapters/adoppler/adopplertest/supplemental/invalid-response.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/invalid-response.json @@ -19,7 +19,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/invalid-video-ext.json b/adapters/elementaltv/elementaltvtest/supplemental/invalid-video-ext.json similarity index 95% rename from adapters/adoppler/adopplertest/supplemental/invalid-video-ext.json rename to adapters/elementaltv/elementaltvtest/supplemental/invalid-video-ext.json index 6bab4036c5c..8f3386c1387 100644 --- a/adapters/adoppler/adopplertest/supplemental/invalid-video-ext.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/invalid-video-ext.json @@ -35,7 +35,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ @@ -86,7 +86,7 @@ }, { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit2", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit2", "body":{ "id":"req1-unit2", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/missing-adunit.json b/adapters/elementaltv/elementaltvtest/supplemental/missing-adunit.json similarity index 87% rename from adapters/adoppler/adopplertest/supplemental/missing-adunit.json rename to adapters/elementaltv/elementaltvtest/supplemental/missing-adunit.json index df9bbe5771d..92ff8a25eb2 100644 --- a/adapters/adoppler/adopplertest/supplemental/missing-adunit.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/missing-adunit.json @@ -24,7 +24,7 @@ ], "expectedMakeRequestsErrors":[ { - "value":"$.imp.ext.adoppler.adunit required", + "value":"$.imp.ext.bidder.adunit required", "comparison":"literal" } ] diff --git a/adapters/adoppler/adopplertest/supplemental/no-bid.json b/adapters/elementaltv/elementaltvtest/supplemental/no-bid.json similarity index 91% rename from adapters/adoppler/adopplertest/supplemental/no-bid.json rename to adapters/elementaltv/elementaltvtest/supplemental/no-bid.json index 9135b4c5f2f..6f8099516b5 100644 --- a/adapters/adoppler/adopplertest/supplemental/no-bid.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/no-bid.json @@ -19,7 +19,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/server-error.json b/adapters/elementaltv/elementaltvtest/supplemental/server-error.json similarity index 92% rename from adapters/adoppler/adopplertest/supplemental/server-error.json rename to adapters/elementaltv/elementaltvtest/supplemental/server-error.json index dcd45e3718d..5341d2473aa 100644 --- a/adapters/adoppler/adopplertest/supplemental/server-error.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/server-error.json @@ -19,7 +19,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ diff --git a/exchange/adapter_builders.go b/exchange/adapter_builders.go index e6bba140a57..a5bb145f563 100755 --- a/exchange/adapter_builders.go +++ b/exchange/adapter_builders.go @@ -18,7 +18,6 @@ import ( "github.com/prebid/prebid-server/v3/adapters/admixer" "github.com/prebid/prebid-server/v3/adapters/adnuntius" "github.com/prebid/prebid-server/v3/adapters/adocean" - "github.com/prebid/prebid-server/v3/adapters/adoppler" "github.com/prebid/prebid-server/v3/adapters/adot" "github.com/prebid/prebid-server/v3/adapters/adpone" "github.com/prebid/prebid-server/v3/adapters/adprime" @@ -102,6 +101,7 @@ import ( "github.com/prebid/prebid-server/v3/adapters/dxkulture" evolution "github.com/prebid/prebid-server/v3/adapters/e_volution" "github.com/prebid/prebid-server/v3/adapters/edge226" + "github.com/prebid/prebid-server/v3/adapters/elementaltv" "github.com/prebid/prebid-server/v3/adapters/emtv" "github.com/prebid/prebid-server/v3/adapters/eplanning" "github.com/prebid/prebid-server/v3/adapters/epom" @@ -288,7 +288,6 @@ func newAdapterBuilders() map[openrtb_ext.BidderName]adapters.Builder { openrtb_ext.BidderAdmixer: admixer.Builder, openrtb_ext.BidderAdnuntius: adnuntius.Builder, openrtb_ext.BidderAdOcean: adocean.Builder, - openrtb_ext.BidderAdoppler: adoppler.Builder, openrtb_ext.BidderAdot: adot.Builder, openrtb_ext.BidderAdpone: adpone.Builder, openrtb_ext.BidderAdprime: adprime.Builder, @@ -371,6 +370,7 @@ func newAdapterBuilders() map[openrtb_ext.BidderName]adapters.Builder { openrtb_ext.BidderDmx: dmx.Builder, openrtb_ext.BidderDXKulture: dxkulture.Builder, openrtb_ext.BidderDriftPixel: driftpixel.Builder, + openrtb_ext.BidderElemantalTv: elementaltv.Builder, openrtb_ext.BidderEmtv: emtv.Builder, openrtb_ext.BidderEmxDigital: cadentaperturemx.Builder, openrtb_ext.BidderEPlanning: eplanning.Builder, diff --git a/openrtb_ext/bidders.go b/openrtb_ext/bidders.go index 82a6df4f77c..5fc04b242b1 100644 --- a/openrtb_ext/bidders.go +++ b/openrtb_ext/bidders.go @@ -34,7 +34,6 @@ var coreBidderNames []BidderName = []BidderName{ BidderAdmixer, BidderAdnuntius, BidderAdOcean, - BidderAdoppler, BidderAdot, BidderAdpone, BidderAdprime, @@ -117,6 +116,7 @@ var coreBidderNames []BidderName = []BidderName{ BidderDmx, BidderDXKulture, BidderDriftPixel, + BidderElementalTv, BidderEmtv, BidderEmxDigital, BidderEPlanning, @@ -411,7 +411,6 @@ const ( BidderAdmixer BidderName = "admixer" BidderAdnuntius BidderName = "adnuntius" BidderAdOcean BidderName = "adocean" - BidderAdoppler BidderName = "adoppler" BidderAdot BidderName = "adot" BidderAdpone BidderName = "adpone" BidderAdprime BidderName = "adprime" @@ -494,6 +493,7 @@ const ( BidderDmx BidderName = "dmx" BidderDXKulture BidderName = "dxkulture" BidderDriftPixel BidderName = "driftpixel" + BidderElementalTv BidderName = "elemental" BidderEmtv BidderName = "emtv" BidderEmxDigital BidderName = "emx_digital" BidderEPlanning BidderName = "eplanning" diff --git a/openrtb_ext/imp_adoppler.go b/openrtb_ext/imp_adoppler.go deleted file mode 100644 index 9d4d5e5ca01..00000000000 --- a/openrtb_ext/imp_adoppler.go +++ /dev/null @@ -1,6 +0,0 @@ -package openrtb_ext - -type ExtImpAdoppler struct { - Client string `json:"client"` - AdUnit string `json:"adunit"` -} diff --git a/openrtb_ext/imp_elementaltv.go b/openrtb_ext/imp_elementaltv.go new file mode 100644 index 00000000000..d2f7fed991b --- /dev/null +++ b/openrtb_ext/imp_elementaltv.go @@ -0,0 +1,5 @@ +package openrtb_ext + +type ExtImpElementalTv struct { + AdUnit string `json:"adunit"` +} diff --git a/static/bidder-info/adoppler.yaml b/static/bidder-info/adoppler.yaml index 3db2c1f998d..760ede605e7 100644 --- a/static/bidder-info/adoppler.yaml +++ b/static/bidder-info/adoppler.yaml @@ -1,12 +1,2 @@ -endpoint: "http://{{.AccountID}}.trustedmarketplace.io/ads/processHeaderBid/{{.AdUnit}}" -maintainer: - email: pbs@adoppler.com -capabilities: - app: - mediaTypes: - - banner - - video - site: - mediaTypes: - - banner - - video +endpoint: "https://pbs.elementaltv.io/ads/processHeaderBid/{{.AdUnit}}" +aliasOf: "elementaltv" \ No newline at end of file diff --git a/static/bidder-info/elementaltv.yaml b/static/bidder-info/elementaltv.yaml new file mode 100644 index 00000000000..293ce4db8bb --- /dev/null +++ b/static/bidder-info/elementaltv.yaml @@ -0,0 +1,14 @@ +endpoint: "https://pbs.elementaltv.io/ads/processHeaderBid/{{.AdUnit}}" +maintainer: + email: support@elementaltv.com +capabilities: + app: + mediaTypes: + - banner + - video + - native + site: + mediaTypes: + - banner + - video + - native diff --git a/static/bidder-params/adoppler.json b/static/bidder-params/elementaltv.json similarity index 66% rename from static/bidder-params/adoppler.json rename to static/bidder-params/elementaltv.json index 508eef478c0..686d1ef9fab 100644 --- a/static/bidder-params/adoppler.json +++ b/static/bidder-params/elementaltv.json @@ -1,16 +1,12 @@ { "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Adoppler Adapter Params", - "description": "A schema which validates params accepted by the Adoppler adapter", + "title": "ElementalTv Adapter Params", + "description": "A schema which validates params accepted by the ElementalTv adapter", "type": "object", "properties": { "adunit": { "type": "string", "description": "AdUnit to bid against to." - }, - "client": { - "type": "string", - "description": "Client name." } }, "required": ["adunit"] From fb8f6b14c28fb7bc01d7253e0c136293fc6fdac0 Mon Sep 17 00:00:00 2001 From: Pavel Ptashyts Date: Thu, 18 Dec 2025 10:06:49 +0100 Subject: [PATCH 2/4] Update Adoppler/ElementaTv: 1) Code refactor rename ElementalTvAdapter to adapter 2) Add OpenRtb version 2.6 --- adapters/elementaltv/elementaltv.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/adapters/elementaltv/elementaltv.go b/adapters/elementaltv/elementaltv.go index 87d2946392a..ee6cc97652f 100644 --- a/adapters/elementaltv/elementaltv.go +++ b/adapters/elementaltv/elementaltv.go @@ -20,7 +20,7 @@ import ( var bidHeaders http.Header = map[string][]string{ "Accept": {"application/json"}, "Content-Type": {"application/json;charset=utf-8"}, - "X-OpenRTB-Version": {"2.5"}, + "X-OpenRTB-Version": {"2.6"}, } type adsVideoExt struct { @@ -31,7 +31,7 @@ type adsImpExt struct { Video *adsVideoExt `json:"video"` } -type ElementalTvAdapter struct { +type adapter struct { endpoint *template.Template } @@ -42,13 +42,13 @@ func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server co return nil, fmt.Errorf("unable to parse endpoint url template: %v", err) } - bidder := &ElementalTvAdapter{ + bidder := &adapter{ endpoint: template, } return bidder, nil } -func (ads *ElementalTvAdapter) MakeRequests( +func (ads *adapter) MakeRequests( req *openrtb2.BidRequest, info *adapters.ExtraRequestInfo, ) ( @@ -98,7 +98,7 @@ func (ads *ElementalTvAdapter) MakeRequests( return datas, errs } -func (ads *ElementalTvAdapter) MakeBids( +func (ads *adapter) MakeBids( intReq *openrtb2.BidRequest, extReq *adapters.RequestData, resp *adapters.ResponseData, @@ -191,7 +191,7 @@ func (ads *ElementalTvAdapter) MakeBids( return adsResp, nil } -func (ads *ElementalTvAdapter) bidUri(ext *openrtb_ext.ExtImpElementalTv) (string, error) { +func (ads *adapter) bidUri(ext *openrtb_ext.ExtImpElementalTv) (string, error) { params := macros.EndpointTemplateParams{} params.AdUnit = url.PathEscape(ext.AdUnit) return macros.ResolveMacros(ads.endpoint, params) From 3cf30b895741d1288beb556b3397bf400b4bb6ac Mon Sep 17 00:00:00 2001 From: Pavel Ptashyts Date: Thu, 18 Dec 2025 11:06:59 +0100 Subject: [PATCH 3/4] Update Adoppler/ElementaTv: --- exchange/adapter_builders.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exchange/adapter_builders.go b/exchange/adapter_builders.go index a5bb145f563..e08516584ab 100755 --- a/exchange/adapter_builders.go +++ b/exchange/adapter_builders.go @@ -370,7 +370,7 @@ func newAdapterBuilders() map[openrtb_ext.BidderName]adapters.Builder { openrtb_ext.BidderDmx: dmx.Builder, openrtb_ext.BidderDXKulture: dxkulture.Builder, openrtb_ext.BidderDriftPixel: driftpixel.Builder, - openrtb_ext.BidderElemantalTv: elementaltv.Builder, + openrtb_ext.BidderElementalTv: elementaltv.Builder, openrtb_ext.BidderEmtv: emtv.Builder, openrtb_ext.BidderEmxDigital: cadentaperturemx.Builder, openrtb_ext.BidderEPlanning: eplanning.Builder, From b59b75d6ad533d4799e346e835cfe4ba100e33a2 Mon Sep 17 00:00:00 2001 From: Pavel Ptashyts Date: Thu, 18 Dec 2025 11:14:07 +0100 Subject: [PATCH 4/4] Update Adoppler/ElementaTv --- adapters/elementaltv/elementaltv.go | 8 ++++---- adapters/elementaltv/elementaltv_test.go | 2 +- openrtb_ext/bidders.go | 4 ++-- openrtb_ext/imp_elementaltv.go | 2 +- static/bidder-params/elementaltv.json | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/adapters/elementaltv/elementaltv.go b/adapters/elementaltv/elementaltv.go index ee6cc97652f..543c7c0bfe0 100644 --- a/adapters/elementaltv/elementaltv.go +++ b/adapters/elementaltv/elementaltv.go @@ -35,7 +35,7 @@ type adapter struct { endpoint *template.Template } -// Builder builds a new instance of the ElementalTv adapter for the given bidder with the given config. +// Builder builds a new instance of the ElementalTV adapter for the given bidder with the given config. func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { template, err := template.New("endpointTemplate").Parse(config.Endpoint) if err != nil { @@ -191,20 +191,20 @@ func (ads *adapter) MakeBids( return adsResp, nil } -func (ads *adapter) bidUri(ext *openrtb_ext.ExtImpElementalTv) (string, error) { +func (ads *adapter) bidUri(ext *openrtb_ext.ExtImpElementalTV) (string, error) { params := macros.EndpointTemplateParams{} params.AdUnit = url.PathEscape(ext.AdUnit) return macros.ResolveMacros(ads.endpoint, params) } -func unmarshalExt(ext json.RawMessage) (*openrtb_ext.ExtImpElementalTv, error) { +func unmarshalExt(ext json.RawMessage) (*openrtb_ext.ExtImpElementalTV, error) { var bext adapters.ExtImpBidder err := jsonutil.Unmarshal(ext, &bext) if err != nil { return nil, err } - var adsExt openrtb_ext.ExtImpElementalTv + var adsExt openrtb_ext.ExtImpElementalTV err = jsonutil.Unmarshal(bext.Bidder, &adsExt) if err != nil { return nil, err diff --git a/adapters/elementaltv/elementaltv_test.go b/adapters/elementaltv/elementaltv_test.go index 0669e2f45fc..933cb4810f3 100644 --- a/adapters/elementaltv/elementaltv_test.go +++ b/adapters/elementaltv/elementaltv_test.go @@ -9,7 +9,7 @@ import ( ) func TestJsonSamples(t *testing.T) { - bidder, buildErr := Builder(openrtb_ext.BidderElementalTv, config.Adapter{ + bidder, buildErr := Builder(openrtb_ext.BidderElementalTV, config.Adapter{ Endpoint: "https://pbs.elementaltv.io/processHeaderBid/{{.AdUnit}}"}, config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) if buildErr != nil { diff --git a/openrtb_ext/bidders.go b/openrtb_ext/bidders.go index 5fc04b242b1..7c0b68b74e4 100644 --- a/openrtb_ext/bidders.go +++ b/openrtb_ext/bidders.go @@ -116,7 +116,7 @@ var coreBidderNames []BidderName = []BidderName{ BidderDmx, BidderDXKulture, BidderDriftPixel, - BidderElementalTv, + BidderElementalTV, BidderEmtv, BidderEmxDigital, BidderEPlanning, @@ -493,7 +493,7 @@ const ( BidderDmx BidderName = "dmx" BidderDXKulture BidderName = "dxkulture" BidderDriftPixel BidderName = "driftpixel" - BidderElementalTv BidderName = "elemental" + BidderElementalTV BidderName = "elementaltv" BidderEmtv BidderName = "emtv" BidderEmxDigital BidderName = "emx_digital" BidderEPlanning BidderName = "eplanning" diff --git a/openrtb_ext/imp_elementaltv.go b/openrtb_ext/imp_elementaltv.go index d2f7fed991b..a1f267f9711 100644 --- a/openrtb_ext/imp_elementaltv.go +++ b/openrtb_ext/imp_elementaltv.go @@ -1,5 +1,5 @@ package openrtb_ext -type ExtImpElementalTv struct { +type ExtImpElementalTV struct { AdUnit string `json:"adunit"` } diff --git a/static/bidder-params/elementaltv.json b/static/bidder-params/elementaltv.json index 686d1ef9fab..fbe36a9606e 100644 --- a/static/bidder-params/elementaltv.json +++ b/static/bidder-params/elementaltv.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-04/schema#", - "title": "ElementalTv Adapter Params", - "description": "A schema which validates params accepted by the ElementalTv adapter", + "title": "ElementalTV Adapter Params", + "description": "A schema which validates params accepted by the ElementalTV adapter", "type": "object", "properties": { "adunit": {