From 33eea74bc2a2213bc5a9b8d6164ba871217271ad Mon Sep 17 00:00:00 2001 From: Sachin Survase <60501281+sachin-pubmatic@users.noreply.github.com> Date: Tue, 25 May 2021 22:20:42 +0530 Subject: [PATCH] UOE-6240: Openwrap S2S: Send gpt slot name in extension field (#162) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Default TCF1 GVL in anticipation of IAB no longer hosting the v1 GVL (#1433) * update to the latest go-gdpr release (#1436) * Video endpoint bid selection enhancements (#1419) Co-authored-by: Veronika Solovei * [WIP] Bid deduplication enhancement (#1430) Co-authored-by: Veronika Solovei * Refactor rate converter separating scheduler from converter logic to improve testability (#1394) * Fix TCF1 Fetcher Fallback (#1438) * Eplanning adapter: Get domain from page (#1434) * Fix no bid debug log (#1375) * Update the fallback GVL to last version (#1440) * Enable geo activation of GDPR flag (#1427) * Validate External Cache Host (#1422) * first draft * Little tweaks * Scott's review part 1 * Scott's review corrections part 2 * Scotts refactor * correction in config_test.go * Correction and refactor * Multiple return statements * Test case refactor Co-authored-by: Gus Carreon Co-authored-by: Gus Carreon Co-authored-by: Gus Carreon * Fixes bug (#1448) * Fixes bug * shortens list * Added adpod_id to request extension (#1444) * Added adpod_id to request -> ext -> appnexus and modified requests splitting based on pod * Unit test fix * Unit test fix * Minor unit test fixes * Code refactoring * Minor code and unit tests refactoring * Unit tests refactoring Co-authored-by: Veronika Solovei * Adform adapter: additional targeting params added (#1424) * Fix minor error message spelling mistake "vastml" -> "vastxml" (#1455) * Fixing comment for usage of deal priority field (#1451) * moving docs to website repo (#1443) * Fix bid dedup (#1456) Co-authored-by: Veronika Solovei * consumable: Correct width and height reported in response. (#1459) Prebid Server now responds with the width and height specified in the Bid Response from Consumable. Previously it would reuse the width and height specified in the Bid Request. That older behaviour was ported from an older version of the prebid.js adapter but is no longer valid. * Panics happen when left with zero length []Imp (#1462) * Add Scheme Option To External Cache URL (#1460) * Update gamma adapter (#1447) * Gamma SSP Adapter * Add Gamma SSP server adapter * increase coverage * Fix conflict with base master * Add check MediaType for Imp * Implement Multi Imps request * Changes requested * remove bad-request * increase coverage * Remove duplicate test file * Update gamma.go * Update gamma.go * Update gamma.go * Update config.go Remove Gamma User Sync Url from config * Gamma SSP Adapter * Add Gamma SSP server adapter * increase coverage * Fix conflict with base master * Add check MediaType for Imp * Implement Multi Imps request * Changes requested * remove bad-request * increase coverage * Remove duplicate test file * Update gamma.go * Update gamma.go * update gamma adapter * return nil when have No-Bid Signaling * add missing-adm.json * discard the bid that's missing adm * discard the bid that's missing adm * escape vast instead of encoded it * expand test coverage Co-authored-by: Easy Life * fix: avoid unexpected EOF on gz writer (#1449) * Smaato adapter: support for video mediaType (#1463) Co-authored-by: vikram * Rubicon liveramp param (#1466) Add liveramp mapping to user.ext should translate the "liveramp.com" id from the "user.ext.eids" array to "user.ext.liveramp_idl" as follows: ``` { "user": { "ext": { "eids": [{ "source": 'liveramp.com', "uids": [{ "id": "T7JiRRvsRAmh88" }] }] } } } ``` to XAPI: ``` { "user": { "ext": { "liveramp_idl": "T7JiRRvsRAmh88" } } } ``` * Consolidate StoredRequest configs, add validation for all data types (#1453) * Fix Test TestEventChannel_OutputFormat (#1468) * Add ability to randomly generate source.TID if empty and set publisher.ID to resolved account ID (#1439) * Add support for Account configuration (PBID-727, #1395) (#1426) * Minor changes to accounts test coverage (#1475) * Brightroll adapter - adding config support (#1461) * Refactor TCF 1/2 Vendor List Fetcher Tests (#1441) * Add validation checker for PRs and merges with github actions (#1476) * Cache refactor (#1431) Reason: Cache has Fetcher-like functionality to handle both requests and imps at a time. Internally, it still uses two caches configured and searched separately, causing some code repetition. Reusing this code to cache other objects like accounts is not easy. Keeping the req/imp repetition in fetcher and out of cache allows for a reusable simpler cache, preserving existing fetcher functionality. Changes in this set: Cache is now a simple generic id->RawMessage store fetcherWithCache handles the separate req and imp caches ComposedCache handles single caches - but it does not appear to be used Removed cache overlap tests since they do not apply now Slightly less code * Pass Through First Party Context Data (#1479) * Added new size 640x360 (Id: 198) (#1490) * Refactor: move getAccount to accounts package (from openrtb2) (#1483) * Fixed TCF2 Geo Only Enforcement (#1492) * New colossus adapter [Clean branch] (#1495) Co-authored-by: Aiholkin * New: InMobi Prebid Server Adapter (#1489) * Adding InMobi adapter * code review feedback, also explicitly working with Imp[0], as we don't support multiple impressions * less tolerant bidder params due to sneaky 1.13 -> 1.14+ change * Revert "Added new size 640x360 (Id: 198) (#1490)" (#1501) This reverts commit fa23f5c226df99a9a4ef318100fdb7d84d3e40fa. * CCPA Publisher No Sale Relationships (#1465) * Fix Merge Conflict (#1502) * Update conversant adapter for new prebid-server interface (#1484) * Implement returnCreative (#1493) * Working solution * clean-up * Test copy/paste error Co-authored-by: Gus Carreon Co-authored-by: Gus Carreon * ConnectAd S2S Adapter (#1505) * between adapter (#1437) Co-authored-by: Alexey Elymanov * Invibes adapter (#1469) Co-authored-by: aurel.vasile * Refactor postgres event producer so it will run either the full or de… (#1485) * Refactor postgres event producer so it will run either the full or delta query periodically * Minor cleanup, follow golang conventions, declare const slice, add test cases * Remove comments * Bidder Uniqueness Gatekeeping Test (#1506) * ucfunnel adapter update end point (#1511) * Refactor EEAC map to be more in line with the nonstandard publisher map (#1514) * Added bunch of new sizes (#1516) * New krushmedia bid adapter (#1504) * Invibes: Generic domainId parameter (#1512) * Smarty ads adapter (#1500) Co-authored-by: Kushneryk Pavlo Co-authored-by: user * Add vscode remote container development files (#1481) * First commit (#1510) Co-authored-by: Gus Carreon * Vtrack and event endpoints (#1467) * Rework pubstack module tests to remove race conditions (#1522) * Rework pubstack module tests to remove race conditions * PR feedback * Remove event count and add helper methods to assert events received on channel * Updating smartadserver endpoint configuration. (#1531) Co-authored-by: tadam * Add new size 500x1000 (ID: 548) (#1536) * Fix missing Request parameter for Adgeneration Adapter (#1525) * Fix endpoint url for TheMediaGrid Bid Adapter (#1541) * Add Account cache (#1519) * Add bidder name key support (#1496) * Simplifying exchange module: bidResponseExt gets built anyway (#1518) * first draft * Scott's feedback * stepping out real quick * add cache errors to bidResponseExt before marshalling * Removed vim's swp file Co-authored-by: Gus Carreon Co-authored-by: Gus Carreon Co-authored-by: Gus Carreon * Correct GetCpmStringValue's second return value (#1520) * Add metrics to capture stored data fetch all/delta durations with fetch status (#1515) * Adds preferDeals support (#1528) * Emxd 3336 add app video ctv (#1529) * Adapter changes for app and video support * adding ctv devicetype test case * Adding whitespace * Updates based on feedback from Prebid team * protocol bug fix and testing * Modifying test cases to accomodate new imp.ext field * bidtype bug fix and additonal testcase for storeUrl Co-authored-by: Rakesh Balakrishnan Co-authored-by: Dan Bogdan * Add http api for fetching accounts (#1545) * Add missing postgres cache init config validation * Acuity ads adapter (#1537) Co-authored-by: Kushneryk Pavlo * Yieldmo app support in yaml file (#1542) Co-authored-by: Winston * Add metrics for account cache (#1543) * [Invibes] remove user sync for invibes (#1550) * [invibes] new bidder stub * [invibes] make request * [invibes] bid request parameters * [invibes] fix errors, add tests * [invibes] new version of MakeBids * cleaning code * [invibes] production urls, isamp flag * [invibes] fix parameters * [invibes] new test parameter * [invibes] change maintainer email * [invibes] PR fixes * [invibes] fix parameters test * [invibes] refactor endpoint template and bidVersion * [Invibes] fix tests * [invibes] resolve PR * [invibes] fix test * [invibes] fix test * [invibes] generic domainId parameter * [invibes] remove invibes cookie sync * [Invibes] comment missing Usersync Co-authored-by: aurel.vasile * Add Support For imp.ext.prebid For DealTiers (#1539) * Add Support For imp.ext.prebid For DealTiers * Remove Normalization * Add Accounts to http cache events (#1553) * Fix JSON tests ignore expected message field (#1450) * NoBid version 1.0. Initial commit. (#1547) Co-authored-by: Reda Guermas * Added dealTierSatisfied parameters in exchange.pbsOrtbBid and openrtb_ext.ExtBidPrebid and dealPriority in openrtb_ext.ExtBidPrebid (#1558) Co-authored-by: Shriprasad * Add client/AccountID support into Adoppler adapter. (#1535) * Optionally read IFA value and add it the the request url (Adhese) (#1563) * Add AMX RTB adapter (#1549) * update Datablocks usersync.go (#1572) * 33Across: Add video support in adapter (#1557) * SilverMob adapter (#1561) * SilverMob adapter * Fixes andchanges according to notes in PR * Remaining fixes: multibids, expectedMakeRequestsErrors * removed log * removed log * Multi-bid test * Removed unnesesary block Co-authored-by: Anton Nikityuk * Updated ePlanning GVL ID (#1574) * update adpone google vendor id (#1577) * ADtelligent gvlid (#1581) * Add account/ host GDPR enabled flags & account per request type GDPR enabled flags (#1564) * Add account level request type specific and general GDPR enabled flags * Clean up test TestAccountLevelGDPREnabled * Add host-level GDPR enabled flag * Move account GDPR enable check as receiver method on accountGDPR * Remove mapstructure annotations on account structs * Minor test updates * Re-add mapstructure annotations on account structs * Change RequestType to IntegrationType and struct annotation formatting * Update comment * Update account IntegrationType comments * Remove extra space in config/accounts.go via gofmt * DMX Bidfloor fix (#1579) * adform bidder video bid response support (#1573) * Fix Beachfront JSON tests (#1578) * Add account CCPA enabled and per-request-type enabled flags (#1566) * Add account level request-type-specific and general CCPA enabled flags * Remove mapstructure annotations on CCPA account structs and clean up CCPA tests * Adjust account/host CCPA enabled flag logic to incorporate feedback on similar GDPR feature * Add shared privacy policy account integration data structure * Refactor EnabledForIntegrationType methods on account privacy objects * Minor test refactor * Simplify logic in EnabledForIntegrationType methods * Refactored HoldAuction Arguments (#1570) * Fix bug in request.imp.ext Validation (#1575) * First draft * Brian's reivew * Removed leftover comments Co-authored-by: Gus Carreon * Bugfix: default admin port is 6060 (#1595) * Add timestamp to analytics and response.ext.prebid.auctiontimestamp l… (#1584) * Added app capabilities to VerizonMedia adapter (#1596) Co-authored-by: oath-jac * New Adapter Initialization Framework (#1532) * Fix 33Across App Handling (#1602) * Fix adapter JSON tests to have the right test structure (#1589) * Fix JSON EMX Digital * Fix JSON Brightroll * Fix JSON Beintoo * Fix JSON Gamoshi * Fix JSON Kubient * Fix JSON Marsmedia * Fix JSON Nanointeractive * Fix JSON Telaria * Fix JSON valueimpression * Fix JSON smartyads * Fix JSON rhythmone * Fix JSON krushmedia * Fix JSON cpmstar * Fix JSON acuityads * Fix JSON avocet * Rename wrongly named acuity ads test file * Fix JSON gamma * Add expected no bid responses * Fixed indentation and asesome-markup * Added usersync support to Between SSP adapter; Major fixes and refactor (#1587) Co-authored-by: Egor Skorokhodov * Removed Safari Metric (#1571) * Deepintent adapter (#1524) Co-authored-by: Sourabh Gandhe * update mobilefuse endpoint (#1606) Co-authored-by: Dan Barnett * Fix Missing Consumable Clock (#1610) * Remove Hook Scripts (#1614) * Add config gdpr.amp_exception deprecation warning (#1612) * Refactor Adapter Config To Its Own File (#1608) * RP adapter: use video placement parameter to set size ID (#1607) * Add a BidderRequest struct to hold bidder specific request info (#1611) * Add warning that gdpr checks will be skipped when gdpr.host_vendor_id… (#1615) * Add TLS Handshake connection metrics (#1613) * Improve GitHub Actions Validation (#1590) * Move SSL to Server directory (#1625) * Rename currencies to currency (#1626) * Deepintent: Params normalization (#1617) Co-authored-by: Sourabh Gandhe * Set Kubient email to prebid@kubient.com (#1629) * Rename pbsmetrics to metrics (#1624) * 33Across: Add support for multi-imp requests (#1609) * changed usersync endpoint (#1631) Co-authored-by: Sourabh Gandhe * Remove legacy GDPR AMP config flag used to prevent buyer ID scrub on AMP requests (#1565) * Updating contact info for adprime (#1640) * ucfunnel adapter update end point (#1639) * New Adapter: Mobfox (#1585) Co-authored-by: mobfox * IX: Implement Bidder interface, update endpoint. (#1569) Co-authored-by: Index Exchange Prebid Team * Fix GDPR consent assumption when gdpr req signal is unambiguous and s… (#1591) * Fix GDPR consent assumption when gdpr req signal is unambiguous and set to 1 and consent string is blank * Refactor TestAllowPersonalInfo to make it table-based and add empty consent string cases * Update PersonalInfoAllowed to allow PI if the request indicates GDPR does not apply * Update test descriptions * Update default vendor permissions to only allow PI based on UserSyncIfAmbiguous if request GDPR signal is ambiguous * Change GDPR request signal type name and other PR feedback code style changes * Rename GDPR package signal constants and consolidate gdprEnforced and gdprEnabled variables * Hoist GDPR signal/empty consent checks before vendor list check * Rename gdpr to gdprSignal in Permissions interface and implementations * Fix merge mistakes * Update gdpr logic to set the gdpr signal when ambiguous according to the config flag * Add userSyncIfAmbiguous to all test cases in TestAllowPersonalInfo * Simplify TestAllowPersonalInfo * Fix appnexus adapter not setting currency in the bid response (#1642) Co-authored-by: Gus * Add Adot adapter (#1605) Co-authored-by: Aurélien Giudici * Refactor AMP Param Parsing (#1627) * Refactor AMP Param Parsing * Added Tests * Enforce GDPR privacy if there's an error parsing consent (#1593) * Enforce GDPR privacy if there's an error parsing consent * Update test with consent string variables to improve readability * Fix test typo * Update test variable names to follow go conventions * MediaFuse adapter (#1635) * MediaFuse alias * Syncer and tests * gvlid * gvlid * new mail * New Adapter: Revcontent (#1622) * Fix Unruly Bidder Parmaters (#1616) * Implement EID Permissions (#1633) * Implement EID Permissions * Idsync removal (#1644) Co-authored-by: steve-a-districtm Co-authored-by: Steve Alliance * Audit beachfront tests and change some videoResponseType details (#1638) * Adding Events support in bid responses (#1597) * Fix Shared Memory Corruption In EMX_Digital (#1646) * Add gdpr.tcf1.fetch_gvl deprecation warning and update GVL subdomain (#1660) * Bubble up GDPR signal/consent errors while applying privacy policies (#1651) * Always sync when GDPR globally enabled and allow host cookie sync … (#1656) * Eplanning: new prioritization metric for adunit sizes (#1648) * Eplanning: new prioritization metric for adunit sizes * removing IX's usersync default URL (#1670) Co-authored-by: Index Exchange Prebid Team * AMX Bid Adapter: Loop Variable Bug (#1675) * requestheaders: new parameter inside debug.httpcalls. to log request header details (#1659) * Added support for logging requestheaders inside httpCalls.requestheaders * Reverterd test case change * Modified outgoing mock request for appnexus, to send some request header information. Modified sample mock response such that ext.debug.httpcalls.appnexus.requestheaders will return the information of passed request headers * Addressed code review comments given by SyntaxNode. Also Moved RequestHeaders next to RequestBidy in openrtb_ext.ExtHttpCall Co-authored-by: Shriprasad * Updating pulsepoint adapter (#1663) * Debug disable feature implementation: (#1677) Co-authored-by: Veronika Solovei * Always use fallback GVL for TCF1 (#1657) * Update TCF2 GVL subdomain and always use fallback GVL for TCF1 * Add config test coverage for invalid TCF1 FetchGVL and AMP Exception * Delete obselete test * Adform adapter: digitrust cleanup (#1690) * adform secure endpoint as default setting * digitrust cleanup * New Adapter: DecenterAds (#1669) Co-authored-by: vlad * Handle empty consent string during cookie sync and setuid (#1671) * Handle empty consent string during cookie sync and setuid * Remove todo comment * Make auction test table driven and convert GDPR impl normalize method to pass by value * Moved legacy auction endpoint signal parsing into its own method and removed unnecessary test cases * Fix SignalParse method to return nil for error when raw signal is empty and other PR feedback * Tappx User Syncer + Site Update (#1674) Co-authored-by: ubuntu Co-authored-by: Albert Grandes * Beachfront Additional tests (#1679) * added place holder files for all but a couple of the intended new tests. I need to grok what those couple mean before being able to name a file. * This covers most of the suggested cases and a couple more that occured to me. I'll look at the couple that I held off on next. * added the unmarshal tests and found a couple problems to address in the process. * removed my __debug_bin. should be in gitignore. * A bit of clean up and commenting. Bumped version number. Added __debug_bin to .gitignore. This is the debugging binary created by Visual Studio Code, or at least version 1.52.1. * missed a bunch of version strings * removed IP faker * If IP is not included in an AdM request, an error is now thrown for the AdM imp instead of faking it. The AdM endpoint is the only one that requires an IP. Also, added several "no-ip" test cases. * Whent back to the fake IP solution instead of the error. Removed most of the "no-ip" test cases, leaving one. * changed ip in adm-video.json to not match the faker ip * removed a debugging comment * New Adapter: Onetag (#1695) * Pubmatic: Trimming publisher ID before passing (#1685) * Trimming publisher ID before passing * Fix typos in nobid.json (#1704) * Fix Typo In Adform Bidder Params (#1705) * Don't Load GVL v1 for TCF2 (+ TCF1 Cleanup) (#1693) * Typo fix for connectad bidder params (#1706) * Typo fix for invibes bidder params (#1707) * Typo fix nanointeractive bidder params (#1708) * Isolate /info/bidders Data Model + Add Uses HTTPS Flag (#1692) * Initial Commit * Merge Conflict Fixes * Removed Unncessary JSON Attributes * Removed Dev Notes * Add Missing validateDefaultAliases Test * Improved Reversed Test * Remove Var Scope Confusion * Proper Tests For Bidder Param Validator * Removed Unused Test Setup * New Adapter: Epom (#1680) Co-authored-by: Vasyl Zarva * New Adapter: Pangle (#1697) Co-authored-by: hcai * Fix Merge Conflict (#1714) * GumGum: adds pubId and irisid properties/parameters (#1664) * adds pubId and irisid properties * updates per naming convention & makes a video copy * updates when to copy banner, adds Publisher fallback and multiformat request * adds more json tests * rename the json file to remove whitespaces * Accommodate Apple iOS LMT bug (#1718) * New Adapter: jixie (#1698) * initial commit * added notes file for temp use * jixie adapter development work * jixie adaptor development work: mainly the test json files but also the jixie usersync code * added a test case with accountid. and cosmetic line changes in the banner*json test file * updated the jixie user sync: the endpoint and some params stuf * tks and fixing per comments on pull request 1698 * responding to guscarreon's comments: -more checking in makerequest of the bidder params (added 2 more test jsons) -removed blank lines, lines commented out -test_params: a case with unit alone -BadInput error * responding to review. put condition on jixie unit string in the bidder-params/jixie.json file. removed checking in jixie.go that has become unnecssary. removed unnec test cases. updated params-test * added one failed params test * removed a function that I no longer call! * renamed JixieAdapter to adapter * removed bidfloor from jixie explicit ext params * Fix Regs Nil Condition (#1723) * Mobfox: Add rout to adexcange (#1702) Co-authored-by: mobfox * New Adapter: TrustX (#1726) * New Adapter: UNICORN (#1719) * add bidder-info, bidder-params for UNICORN * Add adapter * Fixes GDPR bug about being overly strict on publisher restrictions (#1730) * 33Across: Updated exchange endpoint (#1738) * New Adapter: Adyoulike (#1700) Co-authored-by: Damien Dumas * Hoist GVL ID To Bidder Info (#1721) * Improve Digital adapter: add support for native ads (#1746) * Add Support For SkAdN + Refactor Split Imps (#1741) * No Longer Move bid.ext To bid.ext.bidder (#1742) * No Longer Move bid.ext To bid.ext.bidder * Remove Similar Behavior From seatbid.ext * Avoid Second Bid Copy * Removed Unused seatbid.ext * Typo fix: adyoulike bidder param debug description (#1755) * Aliases: Better Error Message For Disabled Bidder (#1751) * beachfront: Changes to support real 204 (#1737) * Fix race condition in 33across.go (#1757) Co-authored-by: Gus Carreon * Revert "Fix race condition in 33across.go (#1757)" (#1763) This reverts commit bdf1e7b3e13bdf87d3282bf74472fc66504537d5. * Replace TravisCI With GitHub Actions (#1754) * Initial Commit * Finished Configuration * Remove TravisCI * Remove TravisCI * Fix Go Version Badge * Correct Fix For Go Version Badge * Removed Custom Config File Name * Debug warnings (#1724) Co-authored-by: Veronika Solovei * Rubicon: Support sending segments to XAPI (#1752) Co-authored-by: Serhii Nahornyi * validateNativeContextTypes function test cases (#1743) * Applogy: Fix Shared Memory Overwriting (#1758) * Pubmatic: Fix Shared Memory Overwriting (#1759) * Beachfront: Fix Shared Memory Overwriting (#1762) * Fix race condition in Beachfront adapter * Removed nil check and simplified * FPD: Allow imp.ext.data To Passthrough To Adapters (#1765) * Smaato: Add support for app (#1767) Co-authored-by: Bernhard Pickenbrock * Update sync types (#1770) * 33across: Fix Shared Memory Overwriting (#1764) This reverts commit f7df258f061788ef7e72529115aa5fd554fa9f16. * Fix race condition in Yeahmobi adapter (#1761) Co-authored-by: Gus Carreon * Pubnative: Fix Shared Memory Overwriting (#1760) * Add request for registration (#1780) * Update OpenRTB Library (#1733) * Tappx changes - Backward compatible change of version (#1777) Co-authored-by: ubuntu Co-authored-by: Albert Grandes * DMX: Enforcing w and h in imp (#1778) Co-authored-by: steve-a-districtm * Remove Authorization Headers From Debug Response (#1779) * Hide Authorization Headers In Debug Response * MakeExtHeaders Tests * Add Empty Test * Use http.Header Methods * Updates From Code Review * Fix Merge Conflict * New Adapter: Bidmachine (#1769) * New Adapter: Criteo (#1775) * Fix shared memory issue when stripping authorization header from bid requests (#1790) * RTB House: update parameters (#1785) * update parameters required by RTB House adapter * tabs to spaces Co-authored-by: Przemyslaw Iwanczak * Generate seatbid[].bid[].ext.prebid.bidid (#1772) * Basic GDPR enforcement for specific publisher-vendors. (#1782) * New Adapter: Zemanta (#1774) * add zemanta adapter * update openrtb package for zemanta * fix loop iterator reference bug * fix getMediaTypeForImp to match server behavior * Zemanta: Rename Adapter To Outbrain (#1797) * Update openrtb library to v15 (#1802) * IX: Set bidVideo when category and duration is available (#1794) * Update IX defaults (#1799) Co-authored-by: Mike Burns * Update Adyoulike endpoint to hit production servers (#1805) * Openx: use bidfloor if set - prebid.js adapter behavior (#1795) * [ORBIDDER] add gvlVendorID and set bid response currency (#1798) * New Adapter: ADXCG (#1803) * Update kidoz properties to type string (#1808) Remove definitions object from schema and define types and other parameters directly in properties objects to ensure compatibility with more downstream systems that use this schema. * Update bidmachine properties to type string (#1809) Remove definitions object from schema and define types and other parameters directly in properties objects to ensure compatibility with more downstream systems that use this schema. * transform native eventtrackers to imptrackers and jstracker (#1811) * TheMediaGrid: Added processing of imp[].ext.data (#1807) * Renaming package github.com/PubMatic-OpenWrap/openrtb to github.com/mxmCherry/openrtb * Rename package github.com/PubMatic-OpenWrap/prebid-server to github.com/prebid/prebid-server * UOE-6196: OpenWrap S2S: Remove adpod_id from AppNexus adapter * Refactored code and fixed indentation * Fixed indentation for json files * Fixed indentation for json files * Fixed import in adapters/gumgum/gumgum.go * Reverted unwanted changes in test json files * Fixed unwanted git merge changes * Added missing field SkipDedup in ExtIncludeBrandCategory * Added missing Bidder field in ExtBid type * Exposing CookieSyncRequest for header-bidding * Temporary path change for static folder * Fixed static folder paths * Fixed default value in config for usersync_if_ambiguous * Fixed config after upgrade * Updated router.go to uncomment defaultRequest validation * Fixed path for accounts.filesystem.directorypath * Fixed diff with OW * Added DMX default usersync URL * Adding changes missed for UOE-5114 during prebid-server upgrade * UOE-6240: Send gpt slot name in extension field * Added newline at the end Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com> Co-authored-by: Veronika Solovei Co-authored-by: Veronika Solovei Co-authored-by: Brian Sardo <1168933+bsardo@users.noreply.github.com> Co-authored-by: Scott Kay Co-authored-by: chino117 Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com> Co-authored-by: guscarreon Co-authored-by: Gus Carreon Co-authored-by: Gus Carreon Co-authored-by: Gus Carreon Co-authored-by: Jurij Sinickij Co-authored-by: Rob Hazan Co-authored-by: bretg Co-authored-by: Daniel Cassidy Co-authored-by: GammaSSP <35954362+gammassp@users.noreply.github.com> Co-authored-by: Easy Life Co-authored-by: gpolaert Co-authored-by: Stephan Brosinski Co-authored-by: vikram Co-authored-by: Dmitriy Co-authored-by: Laurentiu Badea Co-authored-by: Mansi Nahar Co-authored-by: smithaammassamveettil <39389834+smithaammassamveettil@users.noreply.github.com> Co-authored-by: hdeodhar <35999856+hdeodhar@users.noreply.github.com> Co-authored-by: Bill Newman Co-authored-by: Aiholkin Co-authored-by: Daniel Lawrence Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com> Co-authored-by: rtuschkany <35923908+rtuschkany@users.noreply.github.com> Co-authored-by: Alexey Elymanov Co-authored-by: Alexey Elymanov Co-authored-by: invibes <51820283+invibes@users.noreply.github.com> Co-authored-by: aurel.vasile Co-authored-by: ucfunnel <39581136+ucfunnel@users.noreply.github.com> Co-authored-by: Krushmedia <71434282+Krushmedia@users.noreply.github.com> Co-authored-by: Kushneryk Pavel Co-authored-by: Kushneryk Pavlo Co-authored-by: user Co-authored-by: Gus Carreon Co-authored-by: Daniel Barrigas Co-authored-by: tadam75 Co-authored-by: tadam Co-authored-by: Andrea Cannuni <57228257+ACannuniRP@users.noreply.github.com> Co-authored-by: Ad Generation Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com> Co-authored-by: Gus Carreon Co-authored-by: Dan Bogdan <43830380+EMXDigital@users.noreply.github.com> Co-authored-by: Rakesh Balakrishnan Co-authored-by: Dan Bogdan Co-authored-by: AcuityAdsIntegrations <72594990+AcuityAdsIntegrations@users.noreply.github.com> Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com> Co-authored-by: Winston Co-authored-by: redaguermas Co-authored-by: Reda Guermas Co-authored-by: ShriprasadM Co-authored-by: Shriprasad Co-authored-by: Viacheslav Chimishuk Co-authored-by: Sander Co-authored-by: Nick Jacob Co-authored-by: htang555 Co-authored-by: Aparna Rao Co-authored-by: silvermob <73727464+silvermob@users.noreply.github.com> Co-authored-by: Anton Nikityuk Co-authored-by: Seba Perez Co-authored-by: Sergio Co-authored-by: Gena Co-authored-by: Steve Alliance Co-authored-by: Peter Fröhlich Co-authored-by: oath-jac <45564796+oath-jac@users.noreply.github.com> Co-authored-by: oath-jac Co-authored-by: egsk Co-authored-by: Egor Skorokhodov Co-authored-by: Sourabh Gandhe Co-authored-by: Sourabh Gandhe Co-authored-by: dtbarne <7635750+dtbarne@users.noreply.github.com> Co-authored-by: Dan Barnett Co-authored-by: Serhii Nahornyi Co-authored-by: Marsel Co-authored-by: mobfxoHB <74364234+mobfxoHB@users.noreply.github.com> Co-authored-by: Index Exchange 3 Prebid Team Co-authored-by: Index Exchange Prebid Team Co-authored-by: Giudici-a <34242194+Giudici-a@users.noreply.github.com> Co-authored-by: Aurélien Giudici Co-authored-by: jcamp-revc <68560678+jcamp-revc@users.noreply.github.com> Co-authored-by: steve-a-districtm Co-authored-by: Steve Alliance Co-authored-by: Jim Naumann Co-authored-by: Anand Venkatraman Co-authored-by: Vladyslav Laktionov Co-authored-by: vlad Co-authored-by: prebidtappx <77485538+prebidtappx@users.noreply.github.com> Co-authored-by: ubuntu Co-authored-by: Albert Grandes Co-authored-by: onetag-dev <38786435+onetag-dev@users.noreply.github.com> Co-authored-by: agilfix Co-authored-by: epomrnd Co-authored-by: Vasyl Zarva Co-authored-by: Hengsheng Cai Co-authored-by: hcai Co-authored-by: susyt Co-authored-by: jxdeveloper1 <71084096+jxdeveloper1@users.noreply.github.com> Co-authored-by: faithnh Co-authored-by: guiann Co-authored-by: Damien Dumas Co-authored-by: Jozef Bartek <31618107+jbartek25@users.noreply.github.com> Co-authored-by: Gus Carreon Co-authored-by: Serhii Nahornyi Co-authored-by: el-chuck Co-authored-by: Bernhard Pickenbrock Co-authored-by: Pavel Dunyashev Co-authored-by: Benjamin Co-authored-by: Przemysław Iwańczak <36727380+piwanczak@users.noreply.github.com> Co-authored-by: Przemyslaw Iwanczak Co-authored-by: Rok Sušnik Co-authored-by: Rok Sušnik Co-authored-by: ixjohnny <75964135+ixjohnny@users.noreply.github.com> Co-authored-by: Michael Burns Co-authored-by: Mike Burns Co-authored-by: Arne Schulz Co-authored-by: adxcgcom <31470944+adxcgcom@users.noreply.github.com> --- adapters/bidder.go | 3 ++- adapters/pubmatic/pubmatic.go | 16 +++++++++++++++- openrtb_ext/imp.go | 9 +++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/adapters/bidder.go b/adapters/bidder.go index 0cccadb1bd0..032e4d2cd9d 100644 --- a/adapters/bidder.go +++ b/adapters/bidder.go @@ -130,7 +130,8 @@ type ExtImpBidder struct { // // Bidder implementations may safely assume that this JSON has been validated by their // static/bidder-params/{bidder}.json file. - Bidder json.RawMessage `json:"bidder"` + Bidder json.RawMessage `json:"bidder"` + Data *openrtb_ext.ExtData `json:"data,omitempty"` } func (r *RequestData) SetBasicAuth(username string, password string) { diff --git a/adapters/pubmatic/pubmatic.go b/adapters/pubmatic/pubmatic.go index 3f9636fd185..74de700db1d 100644 --- a/adapters/pubmatic/pubmatic.go +++ b/adapters/pubmatic/pubmatic.go @@ -26,7 +26,16 @@ import ( "golang.org/x/net/context/ctxhttp" ) -const MAX_IMPRESSIONS_PUBMATIC = 30 +const ( + MAX_IMPRESSIONS_PUBMATIC = 30 + PUBMATIC = "[PUBMATIC]" + buyId = "buyid" + buyIdTargetingKey = "hb_buyid_pubmatic" + skAdnetworkKey = "skadn" + rewardKey = "reward" + ImpExtAdUnitKey = "dfp_ad_unit_code" + AdServerGAM = "gam" +) type PubmaticAdapter struct { http *adapters.HTTPAdapter @@ -572,6 +581,11 @@ func parseImpressionObject(imp *openrtb2.Imp, wrapExt *string, pubID *string) er } } + if bidderExt.Data != nil && bidderExt.Data.AdServer != nil && + bidderExt.Data.AdServer.Name == AdServerGAM && bidderExt.Data.AdServer.AdSlot != "" { + impExtMap[ImpExtAdUnitKey] = bidderExt.Data.AdServer.AdSlot + } + if len(impExtMap) != 0 { impExtBytes, err := json.Marshal(impExtMap) if err == nil { diff --git a/openrtb_ext/imp.go b/openrtb_ext/imp.go index f83fa63df84..4a2c2bc5c77 100644 --- a/openrtb_ext/imp.go +++ b/openrtb_ext/imp.go @@ -22,3 +22,12 @@ type ExtImpPrebid struct { type ExtStoredRequest struct { ID string `json:"id"` } + +type ExtData struct { + AdServer *ExtAdServer `json:"adserver"` +} + +type ExtAdServer struct { + Name string `json:"name"` + AdSlot string `json:"adslot"` +}