Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit a58eb85

Browse files
epomrndVladyslav
andauthored
Update documentation for Epom Bid Adapter (prebid#6073)
* add doc md * add real data for EPOM DSP * update doc * fix markup --------- Co-authored-by: Vladyslav <[email protected]”>
1 parent 17b02f2 commit a58eb85

File tree

1 file changed

+125
-101
lines changed

1 file changed

+125
-101
lines changed

dev-docs/bidders/epomDspBidAdapter.md

Lines changed: 125 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -27,119 +27,143 @@ sidebarType: 1
2727

2828
## Overview
2929

30-
The **Epom DSP Bid Adapter** allows publishers to connect with the Epom DSP Exchange for programmatic advertising. It supports banner formats and adheres to the OpenRTB protocol.
30+
The **Epom DSP Bid Adapter** enables publishers to monetize inventory via the Epom DSP Exchange using the OpenRTB protocol. It supports **banner media types** and enforces required fields to ensure bid validity and proper auction participation.
3131

32-
## Bid Params
32+
---
33+
34+
## Bid Parameters
3335

34-
{: .table .table-bordered .table-striped }
35-
| Name | Scope | Description | Example | Type |
36-
|------------|---------|----------------------------------|---------|--------|
37-
| `endpoint` | required | The URL of the Epom DSP bidding endpoint | `'https://bidder.epommarket.com/bidder/v2_5/bid?key=your_api_key'` | `string` |
38-
| `placementId` | optional | Unique identifier for the placement | `'12345'` | `string` |
39-
| `bidfloor` | optional | Minimum CPM value for the bid in USD | `0.5` | `number` |
36+
| Name | Scope | Description | Example | Type |
37+
| ------------- | -------- | --------------------------------------------------------------- | ------------------------------------------------------------------ | -------- |
38+
| `endpoint` | required | Full URL to the Epom DSP bidding endpoint | `'https://bidder.epommarket.com/bidder/v2_5/bid?key=your_api_key'` | `string` |
39+
| `placementId` | optional | Placement identifier provided by Epom | `'12345'` | `string` |
40+
| `bidfloor` | optional | Minimum CPM for bid, in USD (unless FX enabled on tenant level) | `0.50` | `number` |
41+
42+
---
4043

41-
## Example Configuration
44+
## Example Ad Unit Configuration
4245

4346
```javascript
44-
var adUnits = [
45-
{
46-
code: 'epom-banner-div',
47-
mediaTypes: {
47+
var adUnits = [{
48+
code: 'epom-banner-div',
49+
mediaTypes: {
50+
banner: {
51+
sizes: [[300, 250]]
52+
}
53+
},
54+
bids: [{
55+
bidder: 'epom_dsp',
56+
params: {
57+
endpoint: 'https://bidder.epommarket.com/bidder/v2_5/bid?key=d0b9fb9de9dfbba694dfe75294d8e45a'
58+
},
59+
imp: [{
60+
id: '2',
4861
banner: {
49-
sizes: [
50-
[300, 250]
51-
]
62+
w: 300,
63+
h: 250,
64+
btype: [4],
65+
pos: 0,
66+
api: [3]
67+
},
68+
bidfloor: 0.01,
69+
bidfloorcur: 'USD'
70+
}],
71+
site: {
72+
id: 'fc59bd54-36df-4d33-830c-fdsfds',
73+
domain: 'epom.com',
74+
publisher: {
75+
id: 'testid'
76+
},
77+
content: {
78+
id: '1234567',
79+
title: 'Car Show',
80+
series: 'All About Cars',
81+
season: '2',
82+
cat: ['IAB2-2']
5283
}
5384
},
54-
bids: [
55-
{
56-
bidder: 'epom_dsp',
57-
params: {
58-
endpoint: 'https://bidder.epommarket.com/bidder/v2_5/bid?key=d0b9fb9de9dfbba694dfe75294d8e45a'
59-
},
60-
"imp": [
61-
{
62-
"banner": {
63-
"w": 300,
64-
"h": 250,
65-
"btype": [
66-
4
67-
],
68-
"pos": 0,
69-
"api": [
70-
3
71-
]
72-
},
73-
"instl": 0,
74-
"tagid": "test4",
75-
"bidfloor": 0.01,
76-
"bidfloorcur": "USD",
77-
"id": "2"
78-
}
79-
],
80-
"site": {
81-
"id": "fc59bd54-36df-4d33-830c-fdsfds",
82-
"domain": "epom.com",
83-
"privacypolicy": 0,
84-
"publisher": {
85-
"id": "testid"
86-
},
87-
"content": {
88-
"id": "1234567",
89-
"episode": 23,
90-
"title": "Car Show",
91-
"series": "All About Cars",
92-
"season": "2",
93-
"cat": [
94-
"IAB2-2"
95-
]
96-
}
97-
},
98-
"device": {
99-
"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",
100-
"geo": {
101-
"country": "UKR",
102-
"region": "",
103-
"city": ""
104-
},
105-
"ip": "176.112.120.50",
106-
"devicetype": 2,
107-
"os": "windows",
108-
"osv": "",
109-
"js": 1,
110-
"language": "US",
111-
"carrier": "VERIZON",
112-
"connectiontype": 5,
113-
"ifa": "AA000DFE74168477C70D291f574D344790E0BB11"
114-
},
115-
"user": {
116-
"id": "testiduser"
117-
},
118-
"test": 0,
119-
"at": 2,
120-
"allimps": 0,
121-
"cur": [
122-
"USD"
123-
],
124-
"bcat": [
125-
"IAB25-2",
126-
"IAB25-1"
127-
],
128-
"badv": [],
129-
"id": "NewIdTest"
130-
}
131-
]
132-
}
133-
];
85+
device: {
86+
ua: navigator.userAgent,
87+
ip: '176.112.120.50',
88+
devicetype: 2,
89+
os: 'windows',
90+
js: 1,
91+
language: 'US',
92+
carrier: 'VERIZON',
93+
connectiontype: 5
94+
},
95+
user: {
96+
id: 'testiduser'
97+
},
98+
id: 'NewIdTest',
99+
cur: ['USD'],
100+
bcat: ['IAB25-2', 'IAB25-1'],
101+
badv: []
102+
}]
103+
}];
134104
```
135105

136-
## GDPR and Privacy Compliance
106+
---
107+
108+
## Required Fields for Bid Request Validation
109+
110+
To be considered **valid**, a bid request must include the following:
111+
112+
| Field | Location | Description |
113+
| ------------- | ------------- | --------------------------------------------------------------------- |
114+
| `request.id` | root | Unique ID for the request |
115+
| `imp[]` | root | Must contain at least one impression object |
116+
| `imp[i].id` | imp object | Unique impression ID |
117+
| `site.domain` | site object | Must be present (or `app.bundle` if app-based) |
118+
| `device.ip` | device object | Device IP address (required unless IP forwarding feature is disabled) |
119+
| `cur[]` | root | Must be `['USD']` unless currency FX is enabled on tenant level |
120+
121+
If any of the above is missing or malformed, the bid request will be **rejected** by the adapter during validation (`isBidRequestValid`).
137122

138-
The **Epom DSP Bid Adapter** supports GDPR and CCPA compliance. Consent information can be passed via:
123+
---
124+
125+
## Privacy Compliance
126+
127+
The Epom DSP adapter supports the following privacy frameworks:
128+
129+
* **GDPR**: via `bidderRequest.gdprConsent.consentString`
130+
* **US Privacy (CCPA)**: via `bidderRequest.uspConsent`
131+
* **GPP**: Supports `tcfeu` and `usnat` sections
132+
133+
---
134+
135+
## Testing & Debugging
139136

140-
- `bidderRequest.gdprConsent`
141-
- `bidderRequest.uspConsent`
137+
To test integration, use a configuration similar to this inside a local HTML page with Prebid.js:
138+
139+
```html
140+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/not-for-prod/prebid.min.js"></script>
141+
<script>
142+
pbjs.que.push(function() {
143+
pbjs.setConfig({ debug: true });
144+
145+
pbjs.setBidderConfig({
146+
bidders: ['epom_dsp'],
147+
config: {
148+
epomSettings: {
149+
endpoint: 'https://bidder.epommarket.com/bidder/v2_5/bid?key=your_key'
150+
}
151+
}
152+
});
153+
154+
pbjs.addAdUnits([/* ...adUnits as above... */]);
155+
pbjs.requestBids({
156+
bidsBackHandler: function(bidResponses) {
157+
console.log('Epom DSP Responses:', bidResponses);
158+
}
159+
});
160+
});
161+
</script>
162+
```
163+
164+
---
142165

143166
## Support
144167

145-
For integration assistance, contact [Epom Support](mailto:[email protected]).
168+
For questions or assistance integrating Epom DSP into your Prebid setup, please contact:
169+

0 commit comments

Comments
 (0)