RTB API

Using merchenta.io for real-time bidding

Third party adtag campaign 

This example shows how to reference a third party ad server. Although merchenta.io provides fully-inclusive, globally replicated ad serving capability across all media types, you can - if you wish - serve ads from a 3rd party ad server. This example shows how to do this, with a HTML5 rich media ad.

Please note that all ad creatives (including 3rd party ad tags) are required to be non-rotating and reviewed for creative standards compliance by our creative approvals team prior to launch.

Generate authentication token 

/v3/oauth/accessToken?username={username}&password={password}&advertiser={advertiser}
  • Parameters
  • username
    string (required) Example: username

    username

    password
    string (required) Example: password

    password

    advertiser
    string (required) Example: MERCHENTA

    advertiser code

  • Curl
  • Copy
    curl -i \ -X GET \ https://sandbox.rtbapi.io/v3/oauth/accessToken?username=username&password=password&advertiser=MERCHENTA
  • Response  200
  • Headers
    Content-Type: application/json
    Example body
    {
            "status": "success",
            "data": {
                "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZHYiOiJNRVJDSEVOVEEiLCJleHAiOiIyMDE0LTEwLTA3VDEwOjIwOjEyLjQ4OSIsInJsbSI6IkFETUlOIiwidXNyIjoidGVzdEBtZXJjaGVudGEuY29tIiwiaWF0IjoiMjAxNC0xMC0wN1QwOToyMDoxMi40NTAifQ.7fb8007c49abb7e083f4aca024512ef3c9d32ea1ab0502d2603f4c2c92545b80"
            }
        }

Create HTML5 ad campaign 

/v3/campaigns/{ADVERTISER_CODE}-html-link

Creating a display campaign using 3rd party adtag which serves an HTML5 ad :

  • transparent inventory
  • daily budget $100
  • all placement location - ATF/BTF/UNKNOWN
  • contextual categories
    • Music (110005)
    • Health & Fitness (117700)
  • Curl
  • Copy
    curl -i \ -X PUT \ -H 'Authorization: Bearer {YOUR_TOKEN_HERE}' \ -H 'Content-Type: application/json' \ -d '{ "creatives":[ { "code":"{ADVERTISER_CODE}-html-link-1", "creativeId":"https://ad-emea.doubleclick.net/adi/N378.275220.MYBESTOPTION.IT4/B8041240.28;dcadv=2196503;sz=300x250", "dimensions":{ "width":300, "height":250 }, "clickthroughUrl":"http://merchenta.com", "type":"HTML-URL" } ], "inventorySettings":{ "inventoryType":"TRANSPARENT", "placementType":[ "ATF", "BTF", "UNKNOWN" ], "exchangeBlockList": ["GD", "BS"] }, "biddingSettings":{ "frequencyCap" : 12, "biddingStrategy":{ "strategy":"CPMCappedBiddingStrategy", "maxBid":2 }, "budget":{ "daily":100 }, "pacingType":"ACCELERATED" }, "targetingSettings" : { "contextualSettings" : { "iabCategories" : [110005, 117700] } } }' \ https://sandbox.rtbapi.io/v3/campaigns/{ADVERTISER_CODE}-html-link
  • Request
  • Headers
    Authorization: Bearer {YOUR_TOKEN_HERE}
    Content-Type: application/json
    Example body
    {
        "creatives":[
            {
                "code":"{ADVERTISER_CODE}-html-link-1",
                "creativeId":"https://ad-emea.doubleclick.net/adi/N378.275220.MYBESTOPTION.IT4/B8041240.28;dcadv=2196503;sz=300x250",
                "dimensions":{
                    "width":300,
                    "height":250
                },
                "clickthroughUrl":"http://merchenta.com",
                "type":"HTML-URL"
            }
        ],
        "inventorySettings":{
            "inventoryType":"TRANSPARENT",
            "placementType":[
                "ATF",
                "BTF",
                "UNKNOWN"
            ],
            "exchangeBlockList": ["GD", "BS"]
        },
        "biddingSettings":{
            "frequencyCap" : 12,
            "biddingStrategy":{
                "strategy":"CPMCappedBiddingStrategy",
                "maxBid":2
            },
            "budget":{
                "daily":100
            },
            "pacingType":"ACCELERATED"
        },
        "targetingSettings" : {
            "contextualSettings" : {
                "iabCategories" : [110005, 117700]
            }
        }
    }
  • Response  200
  • Headers
    Content-Type: application/json
    Example body
    {
            "status": "success"
        }
Next page  Previous page