Closed dzesm closed 10 months ago
Is site.pubisher.id being passed?
Is site.pubisher.id being passed?
Okay, I've added site.publisher.id but the error is still there. I am really not sure what to do here, if you have any other suggestions, please let me know. Thanks
@dzesm could you please provide more info? The error that you are seeing means that PBS failed to find the account in the incoming request. You want to be sure that the account is being passed in the PBS call. Could you please provide the captured request?
{
"id": 625383713,
"at": 1,
"cur": [
"USD"
],
"imp": [
{
"id": "993589536",
"tagid": "993589536",
"video": {
"mimes": [
"video/mp4",
"video/x-ms-wmv",
"video/webm",
"application/javascript"
],
"w": 650,
"h": 350
},
"amp": {
"data": {
"account": "111111"
}
},
"app": {
"ext": {
"prebid": {
"publisher": {
"id": "111111",
"account": "111111"
}
}
},
},
"ext": {
"tid": "transaction-id-1701768",
"prebid": {
"bidder": {
"criteo": {
"zoneId": 111111
},
"freewheelssp": {
"zoneId": 111111
},
}
}
}
}
],
"site": {
"page": "https://somepage.com",
"ref": "https://somepage.com"
"domain": "https://somepage.com"
"publisher": {
"domain": "https://somepage.com"
"id": 111111
}
},
"device": {
"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
"language": "en"
},
"tmax": 3000,
"source": {
"tid": "transaction-id-1701768"
},
"ext": {
"prebid": {
"auctiontimestamp": 1701768,
"targeting": {
"includewinners": true,
"includebidderkeys": false,
"pricegranularity": {
"ranges": [
{
"min": 0,
"max": 3,
"increment": 0.01
},
{
"min": 3,
"max": 6,
"increment": 0.05
},
]
}
},
"channel": {
"name": "pbjs",
"version": "v8.25.0"
},
"cache": {
"vastxml": {
"returnCreative": false
}
},
"account": {
"id": "1111"
},
"amp": {
"data": {
"account": "111111"
}
},
"app": {
"ext": {
"prebid": {
"publisher": {
"id": "111111",
"account": "111111"
}
}
},
}
}
}
}
I've changed the IDs to be mock data. The account id specified in server I am sending with "account": { "id": "1111" }, in the last "ext" object.
I've also added this https://github.com/prebid/prebid-server/issues/1027#issuecomment-533698203 Some of these IDs might not be necessary, but I put them anyway to see if anything will change.
Do you have an idea what am I doing wrong here?
site.publisher.id needs to be a string
none of the other account ID locations matter - just {site,app,dooh}.publisher.id.
I'd forgotten about ext.prebid.account -- looks like that was either never implemented or got dropped along the way. Will bring it up in committee.
Actually, the issue notes that ext.prebid.account "isn't needed", so we cancelled that issue. Nonetheless, we talked about this in committee and there was no one suggesting we re-open the issue.
Did changing the datatype help the situation @dzesm ?
It did not, actually. I've tried everything that I could think of, changing the request and yaml configuration files in many ways, but it is still the same error.
This is one of the things I found: "The account ID is a unique identifier associated with your publisher account on the Prebid Server. This ID is provided to you by the host company running the Prebid Server. The account field ensures that the requests are associated with the correct publisher account on the Prebid Server."
Is it possible that the problem is not in the request or yaml configurations, but actually that the publisher is not connected at all? I have no clue anymore what to try.
@dzesm hi. I couldn't reproduce your issue, unfortunately.
First and foremost, PBS needs to be restarted after yaml file changes. Here's the steps that I took when I tried to reproduce your issue:
java -jar target/prebid-server.jar --spring.config.additional-location=sample/prebid-config.yaml
sample/prebid-config.yaml
loads a separate account config file sample/sample-app-settings.yaml
. This property controls which file will be used and is defined in the sample/prebid-config.yaml
: settings.filesystem.settings-filename
settings.enforce-valid-account
to true
. This makes PBS refuse any requests that don't carry a valid configured account with the HTTP 401 error. My resulting sample/prebid-config.yaml
file looks like this:
status-response: "ok"
adapters:
appnexus:
enabled: true
ix:
enabled: true
openx:
enabled: true
pubmatic:
enabled: true
rubicon:
enabled: true
metrics:
prefix: prebid
cache:
scheme: http
host: localhost
path: /cache
query: uuid=
settings:
enforce-valid-account: true
generate-storedrequest-bidrequest-id: true
filesystem:
settings-filename: sample/sample-app-settings.yaml
stored-requests-dir: sample/stored
stored-imps-dir: sample/stored
stored-responses-dir: sample/stored
categories-dir:
gdpr:
default-value: 1
vendorlist:
v2:
cache-dir: /var/tmp/vendor2
v3:
cache-dir: /var/tmp/vendor3
admin-endpoints:
logging-changelevel:
enabled: true
path: /logging/changelevel
on-application-port: true
protected: false
sample/sample-app-settings.yaml
file. Here's the contents of my resulting file:
accounts:
- id: 1001
status: active
auction:
price-granularity: low
privacy:
ccpa:
enabled: true
gdpr:
enabled: true
cookie-sync:
default-limit: 8
max-limit: 15
coop-sync:
default: true
- id: 111111
status: active
curl -X POST --location "http://localhost:8080/openrtb2/auction" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"id": 625383713,
"at": 1,
"cur": [
"USD"
],
"imp": [
{
"id": "993589536",
"tagid": "993589536",
"video": {
"mimes": [
"video/mp4",
"video/x-ms-wmv",
"video/webm",
"application/javascript"
],
"w": 650,
"h": 350
},
"amp": {
"data": {
"account": "111111"
}
},
"app": {
"ext": {
"prebid": {
"publisher": {
"id": "111111",
"account": "111111"
}
}
}
},
"ext": {
"tid": "transaction-id-1701768",
"prebid": {
"bidder": {
"criteo": {
"zoneId": 111111
},
"freewheelssp": {
"zoneId": 111111
}
}
}
}
}
],
"site": {
"page": "https://somepage.com",
"ref": "https://somepage.com",
"domain": "https://somepage.com",
"publisher": {
"domain": "https://somepage.com",
"id": 111111
}
},
"device": {
"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
"language": "en"
},
"tmax": 3000,
"source": {
"tid": "transaction-id-1701768"
},
"ext": {
"prebid": {
"auctiontimestamp": 1701768,
"targeting": {
"includewinners": true,
"includebidderkeys": false,
"pricegranularity": {
"ranges": [
{
"min": 0,
"max": 3,
"increment": 0.01
},
{
"min": 3,
"max": 6,
"increment": 0.05
}
]
}
},
"channel": {
"name": "pbjs",
"version": "v8.25.0"
},
"cache": {
"vastxml": {
"returnCreative": false
}
},
"account": {
"id": "1111"
},
"amp": {
"data": {
"account": "111111"
}
},
"app": {
"ext": {
"prebid": {
"publisher": {
"id": "111111",
"account": "111111"
}
}
}
}
}
}
}'
HTTP/1.1 200 OK
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
x-prebid: pbs-java/2.5.0
Content-Type: application/json
content-encoding: gzip
content-length: 144
{ "id": "625383713", "seatbid": [], "cur": "USD", "nbr": 0, "ext": { "responsetimemillis": {}, "tmaxrequest": 3000, "prebid": { "auctiontimestamp": 1701768 } } }
If you require assistance with the configuration, please post more details: configuration, how you specify it to the PBS, etc. Thanks.
Thanks @Net-burst .
@dzesm - am going to assume that the above references have helped. Please go ahead and re-open with specific details about your test setup if it's still a problem for you:
thanks
Thanks for your help @bretg and @Net-burst !
We had some issues with server, but they are resolved now. If any problems should come up regarding configuration, I will reopen the issue.
WARN 13 --- o.p.s.a.r.Ortb2RequestFactory : Account not specified, Url: http://.../openrtb2/auction (removed the domain) and Referer: null
The account id is setup in yaml file accounts:
And then I set it in s2sConfig accountId: '1111'
What could be the problem here? I see the account Id in pbjs config, yet the error persists.