New bid adapter: Engerio#14926
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9ba7d35ebb
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
Changes based on comments from Codex's review should be implemented now. |
|
@codex review |
|
Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0adb4bc20c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const bidRequest = { | ||
| id: generateUUID(), | ||
| imp: imps, | ||
| site: { | ||
| page: page || undefined, | ||
| domain: domain || undefined, | ||
| }, | ||
| }; |
There was a problem hiding this comment.
Preserve ORTB consent fields in auction requests
When consent/FPD modules populate bidderRequest.ortb2 (for example regs.ext.gdpr and user.ext.consent from TCF consent management), this OpenRTB request drops everything except device.ua and hand-built site fields. In GDPR or other privacy-regulated traffic, Engerio's server receives the auction without the consent/regs data it needs to enforce those signals; build the request from/merge bidderRequest.ortb2 instead of replacing it with this minimal object.
Useful? React with 👍 / 👎.
| if (!bid.params?.adUnitCode) { | ||
| logWarn(`${BIDDER_CODE}: bid is missing required params.adUnitCode`); | ||
| return false; |
There was a problem hiding this comment.
Accept the conventional adUnitCode fallback
For any publisher whose Engerio slot ID is the same as the Prebid adUnit.code, this rejects the bid unless they duplicate that value in params.adUnitCode. Bidder params are supposed to override conventional request fields rather than be required in place of them, so this causes otherwise valid banner ad units to no-bid; allow bid.adUnitCode as the default and use params.adUnitCode only as an override.
Useful? React with 👍 / 👎.
|
Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!
|
| { | ||
| bidder: 'engerio', | ||
| params: { | ||
| adUnitCode: 'test-slot-300x250' // replace with a valid adUnitCode from your Engerio account |
There was a problem hiding this comment.
adapters are required to type the public interface with a d.ts import or swtich the main adatper file to ts
There was a problem hiding this comment.
Should be typed/resolved now. Sorry about that.
|
Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!
|
|
Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!
Tread carefully! This PR adds 4 linter warnings (possibly disabled through directives):
|
patmmccann
left a comment
There was a problem hiding this comment.
seems you have some linting errors as well
|
Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!
Tread carefully! This PR adds 4 linter warnings (possibly disabled through directives):
|
|
Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!
|
patmmccann
left a comment
There was a problem hiding this comment.
FAILED TESTS:
engerioBidAdapter
onBidWon
✖ fires a GET request to the nurl
Chrome Headless 149.0.0.0 (Linux x86_64)
AssertionError: expected false to be true
+ expected - actual
-false
+true
|
Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!
|
Barecheck - Code coverage reportTotal: 96.48%Your code coverage diff: 0.00% ▴ ✅ All code changes are covered |
Type of change
New bidder adapter
Does this change affect user-facing APIs or examples documented on http://prebid.org?
Yes - docs PR here: prebid/prebid.github.io#6576
Description of change
New bidder adapter: Engerio
Contact e-mail: info@thinkeasy.cz or david@thinkeasy.cz
Test parameters for validating bids:
and dimensions:
Ad slot scope
Engerio slot resolution is host-scoped. If you require a live test, these values should be used:
If tested with a different page URL/host, the auction may return no bid even with a valid adUnitCode.
Example gist
I'm attaching a gist that shows a testing request and response, if useful.