Skip to content

Align Missena adapter request payload with PBS Go - #4509

Open
ysfbsf wants to merge 4 commits into
prebid:masterfrom
missena-corp:fix/missena-sample-param
Open

Align Missena adapter request payload with PBS Go#4509
ysfbsf wants to merge 4 commits into
prebid:masterfrom
missena-corp:fix/missena-sample-param

Conversation

@ysfbsf

@ysfbsf ysfbsf commented May 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • align the Missena Java adapter outbound payload with the PBS Go adapter
  • replace the Missena bidder param test with sample
  • forward apiKey in params, plus top-level debug and userEids
  • update the Missena bidder schema, unit test, and integration fixtures

Testing

  • git diff --check -- src/main/java/org/prebid/server/bidder/missena src/main/java/org/prebid/server/proto/openrtb/ext/request/missena src/main/resources/static/bidder-params/missena.json src/test/java/org/prebid/server/bidder/missena src/test/resources/org/prebid/server/it/openrtb2/missena
  • jq empty src/main/resources/static/bidder-params/missena.json src/test/resources/org/prebid/server/it/openrtb2/missena/test-auction-missena-request.json src/test/resources/org/prebid/server/it/openrtb2/missena/test-missena-bid-request.json

@ysfbsf
ysfbsf force-pushed the fix/missena-sample-param branch from bb332db to a5365df Compare May 20, 2026 15:05
@ysfbsf ysfbsf changed the title Update Missena sample parameter handling Align Missena adapter request payload with PBS Go May 20, 2026
@Net-burst
Net-burst requested review from CTMBNara and osulzhenko June 15, 2026 16:24
@ysfbsf
ysfbsf requested a review from CTMBNara June 18, 2026 14:17
ysfbsf added 2 commits July 29, 2026 17:53
The adapter built bids without w/h, so every bid tripped creative size
validation with size 'nullxnull' and produced no hb_size targeting. The
Missena ad server already returns width and height in the response body;
parse them and map them onto the bid.
Resolves conflict in test-missena-bid-request.json: upstream reformatted
the fixture and added ext.prebid.server.http_method; reapplied the
apiKey param and the test -> sample rename on top.
@ysfbsf

ysfbsf commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

@CTMBNara friendly ping for a re-review when you get a chance 🙏

The requested passthrough test was added back in June: makeBidsShouldReturnBidWithoutSizeWhenResponseHasNoSize covers the null-size path, and the makeBids assertions cover width/height reaching Bid.w/Bid.h. The branch was merged with upstream master on Jul 29 and is currently MERGEABLE.

Some context on why the size passthrough matters to us in production. With w/h unset, ResponseBidValidator.bannerSizeIsNotValid() treats the bid as invalid (bidW == null || bidW > maxSize.getW() || ...), so a live publisher currently gets:

BidResponse validation `warn`: bidder `missena` response triggers creative size validation
for bid <id>, account=<id>, max imp size='320x100', bid response size='nullxnull'

On warn the bid survives but reaches the ad server with no hb_size targeting key, so size-keyed line items can't match. On any account configured with enforce, every Missena banner bid is dropped as RESPONSE_REJECTED_INVALID_CREATIVE_SIZE_NOT_ALLOWED.

Happy to make any further changes needed to get this over the line.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines +165 to +168
final JsonNode body = mapper.readTree(result.getValue().getFirst().getBody());
assertThat(body.at("/params/apiKey").asText()).isEqualTo("apiKey1");
assertThat(body.at("/debug").asBoolean()).isTrue();
assertThat(body.at("/userEids/0/source").asText()).isEqualTo("id-source");

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This checks are redundant

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add givenBidRequest(UnaryOperator<BidRequest.BidRequestBuilder> bidRequestCustomizer, Imp... imps)
method and use it instead of givenBidRequest(...).toBuilder()...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants