diff --git a/src/main/java/org/prebid/server/bidder/missena/MissenaAdRequest.java b/src/main/java/org/prebid/server/bidder/missena/MissenaAdRequest.java index 68c0d862681..2f9722b2c82 100644 --- a/src/main/java/org/prebid/server/bidder/missena/MissenaAdRequest.java +++ b/src/main/java/org/prebid/server/bidder/missena/MissenaAdRequest.java @@ -1,13 +1,11 @@ package org.prebid.server.bidder.missena; import com.fasterxml.jackson.annotation.JsonProperty; -import com.iab.openrtb.request.Eid; -import com.iab.openrtb.request.SupplyChain; +import com.iab.openrtb.request.BidRequest; import lombok.Builder; import lombok.Value; import java.math.BigDecimal; -import java.util.List; @Value @Builder(toBuilder = true) @@ -16,44 +14,23 @@ public class MissenaAdRequest { @JsonProperty("adunit") String adUnit; - @JsonProperty("buyeruid") - String buyerUid; - - Integer coppa; - String currency; - @JsonProperty("userEids") - List userEids; - BigDecimal floor; String floorCurrency; - @JsonProperty("consent_required") - Boolean gdpr; - - @JsonProperty("consent_string") - String gdprConsent; - @JsonProperty("ik") String idempotencyKey; - String referer; - - String refererCanonical; - String requestId; - SupplyChain schain; - Long timeout; - String url; - MissenaUserParams params; - String usPrivacy; + @JsonProperty("ortb2") + BidRequest bidRequest; String version; } diff --git a/src/main/java/org/prebid/server/bidder/missena/MissenaBidder.java b/src/main/java/org/prebid/server/bidder/missena/MissenaBidder.java index 4cad9af88f7..eacc3a49541 100644 --- a/src/main/java/org/prebid/server/bidder/missena/MissenaBidder.java +++ b/src/main/java/org/prebid/server/bidder/missena/MissenaBidder.java @@ -4,10 +4,7 @@ import com.iab.openrtb.request.BidRequest; import com.iab.openrtb.request.Device; import com.iab.openrtb.request.Imp; -import com.iab.openrtb.request.Regs; import com.iab.openrtb.request.Site; -import com.iab.openrtb.request.Source; -import com.iab.openrtb.request.User; import com.iab.openrtb.response.Bid; import io.vertx.core.MultiMap; import io.vertx.core.http.HttpMethod; @@ -24,8 +21,6 @@ import org.prebid.server.json.DecodeException; import org.prebid.server.json.JacksonMapper; import org.prebid.server.proto.openrtb.ext.ExtPrebid; -import org.prebid.server.proto.openrtb.ext.request.ExtRegs; -import org.prebid.server.proto.openrtb.ext.request.ExtUser; import org.prebid.server.proto.openrtb.ext.request.missena.ExtImpMissena; import org.prebid.server.proto.openrtb.ext.response.BidType; import org.prebid.server.util.BidderUtil; @@ -39,7 +34,6 @@ import java.util.Collections; import java.util.List; import java.util.Objects; -import java.util.Optional; public class MissenaBidder implements Bidder { @@ -91,10 +85,7 @@ private ExtImpMissena parseImpExt(Imp imp) { private HttpRequest makeHttpRequest(BidRequest request, Imp imp, ExtImpMissena extImp) { final Site site = request.getSite(); - final User user = request.getUser(); - final Regs regs = request.getRegs(); final Device device = request.getDevice(); - final Source source = request.getSource(); final String requestCurrency = resolveCurrency(request.getCur()); final Price floorInfo = resolveBidFloor(imp, request, requestCurrency); @@ -108,22 +99,15 @@ private HttpRequest makeHttpRequest(BidRequest request, Imp im final MissenaAdRequest missenaAdRequest = MissenaAdRequest.builder() .adUnit(imp.getId()) - .buyerUid(user != null ? user.getBuyeruid() : null) - .coppa(regs != null ? regs.getCoppa() : null) .currency(requestCurrency) - .userEids(user != null ? user.getEids() : null) .floor(floorInfo.getValue()) .floorCurrency(floorInfo.getCurrency()) - .gdpr(isGdpr(regs)) - .gdprConsent(getUserConsent(user)) .idempotencyKey(request.getId()) - .referer(site != null ? site.getPage() : null) - .refererCanonical(site != null ? site.getDomain() : null) .requestId(request.getId()) - .schain(source != null ? source.getSchain() : null) .timeout(request.getTmax()) .params(userParams) .version(prebidVersionProvider.getNameVersionRecord()) + .bidRequest(request) .build(); return HttpRequest.builder() @@ -199,22 +183,6 @@ private String resolveEndpointUrl(String apiKey) { return endpointUrl.replace(PUBLISHER_ID_MACRO, HttpUtil.encodeUrl(apiKey)); } - private static boolean isGdpr(Regs regs) { - return Optional.ofNullable(regs) - .map(Regs::getExt) - .map(ExtRegs::getGdpr) - .map(gdpr -> gdpr == 1) - .orElse(false); - } - - private static String getUserConsent(User user) { - return Optional.ofNullable(user) - .map(User::getExt) - .map(ExtUser::getConsent) - .filter(StringUtils::isNotBlank) - .orElse(null); - } - @Override public Result> makeBids(BidderCall httpCall, BidRequest bidRequest) { try { diff --git a/src/test/java/org/prebid/server/bidder/missena/MissenaBidderTest.java b/src/test/java/org/prebid/server/bidder/missena/MissenaBidderTest.java index 453fcd26739..e7a636fc4bb 100644 --- a/src/test/java/org/prebid/server/bidder/missena/MissenaBidderTest.java +++ b/src/test/java/org/prebid/server/bidder/missena/MissenaBidderTest.java @@ -129,22 +129,15 @@ public void makeHttpRequestsShouldMakeRequestForFirstValidImp() { final MissenaAdRequest expectedPayload = MissenaAdRequest.builder() .adUnit("impId1") - .buyerUid("buyer1") - .coppa(null) .currency("USD") - .userEids(null) .floor(BigDecimal.valueOf(0.1)) .floorCurrency("USD") - .gdpr(true) - .gdprConsent("consentStr") .idempotencyKey("requestId") - .referer("http://test.com/page") - .refererCanonical("test.com") .requestId("requestId") - .schain(SupplyChain.of(1, null, null, null)) .timeout(500L) .params(expectedUserParams) .version(TEST_PBS_VERSION) + .bidRequest(bidRequest) .build(); assertThat(result.getErrors()).isEmpty(); diff --git a/src/test/resources/org/prebid/server/it/openrtb2/missena/test-missena-bid-request.json b/src/test/resources/org/prebid/server/it/openrtb2/missena/test-missena-bid-request.json index 5d6eacd1e38..0901179a05d 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/missena/test-missena-bid-request.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/missena/test-missena-bid-request.json @@ -1,15 +1,66 @@ { "adunit" : "imp_id", "currency" : "USD", - "consent_required" : false, "ik" : "request_id", - "referer" : "http://www.example.com", - "referer_canonical" : "www.example.com", "request_id" : "request_id", "timeout" : "${json-unit.any-number}", "params" : { "placement" : "placement", "test" : "test" }, + "ortb2" : { + "id" : "request_id", + "imp" : [ { + "id" : "imp_id", + "banner" : { + "w" : 320, + "h" : 250 + }, + "secure" : 1, + "ext" : { + "tid" : "${json-unit.any-string}", + "bidder" : { + "apiKey" : "apiKey", + "placement" : "placement", + "test" : "test" + } + } + } ], + "site" : { + "domain" : "www.example.com", + "page" : "http://www.example.com", + "publisher" : { + "domain" : "example.com" + }, + "ext" : { + "amp" : 0 + } + }, + "device" : { + "ua" : "userAgent", + "ip" : "193.168.244.1" + }, + "at" : 1, + "tmax" : "${json-unit.any-number}", + "cur" : [ "USD" ], + "source" : { + "tid" : "${json-unit.any-string}" + }, + "regs" : { + "ext" : { + "gdpr" : 0 + } + }, + "ext" : { + "prebid" : { + "server" : { + "externalurl" : "http://localhost:8080", + "gvlid" : 1, + "datacenter" : "local", + "endpoint" : "/openrtb2/auction" + } + } + } + }, "version" : "${json-unit.any-string}" }