From abe708b9fe3061ba3138ed76b85729d64b3ed17f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Bieli=C5=84ski?= Date: Mon, 12 May 2025 14:30:04 +0200 Subject: [PATCH 1/7] [WPPAR-6392] - sspBC adapter update --- adapters/sspBC/sspbc.go | 354 ++---------------- .../exemplary/banner-fromtemplate.json | 153 -------- ...le-imps.json => banner-multiple-imps.json} | 153 ++++---- ...atted-onecode.json => banner-onecode.json} | 87 +++-- .../{banner-preformatted.json => banner.json} | 93 +++-- .../bad_request_without_site.json | 42 --- .../sspbctest/supplemental/bad_response.json | 73 ++-- ...bad_response_with_incorrect_bid_type.json} | 87 +++-- .../bad_response_with_incorrect_impid.json | 136 ------- .../request_with_diffrent_siteid.json | 154 -------- ...request_with_incorrect_imp_bidder_ext.json | 93 ++--- .../request_with_incorrect_imp_ext.json | 87 +++-- ...request_with_standard_and_onecode_imp.json | 130 ++++--- .../supplemental/request_with_test.json | 100 ++--- .../request_without_banner_format.json | 90 +++-- .../supplemental/request_without_ext_id.json | 93 +++-- .../request_without_ext_site_id.json | 94 +++-- .../sspbctest/supplemental/status_204.json | 74 ++-- .../sspbctest/supplemental/status_400.json | 74 ++-- static/bidder-info/sspBC.yaml | 2 +- 20 files changed, 771 insertions(+), 1398 deletions(-) delete mode 100644 adapters/sspBC/sspbctest/exemplary/banner-fromtemplate.json rename adapters/sspBC/sspbctest/exemplary/{banner-preformatted-multiple-imps.json => banner-multiple-imps.json} (59%) rename adapters/sspBC/sspbctest/exemplary/{banner-preformatted-onecode.json => banner-onecode.json} (61%) rename adapters/sspBC/sspbctest/exemplary/{banner-preformatted.json => banner.json} (60%) delete mode 100644 adapters/sspBC/sspbctest/supplemental/bad_request_without_site.json rename adapters/sspBC/sspbctest/supplemental/{bad_response_without_adm.json => bad_response_with_incorrect_bid_type.json} (56%) delete mode 100644 adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_impid.json delete mode 100644 adapters/sspBC/sspbctest/supplemental/request_with_diffrent_siteid.json diff --git a/adapters/sspBC/sspbc.go b/adapters/sspBC/sspbc.go index ae7d5f40e14..9c022f1367a 100644 --- a/adapters/sspBC/sspbc.go +++ b/adapters/sspBC/sspbc.go @@ -1,115 +1,56 @@ package sspBC import ( - "bytes" "encoding/json" - "errors" "fmt" - "html/template" "net/http" "net/url" - "strings" "github.com/prebid/openrtb/v20/openrtb2" "github.com/prebid/prebid-server/v3/adapters" "github.com/prebid/prebid-server/v3/config" "github.com/prebid/prebid-server/v3/errortypes" + "github.com/prebid/prebid-server/v3/metrics" "github.com/prebid/prebid-server/v3/openrtb_ext" "github.com/prebid/prebid-server/v3/util/jsonutil" ) const ( - adapterVersion = "5.8" - impFallbackSize = "1x1" - requestTypeStandard = 1 - requestTypeOneCode = 2 - requestTypeTest = 3 - prebidServerIntegrationType = "4" + adapterVersion = "5.8" ) -var ( - errSiteNill = errors.New("site cannot be nill") - errImpNotFound = errors.New("imp not found") - errNotSupportedFormat = errors.New("bid format is not supported") -) - -// mcAd defines the MC payload for banner ads. -type mcAd struct { - Id string `json:"id"` - Seat string `json:"seat"` - SeatBid []openrtb2.SeatBid `json:"seatbid"` -} - -// adSlotData defines struct used for the oneCode detection. -type adSlotData struct { - PbSlot string `json:"pbslot"` - PbSize string `json:"pbsize"` -} - -// templatePayload represents the banner template payload. -type templatePayload struct { - SiteId string `json:"siteid"` - SlotId string `json:"slotid"` - AdLabel string `json:"adlabel"` - PubId string `json:"pubid"` - Page string `json:"page"` - Referer string `json:"referer"` - McAd mcAd `json:"mcad"` - Inver string `json:"inver"` +type RequestData struct { + Request *openrtb2.BidRequest `json:"bidRequest"` + RequestInfo *RequestInfo `json:"requestInfo"` } -// requestImpExt represents the ext field of the request imp field. -type requestImpExt struct { - Data adSlotData `json:"data"` -} - -// responseExt represents ext data added by proxy. -type responseExt struct { - AdLabel string `json:"adlabel"` - PublisherId string `json:"pubid"` - SiteId string `json:"siteid"` - SlotId string `json:"slotid"` +type RequestInfo struct { + PbsEntryPoint metrics.RequestType } type adapter struct { - endpoint string - bannerTemplate *template.Template + endpoint string } // ---------------ADAPTER INTERFACE------------------ // Builder builds a new instance of the sspBC adapter -func Builder(_ openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { - // HTML template used to create banner ads - const bannerHTML = `
` - - bannerTemplate, err := template.New("banner").Parse(bannerHTML) - if err != nil { - return nil, err - } - +func Builder(_ openrtb_ext.BidderName, config config.Adapter, _ config.Server) (adapters.Bidder, error) { bidder := &adapter{ - endpoint: config.Endpoint, - bannerTemplate: bannerTemplate, + endpoint: config.Endpoint, } return bidder, nil } func (a *adapter) MakeRequests(request *openrtb2.BidRequest, requestInfo *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { - formattedRequest, err := formatSspBcRequest(request) - if err != nil { - return nil, []error{err} + sspBcRequest := &RequestData{ + Request: request, + RequestInfo: &RequestInfo{ + PbsEntryPoint: requestInfo.PbsEntryPoint, + }, } - requestJSON, err := json.Marshal(formattedRequest) + requestJSON, err := json.Marshal(sspBcRequest) if err != nil { return nil, []error{err} } @@ -122,14 +63,13 @@ func (a *adapter) MakeRequests(request *openrtb2.BidRequest, requestInfo *adapte // add query parameters to request queryParams := requestURL.Query() queryParams.Add("bdver", adapterVersion) - queryParams.Add("inver", prebidServerIntegrationType) requestURL.RawQuery = queryParams.Encode() requestData := &adapters.RequestData{ Method: http.MethodPost, Uri: requestURL.String(), Body: requestJSON, - ImpIDs: getImpIDs(formattedRequest.Imp), + ImpIDs: openrtb_ext.GetImpIDs(request.Imp), } return []*adapters.RequestData{requestData}, nil @@ -158,252 +98,34 @@ func (a *adapter) MakeBids(internalRequest *openrtb2.BidRequest, externalRequest var errors []error for _, seatBid := range response.SeatBid { for _, bid := range seatBid.Bid { - if err := a.impToBid(internalRequest, seatBid, bid, bidResponse); err != nil { - errors = append(errors, err) + bidType, err := getBidType(bid) + if err != nil { + return nil, []error{err} } - } - } - - return bidResponse, errors -} - -func (a *adapter) impToBid(internalRequest *openrtb2.BidRequest, seatBid openrtb2.SeatBid, bid openrtb2.Bid, - bidResponse *adapters.BidderResponse) error { - var bidType openrtb_ext.BidType - - /* - Determine bid type - At this moment we only check if bid contains Adm property - - Later updates will check for video & native data - */ - if bid.AdM != "" { - bidType = openrtb_ext.BidTypeBanner - } - /* - Recover original ImpID - (stored on request in TagID) - */ - impID, err := getOriginalImpID(bid.ImpID, internalRequest.Imp) - if err != nil { - return err - } - bid.ImpID = impID - - // read additional data from proxy - var bidDataExt responseExt - if err := jsonutil.Unmarshal(bid.Ext, &bidDataExt); err != nil { - return err - } - /* - use correct ad creation method for a detected bid type - right now, we are only creating banner ads - if type is not detected / supported, throw error - */ - if bidType != openrtb_ext.BidTypeBanner { - return errNotSupportedFormat - } - - var adCreationError error - bid.AdM, adCreationError = a.createBannerAd(bid, bidDataExt, internalRequest, seatBid.Seat) - if adCreationError != nil { - return adCreationError - } - // append bid to responses - bidResponse.Bids = append(bidResponse.Bids, &adapters.TypedBid{ - Bid: &bid, - BidType: bidType, - }) - - return nil -} - -func getOriginalImpID(impID string, imps []openrtb2.Imp) (string, error) { - for _, imp := range imps { - if imp.ID == impID { - return imp.TagID, nil + bidResponse.Bids = append(bidResponse.Bids, &adapters.TypedBid{ + Bid: &bid, + BidType: bidType, + }) } } - return "", errImpNotFound -} - -func (a *adapter) createBannerAd(bid openrtb2.Bid, ext responseExt, request *openrtb2.BidRequest, seat string) (string, error) { - if strings.Contains(bid.AdM, "") { - // Banner ad is already formatted - return bid.AdM, nil - } - - // create McAd payload - var mcad = mcAd{ - Id: request.ID, - Seat: seat, - SeatBid: []openrtb2.SeatBid{ - {Bid: []openrtb2.Bid{bid}}, - }, - } - - bannerData := &templatePayload{ - SiteId: ext.SiteId, - SlotId: ext.SlotId, - AdLabel: ext.AdLabel, - PubId: ext.PublisherId, - Page: request.Site.Page, - Referer: request.Site.Ref, - McAd: mcad, - Inver: prebidServerIntegrationType, - } - - var filledTemplate bytes.Buffer - if err := a.bannerTemplate.Execute(&filledTemplate, bannerData); err != nil { - return "", err - } - - return filledTemplate.String(), nil -} - -func getImpSize(imp openrtb2.Imp) string { - if imp.Banner == nil || len(imp.Banner.Format) == 0 { - return impFallbackSize - } - - var ( - areaMax int64 - impSize = impFallbackSize - ) - - for _, size := range imp.Banner.Format { - area := size.W * size.H - if area > areaMax { - areaMax = area - impSize = fmt.Sprintf("%dx%d", size.W, size.H) - } - } - - return impSize -} - -// getBidParameters reads additional data for this imp (site id , placement id, test) -// Errors in parameters do not break imp flow, and thus are not returned -func getBidParameters(imp openrtb2.Imp) openrtb_ext.ExtImpSspbc { - var extBidder adapters.ExtImpBidder - var extSSP openrtb_ext.ExtImpSspbc - - if err := jsonutil.Unmarshal(imp.Ext, &extBidder); err == nil { - _ = jsonutil.Unmarshal(extBidder.Bidder, &extSSP) - } - - return extSSP -} - -// getRequestType checks what kind of request we have. It can either be: -// - a standard request, where all Imps have complete site / placement data -// - a oneCodeRequest, where site / placement data has to be determined by server -// - a test request, where server returns fixed example ads -func getRequestType(request *openrtb2.BidRequest) int { - incompleteImps := 0 - - for _, imp := range request.Imp { - // Read data for this imp - extSSP := getBidParameters(imp) - - if extSSP.IsTest != 0 { - return requestTypeTest - } - - if extSSP.SiteId == "" || extSSP.Id == "" { - incompleteImps += 1 - } - } - - if incompleteImps > 0 { - return requestTypeOneCode - } - - return requestTypeStandard + return bidResponse, errors } -func formatSspBcRequest(request *openrtb2.BidRequest) (*openrtb2.BidRequest, error) { - if request.Site == nil { - return nil, errSiteNill - } - - var siteID string - - // determine what kind of request we are dealing with - requestType := getRequestType(request) - - for i, imp := range request.Imp { - // read ext data for the impression - extSSP := getBidParameters(imp) - - // store SiteID - if extSSP.SiteId != "" { - siteID = extSSP.SiteId - } - - // save current imp.id (adUnit name) as imp.tagid - // we will recover it in makeBids - imp.TagID = imp.ID - - // if there is a placement id, and this is not a oneCodeRequest, use it in imp.id - if extSSP.Id != "" && requestType != requestTypeOneCode { - imp.ID = extSSP.Id - } - - // check imp size and update e.ext - send pbslot, pbsize - // inability to set bid.ext will cause request to be invalid - impSize := getImpSize(imp) - impExt := requestImpExt{ - Data: adSlotData{ - PbSlot: imp.TagID, - PbSize: impSize, - }, - } - - impExtJSON, err := json.Marshal(impExt) - if err != nil { - return nil, err +func getBidType(bid openrtb2.Bid) (openrtb_ext.BidType, error) { + switch bid.MType { + case openrtb2.MarkupBanner: + return openrtb_ext.BidTypeBanner, nil + case openrtb2.MarkupVideo: + return openrtb_ext.BidTypeVideo, nil + case openrtb2.MarkupAudio: + return openrtb_ext.BidTypeAudio, nil + case openrtb2.MarkupNative: + return openrtb_ext.BidTypeNative, nil + default: + return "", &errortypes.BadServerResponse{ + Message: fmt.Sprintf("Unsupported MType: %d.", bid.MType), } - imp.Ext = impExtJSON - // save updated imp - request.Imp[i] = imp - } - - siteCopy := *request.Site - request.Site = &siteCopy - - /* - update site ID - for oneCode request it has to be blank - for other requests it should be equal to - SiteId from one of the bids - */ - if requestType == requestTypeOneCode || siteID == "" { - request.Site.ID = "" - } else { - request.Site.ID = siteID - } - - // add domain info - if siteURL, err := url.Parse(request.Site.Page); err == nil { - request.Site.Domain = siteURL.Hostname() - } - - // set TEST Flag - if requestType == requestTypeTest { - request.Test = 1 - } - - return request, nil -} - -// getImpIDs uses imp.TagID instead of imp.ID as formattedRequest stores imp.ID in imp.TagID -func getImpIDs(imps []openrtb2.Imp) []string { - impIDs := make([]string, len(imps)) - for i := range imps { - impIDs[i] = imps[i].TagID } - return impIDs } diff --git a/adapters/sspBC/sspbctest/exemplary/banner-fromtemplate.json b/adapters/sspBC/sspbctest/exemplary/banner-fromtemplate.json deleted file mode 100644 index a8af9496124..00000000000 --- a/adapters/sspBC/sspbctest/exemplary/banner-fromtemplate.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "mockBidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "ext": { - "bidder": { - "siteId": "237503", - "id": "005" - } - }, - "secure": 1, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - } - } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - } - }, - "httpCalls": [ - { - "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", - "body": { - "id": "test-request", - "imp": [ - { - "id": "005", - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - }, - "tagid": "slot", - "secure": 1, - "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } - } - } - ], - "site": { - "id": "237503", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - }, - "regs": { - "ext": { - "gdpr": 1 - } - } - }, - "impIDs":["slot"] - }, - "mockResponse": { - "status": 200, - "body": { - "cur": "USD", - "id": "test-request", - "seatbid": [ - { - "bid": [ - { - "adm": "some-test-ad", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "ext": { - "adlabel": "Reklama", - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "slot" - }, - "w": 300, - "h": 250, - "id": "response-005", - "impid": "005", - "price": 20 - } - ], - "seat": "sspbc-test" - } - ], - "sn": "sspbc-test" - } - } - } - ], - "expectedBidResponses": [ - { - "currency": "USD", - "bids": [ - { - "bid": { - "id": "response-005", - "impid": "slot", - "price": 20, - "adm": "<\/title><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><style> body { background-color: transparent; margin: 0; padding: 0; }<\/style><script> window.rekid = \"237503\"; window.slot = \"005\"; window.adlabel = 'Reklama'; window.pubid = '431'; window.wp_sn = 'sspbc_go'; window.page = 'https:\\\/\\\/test.page\\\/'; window.ref = 'https:\\\/\\\/test.referer\\\/'; window.mcad = {\"id\":\"test-request\",\"seat\":\"sspbc-test\",\"seatbid\":[{\"bid\":[{\"id\":\"response-005\",\"impid\":\"slot\",\"price\":20,\"adm\":\"some-test-ad\",\"adomain\":[\"sspbc-test\"],\"crid\":\"1234\",\"w\":300,\"h\":250,\"ext\":{\"adlabel\":\"Reklama\",\"pubid\":\"431\",\"siteid\":\"237503\",\"slotid\":\"005\",\"tagid\":\"slot\"}}]}]}; window.inver = '4'; <\/script><\/head><body><div id=\"c\"><\/div><script async crossorigin nomodule src=\"\/\/std.wpcdn.pl\/wpjslib\/wpjslib-inline.js\" id=\"wpjslib\"><\/script><script async crossorigin type=\"module\" src=\"\/\/std.wpcdn.pl\/wpjslib6\/wpjslib-inline.js\" id=\"wpjslib6\"><\/script><\/body><\/html>", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "w": 300, - "h": 250, - "ext": { - "adlabel": "Reklama", - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "slot" - } - }, - "type": "banner" - } - ] - } - ] -} \ No newline at end of file diff --git a/adapters/sspBC/sspbctest/exemplary/banner-preformatted-multiple-imps.json b/adapters/sspBC/sspbctest/exemplary/banner-multiple-imps.json similarity index 59% rename from adapters/sspBC/sspbctest/exemplary/banner-preformatted-multiple-imps.json rename to adapters/sspBC/sspbctest/exemplary/banner-multiple-imps.json index 15856d4ae4a..f0ce72d9ddc 100644 --- a/adapters/sspBC/sspbctest/exemplary/banner-preformatted-multiple-imps.json +++ b/adapters/sspBC/sspbctest/exemplary/banner-multiple-imps.json @@ -18,7 +18,8 @@ "h": 250 } ] - } + }, + "tagid": "ad-test1" }, { "id": "slot2", @@ -36,7 +37,8 @@ "h": 600 } ] - } + }, + "tagid": "ad-test2" } ], "site": { @@ -59,65 +61,69 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "005", - "banner": { - "format": [ - { - "w": 300, - "h": 250 + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot1", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "tagid": "ad-test1", + "secure": 1, + "ext": { + "bidder": { + "siteId": "237503", + "id": "005" } - ] + } }, - "tagid": "slot1", - "secure": 1, - "ext": { - "data": { - "pbslot": "slot1", - "pbsize": "300x250" + { + "id": "slot2", + "banner": { + "format": [ + { + "w": 300, + "h": 600 + } + ] + }, + "tagid": "ad-test2", + "secure": 1, + "ext": { + "bidder": { + "siteId": "237503", + "id": "037" + } } } + ], + "site": { + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" }, - { - "id": "037", - "banner": { - "format": [ - { - "w": 300, - "h": 600 - } - ] + "user": { + "ext": { + "consent": "test_consent" }, - "tagid": "slot2", - "secure": 1, + "buyeruid": "test_user" + }, + "regs": { "ext": { - "data": { - "pbslot": "slot2", - "pbsize": "300x600" - } + "gdpr": 1 } } - ], - "site": { - "id": "237503", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" }, - "regs": { - "ext": { - "gdpr": 1 - } + "requestInfo": { + "PbsEntryPoint": "" } }, "impIDs":["slot1","slot2"] @@ -132,22 +138,26 @@ "bid": [ { "adm": "<!--preformatted-->test_ad_1", + "nurl": "www.test.com", "adomain": [ "sspbc-test" ], "crid": "1234", "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot1" + "tagid": "ad-test1" }, "w": 300, "h": 250, "id": "response-005", - "impid": "005", - "price": 20 + "impid": "slot1", + "price": 20, + "mtype": 1 } ], "seat": "sspbc-test" @@ -156,28 +166,31 @@ "bid": [ { "adm": "<!--preformatted-->test_ad_2", + "nurl": "www.test.com", "adomain": [ "sspbc-test" ], "crid": "5678", "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "037", - "tagid": "slot2" + "tagid": "ad-test2" }, "w": 300, "h": 600, "id": "response-037", - "impid": "037", - "price": 10 + "impid": "slot2", + "price": 10, + "mtype": 1 } ], "seat": "sspbc-test" } - ], - "sn": "sspbc-test" + ] } } } @@ -192,6 +205,7 @@ "impid": "slot1", "price": 20, "adm": "<!--preformatted-->test_ad_1", + "nurl": "www.test.com", "adomain": [ "sspbc-test" ], @@ -199,12 +213,15 @@ "w": 300, "h": 250, "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot1" - } + "tagid": "ad-test1" + }, + "mtype": 1 }, "type": "banner" }, @@ -214,6 +231,7 @@ "impid": "slot2", "price": 10, "adm": "<!--preformatted-->test_ad_2", + "nurl": "www.test.com", "adomain": [ "sspbc-test" ], @@ -221,12 +239,15 @@ "w": 300, "h": 600, "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "037", - "tagid": "slot2" - } + "tagid": "ad-test2" + }, + "mtype": 1 }, "type": "banner" } diff --git a/adapters/sspBC/sspbctest/exemplary/banner-preformatted-onecode.json b/adapters/sspBC/sspbctest/exemplary/banner-onecode.json similarity index 61% rename from adapters/sspBC/sspbctest/exemplary/banner-preformatted-onecode.json rename to adapters/sspBC/sspbctest/exemplary/banner-onecode.json index c700d9e584e..26f8deba260 100644 --- a/adapters/sspBC/sspbctest/exemplary/banner-preformatted-onecode.json +++ b/adapters/sspBC/sspbctest/exemplary/banner-onecode.json @@ -13,7 +13,8 @@ "h": 250 } ] - } + }, + "tagid": "ad-test1" } ], "site": { @@ -36,45 +37,45 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "tagid": "ad-test1", + "secure": 1, + "ext": {} + } + ], + "site": { + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" + }, + "user": { + "ext": { + "consent": "test_consent" }, - "tagid": "slot", - "secure": 1, + "buyeruid": "test_user" + }, + "regs": { "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } + "gdpr": 1 } } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" }, - "regs": { - "ext": { - "gdpr": 1 - } + "requestInfo": { + "PbsEntryPoint": "" } }, "impIDs":["slot"] @@ -94,17 +95,20 @@ ], "crid": "1234", "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" + "tagid": "ad-test1" }, "w": 300, "h": 250, "id": "response-005", "impid": "slot", - "price": 20 + "price": 20, + "mtype": 1 } ], "seat": "sspbc-test" @@ -132,12 +136,15 @@ "w": 300, "h": 250, "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" - } + "tagid": "ad-test1" + }, + "mtype": 1 }, "type": "banner" } diff --git a/adapters/sspBC/sspbctest/exemplary/banner-preformatted.json b/adapters/sspBC/sspbctest/exemplary/banner.json similarity index 60% rename from adapters/sspBC/sspbctest/exemplary/banner-preformatted.json rename to adapters/sspBC/sspbctest/exemplary/banner.json index 1a9b22e7801..564bc7bf386 100644 --- a/adapters/sspBC/sspbctest/exemplary/banner-preformatted.json +++ b/adapters/sspBC/sspbctest/exemplary/banner.json @@ -18,7 +18,8 @@ "h": 250 } ] - } + }, + "tagid": "ad-test1" } ], "site": { @@ -41,46 +42,50 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "005", - "banner": { - "format": [ - { - "w": 300, - "h": 250 + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "tagid": "ad-test1", + "secure": 1, + "ext": { + "bidder": { + "siteId": "237503", + "id": "005" } - ] + } + } + ], + "site": { + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" + }, + "user": { + "ext": { + "consent": "test_consent" }, - "tagid": "slot", - "secure": 1, + "buyeruid": "test_user" + }, + "regs": { "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } + "gdpr": 1 } } - ], - "site": { - "id": "237503", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" }, - "regs": { - "ext": { - "gdpr": 1 - } + "requestInfo": { + "PbsEntryPoint": "" } }, "impIDs":["slot"] @@ -100,17 +105,20 @@ ], "crid": "1234", "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" + "tagid": "ad-test1" }, "w": 300, "h": 250, "id": "response-005", - "impid": "005", - "price": 20 + "impid": "slot", + "price": 20, + "mtype": 1 } ], "seat": "sspbc-test" @@ -138,12 +146,15 @@ "w": 300, "h": 250, "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" - } + "tagid": "ad-test1" + }, + "mtype": 1 }, "type": "banner" } diff --git a/adapters/sspBC/sspbctest/supplemental/bad_request_without_site.json b/adapters/sspBC/sspbctest/supplemental/bad_request_without_site.json deleted file mode 100644 index c8acc0c82f7..00000000000 --- a/adapters/sspBC/sspbctest/supplemental/bad_request_without_site.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "mockBidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "ext": { - "bidder": { - "siteId": "237503", - "id": "005" - } - }, - "secure": 1, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - } - } - ], - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - } - }, - "expectedMakeRequestsErrors": [ - { - "value": "site cannot be nill", - "comparison": "literal" - } - ] -} \ No newline at end of file diff --git a/adapters/sspBC/sspbctest/supplemental/bad_response.json b/adapters/sspBC/sspbctest/supplemental/bad_response.json index 14f7d4ddb11..7d7b9a25534 100644 --- a/adapters/sspBC/sspbctest/supplemental/bad_response.json +++ b/adapters/sspBC/sspbctest/supplemental/bad_response.json @@ -18,7 +18,8 @@ "h": 250 } ] - } + }, + "tagid": "ad-test1" } ], "site": { @@ -41,46 +42,50 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "005", - "banner": { - "format": [ - { - "w": 300, - "h": 250 + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "tagid": "ad-test1", + "secure": 1, + "ext": { + "bidder": { + "siteId": "237503", + "id": "005" } - ] + } + } + ], + "site": { + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" + }, + "user": { + "ext": { + "consent": "test_consent" }, - "tagid": "slot", - "secure": 1, + "buyeruid": "test_user" + }, + "regs": { "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } + "gdpr": 1 } } - ], - "site": { - "id": "237503", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - }, - "regs": { - "ext": { - "gdpr": 1 - } + "requestInfo": { + "PbsEntryPoint": "" } }, "impIDs":["slot"] diff --git a/adapters/sspBC/sspbctest/supplemental/bad_response_without_adm.json b/adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_bid_type.json similarity index 56% rename from adapters/sspBC/sspbctest/supplemental/bad_response_without_adm.json rename to adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_bid_type.json index f975b66d2cf..f8d067f97dc 100644 --- a/adapters/sspBC/sspbctest/supplemental/bad_response_without_adm.json +++ b/adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_bid_type.json @@ -18,7 +18,8 @@ "h": 250 } ] - } + }, + "tagid": "ad-test1" } ], "site": { @@ -41,46 +42,50 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "005", - "banner": { - "format": [ - { - "w": 300, - "h": 250 + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "tagid": "ad-test1", + "secure": 1, + "ext": { + "bidder": { + "siteId": "237503", + "id": "005" } - ] + } + } + ], + "site": { + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" + }, + "user": { + "ext": { + "consent": "test_consent" }, - "tagid": "slot", - "secure": 1, + "buyeruid": "test_user" + }, + "regs": { "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } + "gdpr": 1 } } - ], - "site": { - "id": "237503", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - }, - "regs": { - "ext": { - "gdpr": 1 - } + "requestInfo": { + "PbsEntryPoint": "" } }, "impIDs":["slot"] @@ -100,17 +105,20 @@ ], "crid": "1234", "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" + "tagid": "ad-test1" }, "w": 300, "h": 250, "id": "response-005", - "impid": "005", - "price": 20 + "impid": "slot", + "price": 20, + "mtype": 0 } ], "seat": "sspbc-test" @@ -121,10 +129,9 @@ } } ], - "expectedBidResponses": [{"currency":"USD","bids":[]}], "expectedMakeBidsErrors": [ { - "value": "bid format is not supported", + "value": "Unsupported MType: 0.", "comparison": "literal" } ] diff --git a/adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_impid.json b/adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_impid.json deleted file mode 100644 index 26c9e42cf6c..00000000000 --- a/adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_impid.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "mockBidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "ext": { - "bidder": { - "siteId": "237503", - "id": "005" - } - }, - "secure": 1, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - } - } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - } - }, - "httpCalls": [ - { - "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", - "body": { - "id": "test-request", - "imp": [ - { - "id": "005", - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - }, - "tagid": "slot", - "secure": 1, - "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } - } - } - ], - "site": { - "id": "237503", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - }, - "regs": { - "ext": { - "gdpr": 1 - } - } - }, - "impIDs":["slot"] - }, - "mockResponse": { - "status": 200, - "body": { - "cur": "USD", - "id": "test-request", - "seatbid": [ - { - "bid": [ - { - "adm": "{\"bunch\":\"237503\",\"capping\":\"\",\"server\":\"s\",\"campaign\":\"c\",\"score\":\"1\",\"creations\":[{\"type\":\"image\",\"src\":\"https:\/\/bdr.wpcdn.pl\/tests\/test-300x250.png\",\"trackers\":{},\"width\":300,\"height\":250}],\"code\":\"1\",\"aabVendors\":false,\"slot\":\"005\",\"redir\":\"https:\/\/www.wp.pl\",\"wpclid\":\"1\"}", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "ext": { - "adlabel": "Reklama", - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "slot" - }, - "w": 300, - "h": 250, - "id": "response-005", - "impid": "incorrect-imp-id", - "price": 20 - } - ], - "seat": "sspbc-test" - } - ], - "sn": "sspbc-test" - } - } - } - ], - "expectedBidResponses": [ - { - "currency": "USD", - "bids": [] - } - ], - "expectedMakeBidsErrors": [ - { - "value": "imp not found", - "comparison": "literal" - } - ] -} \ No newline at end of file diff --git a/adapters/sspBC/sspbctest/supplemental/request_with_diffrent_siteid.json b/adapters/sspBC/sspbctest/supplemental/request_with_diffrent_siteid.json deleted file mode 100644 index 92a77fa8405..00000000000 --- a/adapters/sspBC/sspbctest/supplemental/request_with_diffrent_siteid.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "mockBidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "ext": { - "bidder": { - "siteId": "237503", - "id": "005" - } - }, - "secure": 1, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - } - } - ], - "site": { - "id": "diffrent", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - } - }, - "httpCalls": [ - { - "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", - "body": { - "id": "test-request", - "imp": [ - { - "id": "005", - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - }, - "tagid": "slot", - "secure": 1, - "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } - } - } - ], - "site": { - "id": "237503", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - }, - "regs": { - "ext": { - "gdpr": 1 - } - } - }, - "impIDs":["slot"] - }, - "mockResponse": { - "status": 200, - "body": { - "cur": "USD", - "id": "test-request", - "seatbid": [ - { - "bid": [ - { - "adm": "{\"bunch\":\"237503\",\"capping\":\"\",\"server\":\"s\",\"campaign\":\"c\",\"score\":\"1\",\"creations\":[{\"type\":\"image\",\"src\":\"https:\/\/bdr.wpcdn.pl\/tests\/test-300x250.png\",\"trackers\":{},\"width\":300,\"height\":250}],\"code\":\"1\",\"aabVendors\":false,\"slot\":\"005\",\"redir\":\"https:\/\/www.wp.pl\",\"wpclid\":\"1\"}", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "ext": { - "adlabel": "Reklama", - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "slot" - }, - "w": 300, - "h": 250, - "id": "response-005", - "impid": "005", - "price": 20 - } - ], - "seat": "sspbc-test" - } - ], - "sn": "sspbc-test" - } - } - } - ], - "expectedBidResponses": [ - { - "currency": "USD", - "bids": [ - { - "bid": { - "id": "response-005", - "impid": "slot", - "price": 20, - "adm": "<html><head><title><\/title><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><style> body { background-color: transparent; margin: 0; padding: 0; }<\/style><script> window.rekid = \"237503\"; window.slot = \"005\"; window.adlabel = 'Reklama'; window.pubid = '431'; window.wp_sn = 'sspbc_go'; window.page = 'https:\\\/\\\/test.page\\\/'; window.ref = 'https:\\\/\\\/test.referer\\\/'; window.mcad = {\"id\":\"test-request\",\"seat\":\"sspbc-test\",\"seatbid\":[{\"bid\":[{\"id\":\"response-005\",\"impid\":\"slot\",\"price\":20,\"adm\":\"{\\\"bunch\\\":\\\"237503\\\",\\\"capping\\\":\\\"\\\",\\\"server\\\":\\\"s\\\",\\\"campaign\\\":\\\"c\\\",\\\"score\\\":\\\"1\\\",\\\"creations\\\":[{\\\"type\\\":\\\"image\\\",\\\"src\\\":\\\"https://bdr.wpcdn.pl/tests/test-300x250.png\\\",\\\"trackers\\\":{},\\\"width\\\":300,\\\"height\\\":250}],\\\"code\\\":\\\"1\\\",\\\"aabVendors\\\":false,\\\"slot\\\":\\\"005\\\",\\\"redir\\\":\\\"https://www.wp.pl\\\",\\\"wpclid\\\":\\\"1\\\"}\",\"adomain\":[\"sspbc-test\"],\"crid\":\"1234\",\"w\":300,\"h\":250,\"ext\":{\"adlabel\":\"Reklama\",\"pubid\":\"431\",\"siteid\":\"237503\",\"slotid\":\"005\",\"tagid\":\"slot\"}}]}]}; window.inver = '4'; <\/script><\/head><body><div id=\"c\"><\/div><script async crossorigin nomodule src=\"\/\/std.wpcdn.pl\/wpjslib\/wpjslib-inline.js\" id=\"wpjslib\"><\/script><script async crossorigin type=\"module\" src=\"\/\/std.wpcdn.pl\/wpjslib6\/wpjslib-inline.js\" id=\"wpjslib6\"><\/script><\/body><\/html>", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "w": 300, - "h": 250, - "ext": { - "adlabel": "Reklama", - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "slot" - } - }, - "type": "banner" - } - ] - } - ] -} \ No newline at end of file diff --git a/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_bidder_ext.json b/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_bidder_ext.json index 8e089cfefda..82b5734c1cb 100644 --- a/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_bidder_ext.json +++ b/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_bidder_ext.json @@ -15,7 +15,8 @@ "h": 250 } ] - } + }, + "tagid": "ad-test1" } ], "site": { @@ -38,45 +39,47 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "tagid": "ad-test1", + "secure": 1, + "ext": { + "bidder": "incorrect" + } + } + ], + "site": { + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" + }, + "user": { + "ext": { + "consent": "test_consent" }, - "tagid": "slot", - "secure": 1, + "buyeruid": "test_user" + }, + "regs": { "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } + "gdpr": 1 } } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" }, - "regs": { - "ext": { - "gdpr": 1 - } + "requestInfo": { + "PbsEntryPoint": "" } }, "impIDs":["slot"] @@ -90,23 +93,26 @@ { "bid": [ { - "adm": "{\"bunch\":\"237503\",\"capping\":\"\",\"server\":\"s\",\"campaign\":\"c\",\"score\":\"1\",\"creations\":[{\"type\":\"image\",\"src\":\"https:\/\/bdr.wpcdn.pl\/tests\/test-300x250.png\",\"trackers\":{},\"width\":300,\"height\":250}],\"code\":\"1\",\"aabVendors\":false,\"slot\":\"005\",\"redir\":\"https:\/\/www.wp.pl\",\"wpclid\":\"1\"}", + "adm": "<!--preformatted-->test_ad", "adomain": [ "sspbc-test" ], "crid": "1234", "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" + "tagid": "ad-test1" }, "w": 300, "h": 250, "id": "response-005", "impid": "slot", - "price": 20 + "price": 20, + "mtype": 1 } ], "seat": "sspbc-test" @@ -126,7 +132,7 @@ "id": "response-005", "impid": "slot", "price": 20, - "adm": "<html><head><title><\/title><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><style> body { background-color: transparent; margin: 0; padding: 0; }<\/style><script> window.rekid = \"237503\"; window.slot = \"005\"; window.adlabel = 'Reklama'; window.pubid = '431'; window.wp_sn = 'sspbc_go'; window.page = 'https:\\\/\\\/test.page\\\/'; window.ref = 'https:\\\/\\\/test.referer\\\/'; window.mcad = {\"id\":\"test-request\",\"seat\":\"sspbc-test\",\"seatbid\":[{\"bid\":[{\"id\":\"response-005\",\"impid\":\"slot\",\"price\":20,\"adm\":\"{\\\"bunch\\\":\\\"237503\\\",\\\"capping\\\":\\\"\\\",\\\"server\\\":\\\"s\\\",\\\"campaign\\\":\\\"c\\\",\\\"score\\\":\\\"1\\\",\\\"creations\\\":[{\\\"type\\\":\\\"image\\\",\\\"src\\\":\\\"https://bdr.wpcdn.pl/tests/test-300x250.png\\\",\\\"trackers\\\":{},\\\"width\\\":300,\\\"height\\\":250}],\\\"code\\\":\\\"1\\\",\\\"aabVendors\\\":false,\\\"slot\\\":\\\"005\\\",\\\"redir\\\":\\\"https://www.wp.pl\\\",\\\"wpclid\\\":\\\"1\\\"}\",\"adomain\":[\"sspbc-test\"],\"crid\":\"1234\",\"w\":300,\"h\":250,\"ext\":{\"adlabel\":\"Reklama\",\"pubid\":\"431\",\"siteid\":\"237503\",\"slotid\":\"005\",\"tagid\":\"slot\"}}]}]}; window.inver = '4'; <\/script><\/head><body><div id=\"c\"><\/div><script async crossorigin nomodule src=\"\/\/std.wpcdn.pl\/wpjslib\/wpjslib-inline.js\" id=\"wpjslib\"><\/script><script async crossorigin type=\"module\" src=\"\/\/std.wpcdn.pl\/wpjslib6\/wpjslib-inline.js\" id=\"wpjslib6\"><\/script><\/body><\/html>", + "adm": "<!--preformatted-->test_ad", "adomain": [ "sspbc-test" ], @@ -134,12 +140,15 @@ "w": 300, "h": 250, "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" - } + "tagid": "ad-test1" + }, + "mtype": 1 }, "type": "banner" } diff --git a/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_ext.json b/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_ext.json index 3ab3f998ba9..51b080db5a6 100644 --- a/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_ext.json +++ b/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_ext.json @@ -13,7 +13,8 @@ "h": 250 } ] - } + }, + "tagid": "ad-test1" } ], "site": { @@ -36,45 +37,45 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "tagid": "ad-test1", + "secure": 1, + "ext": "incorrect" + } + ], + "site": { + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" + }, + "user": { + "ext": { + "consent": "test_consent" }, - "tagid": "slot", - "secure": 1, + "buyeruid": "test_user" + }, + "regs": { "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } + "gdpr": 1 } - } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" + } }, - "regs": { - "ext": { - "gdpr": 1 - } + "requestInfo": { + "PbsEntryPoint": "" } }, "impIDs":["slot"] @@ -88,13 +89,15 @@ { "bid": [ { - "adm": "{\"bunch\":\"237503\",\"capping\":\"\",\"server\":\"s\",\"campaign\":\"c\",\"score\":\"1\",\"creations\":[{\"type\":\"image\",\"src\":\"https:\/\/bdr.wpcdn.pl\/tests\/test-300x250.png\",\"trackers\":{},\"width\":300,\"height\":250}],\"code\":\"1\",\"aabVendors\":false,\"slot\":\"005\",\"redir\":\"https:\/\/www.wp.pl\",\"wpclid\":\"1\"}", + "adm": "<!--preformatted-->test_ad", "adomain": [ "sspbc-test" ], "crid": "1234", "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", @@ -104,7 +107,8 @@ "h": 250, "id": "response-005", "impid": "slot", - "price": 20 + "price": 20, + "mtype": 1 } ], "seat": "sspbc-test" @@ -124,7 +128,8 @@ "id": "response-005", "impid": "slot", "price": 20, - "adm": "<html><head><title><\/title><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><style> body { background-color: transparent; margin: 0; padding: 0; }<\/style><script> window.rekid = \"237503\"; window.slot = \"005\"; window.adlabel = 'Reklama'; window.pubid = '431'; window.wp_sn = 'sspbc_go'; window.page = 'https:\\\/\\\/test.page\\\/'; window.ref = 'https:\\\/\\\/test.referer\\\/'; window.mcad = {\"id\":\"test-request\",\"seat\":\"sspbc-test\",\"seatbid\":[{\"bid\":[{\"id\":\"response-005\",\"impid\":\"slot\",\"price\":20,\"adm\":\"{\\\"bunch\\\":\\\"237503\\\",\\\"capping\\\":\\\"\\\",\\\"server\\\":\\\"s\\\",\\\"campaign\\\":\\\"c\\\",\\\"score\\\":\\\"1\\\",\\\"creations\\\":[{\\\"type\\\":\\\"image\\\",\\\"src\\\":\\\"https://bdr.wpcdn.pl/tests/test-300x250.png\\\",\\\"trackers\\\":{},\\\"width\\\":300,\\\"height\\\":250}],\\\"code\\\":\\\"1\\\",\\\"aabVendors\\\":false,\\\"slot\\\":\\\"005\\\",\\\"redir\\\":\\\"https://www.wp.pl\\\",\\\"wpclid\\\":\\\"1\\\"}\",\"adomain\":[\"sspbc-test\"],\"crid\":\"1234\",\"w\":300,\"h\":250,\"ext\":{\"adlabel\":\"Reklama\",\"pubid\":\"431\",\"siteid\":\"237503\",\"slotid\":\"005\",\"tagid\":\"slot\"}}]}]}; window.inver = '4'; <\/script><\/head><body><div id=\"c\"><\/div><script async crossorigin nomodule src=\"\/\/std.wpcdn.pl\/wpjslib\/wpjslib-inline.js\" id=\"wpjslib\"><\/script><script async crossorigin type=\"module\" src=\"\/\/std.wpcdn.pl\/wpjslib6\/wpjslib-inline.js\" id=\"wpjslib6\"><\/script><\/body><\/html>", + "mtype": 1, + "adm": "<!--preformatted-->test_ad", "adomain": [ "sspbc-test" ], @@ -132,7 +137,9 @@ "w": 300, "h": 250, "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", diff --git a/adapters/sspBC/sspbctest/supplemental/request_with_standard_and_onecode_imp.json b/adapters/sspBC/sspbctest/supplemental/request_with_standard_and_onecode_imp.json index 7c864f8c9a5..d0eb8a18a91 100644 --- a/adapters/sspBC/sspbctest/supplemental/request_with_standard_and_onecode_imp.json +++ b/adapters/sspBC/sspbctest/supplemental/request_with_standard_and_onecode_imp.json @@ -18,7 +18,8 @@ "h": 250 } ] - } + }, + "tagid": "ad-slot-standard" }, { "id": "slot-onecode", @@ -31,7 +32,8 @@ "h": 600 } ] - } + }, + "tagid": "ad-slot-onecode" } ], "site": { @@ -54,64 +56,64 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "slot-standard", - "banner": { - "format": [ - { - "w": 300, - "h": 250 + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot-standard", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "tagid": "ad-slot-standard", + "secure": 1, + "ext": { + "bidder": { + "siteId": "237503", + "id": "005" } - ] - }, - "tagid": "slot-standard", - "secure": 1, - "ext": { - "data": { - "pbslot": "slot-standard", - "pbsize": "300x250" } + }, + { + "id": "slot-onecode", + "banner": { + "format": [ + { + "w": 300, + "h": 600 + } + ] + }, + "tagid": "ad-slot-onecode", + "secure": 1, + "ext": {} } + ], + "site": { + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" }, - { - "id": "slot-onecode", - "banner": { - "format": [ - { - "w": 300, - "h": 600 - } - ] + "user": { + "ext": { + "consent": "test_consent" }, - "tagid": "slot-onecode", - "secure": 1, + "buyeruid": "test_user" + }, + "regs": { "ext": { - "data": { - "pbslot": "slot-onecode", - "pbsize": "300x600" - } + "gdpr": 1 } } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" }, - "regs": { - "ext": { - "gdpr": 1 - } + "requestInfo": { + "PbsEntryPoint": "" } }, "impIDs":["slot-standard","slot-onecode"] @@ -131,7 +133,9 @@ ], "crid": "1234", "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", @@ -141,7 +145,8 @@ "h": 250, "id": "response-005", "impid": "slot-standard", - "price": 20 + "price": 20, + "mtype": 1 } ], "seat": "sspbc-test" @@ -155,7 +160,9 @@ ], "crid": "5678", "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "037", @@ -165,7 +172,8 @@ "h": 600, "id": "response-037", "impid": "slot-onecode", - "price": 10 + "price": 10, + "mtype": 1 } ], "seat": "sspbc-test" @@ -193,12 +201,15 @@ "w": 300, "h": 250, "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", "tagid": "slot-standard" - } + }, + "mtype": 1 }, "type": "banner" }, @@ -215,12 +226,15 @@ "w": 300, "h": 600, "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "037", "tagid": "slot-onecode" - } + }, + "mtype": 1 }, "type": "banner" } diff --git a/adapters/sspBC/sspbctest/supplemental/request_with_test.json b/adapters/sspBC/sspbctest/supplemental/request_with_test.json index 70f740b4b6c..72eff1608a3 100644 --- a/adapters/sspBC/sspbctest/supplemental/request_with_test.json +++ b/adapters/sspBC/sspbctest/supplemental/request_with_test.json @@ -19,7 +19,8 @@ "h": 250 } ] - } + }, + "tagid": "ad-test1" } ], "site": { @@ -43,47 +44,52 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "005", - "banner": { - "format": [ - { - "w": 300, - "h": 250 + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "tagid": "ad-test1", + "secure": 1, + "ext": { + "bidder": { + "siteId": "237503", + "id": "005", + "test": 1 } - ] + } + } + ], + "site": { + "id": "237503", + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" + }, + "user": { + "ext": { + "consent": "test_consent" }, - "tagid": "slot", - "secure": 1, + "buyeruid": "test_user" + }, + "regs": { "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } + "gdpr": 1 } } - ], - "site": { - "id": "237503", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" }, - "test": 1, - "regs": { - "ext": { - "gdpr": 1 - } + "requestInfo": { + "PbsEntryPoint": "" } }, "impIDs":["slot"] @@ -97,23 +103,26 @@ { "bid": [ { - "adm": "{\"bunch\":\"237503\",\"capping\":\"\",\"server\":\"s\",\"campaign\":\"c\",\"score\":\"1\",\"creations\":[{\"type\":\"image\",\"src\":\"https:\/\/bdr.wpcdn.pl\/tests\/test-300x250.png\",\"trackers\":{},\"width\":300,\"height\":250}],\"code\":\"1\",\"aabVendors\":false,\"slot\":\"005\",\"redir\":\"https:\/\/www.wp.pl\",\"wpclid\":\"1\"}", + "adm": "<!--preformatted-->test_ad", "adomain": [ "sspbc-test" ], "crid": "1234", "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" + "tagid": "ad-test1" }, "w": 300, "h": 250, "id": "response-005", - "impid": "005", - "price": 20 + "impid": "slot", + "price": 20, + "mtype": 1 } ], "seat": "sspbc-test" @@ -133,7 +142,7 @@ "id": "response-005", "impid": "slot", "price": 20, - "adm": "<html><head><title><\/title><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><style> body { background-color: transparent; margin: 0; padding: 0; }<\/style><script> window.rekid = \"237503\"; window.slot = \"005\"; window.adlabel = 'Reklama'; window.pubid = '431'; window.wp_sn = 'sspbc_go'; window.page = 'https:\\\/\\\/test.page\\\/'; window.ref = 'https:\\\/\\\/test.referer\\\/'; window.mcad = {\"id\":\"test-request\",\"seat\":\"sspbc-test\",\"seatbid\":[{\"bid\":[{\"id\":\"response-005\",\"impid\":\"slot\",\"price\":20,\"adm\":\"{\\\"bunch\\\":\\\"237503\\\",\\\"capping\\\":\\\"\\\",\\\"server\\\":\\\"s\\\",\\\"campaign\\\":\\\"c\\\",\\\"score\\\":\\\"1\\\",\\\"creations\\\":[{\\\"type\\\":\\\"image\\\",\\\"src\\\":\\\"https://bdr.wpcdn.pl/tests/test-300x250.png\\\",\\\"trackers\\\":{},\\\"width\\\":300,\\\"height\\\":250}],\\\"code\\\":\\\"1\\\",\\\"aabVendors\\\":false,\\\"slot\\\":\\\"005\\\",\\\"redir\\\":\\\"https://www.wp.pl\\\",\\\"wpclid\\\":\\\"1\\\"}\",\"adomain\":[\"sspbc-test\"],\"crid\":\"1234\",\"w\":300,\"h\":250,\"ext\":{\"adlabel\":\"Reklama\",\"pubid\":\"431\",\"siteid\":\"237503\",\"slotid\":\"005\",\"tagid\":\"slot\"}}]}]}; window.inver = '4'; <\/script><\/head><body><div id=\"c\"><\/div><script async crossorigin nomodule src=\"\/\/std.wpcdn.pl\/wpjslib\/wpjslib-inline.js\" id=\"wpjslib\"><\/script><script async crossorigin type=\"module\" src=\"\/\/std.wpcdn.pl\/wpjslib6\/wpjslib-inline.js\" id=\"wpjslib6\"><\/script><\/body><\/html>", + "adm": "<!--preformatted-->test_ad", "adomain": [ "sspbc-test" ], @@ -141,12 +150,15 @@ "w": 300, "h": 250, "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" - } + "tagid": "ad-test1" + }, + "mtype": 1 }, "type": "banner" } diff --git a/adapters/sspBC/sspbctest/supplemental/request_without_banner_format.json b/adapters/sspBC/sspbctest/supplemental/request_without_banner_format.json index 7572f88cacd..94fc993e964 100644 --- a/adapters/sspBC/sspbctest/supplemental/request_without_banner_format.json +++ b/adapters/sspBC/sspbctest/supplemental/request_without_banner_format.json @@ -13,7 +13,8 @@ "secure": 1, "banner": { "format": [] - } + }, + "tagid": "ad-test1" } ], "site": { @@ -37,40 +38,45 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "005", - "banner": {}, - "tagid": "slot", - "secure": 1, - "ext": { - "data": { - "pbslot": "slot", - "pbsize": "1x1" + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot", + "banner": {}, + "tagid": "ad-test1", + "secure": 1, + "ext": { + "bidder": { + "siteId": "237503", + "id": "005" + } } } - } - ], - "site": { - "id": "237503", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" + ], + "site": { + "id": "237503", + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" }, - "buyeruid": "test_user" - }, - "regs": { - "ext": { - "gdpr": 1 + "user": { + "ext": { + "consent": "test_consent" + }, + "buyeruid": "test_user" + }, + "regs": { + "ext": { + "gdpr": 1 + } } - } + }, + "requestInfo": { + "PbsEntryPoint": "" + } }, "impIDs":["slot"] }, @@ -83,23 +89,26 @@ { "bid": [ { - "adm": "{\"bunch\":\"237503\",\"capping\":\"\",\"server\":\"s\",\"campaign\":\"c\",\"score\":\"1\",\"creations\":[{\"type\":\"image\",\"src\":\"https:\/\/bdr.wpcdn.pl\/tests\/test-300x250.png\",\"trackers\":{},\"width\":300,\"height\":250}],\"code\":\"1\",\"aabVendors\":false,\"slot\":\"005\",\"redir\":\"https:\/\/www.wp.pl\",\"wpclid\":\"1\"}", + "adm": "<!--preformatted-->test_ad", "adomain": [ "sspbc-test" ], "crid": "1234", "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" + "tagid": "ad-test1" }, "w": 300, "h": 250, "id": "response-005", - "impid": "005", - "price": 20 + "impid": "slot", + "price": 20, + "mtype": 1 } ], "seat": "sspbc-test" @@ -119,7 +128,7 @@ "id": "response-005", "impid": "slot", "price": 20, - "adm": "<html><head><title><\/title><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><style> body { background-color: transparent; margin: 0; padding: 0; }<\/style><script> window.rekid = \"237503\"; window.slot = \"005\"; window.adlabel = 'Reklama'; window.pubid = '431'; window.wp_sn = 'sspbc_go'; window.page = 'https:\\\/\\\/test.page\\\/'; window.ref = 'https:\\\/\\\/test.referer\\\/'; window.mcad = {\"id\":\"test-request\",\"seat\":\"sspbc-test\",\"seatbid\":[{\"bid\":[{\"id\":\"response-005\",\"impid\":\"slot\",\"price\":20,\"adm\":\"{\\\"bunch\\\":\\\"237503\\\",\\\"capping\\\":\\\"\\\",\\\"server\\\":\\\"s\\\",\\\"campaign\\\":\\\"c\\\",\\\"score\\\":\\\"1\\\",\\\"creations\\\":[{\\\"type\\\":\\\"image\\\",\\\"src\\\":\\\"https://bdr.wpcdn.pl/tests/test-300x250.png\\\",\\\"trackers\\\":{},\\\"width\\\":300,\\\"height\\\":250}],\\\"code\\\":\\\"1\\\",\\\"aabVendors\\\":false,\\\"slot\\\":\\\"005\\\",\\\"redir\\\":\\\"https://www.wp.pl\\\",\\\"wpclid\\\":\\\"1\\\"}\",\"adomain\":[\"sspbc-test\"],\"crid\":\"1234\",\"w\":300,\"h\":250,\"ext\":{\"adlabel\":\"Reklama\",\"pubid\":\"431\",\"siteid\":\"237503\",\"slotid\":\"005\",\"tagid\":\"slot\"}}]}]}; window.inver = '4'; <\/script><\/head><body><div id=\"c\"><\/div><script async crossorigin nomodule src=\"\/\/std.wpcdn.pl\/wpjslib\/wpjslib-inline.js\" id=\"wpjslib\"><\/script><script async crossorigin type=\"module\" src=\"\/\/std.wpcdn.pl\/wpjslib6\/wpjslib-inline.js\" id=\"wpjslib6\"><\/script><\/body><\/html>", + "adm": "<!--preformatted-->test_ad", "adomain": [ "sspbc-test" ], @@ -127,12 +136,15 @@ "w": 300, "h": 250, "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" - } + "tagid": "ad-test1" + }, + "mtype": 1 }, "type": "banner" } diff --git a/adapters/sspBC/sspbctest/supplemental/request_without_ext_id.json b/adapters/sspBC/sspbctest/supplemental/request_without_ext_id.json index f7692a91b0e..7531d4365df 100644 --- a/adapters/sspBC/sspbctest/supplemental/request_without_ext_id.json +++ b/adapters/sspBC/sspbctest/supplemental/request_without_ext_id.json @@ -17,7 +17,8 @@ "h": 250 } ] - } + }, + "tagid": "ad-test1" } ], "site": { @@ -40,45 +41,49 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "banner": { - "format": [ - { - "w": 300, - "h": 250 + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "tagid": "ad-test1", + "secure": 1, + "ext": { + "bidder": { + "siteId": "237503" } - ] + } + } + ], + "site": { + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" + }, + "user": { + "ext": { + "consent": "test_consent" }, - "tagid": "slot", - "secure": 1, + "buyeruid": "test_user" + }, + "regs": { "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } + "gdpr": 1 } } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" }, - "regs": { - "ext": { - "gdpr": 1 - } + "requestInfo": { + "PbsEntryPoint": "" } }, "impIDs":["slot"] @@ -92,23 +97,26 @@ { "bid": [ { - "adm": "{\"bunch\":\"237503\",\"capping\":\"\",\"server\":\"s\",\"campaign\":\"c\",\"score\":\"1\",\"creations\":[{\"type\":\"image\",\"src\":\"https:\/\/bdr.wpcdn.pl\/tests\/test-300x250.png\",\"trackers\":{},\"width\":300,\"height\":250}],\"code\":\"1\",\"aabVendors\":false,\"slot\":\"005\",\"redir\":\"https:\/\/www.wp.pl\",\"wpclid\":\"1\"}", + "adm": "<!--preformatted-->test_ad", "adomain": [ "sspbc-test" ], "crid": "1234", "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" + "tagid": "ad-test1" }, "w": 300, "h": 250, "id": "response-005", "impid": "slot", - "price": 20 + "price": 20, + "mtype": 1 } ], "seat": "sspbc-test" @@ -128,7 +136,7 @@ "id": "response-005", "impid": "slot", "price": 20, - "adm": "<html><head><title><\/title><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><style> body { background-color: transparent; margin: 0; padding: 0; }<\/style><script> window.rekid = \"237503\"; window.slot = \"005\"; window.adlabel = 'Reklama'; window.pubid = '431'; window.wp_sn = 'sspbc_go'; window.page = 'https:\\\/\\\/test.page\\\/'; window.ref = 'https:\\\/\\\/test.referer\\\/'; window.mcad = {\"id\":\"test-request\",\"seat\":\"sspbc-test\",\"seatbid\":[{\"bid\":[{\"id\":\"response-005\",\"impid\":\"slot\",\"price\":20,\"adm\":\"{\\\"bunch\\\":\\\"237503\\\",\\\"capping\\\":\\\"\\\",\\\"server\\\":\\\"s\\\",\\\"campaign\\\":\\\"c\\\",\\\"score\\\":\\\"1\\\",\\\"creations\\\":[{\\\"type\\\":\\\"image\\\",\\\"src\\\":\\\"https://bdr.wpcdn.pl/tests/test-300x250.png\\\",\\\"trackers\\\":{},\\\"width\\\":300,\\\"height\\\":250}],\\\"code\\\":\\\"1\\\",\\\"aabVendors\\\":false,\\\"slot\\\":\\\"005\\\",\\\"redir\\\":\\\"https://www.wp.pl\\\",\\\"wpclid\\\":\\\"1\\\"}\",\"adomain\":[\"sspbc-test\"],\"crid\":\"1234\",\"w\":300,\"h\":250,\"ext\":{\"adlabel\":\"Reklama\",\"pubid\":\"431\",\"siteid\":\"237503\",\"slotid\":\"005\",\"tagid\":\"slot\"}}]}]}; window.inver = '4'; <\/script><\/head><body><div id=\"c\"><\/div><script async crossorigin nomodule src=\"\/\/std.wpcdn.pl\/wpjslib\/wpjslib-inline.js\" id=\"wpjslib\"><\/script><script async crossorigin type=\"module\" src=\"\/\/std.wpcdn.pl\/wpjslib6\/wpjslib-inline.js\" id=\"wpjslib6\"><\/script><\/body><\/html>", + "adm": "<!--preformatted-->test_ad", "adomain": [ "sspbc-test" ], @@ -136,12 +144,15 @@ "w": 300, "h": 250, "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" - } + "tagid": "ad-test1" + }, + "mtype": 1 }, "type": "banner" } diff --git a/adapters/sspBC/sspbctest/supplemental/request_without_ext_site_id.json b/adapters/sspBC/sspbctest/supplemental/request_without_ext_site_id.json index eb04d2f7c72..203c2ed4da6 100644 --- a/adapters/sspBC/sspbctest/supplemental/request_without_ext_site_id.json +++ b/adapters/sspBC/sspbctest/supplemental/request_without_ext_site_id.json @@ -18,7 +18,8 @@ "h": 250 } ] - } + }, + "tagid": "ad-test1" } ], "site": { @@ -41,45 +42,50 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "banner": { - "format": [ - { - "w": 300, - "h": 250 + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "tagid": "ad-test1", + "secure": 1, + "ext": { + "bidder": { + "siteId": "", + "id": "005" } - ] + } + } + ], + "site": { + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" + }, + "user": { + "ext": { + "consent": "test_consent" }, - "tagid": "slot", - "secure": 1, + "buyeruid": "test_user" + }, + "regs": { "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } + "gdpr": 1 } } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" }, - "regs": { - "ext": { - "gdpr": 1 - } + "requestInfo": { + "PbsEntryPoint": "" } }, "impIDs":["slot"] @@ -93,23 +99,26 @@ { "bid": [ { - "adm": "{\"bunch\":\"237503\",\"capping\":\"\",\"server\":\"s\",\"campaign\":\"c\",\"score\":\"1\",\"creations\":[{\"type\":\"image\",\"src\":\"https:\/\/bdr.wpcdn.pl\/tests\/test-300x250.png\",\"trackers\":{},\"width\":300,\"height\":250}],\"code\":\"1\",\"aabVendors\":false,\"slot\":\"005\",\"redir\":\"https:\/\/www.wp.pl\",\"wpclid\":\"1\"}", + "adm": "<!--preformatted-->test_ad", "adomain": [ "sspbc-test" ], "crid": "1234", "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" + "tagid": "ad-test1" }, "w": 300, "h": 250, "id": "response-005", "impid": "slot", - "price": 20 + "price": 20, + "mtype": 1 } ], "seat": "sspbc-test" @@ -129,7 +138,7 @@ "id": "response-005", "impid": "slot", "price": 20, - "adm": "<html><head><title><\/title><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><style> body { background-color: transparent; margin: 0; padding: 0; }<\/style><script> window.rekid = \"237503\"; window.slot = \"005\"; window.adlabel = 'Reklama'; window.pubid = '431'; window.wp_sn = 'sspbc_go'; window.page = 'https:\\\/\\\/test.page\\\/'; window.ref = 'https:\\\/\\\/test.referer\\\/'; window.mcad = {\"id\":\"test-request\",\"seat\":\"sspbc-test\",\"seatbid\":[{\"bid\":[{\"id\":\"response-005\",\"impid\":\"slot\",\"price\":20,\"adm\":\"{\\\"bunch\\\":\\\"237503\\\",\\\"capping\\\":\\\"\\\",\\\"server\\\":\\\"s\\\",\\\"campaign\\\":\\\"c\\\",\\\"score\\\":\\\"1\\\",\\\"creations\\\":[{\\\"type\\\":\\\"image\\\",\\\"src\\\":\\\"https://bdr.wpcdn.pl/tests/test-300x250.png\\\",\\\"trackers\\\":{},\\\"width\\\":300,\\\"height\\\":250}],\\\"code\\\":\\\"1\\\",\\\"aabVendors\\\":false,\\\"slot\\\":\\\"005\\\",\\\"redir\\\":\\\"https://www.wp.pl\\\",\\\"wpclid\\\":\\\"1\\\"}\",\"adomain\":[\"sspbc-test\"],\"crid\":\"1234\",\"w\":300,\"h\":250,\"ext\":{\"adlabel\":\"Reklama\",\"pubid\":\"431\",\"siteid\":\"237503\",\"slotid\":\"005\",\"tagid\":\"slot\"}}]}]}; window.inver = '4'; <\/script><\/head><body><div id=\"c\"><\/div><script async crossorigin nomodule src=\"\/\/std.wpcdn.pl\/wpjslib\/wpjslib-inline.js\" id=\"wpjslib\"><\/script><script async crossorigin type=\"module\" src=\"\/\/std.wpcdn.pl\/wpjslib6\/wpjslib-inline.js\" id=\"wpjslib6\"><\/script><\/body><\/html>", + "adm": "<!--preformatted-->test_ad", "adomain": [ "sspbc-test" ], @@ -137,12 +146,15 @@ "w": 300, "h": 250, "ext": { - "adlabel": "Reklama", + "external": "1", + "platform": "prebidserver", + "pricepl": 0.123, "pubid": "431", "siteid": "237503", "slotid": "005", - "tagid": "slot" - } + "tagid": "ad-test1" + }, + "mtype": 1 }, "type": "banner" } diff --git a/adapters/sspBC/sspbctest/supplemental/status_204.json b/adapters/sspBC/sspbctest/supplemental/status_204.json index f26421a6356..259c51e9159 100644 --- a/adapters/sspBC/sspbctest/supplemental/status_204.json +++ b/adapters/sspBC/sspbctest/supplemental/status_204.json @@ -18,11 +18,11 @@ "h": 250 } ] - } + }, + "tagid": "ad-test1" } ], "site": { - "id": "237503", "domain": "test.page", "page": "https://test.page/", "ref": "https://test.referer/" @@ -42,46 +42,50 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "005", - "banner": { - "format": [ - { - "w": 300, - "h": 250 + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "tagid": "ad-test1", + "secure": 1, + "ext": { + "bidder": { + "siteId": "237503", + "id": "005" } - ] + } + } + ], + "site": { + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" + }, + "user": { + "ext": { + "consent": "test_consent" }, - "tagid": "slot", - "secure": 1, + "buyeruid": "test_user" + }, + "regs": { "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } + "gdpr": 1 } } - ], - "site": { - "id": "237503", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - }, - "regs": { - "ext": { - "gdpr": 1 - } + "requestInfo": { + "PbsEntryPoint": "" } }, "impIDs":["slot"] diff --git a/adapters/sspBC/sspbctest/supplemental/status_400.json b/adapters/sspBC/sspbctest/supplemental/status_400.json index adf79df5d22..ffba80052bf 100644 --- a/adapters/sspBC/sspbctest/supplemental/status_400.json +++ b/adapters/sspBC/sspbctest/supplemental/status_400.json @@ -18,11 +18,11 @@ "h": 250 } ] - } + }, + "tagid": "ad-test1" } ], "site": { - "id": "237503", "domain": "test.page", "page": "https://test.page/", "ref": "https://test.referer/" @@ -42,46 +42,50 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8&inver=4", + "uri": "http://ssp.wp.test/bidder/?bdver=5.8", "body": { - "id": "test-request", - "imp": [ - { - "id": "005", - "banner": { - "format": [ - { - "w": 300, - "h": 250 + "bidRequest": { + "id": "test-request", + "imp": [ + { + "id": "slot", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "tagid": "ad-test1", + "secure": 1, + "ext": { + "bidder": { + "siteId": "237503", + "id": "005" } - ] + } + } + ], + "site": { + "domain": "test.page", + "page": "https://test.page/", + "ref": "https://test.referer/" + }, + "user": { + "ext": { + "consent": "test_consent" }, - "tagid": "slot", - "secure": 1, + "buyeruid": "test_user" + }, + "regs": { "ext": { - "data": { - "pbslot": "slot", - "pbsize": "300x250" - } + "gdpr": 1 } } - ], - "site": { - "id": "237503", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - }, - "regs": { - "ext": { - "gdpr": 1 - } + "requestInfo": { + "PbsEntryPoint": "" } }, "impIDs":["slot"] diff --git a/static/bidder-info/sspBC.yaml b/static/bidder-info/sspBC.yaml index 97da8b497cd..e12fcb74e2b 100644 --- a/static/bidder-info/sspBC.yaml +++ b/static/bidder-info/sspBC.yaml @@ -1,4 +1,4 @@ -endpoint: "https://ssp.wp.pl/v1/bidder/prebidserver" +endpoint: "https://ssp.wp.pl/v2/bidder/prebidserver" maintainer: email: "prebid-dev@grupawp.pl" gvlVendorID: 676 From 602d2cd9b557e2a11ad7088e209aebd2311f25c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Bieli=C5=84ski?= <mateusz.bielinski@grupawp.pl> Date: Thu, 15 May 2025 11:01:56 +0200 Subject: [PATCH 2/7] [WPPAR-6392] - cr fixes --- adapters/sspBC/sspbc.go | 37 ++-- ...request_with_incorrect_imp_bidder_ext.json | 158 ---------------- .../request_with_incorrect_imp_ext.json | 154 ---------------- .../supplemental/request_with_test.json | 168 ------------------ .../supplemental/request_without_ext_id.json | 162 ----------------- .../request_without_ext_site_id.json | 164 ----------------- 6 files changed, 19 insertions(+), 824 deletions(-) delete mode 100644 adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_bidder_ext.json delete mode 100644 adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_ext.json delete mode 100644 adapters/sspBC/sspbctest/supplemental/request_with_test.json delete mode 100644 adapters/sspBC/sspbctest/supplemental/request_without_ext_id.json delete mode 100644 adapters/sspBC/sspbctest/supplemental/request_without_ext_site_id.json diff --git a/adapters/sspBC/sspbc.go b/adapters/sspBC/sspbc.go index 9c022f1367a..14200120715 100644 --- a/adapters/sspBC/sspbc.go +++ b/adapters/sspBC/sspbc.go @@ -16,21 +16,21 @@ import ( ) const ( - adapterVersion = "5.8" + adapterVersion = "6.0" ) -type RequestData struct { - Request *openrtb2.BidRequest `json:"bidRequest"` - RequestInfo *RequestInfo `json:"requestInfo"` -} - -type RequestInfo struct { - PbsEntryPoint metrics.RequestType -} - -type adapter struct { - endpoint string -} +type ( + adapter struct { + endpoint string + } + requestInfo struct { + PbsEntryPoint metrics.RequestType + } + requestData struct { + Request *openrtb2.BidRequest `json:"bidRequest"` + RequestInfo *requestInfo `json:"requestInfo"` + } +) // ---------------ADAPTER INTERFACE------------------ // Builder builds a new instance of the sspBC adapter @@ -42,11 +42,11 @@ func Builder(_ openrtb_ext.BidderName, config config.Adapter, _ config.Server) ( return bidder, nil } -func (a *adapter) MakeRequests(request *openrtb2.BidRequest, requestInfo *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { - sspBcRequest := &RequestData{ +func (a *adapter) MakeRequests(request *openrtb2.BidRequest, extraRequestInfo *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { + sspBcRequest := &requestData{ Request: request, - RequestInfo: &RequestInfo{ - PbsEntryPoint: requestInfo.PbsEntryPoint, + RequestInfo: &requestInfo{ + PbsEntryPoint: extraRequestInfo.PbsEntryPoint, }, } @@ -97,7 +97,8 @@ func (a *adapter) MakeBids(internalRequest *openrtb2.BidRequest, externalRequest var errors []error for _, seatBid := range response.SeatBid { - for _, bid := range seatBid.Bid { + for i := range seatBid.Bid { + bid := seatBid.Bid[i] bidType, err := getBidType(bid) if err != nil { return nil, []error{err} diff --git a/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_bidder_ext.json b/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_bidder_ext.json deleted file mode 100644 index 82b5734c1cb..00000000000 --- a/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_bidder_ext.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "mockBidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "ext": { - "bidder": "incorrect" - }, - "secure": 1, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - }, - "tagid": "ad-test1" - } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - } - }, - "httpCalls": [ - { - "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", - "body": { - "bidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - }, - "tagid": "ad-test1", - "secure": 1, - "ext": { - "bidder": "incorrect" - } - } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - }, - "regs": { - "ext": { - "gdpr": 1 - } - } - }, - "requestInfo": { - "PbsEntryPoint": "" - } - }, - "impIDs":["slot"] - }, - "mockResponse": { - "status": 200, - "body": { - "cur": "USD", - "id": "test-request", - "seatbid": [ - { - "bid": [ - { - "adm": "<!--preformatted-->test_ad", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "ext": { - "external": "1", - "platform": "prebidserver", - "pricepl": 0.123, - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "ad-test1" - }, - "w": 300, - "h": 250, - "id": "response-005", - "impid": "slot", - "price": 20, - "mtype": 1 - } - ], - "seat": "sspbc-test" - } - ], - "sn": "sspbc-test" - } - } - } - ], - "expectedBidResponses": [ - { - "currency": "USD", - "bids": [ - { - "bid": { - "id": "response-005", - "impid": "slot", - "price": 20, - "adm": "<!--preformatted-->test_ad", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "w": 300, - "h": 250, - "ext": { - "external": "1", - "platform": "prebidserver", - "pricepl": 0.123, - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "ad-test1" - }, - "mtype": 1 - }, - "type": "banner" - } - ] - } - ] -} \ No newline at end of file diff --git a/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_ext.json b/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_ext.json deleted file mode 100644 index 51b080db5a6..00000000000 --- a/adapters/sspBC/sspbctest/supplemental/request_with_incorrect_imp_ext.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "mockBidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "ext": "incorrect", - "secure": 1, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - }, - "tagid": "ad-test1" - } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - } - }, - "httpCalls": [ - { - "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", - "body": { - "bidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - }, - "tagid": "ad-test1", - "secure": 1, - "ext": "incorrect" - } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - }, - "regs": { - "ext": { - "gdpr": 1 - } - } - }, - "requestInfo": { - "PbsEntryPoint": "" - } - }, - "impIDs":["slot"] - }, - "mockResponse": { - "status": 200, - "body": { - "cur": "USD", - "id": "test-request", - "seatbid": [ - { - "bid": [ - { - "adm": "<!--preformatted-->test_ad", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "ext": { - "external": "1", - "platform": "prebidserver", - "pricepl": 0.123, - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "slot" - }, - "w": 300, - "h": 250, - "id": "response-005", - "impid": "slot", - "price": 20, - "mtype": 1 - } - ], - "seat": "sspbc-test" - } - ], - "sn": "sspbc-test" - } - } - } - ], - "expectedBidResponses": [ - { - "currency": "USD", - "bids": [ - { - "bid": { - "id": "response-005", - "impid": "slot", - "price": 20, - "mtype": 1, - "adm": "<!--preformatted-->test_ad", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "w": 300, - "h": 250, - "ext": { - "external": "1", - "platform": "prebidserver", - "pricepl": 0.123, - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "slot" - } - }, - "type": "banner" - } - ] - } - ] -} \ No newline at end of file diff --git a/adapters/sspBC/sspbctest/supplemental/request_with_test.json b/adapters/sspBC/sspbctest/supplemental/request_with_test.json deleted file mode 100644 index 72eff1608a3..00000000000 --- a/adapters/sspBC/sspbctest/supplemental/request_with_test.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "mockBidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "ext": { - "bidder": { - "siteId": "237503", - "id": "005", - "test": 1 - } - }, - "secure": 1, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - }, - "tagid": "ad-test1" - } - ], - "site": { - "id": "237503", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - } - }, - "httpCalls": [ - { - "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", - "body": { - "bidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - }, - "tagid": "ad-test1", - "secure": 1, - "ext": { - "bidder": { - "siteId": "237503", - "id": "005", - "test": 1 - } - } - } - ], - "site": { - "id": "237503", - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - }, - "regs": { - "ext": { - "gdpr": 1 - } - } - }, - "requestInfo": { - "PbsEntryPoint": "" - } - }, - "impIDs":["slot"] - }, - "mockResponse": { - "status": 200, - "body": { - "cur": "USD", - "id": "test-request", - "seatbid": [ - { - "bid": [ - { - "adm": "<!--preformatted-->test_ad", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "ext": { - "external": "1", - "platform": "prebidserver", - "pricepl": 0.123, - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "ad-test1" - }, - "w": 300, - "h": 250, - "id": "response-005", - "impid": "slot", - "price": 20, - "mtype": 1 - } - ], - "seat": "sspbc-test" - } - ], - "sn": "sspbc-test" - } - } - } - ], - "expectedBidResponses": [ - { - "currency": "USD", - "bids": [ - { - "bid": { - "id": "response-005", - "impid": "slot", - "price": 20, - "adm": "<!--preformatted-->test_ad", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "w": 300, - "h": 250, - "ext": { - "external": "1", - "platform": "prebidserver", - "pricepl": 0.123, - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "ad-test1" - }, - "mtype": 1 - }, - "type": "banner" - } - ] - } - ] -} \ No newline at end of file diff --git a/adapters/sspBC/sspbctest/supplemental/request_without_ext_id.json b/adapters/sspBC/sspbctest/supplemental/request_without_ext_id.json deleted file mode 100644 index 7531d4365df..00000000000 --- a/adapters/sspBC/sspbctest/supplemental/request_without_ext_id.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "mockBidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "ext": { - "bidder": { - "siteId": "237503" - } - }, - "secure": 1, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - }, - "tagid": "ad-test1" - } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - } - }, - "httpCalls": [ - { - "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", - "body": { - "bidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - }, - "tagid": "ad-test1", - "secure": 1, - "ext": { - "bidder": { - "siteId": "237503" - } - } - } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - }, - "regs": { - "ext": { - "gdpr": 1 - } - } - }, - "requestInfo": { - "PbsEntryPoint": "" - } - }, - "impIDs":["slot"] - }, - "mockResponse": { - "status": 200, - "body": { - "cur": "USD", - "id": "test-request", - "seatbid": [ - { - "bid": [ - { - "adm": "<!--preformatted-->test_ad", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "ext": { - "external": "1", - "platform": "prebidserver", - "pricepl": 0.123, - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "ad-test1" - }, - "w": 300, - "h": 250, - "id": "response-005", - "impid": "slot", - "price": 20, - "mtype": 1 - } - ], - "seat": "sspbc-test" - } - ], - "sn": "sspbc-test" - } - } - } - ], - "expectedBidResponses": [ - { - "currency": "USD", - "bids": [ - { - "bid": { - "id": "response-005", - "impid": "slot", - "price": 20, - "adm": "<!--preformatted-->test_ad", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "w": 300, - "h": 250, - "ext": { - "external": "1", - "platform": "prebidserver", - "pricepl": 0.123, - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "ad-test1" - }, - "mtype": 1 - }, - "type": "banner" - } - ] - } - ] -} \ No newline at end of file diff --git a/adapters/sspBC/sspbctest/supplemental/request_without_ext_site_id.json b/adapters/sspBC/sspbctest/supplemental/request_without_ext_site_id.json deleted file mode 100644 index 203c2ed4da6..00000000000 --- a/adapters/sspBC/sspbctest/supplemental/request_without_ext_site_id.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "mockBidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "ext": { - "bidder": { - "siteId": "", - "id": "005" - } - }, - "secure": 1, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - }, - "tagid": "ad-test1" - } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - } - }, - "httpCalls": [ - { - "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", - "body": { - "bidRequest": { - "id": "test-request", - "imp": [ - { - "id": "slot", - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - }, - "tagid": "ad-test1", - "secure": 1, - "ext": { - "bidder": { - "siteId": "", - "id": "005" - } - } - } - ], - "site": { - "domain": "test.page", - "page": "https://test.page/", - "ref": "https://test.referer/" - }, - "user": { - "ext": { - "consent": "test_consent" - }, - "buyeruid": "test_user" - }, - "regs": { - "ext": { - "gdpr": 1 - } - } - }, - "requestInfo": { - "PbsEntryPoint": "" - } - }, - "impIDs":["slot"] - }, - "mockResponse": { - "status": 200, - "body": { - "cur": "USD", - "id": "test-request", - "seatbid": [ - { - "bid": [ - { - "adm": "<!--preformatted-->test_ad", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "ext": { - "external": "1", - "platform": "prebidserver", - "pricepl": 0.123, - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "ad-test1" - }, - "w": 300, - "h": 250, - "id": "response-005", - "impid": "slot", - "price": 20, - "mtype": 1 - } - ], - "seat": "sspbc-test" - } - ], - "sn": "sspbc-test" - } - } - } - ], - "expectedBidResponses": [ - { - "currency": "USD", - "bids": [ - { - "bid": { - "id": "response-005", - "impid": "slot", - "price": 20, - "adm": "<!--preformatted-->test_ad", - "adomain": [ - "sspbc-test" - ], - "crid": "1234", - "w": 300, - "h": 250, - "ext": { - "external": "1", - "platform": "prebidserver", - "pricepl": 0.123, - "pubid": "431", - "siteid": "237503", - "slotid": "005", - "tagid": "ad-test1" - }, - "mtype": 1 - }, - "type": "banner" - } - ] - } - ] -} \ No newline at end of file From 3915e31a6a82b9880b08f7f476cb86365056aad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Bieli=C5=84ski?= <mateusz.bielinski@grupawp.pl> Date: Thu, 15 May 2025 11:17:27 +0200 Subject: [PATCH 3/7] [WPPAR-6392] - PR run fixes --- adapters/sspBC/sspbctest/exemplary/banner-multiple-imps.json | 2 +- adapters/sspBC/sspbctest/exemplary/banner-onecode.json | 2 +- adapters/sspBC/sspbctest/exemplary/banner.json | 2 +- adapters/sspBC/sspbctest/supplemental/bad_response.json | 2 +- .../supplemental/bad_response_with_incorrect_bid_type.json | 2 +- .../supplemental/request_with_standard_and_onecode_imp.json | 2 +- .../sspbctest/supplemental/request_without_banner_format.json | 2 +- adapters/sspBC/sspbctest/supplemental/status_204.json | 2 +- adapters/sspBC/sspbctest/supplemental/status_400.json | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/adapters/sspBC/sspbctest/exemplary/banner-multiple-imps.json b/adapters/sspBC/sspbctest/exemplary/banner-multiple-imps.json index f0ce72d9ddc..94821abdda7 100644 --- a/adapters/sspBC/sspbctest/exemplary/banner-multiple-imps.json +++ b/adapters/sspBC/sspbctest/exemplary/banner-multiple-imps.json @@ -61,7 +61,7 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", + "uri": "http://ssp.wp.test/bidder/?bdver=6.0", "body": { "bidRequest": { "id": "test-request", diff --git a/adapters/sspBC/sspbctest/exemplary/banner-onecode.json b/adapters/sspBC/sspbctest/exemplary/banner-onecode.json index 26f8deba260..c7ded494c63 100644 --- a/adapters/sspBC/sspbctest/exemplary/banner-onecode.json +++ b/adapters/sspBC/sspbctest/exemplary/banner-onecode.json @@ -37,7 +37,7 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", + "uri": "http://ssp.wp.test/bidder/?bdver=6.0", "body": { "bidRequest": { "id": "test-request", diff --git a/adapters/sspBC/sspbctest/exemplary/banner.json b/adapters/sspBC/sspbctest/exemplary/banner.json index 564bc7bf386..b93d75108e1 100644 --- a/adapters/sspBC/sspbctest/exemplary/banner.json +++ b/adapters/sspBC/sspbctest/exemplary/banner.json @@ -42,7 +42,7 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", + "uri": "http://ssp.wp.test/bidder/?bdver=6.0", "body": { "bidRequest": { "id": "test-request", diff --git a/adapters/sspBC/sspbctest/supplemental/bad_response.json b/adapters/sspBC/sspbctest/supplemental/bad_response.json index 7d7b9a25534..73f4239c93b 100644 --- a/adapters/sspBC/sspbctest/supplemental/bad_response.json +++ b/adapters/sspBC/sspbctest/supplemental/bad_response.json @@ -42,7 +42,7 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", + "uri": "http://ssp.wp.test/bidder/?bdver=6.0", "body": { "bidRequest": { "id": "test-request", diff --git a/adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_bid_type.json b/adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_bid_type.json index f8d067f97dc..dfbd2d0a9eb 100644 --- a/adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_bid_type.json +++ b/adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_bid_type.json @@ -42,7 +42,7 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", + "uri": "http://ssp.wp.test/bidder/?bdver=6.0", "body": { "bidRequest": { "id": "test-request", diff --git a/adapters/sspBC/sspbctest/supplemental/request_with_standard_and_onecode_imp.json b/adapters/sspBC/sspbctest/supplemental/request_with_standard_and_onecode_imp.json index d0eb8a18a91..4784ce59682 100644 --- a/adapters/sspBC/sspbctest/supplemental/request_with_standard_and_onecode_imp.json +++ b/adapters/sspBC/sspbctest/supplemental/request_with_standard_and_onecode_imp.json @@ -56,7 +56,7 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", + "uri": "http://ssp.wp.test/bidder/?bdver=6.0", "body": { "bidRequest": { "id": "test-request", diff --git a/adapters/sspBC/sspbctest/supplemental/request_without_banner_format.json b/adapters/sspBC/sspbctest/supplemental/request_without_banner_format.json index 94fc993e964..96c1eaab703 100644 --- a/adapters/sspBC/sspbctest/supplemental/request_without_banner_format.json +++ b/adapters/sspBC/sspbctest/supplemental/request_without_banner_format.json @@ -38,7 +38,7 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", + "uri": "http://ssp.wp.test/bidder/?bdver=6.0", "body": { "bidRequest": { "id": "test-request", diff --git a/adapters/sspBC/sspbctest/supplemental/status_204.json b/adapters/sspBC/sspbctest/supplemental/status_204.json index 259c51e9159..6e4b3c52ae0 100644 --- a/adapters/sspBC/sspbctest/supplemental/status_204.json +++ b/adapters/sspBC/sspbctest/supplemental/status_204.json @@ -42,7 +42,7 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", + "uri": "http://ssp.wp.test/bidder/?bdver=6.0", "body": { "bidRequest": { "id": "test-request", diff --git a/adapters/sspBC/sspbctest/supplemental/status_400.json b/adapters/sspBC/sspbctest/supplemental/status_400.json index ffba80052bf..eb01902ed4d 100644 --- a/adapters/sspBC/sspbctest/supplemental/status_400.json +++ b/adapters/sspBC/sspbctest/supplemental/status_400.json @@ -42,7 +42,7 @@ "httpCalls": [ { "expectedRequest": { - "uri": "http://ssp.wp.test/bidder/?bdver=5.8", + "uri": "http://ssp.wp.test/bidder/?bdver=6.0", "body": { "bidRequest": { "id": "test-request", From 73a590503560d2b55bb59940092eadbaf5e1cd3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Bieli=C5=84ski?= <mateusz.bielinski@grupawp.pl> Date: Fri, 16 May 2025 12:32:45 +0200 Subject: [PATCH 4/7] [WPPAR-6392] - add image sync endpoint --- static/bidder-info/sspBC.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/static/bidder-info/sspBC.yaml b/static/bidder-info/sspBC.yaml index e12fcb74e2b..4801227bac5 100644 --- a/static/bidder-info/sspBC.yaml +++ b/static/bidder-info/sspBC.yaml @@ -11,3 +11,6 @@ userSync: iframe: url: https://ssp.wp.pl/bidder/usersync?tcf=2&redirect={{.RedirectURL}} userMacro: $UID + pixel: + url: https://ssp.wp.pl/v1/sync/prebid-server/pixel?gdpr={{.GDPR}}&gdpr_consent={{.GDPRConsent}}&redirect={{.RedirectURL}} + userMacro: $UID From 852dca11ebfa84c2639d5f63d96c2d174e5c67e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Bieli=C5=84ski?= <mateusz.bielinski@grupawp.pl> Date: Thu, 22 May 2025 14:39:25 +0200 Subject: [PATCH 5/7] [WPPAR-6392] - yaml fix --- static/bidder-info/sspBC.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/bidder-info/sspBC.yaml b/static/bidder-info/sspBC.yaml index 4801227bac5..d1855ec9fec 100644 --- a/static/bidder-info/sspBC.yaml +++ b/static/bidder-info/sspBC.yaml @@ -11,6 +11,6 @@ userSync: iframe: url: https://ssp.wp.pl/bidder/usersync?tcf=2&redirect={{.RedirectURL}} userMacro: $UID - pixel: + redirect: url: https://ssp.wp.pl/v1/sync/prebid-server/pixel?gdpr={{.GDPR}}&gdpr_consent={{.GDPRConsent}}&redirect={{.RedirectURL}} userMacro: $UID From 1fff89a405f1f3e13fc77d7a53ad748455b4f93b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Bieli=C5=84ski?= <mateusz.bielinski@grupawp.pl> Date: Fri, 23 May 2025 10:19:18 +0200 Subject: [PATCH 6/7] [WPPAR-6392] - fixes --- adapters/sspBC/sspbc.go | 36 +++++++++++-------- .../bad_response_with_incorrect_bid_type.json | 2 +- .../sspbctest/supplemental/status_400.json | 2 +- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/adapters/sspBC/sspbc.go b/adapters/sspBC/sspbc.go index 14200120715..a53b0a3dd17 100644 --- a/adapters/sspBC/sspbc.go +++ b/adapters/sspBC/sspbc.go @@ -32,11 +32,29 @@ type ( } ) +func buildAdapterEndpoint(endpoint string, adapterVersion string) (string, error) { + endpointURL, err := url.Parse(endpoint) + if err != nil { + return "", fmt.Errorf("unable to parse endpoint URL: %w", err) + } + + params := endpointURL.Query() + params.Add("bdver", adapterVersion) + endpointURL.RawQuery = params.Encode() + + return endpointURL.String(), nil +} + // ---------------ADAPTER INTERFACE------------------ // Builder builds a new instance of the sspBC adapter func Builder(_ openrtb_ext.BidderName, config config.Adapter, _ config.Server) (adapters.Bidder, error) { + endpoint, err := buildAdapterEndpoint(config.Endpoint, adapterVersion) + if err != nil { + return nil, fmt.Errorf("unable to build sspbc adapter endpoint: %w", err) + } + bidder := &adapter{ - endpoint: config.Endpoint, + endpoint: endpoint, } return bidder, nil @@ -55,19 +73,9 @@ func (a *adapter) MakeRequests(request *openrtb2.BidRequest, extraRequestInfo *a return nil, []error{err} } - requestURL, err := url.Parse(a.endpoint) - if err != nil { - return nil, []error{err} - } - - // add query parameters to request - queryParams := requestURL.Query() - queryParams.Add("bdver", adapterVersion) - requestURL.RawQuery = queryParams.Encode() - requestData := &adapters.RequestData{ Method: http.MethodPost, - Uri: requestURL.String(), + Uri: a.endpoint, Body: requestJSON, ImpIDs: openrtb_ext.GetImpIDs(request.Imp), } @@ -82,7 +90,7 @@ func (a *adapter) MakeBids(internalRequest *openrtb2.BidRequest, externalRequest if externalResponse.StatusCode != http.StatusOK { err := &errortypes.BadServerResponse{ - Message: fmt.Sprintf("Unexpected status code: %d.", externalResponse.StatusCode), + Message: fmt.Sprintf("unexpected status code: %d.", externalResponse.StatusCode), } return nil, []error{err} } @@ -126,7 +134,7 @@ func getBidType(bid openrtb2.Bid) (openrtb_ext.BidType, error) { return openrtb_ext.BidTypeNative, nil default: return "", &errortypes.BadServerResponse{ - Message: fmt.Sprintf("Unsupported MType: %d.", bid.MType), + Message: fmt.Sprintf("unsupported MType: %d.", bid.MType), } } } diff --git a/adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_bid_type.json b/adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_bid_type.json index dfbd2d0a9eb..9b27921099a 100644 --- a/adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_bid_type.json +++ b/adapters/sspBC/sspbctest/supplemental/bad_response_with_incorrect_bid_type.json @@ -131,7 +131,7 @@ ], "expectedMakeBidsErrors": [ { - "value": "Unsupported MType: 0.", + "value": "unsupported MType: 0.", "comparison": "literal" } ] diff --git a/adapters/sspBC/sspbctest/supplemental/status_400.json b/adapters/sspBC/sspbctest/supplemental/status_400.json index eb01902ed4d..ee6d0b3663b 100644 --- a/adapters/sspBC/sspbctest/supplemental/status_400.json +++ b/adapters/sspBC/sspbctest/supplemental/status_400.json @@ -98,7 +98,7 @@ ], "expectedMakeBidsErrors": [ { - "value": "Unexpected status code: 400.", + "value": "unexpected status code: 400.", "comparison": "literal" } ] From f1382f033c57d7ccee90835b75f367fc418ca89f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Bieli=C5=84ski?= <mateusz.bielinski@grupawp.pl> Date: Fri, 23 May 2025 10:34:15 +0200 Subject: [PATCH 7/7] [WPPAR-6392] - fix --- adapters/sspBC/sspbc.go | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/adapters/sspBC/sspbc.go b/adapters/sspBC/sspbc.go index a53b0a3dd17..4a12ddaa51e 100644 --- a/adapters/sspBC/sspbc.go +++ b/adapters/sspBC/sspbc.go @@ -32,19 +32,6 @@ type ( } ) -func buildAdapterEndpoint(endpoint string, adapterVersion string) (string, error) { - endpointURL, err := url.Parse(endpoint) - if err != nil { - return "", fmt.Errorf("unable to parse endpoint URL: %w", err) - } - - params := endpointURL.Query() - params.Add("bdver", adapterVersion) - endpointURL.RawQuery = params.Encode() - - return endpointURL.String(), nil -} - // ---------------ADAPTER INTERFACE------------------ // Builder builds a new instance of the sspBC adapter func Builder(_ openrtb_ext.BidderName, config config.Adapter, _ config.Server) (adapters.Bidder, error) { @@ -138,3 +125,16 @@ func getBidType(bid openrtb2.Bid) (openrtb_ext.BidType, error) { } } } + +func buildAdapterEndpoint(endpoint string, adapterVersion string) (string, error) { + endpointURL, err := url.Parse(endpoint) + if err != nil { + return "", fmt.Errorf("unable to parse endpoint URL: %w", err) + } + + params := endpointURL.Query() + params.Add("bdver", adapterVersion) + endpointURL.RawQuery = params.Encode() + + return endpointURL.String(), nil +}