Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Validating bid response params #1738

Merged
merged 5 commits into from
Oct 26, 2017
Merged

Validating bid response params #1738

merged 5 commits into from
Oct 26, 2017

Conversation

jaiminpanchal27
Copy link
Collaborator

Type of change

  • Refactoring (no functional changes, no api changes)

Description of change

Validating bid response params currency, 'netRevenueandttl` for 1.0 adapters.

Copy link
Member

@mkendall07 mkendall07 left a comment

Choose a reason for hiding this comment

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

Need to add all required keys

@@ -107,6 +107,8 @@ import { logWarn, logError, parseQueryStringParameters, delayExecution } from 's
* @property {string} url The URL which makes the sync happen.
*/

const BID_RESPONSE_KEYS = ['currency', 'netRevenue', 'ttl'];
Copy link
Member

Choose a reason for hiding this comment

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

We have more required params. You should check http://prebid.org/dev-docs/bidder-adapter-1.html#interpreting-the-response ;)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Updated

@@ -183,14 +183,18 @@ function newBid(serverBid, rtbBid) {
cpm: rtbBid.cpm,
creative_id: rtbBid.creative_id,
Copy link
Collaborator

@matthewlane matthewlane Oct 23, 2017

Choose a reason for hiding this comment

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

appnexusAst will need bidderCode and creativeId added to pass validation now

const prebidBid = Object.assign(bidfactory.createBid(STATUS.GOOD, bidRequest), bid);
addBidWithCode(bidRequest.placementCode, prebidBid);
// In Prebid 1.0 all the validation logic from bidmanager will move here, as of now we are only validating new params so that adapters dont miss adding them.
if (hasValidKeys(bid)) {
Copy link
Contributor

@dbemiller dbemiller Oct 24, 2017

Choose a reason for hiding this comment

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

Careful here... we've been telling adapters not to add bidderCode, because it breaks aliasing. The bidderFactory should be doing that for them.

But... that happens a few lines after this: Object.assign(bidfactory.createBid(STATUS.GOOD, bidRequest), bid);.

So I don't think should be make sure that bidderCode exists here. If anything, we should make sure that it doesn't exist yet.

@@ -107,6 +107,8 @@ import { logWarn, logError, parseQueryStringParameters, delayExecution } from 's
* @property {string} url The URL which makes the sync happen.
*/

const BID_RESPONSE_KEYS = ['requestId', 'bidderCode', 'cpm', 'width', 'height', 'ad', 'ttl', 'creativeId', 'netRevenue', 'currency'];
Copy link
Member

Choose a reason for hiding this comment

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

Per recent discussion, it looks like bidderCode should not be a required param.

@mkendall07
Copy link
Member

I think ideally we'd want to validate on media type (probably create different bid objects for the different types) but that doesn't have to be done in this PR.

@mkendall07 mkendall07 merged commit 1b0439f into master Oct 26, 2017
@mkendall07 mkendall07 deleted the validate-bidresponse branch October 26, 2017 14:42
Millerrok pushed a commit to Vertamedia/Prebid.js that referenced this pull request Oct 31, 2017
* 'master' of https://github.com/prebid/Prebid.js: (22 commits)
  Update GetIntent adapter to 1.0 version (prebid#1721)
  Add `usePaymentRule` param to AN bidders (prebid#1778)
  New hooks API (replaces monkey-patching for currency) (prebid#1683)
  Change prebidServer to call client user syncs if they exist (prebid#1734)
  Fix Centro adapter to allow requests of the same units (prebid#1746)
  add vastUrl + media type for video bids Prebid Server (prebid#1739)
  Update adxcg adapter for prebid 1.0 (prebid#1741)
  Update yieldmoBid adapter request url (prebid#1771)
  Upgrade Quantcast adapter for Prebid 1.0 (prebid#1753)
  Fidelity Media Adapter update. Prebid v1.0 (prebid#1719)
  Kargo Adapter for Prebid 1.0 (prebid#1729)
  updated for prebid 1.0 api (prebid#1722)
  Add AdOcean adapter (prebid#1735)
  Update Conversant adapter to Prebid 1.0 (prebid#1711)
  Fix test-coverage bug (prebid#1765)
  Migrating TrustX adapter to 1.0 (prebid#1709)
  Update Improve Digital adapter for Prebid 1.0 (prebid#1728)
  Fixed the argument type on getUserSyncs. (prebid#1767)
  nanointeractive bid adapter (prebid#1627)
  Validating bid response params (prebid#1738)
  ...
mattpr pushed a commit to mattpr/Prebid.js that referenced this pull request Oct 31, 2017
* validating bid response params

* added all required params

* replaced id with correct param requestid

* keeping only common keys to validate
dluxemburg pushed a commit to Genius/Prebid.js that referenced this pull request Jul 17, 2018
* validating bid response params

* added all required params

* replaced id with correct param requestid

* keeping only common keys to validate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants