prebid / prebid-server

Open-source solution for running real-time advertising auctions in the cloud.
https://prebid.org/product-suite/prebid-server/
Apache License 2.0
403 stars 698 forks source link

OwnAdx bid adapter issues #3774

Open bretg opened 3 days ago

bretg commented 3 days ago

I sent this email to the registered maintainer address for the OwnAdx adapter but they have failed to respond for months. One more try, adding the github handle @ownAdx-prebid

If @ownAdx-prebid reads this, first, please find out why prebid-team at techbravo.com is not responding to email. Then please address the contents the of the email. Thank you.

---------- Forwarded message --------- From: Bret Gorsline Date: Fri, Jan 19, 2024 at 9:30 AM Subject: Prebid Server OwnAdx adapter parameter issues To: prebid-team at techbravo.com

OwnAdx team - as the PBS-Java team started working on porting your bid adapter from PBS-Go, an important disconnect was discovered. It's unfortunate this wasn't noticed during the review of the original PR.

Here's the code PR -- https://github.com/prebid/prebid-server/pull/2850

Basically there are several related issues with the parameters you're requesting.

  1. The schema file static/bidder-params/ownadx.json is inconsistent.

The top part of the file identifies 3 parameters:

"properties": { "sspId": { "type": "string", "description": "Ssp ID" }, "seatId": { "type": "string", "description": "Seat ID" }, "tokenId": { "type": "string", "description": "Token ID" } },

But then the bottom half introduces two new ones. I suspect that 'feedId' is supposed to be 'seatId' and 'token' is supposed to be 'tokenId'. (?)

"oneOf": [ { "required": ["sspId"] }, { "required": ["feedId"] }, { "required": ["token"] } ]

  1. Your public documentation is not consistent on the required status

The code suggests that only one of sspId, seatId, tokenId is required but your bidder documentation says all 3 are required. Given the structure of your endpoint URL, we suggest that at least seatId and sspId are required because otherwise the URL will have a null level. e.g. if seatId were not provided, the resulting URL would be:

endpoint: "https://pbs.prebid-ownadx.com/bidder/bid//111?token=222"

The easy solution here is to make all 3 params required in the static/bidder-params/ownadx.json file.

  1. Minor, but why are you mapping your parameters to completely different names? Seems unnecessarily complicated.

Instead of

endpointParams := macros.EndpointTemplateParams{ ZoneID: params.SspId, AccountID: params.SeatId, SourceId: params.TokenId, }

Why not make all our lives easier and align these?

endpointParams := macros.EndpointTemplateParams{ SspId: params.SspId, SeatId: params.SeatId, TokenId: params.TokenId, }

endpoint: "https://pbs.prebid-ownadx.com/bidder/bid/{{.SeatId}}/{{.SspId}}?token={{.TokenId}}"

Looking forward to your response so we can resume work on porting your adapter to PBS-Java.