diff --git a/dev-docs/bidders/epomDspBidAdapter.md b/dev-docs/bidders/epomDspBidAdapter.md index 81dc74682c..3449f30508 100644 --- a/dev-docs/bidders/epomDspBidAdapter.md +++ b/dev-docs/bidders/epomDspBidAdapter.md @@ -27,119 +27,143 @@ sidebarType: 1 ## Overview -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. +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. -## Bid Params +--- + +## Bid Parameters -{: .table .table-bordered .table-striped } -| Name | Scope | Description | Example | Type | -|------------|---------|----------------------------------|---------|--------| -| `endpoint` | required | The URL of the Epom DSP bidding endpoint | `'https://bidder.epommarket.com/bidder/v2_5/bid?key=your_api_key'` | `string` | -| `placementId` | optional | Unique identifier for the placement | `'12345'` | `string` | -| `bidfloor` | optional | Minimum CPM value for the bid in USD | `0.5` | `number` | +| Name | Scope | Description | Example | Type | +| ------------- | -------- | --------------------------------------------------------------- | ------------------------------------------------------------------ | -------- | +| `endpoint` | required | Full URL to the Epom DSP bidding endpoint | `'https://bidder.epommarket.com/bidder/v2_5/bid?key=your_api_key'` | `string` | +| `placementId` | optional | Placement identifier provided by Epom | `'12345'` | `string` | +| `bidfloor` | optional | Minimum CPM for bid, in USD (unless FX enabled on tenant level) | `0.50` | `number` | + +--- -## Example Configuration +## Example Ad Unit Configuration ```javascript - var adUnits = [ - { - code: 'epom-banner-div', - mediaTypes: { +var adUnits = [{ + code: 'epom-banner-div', + mediaTypes: { + banner: { + sizes: [[300, 250]] + } + }, + bids: [{ + bidder: 'epom_dsp', + params: { + endpoint: 'https://bidder.epommarket.com/bidder/v2_5/bid?key=d0b9fb9de9dfbba694dfe75294d8e45a' + }, + imp: [{ + id: '2', banner: { - sizes: [ - [300, 250] - ] + w: 300, + h: 250, + btype: [4], + pos: 0, + api: [3] + }, + bidfloor: 0.01, + bidfloorcur: 'USD' + }], + site: { + id: 'fc59bd54-36df-4d33-830c-fdsfds', + domain: 'epom.com', + publisher: { + id: 'testid' + }, + content: { + id: '1234567', + title: 'Car Show', + series: 'All About Cars', + season: '2', + cat: ['IAB2-2'] } }, - bids: [ - { - bidder: 'epom_dsp', - params: { - endpoint: 'https://bidder.epommarket.com/bidder/v2_5/bid?key=d0b9fb9de9dfbba694dfe75294d8e45a' - }, - "imp": [ - { - "banner": { - "w": 300, - "h": 250, - "btype": [ - 4 - ], - "pos": 0, - "api": [ - 3 - ] - }, - "instl": 0, - "tagid": "test4", - "bidfloor": 0.01, - "bidfloorcur": "USD", - "id": "2" - } - ], - "site": { - "id": "fc59bd54-36df-4d33-830c-fdsfds", - "domain": "epom.com", - "privacypolicy": 0, - "publisher": { - "id": "testid" - }, - "content": { - "id": "1234567", - "episode": 23, - "title": "Car Show", - "series": "All About Cars", - "season": "2", - "cat": [ - "IAB2-2" - ] - } - }, - "device": { - "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", - "geo": { - "country": "UKR", - "region": "", - "city": "" - }, - "ip": "176.112.120.50", - "devicetype": 2, - "os": "windows", - "osv": "", - "js": 1, - "language": "US", - "carrier": "VERIZON", - "connectiontype": 5, - "ifa": "AA000DFE74168477C70D291f574D344790E0BB11" - }, - "user": { - "id": "testiduser" - }, - "test": 0, - "at": 2, - "allimps": 0, - "cur": [ - "USD" - ], - "bcat": [ - "IAB25-2", - "IAB25-1" - ], - "badv": [], - "id": "NewIdTest" - } - ] - } -]; + device: { + ua: navigator.userAgent, + ip: '176.112.120.50', + devicetype: 2, + os: 'windows', + js: 1, + language: 'US', + carrier: 'VERIZON', + connectiontype: 5 + }, + user: { + id: 'testiduser' + }, + id: 'NewIdTest', + cur: ['USD'], + bcat: ['IAB25-2', 'IAB25-1'], + badv: [] + }] +}]; ``` -## GDPR and Privacy Compliance +--- + +## Required Fields for Bid Request Validation + +To be considered **valid**, a bid request must include the following: + +| Field | Location | Description | +| ------------- | ------------- | --------------------------------------------------------------------- | +| `request.id` | root | Unique ID for the request | +| `imp[]` | root | Must contain at least one impression object | +| `imp[i].id` | imp object | Unique impression ID | +| `site.domain` | site object | Must be present (or `app.bundle` if app-based) | +| `device.ip` | device object | Device IP address (required unless IP forwarding feature is disabled) | +| `cur[]` | root | Must be `['USD']` unless currency FX is enabled on tenant level | + +If any of the above is missing or malformed, the bid request will be **rejected** by the adapter during validation (`isBidRequestValid`). -The **Epom DSP Bid Adapter** supports GDPR and CCPA compliance. Consent information can be passed via: +--- + +## Privacy Compliance + +The Epom DSP adapter supports the following privacy frameworks: + +* **GDPR**: via `bidderRequest.gdprConsent.consentString` +* **US Privacy (CCPA)**: via `bidderRequest.uspConsent` +* **GPP**: Supports `tcfeu` and `usnat` sections + +--- + +## Testing & Debugging -- `bidderRequest.gdprConsent` -- `bidderRequest.uspConsent` +To test integration, use a configuration similar to this inside a local HTML page with Prebid.js: + +```html + + +``` + +--- ## Support -For integration assistance, contact [Epom Support](mailto:support@epom.com). +For questions or assistance integrating Epom DSP into your Prebid setup, please contact: +📩 [support@epom.com](mailto:support@epom.com)