Skip to content

Validating bid response params#1738

Merged
mkendall07 merged 5 commits intomasterfrom
validate-bidresponse
Oct 26, 2017
Merged

Validating bid response params#1738
mkendall07 merged 5 commits intomasterfrom
validate-bidresponse

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
Contributor

@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

* @property {string} url The URL which makes the sync happen.
*/

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

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.

* @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
Contributor

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
Contributor

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)
  ...
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

Comments