Skip to content

Comments

New Adapter: RevX#4335

Open
nikithacode wants to merge 13 commits intoprebid:masterfrom
nikithacode:master
Open

New Adapter: RevX#4335
nikithacode wants to merge 13 commits intoprebid:masterfrom
nikithacode:master

Conversation

@nikithacode
Copy link

No description provided.

@github-actions
Copy link

github-actions bot commented May 9, 2025

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 5645a81

revx

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/revx/revx.go:21:	Builder			100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:28:	MakeRequests		85.7%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:80:	MakeBids		81.8%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:132:	getMediaTypeForImp	85.7%
total:								(statements)		84.3%

@github-actions
Copy link

github-actions bot commented May 9, 2025

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 690b4dc

revx

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/revx/revx.go:21:	Builder			100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:28:	MakeRequests		85.7%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:80:	MakeBids		81.8%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:132:	getMediaTypeForImp	85.7%
total:								(statements)		84.3%

@bsardo bsardo changed the title Integration of RevX New Adapter: RevX May 12, 2025
@bsardo bsardo added the adapter label May 12, 2025
@nikithacode
Copy link
Author

Hi @bsardo could you please review this

@github-actions
Copy link

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 92ee93d

revx

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/revx/revx.go:21:	Builder			100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:28:	MakeRequests		85.7%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:80:	MakeBids		81.8%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:132:	getMediaTypeForImp	85.7%
total:								(statements)		84.3%

@bsardo
Copy link
Collaborator

bsardo commented Jun 13, 2025

@pm-jaydeep-mohite can you please review?

Comment on lines 134 to 138
if bid.MType == 0 {
return "", &errortypes.BadServerResponse{
Message: fmt.Sprintf("Unsupported mtype %d for bid %s", bid.MType, bid.ID),
}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we need this extra check as default: case can handle this ?

Copy link
Author

Choose a reason for hiding this comment

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

Hi, you're right — the default case covers it. We'll remove the extra check and update the review. Thanks!

Copy link
Author

Choose a reason for hiding this comment

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

updated the review

@github-actions
Copy link

github-actions bot commented Jul 3, 2025

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 55b484e

revx

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/revx/revx.go:21:	Builder					100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:28:	MakeRequests				79.2%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:80:	MakeBids				81.8%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:125:	getMediaTypeForImp			100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:141:	CheckResponseStatusCodeForErrors	100.0%
total:								(statements)				84.2%

@github-actions
Copy link

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, a0caa1a

revx

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/revx/revx.go:21:	Builder			100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:28:	MakeRequests		85.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:73:	MakeBids		81.8%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:118:	getMediaTypeForImp	100.0%
total:								(statements)		85.4%

Copy link
Contributor

@pm-jaydeep-mohite pm-jaydeep-mohite left a comment

Choose a reason for hiding this comment

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

Added few comments

@github-actions
Copy link

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 7fcf91d

revx

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/revx/revx.go:21:	Builder			100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:28:	MakeRequests		85.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:73:	MakeBids		83.3%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:127:	getMediaTypeForImp	100.0%
total:								(statements)		86.0%

@nikithacode
Copy link
Author

Hi @pm-jaydeep-mohite could you please review the updated changes

@github-actions
Copy link

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 50c5392

revx

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/revx/revx.go:21:	Builder			100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:28:	MakeRequests		88.9%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:54:	MakeBids		96.2%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:108:	getMediaTypeForImp	100.0%
total:								(statements)		95.1%

@asifrahiman
Copy link

@bsardo @ccorbo @pm-jaydeep-mohite
Gentle reminder to please revisit the PR
Thank you for your time and support!

@@ -0,0 +1,94 @@
{
Copy link
Contributor

Choose a reason for hiding this comment

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

issue: theres no difference between this file and invalid-mtype.json, can you please remove this

Choose a reason for hiding this comment

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

@ccorbo
This file is removed.

@github-actions
Copy link

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 9a9c0f9

revx

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/revx/revx.go:21:	Builder			100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:28:	MakeRequests		88.9%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:54:	MakeBids		100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:108:	getMediaTypeForImp	100.0%
total:								(statements)		97.6%

@asifrahiman
Copy link

@ccorbo
When running ./validate.sh we are getting a new error
ok github.com/prebid/prebid-server/v3/errortypes (cached) 2025/10/29 23:52:34 http: superfluous response.WriteHeader call from github.com/prebid/prebid-server/v3/exchange.TestExtraBidWithMultiCurrencies.func1 (bidder_test.go:2991) --- FAIL: TestNewExchange (0.04s) exchange_test.go:91: NewExchange produced an Exchange without bidder revx E1029 23:52:34.488998 33819 exchange.go:909] OpenRTB auction recovered panic from Bidder appnexus: panic!. Account id: test1, All Bidders: bidder1,bidder2, Stack trace is: goroutine 811 [running]: runtime/debug.Stack() /opt/homebrew/Cellar/go/1.24.3/libexec/src/runtime/debug/stack.go:26 +0x64 github.com/prebid/prebid-server/v3/exchange.TestPanicRecovery.(*exchange).recoverSafely.func2.1() /Users/asifabdulrahiman/Documents/releases/2025/May/PreBidServer/prebid-server/exchange/exchange.go:911 +0x170 panic({0x102d61720?, 0x102f4e4c0?}) /opt/homebrew/Cellar/go/1.24.3/libexec/src/runtime/panic.go:792 +0x124 github.com/prebid/prebid-server/v3/exchange.TestPanicRecovery.func1({0x1400081c000, {0x102abbe5c, 0x7}, {0x102abd685, 0x8}, {{0x102ab8234, 0x3}, {0x102ac1d38, 0xc}, {0x102abd685, ...}, ...}, ...}, ...) /Users/asifabdulrahiman/Documents/releases/2025/May/PreBidServer/prebid-server/exchange/exchange_test.go:1943 +0x2c github.com/prebid/prebid-server/v3/exchange.TestPanicRecovery.(*exchange).recoverSafely.func2({0x1400081c000, {0x102abbe5c, 0x7}, {0x102abd685, 0x8}, {{0x102ab8234, 0x3}, {0x102ac1d38, 0xc}, {0x102abd685, ...}, ...}, ...}, ...) /Users/asifabdulrahiman/Documents/releases/2025/May/PreBidServer/prebid-server/exchange/exchange.go:919 +0xbc github.com/prebid/prebid-server/v3/exchange.TestPanicRecovery(0x140002e36c0) /Users/asifabdulrahiman/Documents/releases/2025/May/PreBidServer/prebid-server/exchange/exchange_test.go:1974 +0x488 testing.tRunner(0x140002e36c0, 0x102f4a070) /opt/homebrew/Cellar/go/1.24.3/libexec/src/testing/testing.go:1792 +0xe4 created by testing.(*T).Run in goroutine 1 /opt/homebrew/Cellar/go/1.24.3/libexec/src/testing/testing.go:1851 +0x374 E1029 23:52:35.601688 33819 exchange.go:774] Exchange: bidlables for pubmatic (pubmatic) missing adapter string E1029 23:52:35.601984 33819 exchange.go:774] Exchange: bidlables for pubmatic (pubmatic) missing adapter string E1029 23:52:35.602102 33819 exchange.go:774] Exchange: bidlables for pubmatic (pubmatic) missing adapter string E1029 23:52:35.602207 33819 exchange.go:774] Exchange: bidlables for pubmatic (pubmatic) missing adapter string FAIL FAIL github.com/prebid/prebid-server/v3/exchange 6.942s
Could you let me know how to fix the same?

@ccorbo
Copy link
Contributor

ccorbo commented Nov 5, 2025

@asifrahiman
You need to add a revx.yaml file under static/bidder-info. I see it was present in earlier commits, was it accidentally removed?

https://docs.prebid.org/prebid-server/developers/add-new-bidder-go.html, instructions under Bidder Info

@github-actions
Copy link

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, cfa88b3

revx

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/revx/revx.go:21:	Builder			100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:28:	MakeRequests		88.9%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:54:	MakeBids		100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:108:	getMediaTypeForImp	100.0%
total:								(statements)		97.6%

@asifrahiman
Copy link

@asifrahiman You need to add a revx.yaml file under static/bidder-info. I see it was present in earlier commits, was it accidentally removed?

https://docs.prebid.org/prebid-server/developers/add-new-bidder-go.html, instructions under Bidder Info

@ccorbo It seems to have been an issue with IDE. We have re added the file. Please assist with the review.

ccorbo
ccorbo previously approved these changes Dec 4, 2025
@asifrahiman
Copy link

@bsardo
Could you review this PR as per your convenience.
Thank you

BidderZeroClickFraud,
BidderZetaGlobalSsp,
BidderZmaticoo,
BidderRevX,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Nitpick: please move this up in the list so the list is alphabetical.

Choose a reason for hiding this comment

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

Done


maintainer:
email: prebidsupport@revx.io

Copy link
Collaborator

Choose a reason for hiding this comment

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

Nitpick: delete blank line

Choose a reason for hiding this comment

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

Done

@@ -0,0 +1,17 @@
endpoint: "https://prebid-use.atomex.net"

Copy link
Collaborator

Choose a reason for hiding this comment

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

Nitpick: delete blank line

Choose a reason for hiding this comment

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

Done

package openrtb_ext

type ExtImpRevX struct {
PubName string `json:"pubName"` // Publisher Name (used for dynamic URL building)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is this JSON annotation supposed to be pubName or pubname?

Copy link

@asifrahiman asifrahiman Feb 3, 2026

Choose a reason for hiding this comment

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

Not required as we removed this object

}

var validParams = []string{
`{"pubname": "publisher123"}`,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Please add the following test case to test the min length of 1:
{"pubname": "p"},

Choose a reason for hiding this comment

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

Not required as we removed this param

Comment on lines 64 to 68
if response.StatusCode == http.StatusBadRequest {
return nil, []error{&errortypes.BadServerResponse{
Message: fmt.Sprintf("Received 400 Bad Request from endpoint: %s", a.endPoint),
}}
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

You can delete this. The call on line 71 to CheckResponseStatusCodeForErrors checks for a 400 status code.

Choose a reason for hiding this comment

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

Done

Comment on lines 59 to 62
// Handle specific status codes first
if response.StatusCode == http.StatusNoContent {
return nil, nil
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Replace this with the adapter helper function:

if adapters.IsResponseStatusCodeNoContent(responseData) {
	return nil, nil
}

Choose a reason for hiding this comment

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

Done

bidResponse.Bids = typedBids
bidResponse.Currency = serverBidResponse.Cur

return bidResponse, nil
Copy link
Collaborator

Choose a reason for hiding this comment

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

You should always return errs even if there is a typed bid: return bidResponse, errs

Choose a reason for hiding this comment

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

Done

@@ -0,0 +1,17 @@
endpoint: "https://prebid-use.atomex.net"
Copy link
Collaborator

Choose a reason for hiding this comment

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

This endpoint doesn't appear to be live:

curl -i --location --request POST https://prebid-use.atomex.net
HTTP/1.1 504 Gateway Time-out
Date: Fri, 09 Jan 2026 22:36:01 GMT
Content-Type: text/html
Content-Length: 173
Connection: keep-alive

<html>
<head><title>504 Gateway Time-out</title></head>
<body>
<center><h1>504 Gateway Time-out</h1></center>
<hr><center>openresty/1.17.8.2</center>
</body>
</html>

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm getting the same thing, it looks like POST requests aren't working but GET requests are
image

Choose a reason for hiding this comment

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

Screenshot 2026-01-27 9 57 17 AM
asifabdulrahiman@AFL-IN-LAP577 ~ % curl -i --location --request POST 'https://prebid-use.atomex.net?ag=PREBID'
HTTP/1.1 501 Not Implemented
Date: Tue, 27 Jan 2026 04:29:22 GMT
Content-Type: text/plain; charset=UTF-8
Content-Length: 0
Connection: keep-alive

asifabdulrahiman@AFL-IN-LAP577 ~ % 

Hi @bsardo @ccorbo,

The endpoint is live and requires the ag parameter to function correctly. This has been updated in revx.yaml.
At present, the URL will return a 501 response until it is fully enabled on our backend, which is expected until we receive actual supply. Please note that the 501 response is being returned by our backend servers.

If live testing of the flow is required, we can set up an environment to support that.

@bsardo
Copy link
Collaborator

bsardo commented Jan 9, 2026

@nikithacode please see my latest comments. This PR is close.

@bsardo bsardo assigned bsardo and unassigned pm-jaydeep-mohite Jan 9, 2026
@bsardo
Copy link
Collaborator

bsardo commented Jan 9, 2026

Also, please open a docs PR at prebid.github.io and provide the link to it in this PR description above.

@bsardo
Copy link
Collaborator

bsardo commented Jan 20, 2026

@asifarahiman please see above.

@github-actions
Copy link

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 5e42423

revx

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/revx/revx.go:21:	Builder			100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:28:	MakeRequests		88.9%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:54:	MakeBids		100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:108:	getMediaTypeForImp	100.0%
total:								(statements)		97.6%

@asifrahiman
Copy link

@bsardo
Please find the docs PR : prebid/prebid.github.io#6403
Please review as per your convenience.

@ccorbo
We have removed the mandatory check for pubname. Please review at your convenience.

Thank you.

@ccorbo
Copy link
Contributor

ccorbo commented Feb 3, 2026

@asifarahiman please review and provide changes for @bsardo 's outstanding comments

@github-actions
Copy link

github-actions bot commented Feb 3, 2026

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, a684190

revx

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/revx/revx.go:21:	Builder			100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:28:	MakeRequests		88.9%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:54:	MakeBids		100.0%
github.com/prebid/prebid-server/v3/adapters/revx/revx.go:102:	getMediaTypeForImp	100.0%
total:								(statements)		97.4%

@asifrahiman
Copy link

@ccorbo
Updated as per the review comments given by @bsardo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants