@@ -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/prebid.js@9.41.0/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:support@epom.com ) .
168+ For questions or assistance integrating Epom DSP into your Prebid setup, please contact:
169+ 📩 [ support@epom.com ] ( mailto:support@epom.com )
0 commit comments