Skip to content

Commit a71c040

Browse files
Missena Adapter: Pass full openrtb request (#4075)
1 parent a92783f commit a71c040

File tree

4 files changed

+59
-70
lines changed

4 files changed

+59
-70
lines changed
Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
package org.prebid.server.bidder.missena;
22

33
import com.fasterxml.jackson.annotation.JsonProperty;
4-
import com.iab.openrtb.request.Eid;
5-
import com.iab.openrtb.request.SupplyChain;
4+
import com.iab.openrtb.request.BidRequest;
65
import lombok.Builder;
76
import lombok.Value;
87

98
import java.math.BigDecimal;
10-
import java.util.List;
119

1210
@Value
1311
@Builder(toBuilder = true)
@@ -16,44 +14,23 @@ public class MissenaAdRequest {
1614
@JsonProperty("adunit")
1715
String adUnit;
1816

19-
@JsonProperty("buyeruid")
20-
String buyerUid;
21-
22-
Integer coppa;
23-
2417
String currency;
2518

26-
@JsonProperty("userEids")
27-
List<Eid> userEids;
28-
2919
BigDecimal floor;
3020

3121
String floorCurrency;
3222

33-
@JsonProperty("consent_required")
34-
Boolean gdpr;
35-
36-
@JsonProperty("consent_string")
37-
String gdprConsent;
38-
3923
@JsonProperty("ik")
4024
String idempotencyKey;
4125

42-
String referer;
43-
44-
String refererCanonical;
45-
4626
String requestId;
4727

48-
SupplyChain schain;
49-
5028
Long timeout;
5129

52-
String url;
53-
5430
MissenaUserParams params;
5531

56-
String usPrivacy;
32+
@JsonProperty("ortb2")
33+
BidRequest bidRequest;
5734

5835
String version;
5936
}

src/main/java/org/prebid/server/bidder/missena/MissenaBidder.java

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@
44
import com.iab.openrtb.request.BidRequest;
55
import com.iab.openrtb.request.Device;
66
import com.iab.openrtb.request.Imp;
7-
import com.iab.openrtb.request.Regs;
87
import com.iab.openrtb.request.Site;
9-
import com.iab.openrtb.request.Source;
10-
import com.iab.openrtb.request.User;
118
import com.iab.openrtb.response.Bid;
129
import io.vertx.core.MultiMap;
1310
import io.vertx.core.http.HttpMethod;
@@ -24,8 +21,6 @@
2421
import org.prebid.server.json.DecodeException;
2522
import org.prebid.server.json.JacksonMapper;
2623
import org.prebid.server.proto.openrtb.ext.ExtPrebid;
27-
import org.prebid.server.proto.openrtb.ext.request.ExtRegs;
28-
import org.prebid.server.proto.openrtb.ext.request.ExtUser;
2924
import org.prebid.server.proto.openrtb.ext.request.missena.ExtImpMissena;
3025
import org.prebid.server.proto.openrtb.ext.response.BidType;
3126
import org.prebid.server.util.BidderUtil;
@@ -39,7 +34,6 @@
3934
import java.util.Collections;
4035
import java.util.List;
4136
import java.util.Objects;
42-
import java.util.Optional;
4337

4438
public class MissenaBidder implements Bidder<MissenaAdRequest> {
4539

@@ -91,10 +85,7 @@ private ExtImpMissena parseImpExt(Imp imp) {
9185

9286
private HttpRequest<MissenaAdRequest> makeHttpRequest(BidRequest request, Imp imp, ExtImpMissena extImp) {
9387
final Site site = request.getSite();
94-
final User user = request.getUser();
95-
final Regs regs = request.getRegs();
9688
final Device device = request.getDevice();
97-
final Source source = request.getSource();
9889

9990
final String requestCurrency = resolveCurrency(request.getCur());
10091
final Price floorInfo = resolveBidFloor(imp, request, requestCurrency);
@@ -108,22 +99,15 @@ private HttpRequest<MissenaAdRequest> makeHttpRequest(BidRequest request, Imp im
10899

109100
final MissenaAdRequest missenaAdRequest = MissenaAdRequest.builder()
110101
.adUnit(imp.getId())
111-
.buyerUid(user != null ? user.getBuyeruid() : null)
112-
.coppa(regs != null ? regs.getCoppa() : null)
113102
.currency(requestCurrency)
114-
.userEids(user != null ? user.getEids() : null)
115103
.floor(floorInfo.getValue())
116104
.floorCurrency(floorInfo.getCurrency())
117-
.gdpr(isGdpr(regs))
118-
.gdprConsent(getUserConsent(user))
119105
.idempotencyKey(request.getId())
120-
.referer(site != null ? site.getPage() : null)
121-
.refererCanonical(site != null ? site.getDomain() : null)
122106
.requestId(request.getId())
123-
.schain(source != null ? source.getSchain() : null)
124107
.timeout(request.getTmax())
125108
.params(userParams)
126109
.version(prebidVersionProvider.getNameVersionRecord())
110+
.bidRequest(request)
127111
.build();
128112

129113
return HttpRequest.<MissenaAdRequest>builder()
@@ -199,22 +183,6 @@ private String resolveEndpointUrl(String apiKey) {
199183
return endpointUrl.replace(PUBLISHER_ID_MACRO, HttpUtil.encodeUrl(apiKey));
200184
}
201185

202-
private static boolean isGdpr(Regs regs) {
203-
return Optional.ofNullable(regs)
204-
.map(Regs::getExt)
205-
.map(ExtRegs::getGdpr)
206-
.map(gdpr -> gdpr == 1)
207-
.orElse(false);
208-
}
209-
210-
private static String getUserConsent(User user) {
211-
return Optional.ofNullable(user)
212-
.map(User::getExt)
213-
.map(ExtUser::getConsent)
214-
.filter(StringUtils::isNotBlank)
215-
.orElse(null);
216-
}
217-
218186
@Override
219187
public Result<List<BidderBid>> makeBids(BidderCall<MissenaAdRequest> httpCall, BidRequest bidRequest) {
220188
try {

src/test/java/org/prebid/server/bidder/missena/MissenaBidderTest.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -129,22 +129,15 @@ public void makeHttpRequestsShouldMakeRequestForFirstValidImp() {
129129

130130
final MissenaAdRequest expectedPayload = MissenaAdRequest.builder()
131131
.adUnit("impId1")
132-
.buyerUid("buyer1")
133-
.coppa(null)
134132
.currency("USD")
135-
.userEids(null)
136133
.floor(BigDecimal.valueOf(0.1))
137134
.floorCurrency("USD")
138-
.gdpr(true)
139-
.gdprConsent("consentStr")
140135
.idempotencyKey("requestId")
141-
.referer("http://test.com/page")
142-
.refererCanonical("test.com")
143136
.requestId("requestId")
144-
.schain(SupplyChain.of(1, null, null, null))
145137
.timeout(500L)
146138
.params(expectedUserParams)
147139
.version(TEST_PBS_VERSION)
140+
.bidRequest(bidRequest)
148141
.build();
149142

150143
assertThat(result.getErrors()).isEmpty();
Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,66 @@
11
{
22
"adunit" : "imp_id",
33
"currency" : "USD",
4-
"consent_required" : false,
54
"ik" : "request_id",
6-
"referer" : "http://www.example.com",
7-
"referer_canonical" : "www.example.com",
85
"request_id" : "request_id",
96
"timeout" : "${json-unit.any-number}",
107
"params" : {
118
"placement" : "placement",
129
"test" : "test"
1310
},
11+
"ortb2" : {
12+
"id" : "request_id",
13+
"imp" : [ {
14+
"id" : "imp_id",
15+
"banner" : {
16+
"w" : 320,
17+
"h" : 250
18+
},
19+
"secure" : 1,
20+
"ext" : {
21+
"tid" : "${json-unit.any-string}",
22+
"bidder" : {
23+
"apiKey" : "apiKey",
24+
"placement" : "placement",
25+
"test" : "test"
26+
}
27+
}
28+
} ],
29+
"site" : {
30+
"domain" : "www.example.com",
31+
"page" : "http://www.example.com",
32+
"publisher" : {
33+
"domain" : "example.com"
34+
},
35+
"ext" : {
36+
"amp" : 0
37+
}
38+
},
39+
"device" : {
40+
"ua" : "userAgent",
41+
"ip" : "193.168.244.1"
42+
},
43+
"at" : 1,
44+
"tmax" : "${json-unit.any-number}",
45+
"cur" : [ "USD" ],
46+
"source" : {
47+
"tid" : "${json-unit.any-string}"
48+
},
49+
"regs" : {
50+
"ext" : {
51+
"gdpr" : 0
52+
}
53+
},
54+
"ext" : {
55+
"prebid" : {
56+
"server" : {
57+
"externalurl" : "http://localhost:8080",
58+
"gvlid" : 1,
59+
"datacenter" : "local",
60+
"endpoint" : "/openrtb2/auction"
61+
}
62+
}
63+
}
64+
},
1465
"version" : "${json-unit.any-string}"
1566
}

0 commit comments

Comments
 (0)