Skip to content

Latest commit

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Dable-RTB-Integration-Guide

1. Overview

1.1 Summary

  • This guide covers details of the Server-to-Server RTB integration protocol system that operates between Partner (Demand-Side, Bidder) and Dable (Supply-Side).
  • The guide defines the Open RTB-based Object models (including Bid Request and Bid Response) and Attributes supported by Dable RTB.

1.2 Base Open RTB Specification

1.3 Basic Auction on the Dable Exchange

  1. Dable sends Bid Requests to Partners (hereinafter referred to as Bidders).
  2. Bidders place a bid through Bid Response. a. Returns “No-Bid” response in case not bidding on the request b. Considered as No-Bid If no response is received within a time period, which is agreed upon in advance and stated separately
  3. Dable determines a winning bid (winner and its price) in real-time.
  4. The winner’s ad is served to the user.
  5. The user’s browser calls the Open RTB Native’s Event Tracker.

1.4 RTB Server-To-Server Protocol

  • The request/response protocol uses HTTP POST Method and JSON Body.
  • HTTP Request Headers
    • [Required] Open RTB Version (ex: x-openrtb-version: 2.5)
    • Data Format (ex: Content-Type: application/json)
  • HTTP Response
    • HTTP Response (Status Code)
      • Bid: 200 (with JSON body)
      • No Bid: 204 (Leave empty or enter reason in JSON body with 200 OK)
      • Error: 400

2. Important Integration Notes

2.1 Note regarding impression tracking

seatbid.bid.adm.native.eventtrackers - This attribute enables the Bidders (DSPs) and third-parties to continuously track ad impressions.

2.2 Multiple bid responses and multiple seat bids

Bidders (DSPs) may send multiple bids in a seatbid. These are collected in the bid array in the seatbid object. Dable reviews all bids from all seats, excluding the ones that are in the blocklist or invalid. The highest bid among the valid bids wins the auction.

2.3 OpenRTB Native Specification

Dable RTB supports Native Ads 1.2 for OpenRTB. Please refer to the following important notes.

  • native.request is a string
  • Bidders must use a serialized string in the adm field (as noted by OpenRTB) to return ad markup

3. Dable BidRequest Specification

RTB transactions are initiated when an exchange or other supply source sends a bid request to a bidder. The bid request consists of the top-level bid request object, at least one impression object, and may optionally include additional objects providing impression context.

3.1 Object: BidRequest

NameTyperequiredDescription
idstringrequiredUnique ID of the bid request.
impobject arrayrequiredSee 3.3 Object: Imp
siteobjectrequiredSee 3.6 Object: Site
appobject
deviceobjectrequiredSee 3.9 Object: Device
userobjectrequiredSee 3.10 Object: user
testinteger0 = live mode, 1= test mode.
atintegerrequiredAuction Type 1: 1st-price auction, 2: 2nd-price auction
tmaxinteger
curstring arrayrequiredArray of allowed currencies for bids on this bid request using ISO-4217 alpha codes.
bcatstring array
badvstring array
bappstring array
bseatstring array
regsstring array# Dable-RTB-Integration-Guide

3.2 Object: Regs

AttributeTyperequiredDescription
extobjectPlaceholder for exchange-specific extensions to OpenRTB.

3.3 Object: Imp

AttributeTyperequiredDescription
idstringrequiredUnique ID of the bid request.
metricobject arrayAn array of Metric object (Section 3.4)
nativeobjectrequiredA Native object (Section 3.5); required if this impression is offered as a native ad opportunity.
tagidobjectrequiredIdentifier for specific ad placement or ad tag that was used to initiate the auction
bidfloorobjectMinimum bid for this impression expressed in CPM.
bidfloorcurobjectrequiredCurrency specified using ISO-4217 alpha codes.
secureobjectrequired0=non-secure, 1=secure.
extobjectrequiredSee 3.3.1 imp.ext.

3.3.1 imp.ext

widget

AttributeTyperequiredDescription
widget_idstringrequiredA unique identifier for the widget assigned by Dable.
channelstringA unique identifier for the channel assigned by Dable.
current_pageintegerThe page number of the impression. Starts from 1.
page_sizeintegerThe total number of pages. Only for Native Object.
current_slotintegerThe slot of the impression. Starts from 1. Only for Native Object.
slot_sizeintegerThe number of slots per page. Only for Native Object.

3.4 Object: Metric

AttributeTyperequiredDescription
typestringrequiredType of metric being presented using exchange curated string names which should be published to bidders a priori
valuefloatrequiredNumber representing the value of the metric. Probabilities must be in the range 0.0 – 1.0.
venderstringSource of the value using exchange curated string names which should be published to bidders a priori. If the exchange itself is the source versus a third party, “EXCHANGE” is recommended.

3.5 Object: Native

AttributeTyperequiredDescription
requeststringrequiredRequest payload complying with the Native Ad Specification
verstringrequiredVersion of the Native Ad Specification to which request complies.
apiinteger arrayList of supported API frameworks for this impression. Refer to List 5.6. If an API is not explicitly listed, it is assumed not to be supported.
battrinteger arrayBlocked creative attributes.

3.6 Object: Site

AttributeTyperequiredDescription
idstringSite Id.
namestringSite name (may be aliased at the publisher’s request).
domainstringDomain of the site (e.g., “mysite.foo.com”).
catstring arrayArray of IAB content categories of the site.
sectioncatstring arrayArray of IAB content categories that describe the current section of the site.
pagecatstring arrayArray of IAB content categories that describe the current page or view of the site.
pagestringURL of the page where the impression will be shown.
refstringReferrer URL that caused navigation to the current page.
searchstringSearch string that caused navigation to the current page.
mobileintegerMobile-optimized signal, where 0 = no, 1 = yes.
privacypolicyintegerIndicates if the site has a privacy policy, where 0 = no, 1 = yes.
publisherobjectDetails about the Publisher (Section 3.7) of the site.
contentobjectDetails about the Content (Section 3.8) within the site.
keywordsstringComma separated list of keywords about the site.
extobjectSee 3.8.1 site.ext.

3.7 Object: Publisher

AttributeTyperequiredDescription
idstringExchange-specific publisher ID.
extobject

3.8 Object: Content

AttributeTyperequiredDescription
languagestringContent language using ISO-639-1-alpha-2.
extstringPlaceholder for exchange-specific extensions to OpenRTB.

3.8.1 content.ext

AttributeTyperequiredDescription
item_catstringCategory information of content.
body_lengthintegerArticle length of content.

3.9 Object: Device

AttributeTyperequiredDescription
uastringBrowser user agent string.
ipstringIPv4 address closest to device.
languagestringBrowser language using ISO-639-1-alpha-2
jsintegerSupport for JavaScript, where 0 = no, 1 = yes.
connectiontypeintegerNetwork connection type.
extobjectPlaceholder for exchange-specific extensions to OpenRTB.

3.10 Object: User

AttributeTyperequiredDescription
idstringExchange-specific ID for the user.
buyeruidstringBuyer-specific ID for the user as mapped by the exchange for the buyer.

4. Dable BidResponse Specification

RTB responses contain bids that reference specific impressions within a bid request. Bids are in essence an offer to buy. The bid response consists of the top-level bid response object and optional objects that depict the specific bids. An empty HTTP response constitutes a no-bid and is in fact the most bandwidth friendly form of this signal although returning a response with a “no-bid reason” is encouraged. A malformed response or a response that contains no actual bids will also be interpreted as no-bid.

4.1 Object: BidResponse

AttributeTyperequiredDescription
idstringrequiredID of the bid request to which this is a response.
seatbidobject arraySee 4.2 Object: SeatBid.
bididstringBidder generated response ID to assist with logging/tracking.
curstringBid currency using ISO-4217 alpha codes.
customdatastringOptional feature to allow a bidder to set data in the exchange’s cookie.
nbrintegerReason for not bidding.

4.2 Object: Seatbid

AttributeTyperequiredDescription
bidobject arrayrequiredSee 4.3 Object: Bid.
seatstringID of the bidder seat on whose behalf this bid is made.
groupinteger0 = impressions can be won individually.

4.3 Object: Bid

AttributeTyperequiredDescription
idstringrequiredID of the bid request to which this is a response.
impidstringrequiredID of the Imp object in the related bid request.
pricefloatrequiredID of the bid request to which this is a response.
nurlstringWin notice URL called by the exchange if the bid wins (not necessarily indicative of a delivered, viewed, or billable ad); optional means of serving ad markup. Substitution macros (Section 4.3) may be included in both the URL and optionally returned markup
lurlstringLoss notice URL called by the exchange when a bid is known to have been lost. Substitution macros may be included. Exchange-specific policy may preclude support for loss notices or the disclosure of winning clearing prices resulting in ${AUCTION_PRICE} macros being removed (i.e., replaced with a zero-length string).
adidstringID of a preloaded ad to be served if the bid wins.
admstringOptional means of conveying ad markup in case the bid wins.
adidstringID of a preloaded ad to be served if the bid wins.
adomainstring arrayAdvertiser domain for block list checking.
bundlestringA platform-specific application identifier intended to be unique to the app and independent of the exchange. On Android, this should be a bundle or package name (e.g., com.foo.mygame). On iOS, it is a numeric ID.
iurlstringURL without cache-busting to an image that is representative of the content of the campaign for ad quality/safety checking.
cidstringCampaign ID to assist with ad quality checking.
cridstringCreative ID to assist with ad quality checking.
tacticstring
catstring arrayIAB content categories of the creative.
attrinteger arraySet of attributes describing the creative.
apiintegerAPI required by the markup if applicable.
protocolintegerVideo response protocol of the markup if applicable.
qagmediaratingintegerCreative media rating per IQG guidelines.
languagestringLanguage of the creative using ISO-639-1-alpha-2. The nonstandard code “xx” may also be used if the creative has no linguistic content (e.g., a banner with just a company logo).
dealidstringReference to the deal.id from the bid request if this bid pertains to a private marketplace direct deal.
wintegerWidth of the creative in device independent pixels (DIPS).
hintegerHeight of the creative in device independent pixels (DIPS).
wratiointegerRelative width of the creative when expressing size as a ratio. Required for Flex Ads.
hratiointegerRelative height of the creative when expressing size as a ratio. Required for Flex Ads.
expintegerAdvisory as to the number of seconds the bidder is willing to wait between the auction and the actual impression.

4.4 Object: Asset Response Object

Corresponds to the Asset Object in the request. This document only specifies Image Response Objects and Data Response Objects. The rest of the Response Object is the same as the OpenRTB specification.

4.4.1 Image Response Object

AttributeTyperequiredDescription
typeintegerrequiredThe type of image element being submitted from the Image Asset Types table.
urlstringrequiredURL of the image asset.
wintegerWidth of the image in pixels.
hintegerHeight of the image in pixels.
extstringThis object is a placeholder that may contain custom JSON agreed to by the parties to support flexibility beyond the standard defined in this specification.

4.4.2 Data Response Object

AttributeTyperequiredDescription
typeintegerrequiredThe type of data element being submitted from the Data Asset Types table.
lenintegerThe length of the data element being submitted. Where applicable, must comply with the recommended maximum lengths in the Data Asset Types table.
valuestringrequiredThe formatted string of data to be displayed. Can contain a formatted value such as “5 stars” or “$10” or “3.4 stars out of 5”.
extobjectThis object is a placeholder that may contain custom JSON agreed to by the parties to support flexibility beyond the standard defined in this specification.

4.5 Substitution Macros

Substitution macros can be inserted to replace the values in seatbid.bid.adm.native.eventtrackers of the Bid Response.

AttributeTyperequiredDescription
typeintegerrequiredThe type of data element being submitted from the Data Asset Types table.
lenintegerThe length of the data element being submitted. Where applicable, must comply with the recommended maximum lengths in the Data Asset Types table.
valuestringrequiredThe formatted string of data to be displayed. Can contain a formatted value such as “5 stars” or “$10” or “3.4 stars out of 5”.
extobjectThis object is a placeholder that may contain custom JSON agreed to by the parties to support flexibility beyond the standard defined in this specification.

5. Native

Dable Native is based on OpenRTB-Native-Ads-Specification-Final-1.2.

AttributeTyperequiredDescription
requeststringrequiredRequest payload complying with the Native Ad Specification.
verstringrequired;"1.2"Version of the Native Markup version in use.

5.1 Request for Bid

Bid Summary Specification (see OpenRTB-Native-Ads-Specification 1.2 for details)

5.1.1 Native Markup Request Object

AttributeTyperequiredDescription
verstringrequired;"1.2"Version of the Native Markup version in use.
contextintegerThe context in which the ad appears.
contextsubtypeintegerA more detailed context in which the ad appears.
plcmttypeintegerThe design/format/layout of the ad unit being offered.
plcmtcntintegerThe number of identical placements in this Layout.
seqinteger0 for the first ad, 1 for the second ad, and so on.
assetsobject arrayrequiredAn array of Asset Objects. See 5.2.1 native.request.assets.
aurlsupportintegerWhether the supply source / impression supports returning an assetsurl instead of an asset object.
durlsupportintegerWhether the supply source / impression supports returning a dco url instead of an asset object. 0 or the absence of the field indicates no such support.
eventtrackersobject arraySpecifies what type of event tracking is supported. See 3.2.23.5 native.request.eventtrackers.
privacyintegerSet to 1 when the native ad supports buyer-specific privacy notice.

5.1.2 native.request.assets

AttributeTyperequiredDescription
idintegerrequiredUnique asset ID, assigned by exchange. Typically a counter for the array.
requiredintegerSet to 1 if asset is required.
titleobjectTitle object for title assets. See 5.1.2.1 native.request.title.
imgobjectImage object for image assets. See 5.1.2.2 native.request.image.
dataobjectData object for data assets. See 5.1.2.3 native.request.data.

5.1.2.1 Title Request Object

AttributeTyperequiredDescription
lenintegerrequiredMaximum length of the text in the title element.

5.1.2.2 Image Request Object

AttributeTyperequiredDescription
typeintegerType ID of the image element supported by the publisher. See table 6.2.2 Image Asset Types
wintegerWidth of the image in pixels.
wminintegerThe minimum requested width of the image in pixels.
hintegerHeight of the image in pixels.
hminintegerThe minimum requested height of the image in pixels.
mimesstring arrayWhitelist of content MIME types supported. Popular MIME types include, but are not limited to “image/jpg” “image/gif”.

5.1.2.3 Data Request Object

AttributeTyperequiredDescription
typeintegerrequiredType ID of the element supported by the publisher. See table 6.2.1 Data Asset Types
lenintegerMaximum length of the text in the element’s response

5.1.3 Event Trackers Request Object

AttributeTyperequiredDescription
eventintegerrequiredType of event available for tracking. See table 6.2.3 Event Types
methodinteger arrayrequiredArray of the types of tracking available for the given event

5.2 Response for Bid

Bid Summary Specification (see OpenRTB-Native-Ads-Specification 1.2 for details)

5.2.1 Native Markup Response Object

AttributeTyperequiredDescription
verstringrequired;"1.2"Version of the Native Markup version in use
assetsobject arrayAssets object that defines the native components that will be used for bidding
linkobject arrayLink object containing advertisement click information
eventtrackersobject arrayArray of tracking objects to run with the ad, in response to the declared supported methods in the request

5.3 Substitution Macros

Substitution macros can be inserted to replace the values in seatbid.bid.adm.native.eventtrackers of the Bid Response.

MacroSupportedDescription
${AUCTION_ID}XID of the bid request; from BidRequest.id attribute
${AUCTION_BID_ID}OID of the bid; from BidResponse.bidid attribute
${AUCTION_IMP_ID}XID of the impression just won; from imp.id attribute
${AUCTION_SEAT_ID}XID of the bidder seat for whom the bid was made
${AUCTION_AD_ID}OID of the ad markup the bidder wishes to serve; from bid.adid attribute
${AUCTION_PRICE}OSettlement price using the same currency and units as the bid
${AUCTION_CURRENCY}OThe currency used in the bid (explicit or implied); for confirmation only
${AUCTION_MBR}XMarket Bid Ratio defined as: clearance price / bid price
${AUCTION_LOSS}XLoss reason codes.

6. Enumerated Lists Specification

6.1 Lists: OpenRTB 2.5 Spec

Please refer to the Enumerated Lists section in the OpenRTB 2.5 specification.

6.2 Lists: Native Subspec

Please refer to the Reference Lists/Enumerations section in the Native subspec.

6.2.1 Data Asset Types

Type IDNameDescriptionFormatOnly for Dable
1sponsoredSponsored By message where response should contain the brand name of the sponsortext
2descDescriptive text associated with the product or service being advertisedtext
3ratingRating of the product being offered to the user. For example an app’s rating in an app store from 0-5number formatted as string
4likesNumber of social ratings or “likes” of the product being offered to the usernumber formatted as string
5downloadsNumber downloads/installs of this productnumber formatted as string
6pricePrice for product / app / in-app purchase. Value should include currency symbol in localised formatnumber formatted as string
7salepriceSale price that can be used together with price to indicate a discounted price compared to a regular price. Value should include currency symbol in localised format.number formatted as string
8phonePhone numberformatted string
9addressAddresstext
10desc2Additional descriptive text associated with the product or service being advertisedtext
11displayurlDisplay URL for the text adtext
12ctatextCTA description - descriptive text describing a ‘call to action’ button for the destination URL.text
13etcData asset other than the above typestextO

6.2.2 Image Asset Types

Type IDNameDescriptionOnly for Dable
1IconIcon image
2LogoLogo image for the brand/app
3MainLarge image preview for the ad
4ThumbnailThumbnail for the adO

6.2.3 Event Types Table

Type IDNameDescriptionOnly for Dable
1ImpressionImpression
2viewable-dableLogo image for the brand/app

7. Contents Checking Process

7.1 Contents Post-checking

  • All contents that won in Dable RTB may be subject to post-checking process.
  • Landing URL that won Dable RTB may be called once, or once in every hour at the maximum. Number of calls may increase if Dable chooses to check manually.
  • Basically, Landing URL is the URL of Link Response Object included in adm.
  • When a URL is called during post-checking process, ${AUCTION_PRICE} macro in the URL will be replaced to 0 and a parameter (&dable_check=1) will be added to the URL. (*We recommend adding a logic that prevents the Landing URL with the&dable_check=1 parameter from being included in actual performance measuring and cost.)
  • If a content has been found with issues during the post-checking process, the content may not be able to participate in future biddings.
  • If calling a URL fails (User Agent returns 403 response), post-checking process may be considered as a fail.

8. Bid Request/Response Sample

  • Bid Request
{
"id": "L7jjDo5mpuPP18n",
"imp": [{
"id": "1",
"tagid": "2XnA2kld#1",
"bidfloor": 0,
"bidfloorcur": "KRW",
"native": {
"request": "{\"ver\":\"1.2\",\"context\":1,\"contextsubtype\":11,\"plcmttype\":4,\"plcmtcnt\":1,\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":56}},{\"id\":2,\"required\":0,\"img\":{\"wmin\":50,\"hmin\":50,\"type\":1,\"ext\":{\"pixel_ratio\":1}}},{\"id\":3,\"required\":0,\"img\":{\"wmin\":200,\"hmin\":125,\"type\":3,\"ext\":{\"pixel_ratio\":2}}},{\"id\":4,\"required\":1,\"data\":{\"type\":1,\"len\":25}},{\"id\":5,\"required\":0,\"data\":{\"type\":2,\"len\":70}},{\"id\":6,\"required\":0,\"data\":{\"type\":6}},{\"id\":7,\"required\":0,\"data\":{\"type\":7}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]},{\"event\":2,\"methods\":[1]}]}",
"ver": "1.2"
},
"secure": 0,
"ext": {
"widget_id": "2XnA2kld",
"channel": "기사_개인화_우측_리스트_개편 후.광고1",
"current_page": 1,
"page_size": 1,
"current_slot": 1,
"slot_size": 3
}
}, {
"id": "2",
"tagid": "2XnA2kld#1",
"bidfloor": 0,
"bidfloorcur": "KRW",
"native": {
"request": "{\"ver\":\"1.2\",\"context\":1,\"contextsubtype\":11,\"plcmttype\":4,\"plcmtcnt\":1,\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":56}},{\"id\":2,\"required\":0,\"img\":{\"wmin\":50,\"hmin\":50,\"type\":1,\"ext\":{\"pixel_ratio\":1}}},{\"id\":3,\"required\":0,\"img\":{\"wmin\":200,\"hmin\":125,\"type\":3,\"ext\":{\"pixel_ratio\":2}}},{\"id\":4,\"required\":1,\"data\":{\"type\":1,\"len\":25}},{\"id\":5,\"required\":0,\"data\":{\"type\":2,\"len\":70}},{\"id\":6,\"required\":0,\"data\":{\"type\":6}},{\"id\":7,\"required\":0,\"data\":{\"type\":7}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]},{\"event\":2,\"methods\":[1]}]}",
"ver": "1.2"
},
"secure": 0,
"ext": {
"widget_id": "2XnA2kld",
"channel": "기사_개인화_우측_리스트_개편 후.광고1",
"current_page": 1,
"page_size": 1,
"current_slot": 2,
"slot_size": 3
}
}, {
"id": "3",
"tagid": "2XnA2kld#1",
"bidfloor": 0,
"bidfloorcur": "KRW",
"native": {
"request": "{\"ver\":\"1.2\",\"context\":1,\"contextsubtype\":11,\"plcmttype\":4,\"plcmtcnt\":1,\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":56}},{\"id\":2,\"required\":0,\"img\":{\"wmin\":50,\"hmin\":50,\"type\":1,\"ext\":{\"pixel_ratio\":1}}},{\"id\":3,\"required\":0,\"img\":{\"wmin\":200,\"hmin\":125,\"type\":3,\"ext\":{\"pixel_ratio\":2}}},{\"id\":4,\"required\":1,\"data\":{\"type\":1,\"len\":25}},{\"id\":5,\"required\":0,\"data\":{\"type\":2,\"len\":70}},{\"id\":6,\"required\":0,\"data\":{\"type\":6}},{\"id\":7,\"required\":0,\"data\":{\"type\":7}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]},{\"event\":2,\"methods\":[1]}]}",
"ver": "1.2"
},
"secure": 0,
"ext": {
"widget_id": "2XnA2kld",
"channel": "기사_개인화_우측_리스트_개편 후.광고1",
"current_page": 1,
"page_size": 1,
"current_slot": 3,
"slot_size": 3
}
}],
"site": {
"id": "36",
"domain": "fnnews.com",
"mobile": 0,
"page": "http://www.fnnews.com/news/201905300804090423",
"content": {
"language": "en",
"ext": {
"item_cat": "",
"body_length": 0
}
},
"ref": "http://www.fnnews.com/bigissue"
},
"device": {
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36",
"ip": "222.106.81.70",
"language": "en",
"js": 1,
"connectiontype": 1
},
"user": {
"id": "82686928.1559188280624"
},
"test": 0,
"tmax": 100,
"at": 2,
"cur": ["KRW"],
"bcat": [ "IAB14-7" ]
}
  • Bid Response
{
"id": "L7jjDo5mpuPP18n",
"bidid": "0YwPG8P7ASVwJg",
"cur": "KRW",
"seatbid": [{
"bid": [{
"id": "q7gg5vMNvS8DE5g",
"impid": "1",
"price": 666.8669254784,
"adid": "81GGA5B4LH7BVO",
"adomain": ["post.naver.com", "rounz.com"],
"adm": "{\"native\":{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":56,\"text\":\"명품 안경, 뭐가 다르길래? 비결은 원단의 차이\"}},{\"id\":2,\"required\":0,\"img\":{\"url\":\"https://images.dable.io/ad/thumbnails/MwLvJ7Lvof6Q_1x_1559173314\",\"w\":200,\"h\":125,\"type\":1}},{\"id\":3,\"required\":0,\"img\":{\"url\":\"https://images.dable.io/ad/thumbnails/MwLvJ7Lvof6Q_1x_1559173314\",\"w\":200,\"h\":125,\"type\":3}},{\"id\":4,\"required\":1,\"data\":{\"type\":1,\"len\":25,\"value\":\"라운즈\"}},{\"id\":5,\"required\":0,\"data\":{\"type\":2,\"len\":70,\"value\":\"\"}}],\"link\":{\"url\":\"https://ad-log.dable.io/services/fnnews.com/users/82686928.1559188280624/campaigns/YW1wRO4kxtGz/contents/MwLvJ7Lvof6Q/click_redirect?q=%2BQA\"},\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://ad-log.dable.io/services/fnnews.com/users/82686928.1559188280624/campaigns/YW1wRO4kxtGz/contents/MwLvJ7Lvof6Q/request?q=CUAXyAA&bid_id=${AUCTION_BID_ID}&ad_id${AUCTION_AD_ID}&win_price=${AUCTION_PRICE}&win_currency=${AUCTION_CURRENCY}\"},{\"event\":2,\"method\":1,\"url\":\"https://ad-log.dable.io/services/fnnews.com/users/82686928.1559188280624/campaigns/YW1wRO4kxtGz/contents/MwLvJ7Lvof6Q/expose?q=%2BQA\"}],\"ext\":{\"is_native\":0,\"method\":\"3.1.0\",\"ad_mark\":\"라운즈\"}}}",
"iurl": "https://images.dable.io/ad/thumbnails/MwLvJ7Lvof6Q_1x_1559173314",
"cid": "YW1wRO4kxtGz",
"crid": "MwLvJ7Lvof6Q",
"cat": [],
"attr": [],
"h": 125,
"w": 200,
"ext": {}
}, {
"id": "L7jjlJz9mSkEq5A",
"impid": "2",
"price": 545.406110265,
"adid": "E8YY7xpRpil90jp",
"adomain": ["www.seojung.com", "seojung.com"],
"adm": "{\"native\":{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":56,\"text\":\"150엄마 딸은 170으로 키운 사례\"}},{\"id\":2,\"required\":0,\"img\":{\"url\":\"https://images.dable.io/ad/thumbnails/YW3JrWj67tAY_1x_1559173399\",\"w\":200,\"h\":125,\"ext\":{\"type\":1}}},{\"id\":3,\"required\":0,\"img\":{\"url\":\"https://images.dable.io/ad/thumbnails/YW3JrWj67tAY_1x_1559173399\",\"w\":200,\"h\":125,\"ext\":{\"type\":3}}},{\"id\":4,\"required\":1,\"data\":{\"ext\":{\"type\":1},\"len\":25,\"value\":\"서정한의원\"}},{\"id\":5,\"required\":0,\"data\":{\"ext\":{\"type\":2},\"len\":70,\"value\":\"키는 시기를 놓치면 다시는 되돌릴 수 없어 적절한 관리와 치료를 받는 것이 최선의 방법. 현명한 엄마들의 키성장법을 알아본다.\"}}],\"link\":{\"url\":\"https://ad-log.dable.io/services/news.joins.com/users/82686928.1559188280624/campaigns/Gv3kz2Qz4swZ/contents/YW3JrWj67tAY/click_redirect?q=QABfIA\"},\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://ad-log.dable.io/services/news.joins.com/users/82686928.1559188280624/campaigns/Gv3kz2Qz4swZ/contents/YW3JrWj67tAY/request?q=HQQABfIA&bid_id=${AUCTION_BID_ID}&ad_id=${AUCTION_AD_ID}&win_price=${AUCTION_PRICE}&win_currency=${AUCTION_CURRENCY}\"},{\"event\":2,\"method\":1,\"url\":\"https://ad-log.dable.io/services/news.joins.com/users/82686928.1559188280624/campaigns/Gv3kz2Qz4swZ/contents/YW3JrWj67tAY/expose?q=ABfIA\"}],\"ext\":{\"is_native\":0,\"method\":\"3.1.0\",\"ad_mark\":\"서정한의원\"}}}",
"iurl": "https://images.dable.io/ad/thumbnails/YW3JrWj67tAY_1x_1559173399",
"cid": "Gv3kz2Qz4swZ",
"crid": "YW3JrWj67tAY",
"cat": [],
"attr": [],
"h": 125,
"w": 200,
"ext": {}
}, {
"id": "WLxxzq06yh6Axno",
"impid": "3",
"price": 608.3371700311,
"adid": "6XDD79N8pUPxqVP",
"adomain": ["www.reborncar.co.kr", "reborncar.co.kr"],
"adm": "{\"native\":{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":56,\"text\":\"신형쏘나타 살돈이면 그랜저IG가 낫지!\"}},{\"id\":2,\"required\":0,\"img\":{\"url\":\"https://images.dable.io/ad/thumbnails/0Yw9nvROJsQQ_1x_1559173247\",\"w\":200,\"h\":125,\"ext\":{\"type\":1}}},{\"id\":3,\"required\":0,\"img\":{\"url\":\"https://images.dable.io/ad/thumbnails/0Yw9nvROJsQQ_1x_1559173247\",\"w\":200,\"h\":125,\"ext\":{\"type\":3}}},{\"id\":4,\"required\":1,\"data\":{\"ext\":{\"type\":1},\"len\":25,\"value\":\"리본카\"}},{\"id\":5,\"required\":0,\"data\":{\"ext\":{\"type\":2},\"len\":70,\"value\":\"\"}}],\"link\":{\"url\":\"https://ad-log.dable.io/services/news.joins.com/users/82686928.1559188280624/campaigns/2xyollnqOINn/contents/0Yw9nvROJsQQ/click_redirect?q=BAAF8gA\"},\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://ad-log.dable.io/services/news.joins.com/users/82686928.1559188280624/campaigns/2xyollnqOINn/contents/0Yw9nvROJsQQ/request?q=1BAAF8gA&bid_id=${AUCTION_BID_ID}&ad_id${AUCTION_AD_ID}&win_price=${AUCTION_PRICE}&win_currency=${AUCTION_CURRENCY}\"},{\"event\":2,\"method\":1,\"url\":\"https://ad-log.dable.io/services/news.joins.com/users/82686928.1559188280624/campaigns/2xyollnqOINn/contents/0Yw9nvROJsQQ/expose?q=AAF8gA\"}],\"ext\":{\"is_native\":0,\"method\":\"3.1.0\",\"ad_mark\":\"리본카\"}}}",
"iurl": "https://images.dable.io/ad/thumbnails/0Yw9nvROJsQQ_1x_1559173247",
"cid": "2xyollnqOINn",
"crid": "0Yw9nvROJsQQ",
"cat": [],
"attr": [],
"h": 125,
"w": 200,
"ext": {}
}],
"seat": "dable",
"group": 0
}]
}

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors