diff --git a/modules/taboolaBidAdapter.js b/modules/taboolaBidAdapter.js
index 8db98409a..487b9e8a0 100644
--- a/modules/taboolaBidAdapter.js
+++ b/modules/taboolaBidAdapter.js
@@ -85,6 +85,7 @@ export const spec = {
const [bidRequest] = validBidRequests;
const {refererInfo, gdprConsent = {}, uspConsent} = bidderRequest;
const {publisherId} = bidRequest.params;
+ let {url = END_POINT_URL} = bidRequest.params;
const site = getSiteProperties(bidRequest.params, refererInfo);
const device = {ua: navigator.userAgent};
const imps = getImps(validBidRequests);
@@ -128,7 +129,7 @@ export const spec = {
regs
};
- const url = [END_POINT_URL, publisherId].join('/');
+ url = [url, publisherId].join('/');
return {
url,
diff --git a/modules/taboolaBidAdapter.md b/modules/taboolaBidAdapter.md
index 33e725927..17aa76d0e 100644
--- a/modules/taboolaBidAdapter.md
+++ b/modules/taboolaBidAdapter.md
@@ -30,7 +30,8 @@ The Taboola Bidding adapter requires setup before beginning. Please contact us o
publisherId: 'tester-pub', // your-publisher-id
bidfloor: 0.25, // Optional - default is null
bcat: ['IAB1-1'], // Optional - default is []
- badv: ['example.com'] // Optional - default is []
+ badv: ['example.com'], // Optional - default is []
+ url: ['https://example.com'] // Optional - default is null
}
}]
}];
@@ -38,12 +39,13 @@ The Taboola Bidding adapter requires setup before beginning. Please contact us o
# Parameters
-| Name | Scope | Description | Example | Type |
-|----------------|----------|---------------------------------------------------------|----------------------------|--------------|
-| `tagId` | required | Tag ID / Placement Name
| `'Below The Article'` | `String` |
-| `publisherId` | required | Numeric Publisher ID
(as provided by Taboola) | `'1234567'` | `String` |
-| `bcat` | optional | List of blocked advertiser categories (IAB) | `['IAB1-1']` | `Array` |
-| `badv` | optional | Blocked Advertiser Domains | `'example.com'` | `String Url` |
-| `bidfloor` | optional | CPM bid floor | `0.25` | `Float` |
+| Name | Scope | Description | Example | Type |
+|---------------|----------|---------------------------------------------------------|----------------------------|--------------|
+| `tagId` | required | Tag ID / Placement Name
| `'Below The Article'` | `String` |
+| `publisherId` | required | Numeric Publisher ID
(as provided by Taboola) | `'1234567'` | `String` |
+| `bcat` | optional | List of blocked advertiser categories (IAB) | `['IAB1-1']` | `Array` |
+| `badv` | optional | Blocked Advertiser Domains | `'example.com'` | `String Url` |
+| `bidfloor` | optional | CPM bid floor | `0.25` | `Float` |
+| `url` | optional | Endpoint Url (only if provided by Taboola) | `https://example.com` | `String` |
diff --git a/test/spec/modules/taboolaBidAdapter_spec.js b/test/spec/modules/taboolaBidAdapter_spec.js
index 739335e8f..8d29fdc79 100644
--- a/test/spec/modules/taboolaBidAdapter_spec.js
+++ b/test/spec/modules/taboolaBidAdapter_spec.js
@@ -89,6 +89,32 @@ describe('Taboola Adapter', function () {
}
expect(spec.isBidRequestValid(bid)).to.equal(true)
})
+
+ it('should succeed when url is null', function () {
+ const bid = {
+ bidder: 'taboola',
+ params: {
+ publisherId: 'publisherId',
+ tagId: 'below the article',
+ url: null
+ },
+ ...displayBidRequestParams
+ }
+ expect(spec.isBidRequestValid(bid)).to.equal(true)
+ })
+
+ it('should succeed when url is filled', function () {
+ const bid = {
+ bidder: 'taboola',
+ params: {
+ publisherId: 'publisherId',
+ tagId: 'below the article',
+ url: 'https://example.com'
+ },
+ ...displayBidRequestParams
+ }
+ expect(spec.isBidRequestValid(bid)).to.equal(true)
+ })
})
describe('buildRequests', function () {
@@ -148,6 +174,26 @@ describe('Taboola Adapter', function () {
expect(res.url).to.equal(`${END_POINT_URL}/${commonBidRequest.params.publisherId}`);
expect(res.data).to.deep.equal(JSON.stringify(expectedData));
+ });
+
+ it('should fill the url when it is passed', function () {
+ const commonBidRequestWithUrl = {
+ bidder: 'taboola',
+ params: {
+ publisherId: 'publisherId',
+ tagId: 'placement name',
+ url: 'https://example.com'
+ },
+ bidId: 'aa43860a-4644-442a-b5e0-93f268cs4d19',
+ auctionId: '65746dca-26f3-4186-be13-dfa63469b1b7',
+ }
+ const defaultBidRequestWithUrl = {
+ ...commonBidRequestWithUrl,
+ ...displayBidRequestParams,
+ }
+ const res = spec.buildRequests([defaultBidRequestWithUrl], commonBidderRequest);
+
+ expect(res.url).to.equal(`${commonBidRequestWithUrl.params.url}/${commonBidRequest.params.publisherId}`);
})
it('should pass optional parameters in request', function () {