Moments API
The Moments API allows publishers to easily integrate Offers within their app or website using any language that supports the ability to make RESTful calls.
The typical flow to generate and serve Offers is as follows:
- Make a Fetch Offers API call to MomentScience to retrieve Offers
- Parse the response and display Offers in the desired fashion
- Ensure that beacon URLs fire on sequence and Offer impression loads.
ο»Ώ
Method: POST Base URL: https://api.adspostx.com/native/v2/offers.json
Parameter | Description | Type | Example |
---|---|---|---|
Content-Type requiredο»Ώ | Should be application/json | string | application/json |
Parameter | Description | Type | Example |
---|---|---|---|
api_key requiredο»Ώ | Your API Key. Obtain your API Keyο»Ώ Required Permission: Ads/Offers | string | 4bbdefc2-b130-424d-8170-54bdcb98e64e |
loyaltyboost optional | Include LoyaltyBoost offers in response; Values: 0 = None 1 = True 2 = Only | string | 0|1|2 |
creative optional | Returns Offers with at least one creative (image) if set to true. | string | 0|1 |
Parameter | Description | Type | Example |
---|---|---|---|
ua recommendedο»Ώ | The User-Agent of the end-user required for proper targeting. If proxying requests via a server call, be sure to pass through the User-Agent of the end-user. | string | Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.43 Mobile Safari/537.36 |
ip recommendedο»Ώ | IP address of the end user to be passed through. Used for targeting. | string | ο»Ώ |
adpx_fp recommendedο»Ώ | A unique identifier for the end user; Not required but highly recommended. More information can be found below. | string | ο»Ώ |
dev optional | Returns a test response. Ignores geo restrictions. No activity is recorded. | string | 0|1 |
<string> optional | Custom Key-Value payload attributes. You can add any number of custom key-value payload attributes to the payload that you want to use to add additional details. All payload attributes are passed back on conversion reports and can be reported on in relation to impression and clicks. | string | membershipID: "A45GRE987343PKD" |
The adpx_fp attribute in the body of the Fetch Offers call is a special parameter that aids in overall Offer performance. It should be populated with a unique end-user identifier as an alpha-numeric string. MomentScience uses the adpx_fp value to frequency cap Offers on a unique user basis as well as exclude Offers from showing again when a user opts-out for a certain Offer.
Note that the number of Offers is controlled by the Configuration Settings in your publisher dashboard. Log into your dashboard, click on Settings -> Configuration from the side menu and then select the number of Offers you would like to have returned.
Upon a successful response from the Fetch Offers API request, the body of the reponse will include a data object that contains an array of objects that can be used to construct your Offers.
Upon making an API call, the following attributes are returned in the response to construct your Offers with.
offers array of offer objects
Contains the copy, creatives, and resources to construct each Offer. Each offer object has the following attributes:
count integer
Number of Offers returned from the call.
privacy_url URL recommended to implementο»Ώ
URL to MomentScience's current end-user privacy policy page.
Upon a successful response from the Fetch Offer's API request, generate Offers using the Offer fragments provided for each returned Offer.
Remember to implement impression tracking using the pixel attribute for each displayed Offer. A successful GET call to the Pixel URL is required to successfully record delivery on the MomentScience Dashboard.
This allows MomentScience to:
- Accurately calculate and present performance statistics such as click-through rate (CTR), eCPM and other metrics.
- Use performance data to optimize Offer delivery on future traffic.
- Generate and display first Offer using the fragments of the Offer returned in the response.
- Implement the Impression Beacon URL (pixel) for the first Offer
- If user engages with the negative call-to-action, implement the Negative CTA Beacon URL (no_thanks_click)
- Render the second Offer (and implement the Impression Beacon URL for this Offer)
- Continue through the sequence based on user engagement
When retrieving Offer, we provide aΒ creativesΒ attribute with each returned Offer, which lists creatives available for use in your Offers.
Included with each creative is an is_primary boolean attribute. You can use any of the creatives available depending on the platform you are rendering or default to theΒ primary creative if you are unsure.
The Moments API also supports on-the-fly image transformations: by simply adding the query parameter "width=XXX" into the image url (replace XXX with a suitable integer value for width, depending on the device resolution). The query parameters "height=XXX" or "?aspect_ratio=X:Y" are also available as on-the-fly image processing directives on images.
We also provide an aspect_ratio attribute for each creative which can be helpful in selecting an image for the Offer.
An aspect_ratio with:
- a value of 1 = square image
- a value < 1 signifies generally portrait
- a value > 1 signifies generally landscape
In addition to tracking impressions, the Offers response also provides a beacons object, containing the tracking URLs for events no_thanks_click (to be fired when user clicks the Negative CTA element) and close (to be fired when user closes the Offer container or when the user has browsed through all the available Offers).
We recommend you go through our Moments API integration checklistο»Ώ to ensure that you have not missed any integration steps. This will help you gain the full advantage of the features provided by MomentScience.
π’ If you're running into any issues while going through the integration process, feel free to contact us at [email protected]