Skip to content

Commit

Permalink
ZetaGlobalSsp Bid Adapter : support topics module (#10803)
Browse files Browse the repository at this point in the history
* add getTopics()

* provide get segments from ortb2

* rename const

* additional check

* fix test

---------

Co-authored-by: Surovenko Alexey <surovenko.alexey@gmail.com>
Co-authored-by: Alexey Surovenko <ASurovenko@vdhk6ddf9m.home>
  • Loading branch information
3 people authored Dec 27, 2023
1 parent 9ec2092 commit 984abfa
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 1 deletion.
20 changes: 20 additions & 0 deletions modules/zeta_global_sspBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ export const spec = {
}

provideEids(validBidRequests[0], payload);
provideSegments(bidderRequest, payload);
const url = params.sid ? ENDPOINT_URL.concat('?sid=', params.sid) : ENDPOINT_URL;
return {
method: 'POST',
Expand Down Expand Up @@ -335,6 +336,25 @@ function provideEids(request, payload) {
}
}

function provideSegments(bidderRequest, payload) {
const data = bidderRequest.ortb2?.user?.data;
if (isArray(data)) {
const segments = data.filter(d => d?.segment).map(d => d.segment).filter(s => isArray(s)).flatMap(s => s).filter(s => s?.id);
if (segments.length > 0) {
if (!payload.user) {
payload.user = {};
}
if (!isArray(payload.user.data)) {
payload.user.data = [];
}
const payloadData = {
segment: segments
};
payload.user.data.push(payloadData);
}
}
}

function provideMediaType(zetaBid, bid, bidRequest) {
if (zetaBid.ext && zetaBid.ext.prebid && zetaBid.ext.prebid.type) {
bid.mediaType = zetaBid.ext.prebid.type === VIDEO ? VIDEO : BANNER;
Expand Down
28 changes: 27 additions & 1 deletion test/spec/modules/zeta_global_sspBidAdapter_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,24 @@ describe('Zeta Ssp Bid Adapter', function () {
uspConsent: 'someCCPAString',
params: params,
userIdAsEids: eids,
timeout: 500
timeout: 500,
ortb2: {
user: {
data: [
{
ext: {
segtax: 600,
segclass: 'classifier_v1'
},
segment: [
{ id: '3' },
{ id: '44' },
{ id: '59' }
]
}
]
}
}
}];

const bannerWithFewSizesRequest = [{
Expand Down Expand Up @@ -606,4 +623,13 @@ describe('Zeta Ssp Bid Adapter', function () {
expect(bidResponse[0].ad).to.eql(zetaResponse.body.seatbid[0].bid[0].adm);
expect(bidResponse[0].vastXml).to.be.undefined;
});

it('Test provide segments into the request', function () {
const request = spec.buildRequests(bannerRequest, bannerRequest[0]);
const payload = JSON.parse(request.data);
expect(payload.user.data[0].segment.length).to.eql(3);
expect(payload.user.data[0].segment[0].id).to.eql('3');
expect(payload.user.data[0].segment[1].id).to.eql('44');
expect(payload.user.data[0].segment[2].id).to.eql('59');
});
});

0 comments on commit 984abfa

Please sign in to comment.