prebid-server-java icon indicating copy to clipboard operation
prebid-server-java copied to clipboard

New module: optable-targeting

Open zapo opened this issue 10 months ago • 3 comments

🔧 Type of changes

  • [x] new module

✨ What's the context?

The optable-targeting module enriches an incoming OpenRTB request by adding to the user.ext.eids and user.ext.data objects. Under the hood the module extracts PPIDs (publisher provided IDs) from the incoming request's user.ext.eids, and also if provided sha256-hashed email, sha256-hashed phone, zip or Optable Visitor ID provided correspondingly in the user.ext.optable.email, .phone, .zip, .vid fields. These IDs are sent as input to the Targeting API. The received response data is used to enrich the OpenRTB request and response. Targeting API endpoint is configurable per publisher.

https://github.com/prebid/prebid.github.io/pull/5931

🧪 Test plan

The documentation PR describes how to run a demo and this PR also contains a sample config and sample request to test. The only thing necessary will be the Optable api endpoint URL to add to the sample configuration of the module.

🏎 Quality check

  • [x] Are your changes following our code style guidelines?
  • [ ] Are there any breaking changes in your code?
  • [x] Does your test coverage exceed 90%?
  • [ ] Are there any erroneous console logs, debuggers or leftover code in your changes?

zapo avatar Mar 07 '25 15:03 zapo

Hi guys, @And1sS @CTMBNara, just checking: any ETA to get a review? Thanks.

justadreamer avatar Mar 25 '25 08:03 justadreamer

Hi @And1sS, thanks for the first pass. @softcoder594 has addressed the review comments. Could you please take another look?

justadreamer avatar Mar 31 '25 10:03 justadreamer

Hi guys! 2 new features were added per Bret's suggestion:

  • Optable Targeting API endpoint is now added to the host-level config with tenant and origin parameters at the account-level config
  • Prebid Cache Storage is now used to cache Optable Targeting API results

Would you mind doing another review pass, please?

justadreamer avatar Apr 17 '25 19:04 justadreamer

Hi guys, just checking in. There are clients awaiting to use this module, so we'd appreciate the next round of review comments so we could conclude quicker, or please let us know if we can do anything to expedite the process. Thanks.

cc: @CTMBNara @And1sS

justadreamer avatar May 21 '25 12:05 justadreamer

@softcoder594 Please look at other classes and methods and try to simplify and remove redundancy in them like in IdsResolver and IdsMapper case.

CTMBNara avatar May 22 '25 15:05 CTMBNara

@zapo, pls fix pom conflicts:

Error: ] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for org.prebid.server.hooks.modules:optable-targeting:3.26.0-SNAPSHOT: The following artifacts could not be resolved: org.prebid.server.hooks.modules:all-modules:pom:3.26.0-SNAPSHOT (absent): Could not find artifact org.prebid.server.hooks.modules:all-modules:pom:3.26.0-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 5, column 13
 @ 
Error:  The build could not read 1 project -> [Help 1]

osulzhenko avatar Jun 02 '25 10:06 osulzhenko

@zapo, pls fix pom conflicts:

Error: ] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for org.prebid.server.hooks.modules:optable-targeting:3.26.0-SNAPSHOT: The following artifacts could not be resolved: org.prebid.server.hooks.modules:all-modules:pom:3.26.0-SNAPSHOT (absent): Could not find artifact org.prebid.server.hooks.modules:all-modules:pom:3.26.0-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 5, column 13
 @ 
Error:  The build could not read 1 project -> [Help 1]

@osulzhenko, conflicts had been fixed

softcoder594 avatar Jun 02 '25 16:06 softcoder594