Offers
Fetch Offers
/v1/networks/offerstable
This is the main endpoint to extract a list of offers from the API. It’s possible to filter the offers returned by this endpoint using 2 different methods (which can be combined) :
- Search Terms : equivalent to a text search (e.g. find offers with a name that contains the word “phone”)
- Query Filters : structured filters on predefined fields (e.g. find offers that target the
Android
platform)
Paging
This endpoint supports paging. Refer to our User Guide for usage.
Body Params
This is a text search on the name or advertiser of the offer
The name of the field used for search. Can be one of the following values: name
, encoded_value
or advertiser_name
. The value name
will also allow searching by ID. The encoded_value
will only work with an exact match and will not detect partial matches.
The value to search.
Structured filters
ID of the advertiser associated with the offer.
ID of the offer group associated with the offer.
ID of the category type associated with the offer.
Status of the offers. Can be one of the following values: active
, paused
, pending
or deleted
.
Visibility type associated with the offer. From the following values: public
, require_approval
or private
.
Only include offers matching the specified labels.
Filter offers based on the specified business units.
Only include offers managed by the specified account managers.
Only include offers managed by the specified sales managers.
Only include offers running traffic on the specified tracking domains.
ID of the channels associated with the offer.
Filter offers based on the specified revenue type.
Filter offers based on the specified payout type.
ID of the country
ID of the platform
ID of the device types
Relationships
This endpoint supports the following additional relationships. Refer to our User Guide for usage.
Value | Description |
---|---|
visibility | Includes the offer’s visibility information |
ruleset | Includes the offer’s targeting ruleset |
tracking_domain | Includes the offer’s tracking domain |
urls | Includes the offer URLs |
affiliate_tier | Includes which affiliate tiers are involved |
account_manager | Includes the offer’s account manager’s information |
sales_manager | Includes the offer’s sale manager’s information |
Examples
The following examples are different variations of what you can pass as a payload in the following call :
cURL
curl --request POST 'https://api.eflow.team/v1/networks/offerstable' \
--header 'X-Eflow-API-Key: <INSERT API KEY>' \
--header 'Content-Type: application/json' \
--data '<INSERT PAYLOAD>'
Example 1 : Fetch the active offers
{
"filters": {
"offer_status": "active"
}
}
To fetch, for example, the second page of 50 active offers and include the targeting information, you would run the following call :
curl --request POST 'https://api.eflow.team/v1/networks/offerstable?page=2&page_size=50&relationship=ruleset' \
--header 'X-Eflow-API-Key: <INSERT API KEY>' \
--header 'Content-Type: application/json' \
--data '{
"filters": {
"offer_status": "active"
}
}'
Example 2 : Fetch private CPA offers with a name that contains the word “Free”
{
"filters": {
"payout_types": [
"cpa"
],
"visibilities": [
"private"
]
},
"search_terms": [
{
"search_type": "name",
"value": "Free"
}
]
}
Example 3: Fetch active offers that target phones and tablets. Note that this will include offers that target all devices (and not specifically phones or tablets)
{
"filters": {
"offer_status": "active",
"device_type_ids": [
2,
3
]
},
"search_terms": []
}
Response
{
"offers": [
{
"network_offer_id": 2,
"network_id": 1,
"network_advertiser_id": 13,
"name": "Game Auto",
"offer_status": "active",
"thumbnail_url": "",
"visibility": "public",
"network_advertiser_name": "Kaori Thompson Inc.",
"category": "Finance",
"network_offer_group_id": 2,
"time_created": 1623683450,
"time_saved": 1623706863,
"payout": "CPA: $0.800",
"revenue": "RPA: $1.000",
"today_revenue": "$0.00",
"daily_conversion_cap": 25,
"weekly_conversion_cap": 0,
"monthly_conversion_cap": 50,
"global_conversion_cap": 100,
"daily_payout_cap": 0,
"weekly_payout_cap": 0,
"monthly_payout_cap": 0,
"global_payout_cap": 0,
"daily_revenue_cap": 0,
"weekly_revenue_cap": 0,
"monthly_revenue_cap": 0,
"global_revenue_cap": 0,
"daily_click_cap": 0,
"weekly_click_cap": 0,
"monthly_click_cap": 0,
"global_click_cap": 0,
"destination_url": "http://landing-page.com?aid={affiliate_id}&oid={offer_id}&tid={transaction_id}",
"encoded_value": "3QQG7",
"labels": null,
"today_clicks": 0,
"is_force_terms_and_conditions": false,
"project_id": "",
"channels": null,
"relationship": {
"remaining_caps": {
"remaining_daily_payout_cap": -1000,
"remaining_daily_revenue_cap": -1000,
"remaining_daily_conversion_cap": 25,
"remaining_daily_click_cap": -1000,
"remaining_weekly_payout_cap": -1000,
"remaining_weekly_revenue_cap": -1000,
"remaining_weekly_conversion_cap": -1000,
"remaining_weekly_click_cap": -1000,
"remaining_monthly_payout_cap": -1000,
"remaining_monthly_revenue_cap": -1000,
"remaining_monthly_conversion_cap": 50,
"remaining_monthly_click_cap": -1000,
"remaining_global_payout_cap": -1000,
"remaining_global_revenue_cap": -1000,
"remaining_global_conversion_cap": 100,
"remaining_global_click_cap": -1000
},
"ruleset": {
"network_id": 1,
"network_ruleset_id": 70,
"time_created": 1623694632,
"time_saved": 1623694795,
"platforms": [],
"device_types": [],
"os_versions": [],
"browsers": [],
"languages": [],
"countries": [],
"regions": [],
"cities": [],
"dmas": [],
"mobile_carriers": [],
"connection_types": [],
"ips": [],
"is_block_proxy": false,
"is_use_day_parting": false,
"day_parting_apply_to": "null_value",
"day_parting_timezone_id": 0,
"days_parting": [],
"isps": [],
"brands": [],
"postal_codes": [
{
"network_id": 1,
"network_targeting_postal_code_id": 2,
"postal_code": "90210",
"label": "90210",
"targeting_type": "include",
"match_type": "exact"
},
{
"network_id": 1,
"network_targeting_postal_code_id": 3,
"postal_code": "90211",
"label": "90211",
"targeting_type": "include",
"match_type": "exact"
}
]
}
},
"optimized_thumbnail_url": "",
"currency_id": "USD",
"revenue_amount": 1,
"payout_amount": 0.8,
"today_revenue_amount": 0,
"today_payout_amount": 0,
"payout_type": "cpa",
"revenue_type": "rpa"
}
]
}
Find By ID
/v1/networks/offers/:offerId
This endpoint allows you fetch the details of a single offer.
Path Parameters
Parameter | Description |
---|---|
offerId | The ID of the offer you want to fetch |
Relationships
This endpoint supports the following additional relationships. Refer to our User Guide for usage.
Value | Description |
---|---|
advertiser | Includes the offer’s advertiser |
offer_group | Includes the offer’s offer group, if applicable |
visibility | Includes the offer’s visibility information |
payout_revenue | Includes the offer’s payout revenue information |
custom_cap_settings | Includes the offer’s cap settings |
custom_scrub_rate_settings | Includes the offer’s throttle rate settings |
custom_payout_revenue_settings | Includes the offer’s revenue & payout settings |
custom_creative_settings | Includes the offer’s creative settings |
redirects | Includes the offer’s redirects information |
traffic_filters | Includes the traffic filters information |
targeting | Includes the offer’s targeting information |
files | Includes the offer’s files information |
audits | Includes the offer’s audits information |
source_name | Includes the source name information |
urls | Includes the urls information |
integrations | Includes the offer’s integrations information |
campaigns | Includes the offer’s campaigns information |
advertiser_global_events | Includes the advertiser’s global events information |
offer_email | Includes the offer’s email information |
offer_email_optout | Includes the offer’s email opt-out information |
reporting | Includes the offer’s reporting for today |
Request Example
cURL
curl --request GET 'https://api.eflow.team/v1/networks/offers/1' \
--header 'X-Eflow-API-Key: <INSERT API KEY>'
Response
{
"network_offer_id": 1,
"network_id": 1,
"network_advertiser_id": 13,
"network_offer_group_id": 3,
"name": "Offer Example",
"thumbnail_url": "",
"network_category_id": 1,
"internal_notes": "",
"destination_url": "http://everflowclient.io/test.php?aid={affiliate_id}&oid={offer_id}&tid={transaction_id}",
"server_side_url": "",
"is_view_through_enabled": false,
"view_through_destination_url": "",
"preview_url": "",
"offer_status": "active",
"currency_id": "USD",
"caps_timezone_id": 0,
"project_id": "",
"date_live_until": "",
"html_description": "",
"is_using_explicit_terms_and_conditions": false,
"terms_and_conditions": "",
"is_force_terms_and_conditions": false,
"is_caps_enabled": false,
"daily_conversion_cap": 0,
"weekly_conversion_cap": 0,
"monthly_conversion_cap": 0,
"global_conversion_cap": 0,
"daily_payout_cap": 0,
"weekly_payout_cap": 0,
"monthly_payout_cap": 0,
"global_payout_cap": 0,
"daily_revenue_cap": 0,
"weekly_revenue_cap": 0,
"monthly_revenue_cap": 0,
"global_revenue_cap": 0,
"daily_click_cap": 0,
"weekly_click_cap": 0,
"monthly_click_cap": 0,
"global_click_cap": 0,
"redirect_mode": "standard",
"is_using_suppression_list": false,
"suppression_list_id": 0,
"is_must_approve_conversion": false,
"is_allow_duplicate_conversion": true,
"is_duplicate_filter_enabled": false,
"duplicate_filter_targeting_action": "unknown",
"network_tracking_domain_id": 1,
"is_use_secure_link": false,
"is_seo_friendly": false,
"is_allow_deep_link": false,
"is_session_tracking_enabled": false,
"session_tracking_start_on": "null_value",
"session_tracking_lifespan_hour": 0,
"session_tracking_minimum_lifespan_second": 0,
"is_view_through_session_tracking_enabled": false,
"view_through_session_tracking_lifespan_minute": 0,
"view_through_session_tracking_minimal_lifespan_second": 0,
"is_block_already_converted": false,
"already_converted_action": "unknown",
"is_fail_traffic_enabled": false,
"redirect_routing_method": "internal",
"redirect_internal_routing_type": "priority",
"visibility": "public",
"time_created": 1594391076,
"time_saved": 1594391076,
"conversion_method": "server_postback",
"is_whitelist_check_enabled": false,
"is_use_scrub_rate": false,
"scrub_rate_status": "null_value",
"scrub_rate_percentage": 0,
"session_definition": "cookie",
"session_duration": 24,
"app_identifier": "",
"is_description_plain_text": false,
"is_use_direct_linking": false,
"is_email_attribution_enabled": false,
"is_email_attribution_window_enabled": true,
"email_attribution_window_minute": 1440,
"email_attribution_window_type": "dynamic",
"relationship": {
"category": {
"network_category_id": 1,
"network_id": 1,
"name": "Finance",
"status": "active",
"time_created": 1592409064,
"time_saved": 1592409064
},
"labels": {
"total": 0,
"entries": []
},
"payout_revenue": {
"total": 1,
"entries": [
{
"network_offer_payout_revenue_id": 1,
"network_id": 1,
"network_offer_id": 1,
"entry_name": "",
"payout_type": "cpa",
"payout_amount": 0.8,
"payout_percentage": 0,
"revenue_type": "rpa",
"revenue_amount": 1,
"revenue_percentage": 0,
"is_default": true,
"is_private": false,
"is_postback_disabled": false,
"is_enforce_caps": true,
"time_created": 1594391076,
"global_advertiser_event_id": 0,
"is_must_approve_conversion": false,
"is_allow_duplicate_conversion": true,
"is_email_attribution_default_event": false
}
]
},
"encoded_value": "2CTPL",
"is_locked_currency": false,
"channels": {
"total": 0,
"entries": []
},
"is_locked_caps_timezone": false,
"requirement_kpis": {
"total": 0,
"entries": []
},
"requirement_tracking_parameters": {
"total": 0,
"entries": []
}
}
}
Create
/v1/networks/offers
While it is possible to create offers using this endpoint, it’s important to note that because of the nature of the offer
object in Everflow, the payload that must be passed here is extremely complex. We unfortunately cannot possibly provide examples for all the configurations possible.
It is often much simpler to create a “template” offer manually in your Everflow account and then make use of the Copy endpoint and the Bulk Edit endpoint to change the properties that need to be updated.
Body Params
ID of the advertiser submitting the offer.
ID of the offer group associated with the offer.
Displayed name of the offer.
URL of the image thumbnail associated with the offer and visible to network and affiliates.
ID of the category type associated with the offer.
Notes on the offer for network employees. Not displayed to affiliates and advertisers.
URL of the final landing page associated with the offer, including additional macros if applicable.
Server-side URL that will be asynchronously fired by Everflow following a click.
Whether conversions can be generated from impressions (as opposed to being generated from clicks only).
URL of the final landing page associated with the offer when redirected from an impression (including additional macros if applicable). Only relevant if is_view_through_enabled
is true
.
URL of a preview of the offer landing page.
Status of the offer. Can be one of the following values: active
, paused
, pending
or deleted
.
Currency used to compute payouts, costs and revenues of the offer.
ID of the timezone used for the caps if it differs from the network’s default.
ID for the advertiser campaign or an Insertion Order.
Date until when the offer can be run. Events occurring past the end of the day at the timezone of the network will be rejected. Accepted format: “yyyy-MM-dd”.
Description of the offer for the affiliates. HTML code is accepted.
Whether the offer is using specific Terms and Conditions. When false
, defaults to the network’s general Terms and Conditions.
Text listing the specific Terms and Conditions of the offer. Required only if is_using_explicit_terms_and_conditions
is true
.
Whether the affiliates are required to accept the offer’s specific Terms and Conditions.
Whether caps are enabled. When false
, voids all types of caps and custom caps.
Limit to the number of unique conversions in one day.
Limit to the number of unique conversions in one week (Monday midnight to Sunday 23h59:59)
Limit to the number of unique conversions in one month.
Limit to the total number of unique conversion at the offer level.
Limit to the affiliate’s payout for one day.
Limit to the affiliate’s payout for a week (Monday midnight to Sunday 23h59:59)
Limit to the affiliate’s payout for one month.
Limit to the affiliate’s total payout at the offer level.
Limit to the network’s revenue for one day.
Limit to the network’s revenue for a week (Monday midnight to Sunday 23h59:59)
Limit to the network’s revenue for one month.
Limit to the network’s total revenue at the offer level.
Limit to the number of unique clicks in one day.
Limit to the number of unique clicks in a week (Monday midnight to Sunday 23h59:59).
Limit to the number of unique clicks in one month.
Limit to the total number of unique clicks at the offer level.
Setting used to obscure referrer URLs from advertisers. Can be one of the following values: standard
, single_meta_refresh
or double_meta_refresh
. Not recommended, this will cause click drop-off.
Whether a email suppression list is used for this offer.
ID of the suppression list associated with the offer.
Whether duplicate clicks are filtered and acted upon, according to the offer’s duplicate_filter_targeting_action
.
Action that should be taken when a duplicate click is encountered. Ignored if is_duplicate_filter_enabled
is false
. Can be either block
or fail_traffic
.
ID of the tracking domain hit by clicks belonging to the offer.
Whether tracking links use the more secure https://
instead of http://
. Please validate with your account manager that SSL is enabled before using the offer level setting.
Whether affiliates can send their traffic to target URLs by adding &url=[target URL]
to their tracking links, instead of the offer’s destination URL.
Whether affiliate’s conversions and payouts get automatically blocked based on a minimum and maximum time from the click to the associated conversion.
Maximum interval of time between the click event and a valid conversion or event. Required only if is_session_tracking_enabled
is true
.
Minimum interval of time between the click event and a valid conversion or event. Required only if is_session_tracking_enabled
is true
.
Whether affiliate’s conversions and payouts get automatically blocked based on a minimum and maximum time from the impression to the associated conversion. Only relevant if is_view_through_enabled
is true
.
Maximum interval of time between the impression event and a valid conversion or event. Required only if is_session_tracking_enabled
is true
.
Minimum interval of time between the impression event and a valid conversion or event. Required only if is_session_tracking_enabled
is true
.
Whether clicks from users who have already converted on this offer are acted upon according to the offer’s already_converted_action
.
Action that should be taken when a click from a user who has already converted on this offer is encountered. Ignored if is_block_already_converted
is false
.
Can be either block
or fail_traffic
.
Setting for the offer’s visibility for affiliates. Can be one of the following values: public
, require_approval
or private
.
[Learn More]
Method used by the Advertiser to fire tracking data to Everflow.
Can be one of the following values: http_image_pixel
, https_image_pixel
, server_postback
, cookie_based
, http_iframe_pixel
, https_iframe_pixel
or javascript
.
Whether a check is made to ensure conversion postback origin from the advertiser. [Learn More]
Whether a predefined percentage of conversion get arbitrarily rejected. Required only if is_must_approve_conversion
is true
. This mechanism prevents that an excessive number of conversion gets approved.
Status to apply to conversions affected by throttling. Required only if is_use_scrub_rate
is true
. Can be either rejected
or pending
.
Percentage of conversions to be automatically throttled. Required only if is_use_scrub_rate
is true
.
Method used for determining whether a click is unique. Can be one of the following values: cookie
, ip
, ip_user_agent
, google_ad_id
or idfa
.
[Learn More]
Duration (in hours) of the active session used to match a click to a conversion.
Bundle ID for iOS / Android Apps
Whether the description of the offer should be interpreted as plain text.
Whether the offer is using Direct Linking.
Optional advertiser campaign name
Name of the creative.
Type of the creative. Can be one of the following values: image
, html
, thumbnail
, email
, archive
, video
or text
.
Whether the creative is accessible by all affiliates.
Status of the creative. Can be either active
or deleted
.
HTML content of the creative. Required only if creative_type
is html
or email
.
Width of the creative. Required only if creative_type
is html
.
Height of the creative. Required only if creative_type
is html
.
Content of the From
field of the email. Required only if creative_type
is email
.
Content of the Subject
field of the email. Required only if creative_type
is email
.
Content of the creative. Should only be included if creative_type
is image
, thumbnail
, archive
or video
.
Temporary URL of the file, obtained by uploading the file through the API.
Name of the file.
List of files attached to the creative. Should only be included if creative_type
is html
or email
.
Temporary URL of the file, obtained by uploading the file through the API.
Name of the file, which will be the used to generate the file macro. For example, Example File Name
will give the macro {{example_file_name}}
.
Whether the invalid clicks will be redirected to another offer.
Control how fail traffic is handled. For now, the only value allowed is internal
. Only relevant if is_fail_traffic_enabled
is true
.
Redirect mechanism that determines how the fail traffic is distributed between listed offers. Can be one of the following values: priority
, weight
, priority_global
or weight_global
. Only relevant if is_fail_traffic_enabled
is true
.
Should only be included if is_fail_traffic_enabled
is true
.
ID of the offer where to redirect the traffic. One and only one of redirect_network_offer_id
, redirect_network_offer_group_id
, redirect_network_campaign_id
or is_pass_through
must be provided.
ID of the offer URL where to redirect the traffic. Required only if redirect_network_offer_id
is provided. Use value 0
for the default offer URL.
ID of the offer group where to redirect the traffic. One and only one of redirect_network_offer_id
, redirect_network_offer_group_id
, redirect_network_campaign_id
or is_pass_through
must be provided.
ID of the smartlink where to redirect the traffic. One and only one of redirect_network_offer_id
, redirect_network_offer_group_id
, redirect_network_campaign_id
or is_pass_through
must be provided.
The value use to determine priority or weight of the redirect.
If redirect_internal_routing_type
is priority
or priority_global
, the routing value is the order in which the redirects are evaluated, starting with 1 and going up.
If redirect_internal_routing_type
is weight
or weight_global
, the routing value is the weight of the redirect proportional to the total weights of the redirects. For example, with two redirects of weight 1 and 2 respectively, the first will receive 33% of the redirected traffic, and the second 66%.
Additional targeting rules for determining when the fail traffic rule is used. See the ruleset object.
Additional requirements for redirect to receive the fail traffic. It has to reach the redirect in the priority/weight queue, and the reason for the invalid traffic also needs to match one of the selected categories, in order for that redirect to receive the traffic.
Can be one of the following values: traffic_filter
, traffic_control
, already_converted
, offer_expired
, geotargeting
, caps
or other
.
Whether the affiliate will receive the payout if traffic is sent to the redirect. Both is_pay_affiliate
and is_pass_through
cannot be true
.
Whether the fail traffic should be sent to the destination URL of the offer. One and only one of redirect_network_offer_id
, redirect_network_offer_group_id
, redirect_network_campaign_id
or is_pass_through
must be provided. Both is_pay_affiliate
and is_pass_through
cannot be true
.
Whether the redirect applies for the affiliates specified by network_affiliate_ids
or for all affiliates.
IDs of the affiliates for which this redirect applies. Only required if is_apply_specific_affiliates
is true
.
List of rules for the that determine what traffic is allowed / block at the offer level. See the ruleset object.
Parameter on which to filter traffic. Can be one of the following values: sub1
, sub2
, sub3
, sub4
, sub5
, source_id
, user_agent
, referer
, idfa
, google_advertiser_id
, http_accept_language
or creative_id
.
Setting determining how the values are matched.
Can be one of the following values: exact
, minimum
, maximum
, contains
, starts_with
, range
, ends_with
, blank
, does_not_match
or does_not_contain
.
Value of the selected parameter to evaluate.
Action to be taken if the incoming parameter value matches the provided value
and match_type
. Can be either block
of fail_traffic
.
Whether approved Subject
and From
lines for emails are used.
Approved Subject
lines for emails. Only relevant if is_enabled
is true
.
Approved From
lines for emails. Only relevant if is_enabled
is true
.
Whether approved Subject
and From
lines for emails are used.
URL of the link to the suppression files.
URL of the link to unsubscribe.
Labels are use for organizing offers by private internal keywords.
Names of the source.
Name for the base conversion. Defaults as Base
.
Types of payout. Can be one of the following values: cpc
, cpa
, cpm
, cps
, cpa_cps
or prv
.
Amount of the payout. Not required if payout_type
is cps
or prv
.
Percentage of the payout. Only required if payout_type
is cps
, cpa_cps
or prv
.
Types of revenue. Can be one of the following values: rpc
, rpa
, rpm
, rps
or rpa_rps
.
Amount of the revenue. Not required if revenue_type
is rps
.
Percentage of the revenue. Only required if revenue_type
is rps
or rpa_rps
.
Must be set to true
for the base conversion.
Must be set to false
for the base conversion.
Enabling will prevent the partners postback from being fired on the successful initial conversion. Enabling this feature is useful whenever the base conversion is not tied to a payable action.
ID of the global advertiser event.
Enabling will hide all conversions from partners and won’t fire their postbacks. These conversions may be viewed under Reporting > Conversions and Status : ‘Pending’.
Enabling allows partners to deliver multiple ‘Approved’ conversions from the same Transaction ID. If disabled, those conversions are rejected and not payable to partners.
Temporary URL of the file, obtained by uploading the file through the API.
Name of the file
ID of the Optizmo Optout List.
ID of the tracker.
Threshold for clicks above which the action
will occur. One of click_threshold
or conversion_threshold
must be above 0.
Action to take for clicks that fail to meet the click threshold. Can be one of the following values: block
or fail_traffic
.
Threshold for conversions above which the conversion_status
will be applied. One of click_threshold
or conversion_threshold
must be above 0.
Status to apply to conversions that fail to meet the conversion threshold. Can be one of the following values: pending
or rejected
.
Whether the ezepo integration is enabled for the offer.
Whether the anura integration is enabled for the offer.
Whether the invoca integration is enabled for the offer.
ID of the channel.
KPI threshold required by traffic provider.
Tracking parameter required by traffic provider.
Value of the tracking parameter required by traffic provider.
Can be one of the following values: first_affiliate_attribution
or first_affiliate_attribution
.
Can be one of the following values: first_touch
or last_touch
.
Response Example
{
"network_offer_id": 1,
"network_id": 1,
"network_advertiser_id": 13,
"network_offer_group_id": 5,
"name": "Offer Example",
"thumbnail_url": "",
"network_category_id": 1,
"internal_notes": "",
"destination_url": "http://everflowclient.io/test.php?aid={affiliate_id}&oid={offer_id}&tid={transaction_id}",
"server_side_url": "",
"is_view_through_enabled": false,
"view_through_destination_url": "",
"preview_url": "",
"offer_status": "active",
"currency_id": "USD",
"caps_timezone_id": 0,
"project_id": "",
"date_live_until": "",
"html_description": "",
"is_using_explicit_terms_and_conditions": false,
"terms_and_conditions": "",
"is_force_terms_and_conditions": false,
"is_caps_enabled": false,
"daily_conversion_cap": 0,
"weekly_conversion_cap": 0,
"monthly_conversion_cap": 0,
"global_conversion_cap": 0,
"daily_payout_cap": 0,
"weekly_payout_cap": 0,
"monthly_payout_cap": 0,
"global_payout_cap": 0,
"daily_revenue_cap": 0,
"weekly_revenue_cap": 0,
"monthly_revenue_cap": 0,
"global_revenue_cap": 0,
"daily_click_cap": 0,
"weekly_click_cap": 0,
"monthly_click_cap": 0,
"global_click_cap": 0,
"redirect_mode": "standard",
"is_using_suppression_list": false,
"suppression_list_id": 0,
"is_must_approve_conversion": false,
"is_allow_duplicate_conversion": true,
"is_duplicate_filter_enabled": false,
"duplicate_filter_targeting_action": "unknown",
"network_tracking_domain_id": 1,
"is_use_secure_link": false,
"is_seo_friendly": false,
"is_allow_deep_link": false,
"is_session_tracking_enabled": false,
"session_tracking_start_on": "null_value",
"session_tracking_lifespan_hour": 0,
"session_tracking_minimum_lifespan_second": 0,
"is_view_through_session_tracking_enabled": false,
"view_through_session_tracking_lifespan_minute": 0,
"view_through_session_tracking_minimal_lifespan_second": 0,
"is_block_already_converted": false,
"already_converted_action": "unknown",
"is_fail_traffic_enabled": false,
"redirect_routing_method": "internal",
"redirect_internal_routing_type": "priority",
"visibility": "public",
"time_created": 1592409065,
"time_saved": 1592409065,
"conversion_method": "server_postback",
"is_whitelist_check_enabled": false,
"is_use_scrub_rate": false,
"scrub_rate_status": "null_value",
"scrub_rate_percentage": 0,
"session_definition": "cookie",
"session_duration": 24,
"app_identifier": "",
"is_description_plain_text": false,
"is_use_direct_linking": false,
"relationship": {
"category": {
"network_category_id": 1,
"network_id": 1,
"name": "Finance",
"status": "active",
"time_created": 1592409064,
"time_saved": 1592409064
},
"labels": {
"total": 0,
"entries": []
},
"payout_revenue": {
"total": 1,
"entries": [
{
"network_offer_payout_revenue_id": 1,
"network_id": 1,
"network_offer_id": 1,
"entry_name": "",
"payout_type": "cpa",
"payout_amount": 0.8,
"payout_percentage": 0,
"revenue_type": "rpa",
"revenue_amount": 1,
"revenue_percentage": 0,
"is_default": true,
"is_private": false,
"is_postback_disabled": false,
"is_enforce_caps": true,
"time_created": 1592409065,
"global_advertiser_event_id": 0,
"is_must_approve_conversion": false,
"is_allow_duplicate_conversion": true
}
]
},
"encoded_value": "2CTPL",
"is_locked_currency": false,
"channels": {
"total": 0,
"entries": []
},
"is_locked_caps_timezone": false,
"requirement_kpis": {
"total": 0,
"entries": []
},
"requirement_tracking_parameters": {
"total": 0,
"entries": []
}
}
}
Copy
/v1/networks/offers/:offerId/copy
This endpoint allows you to make a complete copy of an offer that already exists. The different options give you control over which additional settings should be copied along with the offer.
When successful, this endpoint returns the new offer copy.
Path Parameters
Parameter | Description |
---|---|
offerId | The ID of the offer you want to copy |
Query String Parameters
Parameter | Description |
---|---|
is_copy_custom_settings | Determines whether custom settings (custom payout & revenue, caps, throttle rate and landing page settings) will be copied along with the offer |
is_copy_creatives | Determines whether the creatives will be copied along with the offer. Custom creatives will also be copied along when this option is set to true |
is_copy_visibility | Determines whether affiliate visibility is copied along with the offer |
is_copy_additional_urls | Determines whether Offer URLs are copied along with the offer |
is_copy_forwarding_rules | Determines whether forwarding rules are copied along with the offer |
name | Determines the name of the copied offer. Note that this must be URL encoded since it is passed in the query string (eg Copied%20Offer%20--%20%5BCPA%5D%20Web%20Sale! for the name Copied Offer -- [CPA] Web Sale! ). If the name parameter is omitted entirely, the copied offer will be name <Old Offer Name> (Copy) |
Request Examples
curl --request GET 'https://api.eflow.team/v1/networks/offers/<offer_id>/copy' \
--header 'X-Eflow-API-Key: <INSERT API KEY>' \
https://api.eflow.team/v1/networks/offers/151/copy?is_copy_custom_settings=true&is_copy_visibility=true
is the same as hitting :
https://api.eflow.team/v1/networks/offers/151/copy?is_copy_custom_settings=true&is_copy_visibility=true&is_copy_additional_urls=false&is_copy_forwarding_rules=false&is_copy_creatives=false
In both cases, offer ID 151 will be copied, along with the following settings :
- Custom Payout & Revenue Settings
- Custom Cap Settings
- Custom Landing Pages
- Custom Throttle Rate Settings
- Offer Visibility
Creatives, Forwarding rules and Offer URLs would not be copied over in this example.
Update
/v1/networks/offers/:offerId
While it is possible to updates offers using this endpoint, it’s important to note that because of the nature of the offer
object in Everflow, the payload that must be passed here is extremely complex. Updating an offer via this endpoint requires you to pass the entire object
.
You must specify all the fields, not only the ones you wish to update. Omitting a field that is not marked as required will result in its default value being used or in the field getting deleted entirely.
The Bulk Edit endpoint documented below allows you to update only certain fields on an offer, which is much less error prone.
Path Parameters
Parameter | Description |
---|---|
offerId | The ID of the offer you want to update |
Body Params
ID of the advertiser submitting the offer.
ID of the offer group associated with the offer.
Displayed name of the offer.
URL of the image thumbnail associated with the offer and visible to network and affiliates.
ID of the category type associated with the offer.
Notes on the offer for network employees. Not displayed to affiliates and advertisers.
URL of the final landing page associated with the offer, including additional macros if applicable.
Server-side URL that will be asynchronously fired by Everflow following a click.
Whether conversions can be generated from impressions (as opposed to being generated from clicks only).
URL of the final landing page associated with the offer when redirected from an impression (including additional macros if applicable). Only relevant if is_view_through_enabled
is true
.
URL of a preview of the offer landing page.
Status of the offer. Can be one of the following values: active
, paused
, pending
or deleted
.
Currency used to compute payouts, costs and revenues of the offer.
ID of the timezone used for the caps if it differs from the network’s default.
ID for the advertiser campaign or an Insertion Order.
Date until when the offer can be run. Events occurring past the end of the day at the timezone of the network will be rejected. Accepted format: “yyyy-MM-dd”.
Description of the offer for the affiliates. HTML code is accepted.
Whether the offer is using specific Terms and Conditions. When false
, defaults to the network’s general Terms and Conditions.
Text listing the specific Terms and Conditions of the offer. Required only if is_using_explicit_terms_and_conditions
is true
.
Whether the affiliates are required to accept the offer’s specific Terms and Conditions.
Whether caps are enabled. When false
, voids all types of caps and custom caps.
Limit to the number of unique conversions in one day.
Limit to the number of unique conversions in one week (Monday midnight to Sunday 23h59:59)
Limit to the number of unique conversions in one month.
Limit to the total number of unique conversion at the offer level.
Limit to the affiliate’s payout for one day.
Limit to the affiliate’s payout for a week (Monday midnight to Sunday 23h59:59)
Limit to the affiliate’s payout for one month.
Limit to the affiliate’s total payout at the offer level.
Limit to the network’s revenue for one day.
Limit to the network’s revenue for a week (Monday midnight to Sunday 23h59:59)
Limit to the network’s revenue for one month.
Limit to the network’s total revenue at the offer level.
Limit to the number of unique clicks in one day.
Limit to the number of unique clicks in a week (Monday midnight to Sunday 23h59:59).
Limit to the number of unique clicks in one month.
Limit to the total number of unique clicks at the offer level.
Setting used to obscure referrer URLs from advertisers. Can be one of the following values: standard
, single_meta_refresh
or double_meta_refresh
. Not recommended, this will cause click drop-off.
Whether a email suppression list is used for this offer.
ID of the suppression list associated with the offer.
Whether duplicate clicks are filtered and acted upon, according to the offer’s duplicate_filter_targeting_action
.
Action that should be taken when a duplicate click is encountered. Ignored if is_duplicate_filter_enabled
is false
. Can be either block
or fail_traffic
.
ID of the tracking domain hit by clicks belonging to the offer.
Whether tracking links use the more secure https://
instead of http://
. Please validate with your account manager that SSL is enabled before using the offer level setting.
Whether affiliates can send their traffic to target URLs by adding &url=[target URL]
to their tracking links, instead of the offer’s destination URL.
Whether affiliate’s conversions and payouts get automatically blocked based on a minimum and maximum time from the click to the associated conversion.
Maximum interval of time between the click event and a valid conversion or event. Required only if is_session_tracking_enabled
is true
.
Minimum interval of time between the click event and a valid conversion or event. Required only if is_session_tracking_enabled
is true
.
Whether affiliate’s conversions and payouts get automatically blocked based on a minimum and maximum time from the impression to the associated conversion. Only relevant if is_view_through_enabled
is true
.
Maximum interval of time between the impression event and a valid conversion or event. Required only if is_session_tracking_enabled
is true
.
Minimum interval of time between the impression event and a valid conversion or event. Required only if is_session_tracking_enabled
is true
.
Whether clicks from users who have already converted on this offer are acted upon according to the offer’s already_converted_action
.
Action that should be taken when a click from a user who has already converted on this offer is encountered. Ignored if is_block_already_converted
is false
.
Can be either block
or fail_traffic
.
Setting for the offer’s visibility for affiliates. Can be one of the following values: public
, require_approval
or private
.
[Learn More]
Method used by the Advertiser to fire tracking data to Everflow.
Can be one of the following values: http_image_pixel
, https_image_pixel
, server_postback
, cookie_based
, http_iframe_pixel
, https_iframe_pixel
or javascript
.
Whether a check is made to ensure conversion postback origin from the advertiser. [Learn More]
NOT SURE
Whether a predefined percentage of conversion get arbitrarily rejected. Required only if is_must_approve_conversion
is true
. This mechanism prevents that an excessive number of conversion gets approved.
Status to apply to conversions affected by throttling. Required only if is_use_scrub_rate
is true
. Can be either rejected
or pending
.
Percentage of conversions to be automatically throttled. Required only if is_use_scrub_rate
is true
.
Method used for determining whether a click is unique. Can be one of the following values: cookie
, ip
, ip_user_agent
, google_ad_id
or idfa
.
[Learn More]
Duration (in hours) of the active session used to match a click to a conversion.
Bundle ID for iOS / Android Apps
Whether the description of the offer should be interpreted as plain text.
Whether the offer is using Direct Linking.
Optional advertiser campaign name
Name of the creative.
Type of the creative. Can be one of the following values: image
, html
, thumbnail
, email
, archive
, video
or text
.
Whether the creative is accessible by all affiliates.
Status of the creative. Can be either active
or deleted
.
HTML content of the creative. Required only if creative_type
is html
or email
.
Width of the creative. Required only if creative_type
is html
.
Height of the creative. Required only if creative_type
is html
.
Content of the From
field of the email. Required only if creative_type
is email
.
Content of the Subject
field of the email. Required only if creative_type
is email
.
Content of the creative. Should only be included if creative_type
is image
, thumbnail
, archive
or video
.
Temporary URL of the file, obtained by uploading the file through the API.
Name of the file.
List of files attached to the creative. Should only be included if creative_type
is html
or email
.
Temporary URL of the file, obtained by uploading the file through the API.
Name of the file, which will be the used to generate the file macro. For example, Example File Name
will give the macro {{example_file_name}}
.
Whether the invalid clicks will be redirected to another offer.
Control how fail traffic is handled. For now, the only value allowed is internal
. Only relevant if is_fail_traffic_enabled
is true
.
Redirect mechanism that determines how the fail traffic is distributed between listed offers. Can be one of the following values: priority
, weight
, priority_global
or weight_global
. Only relevant if is_fail_traffic_enabled
is true
.
Should only be included if is_fail_traffic_enabled
is true
.
ID of the offer where to redirect the traffic. One and only one of redirect_network_offer_id
, redirect_network_offer_group_id
, redirect_network_campaign_id
or is_pass_through
must be provided.
ID of the offer URL where to redirect the traffic. Required only if redirect_network_offer_id
is provided. Use value 0
for the default offer URL.
ID of the offer group where to redirect the traffic. One and only one of redirect_network_offer_id
, redirect_network_offer_group_id
, redirect_network_campaign_id
or is_pass_through
must be provided.
ID of the smartlink where to redirect the traffic. One and only one of redirect_network_offer_id
, redirect_network_offer_group_id
, redirect_network_campaign_id
or is_pass_through
must be provided.
The value use to determine priority or weight of the redirect.
If redirect_internal_routing_type
is priority
or priority_global
, the routing value is the order in which the redirects are evaluated, starting with 1 and going up.
If redirect_internal_routing_type
is weight
or weight_global
, the routing value is the weight of the redirect proportional to the total weights of the redirects. For example, with two redirects of weight 1 and 2 respectively, the first will receive 33% of the redirected traffic, and the second 66%.
Additional targeting rules for determining when the fail traffic rule is used. See the ruleset object.
Additional requirements for redirect to receive the fail traffic. It has to reach the redirect in the priority/weight queue, and the reason for the invalid traffic also needs to match one of the selected categories, in order for that redirect to receive the traffic.
Can be one of the following values: traffic_filter
, traffic_control
, already_converted
, offer_expired
, geotargeting
, caps
or other
.
Whether the affiliate will receive the payout if traffic is sent to the redirect. Both is_pay_affiliate
and is_pass_through
cannot be true
.
Whether the fail traffic should be sent to the destination URL of the offer. One and only one of redirect_network_offer_id
, redirect_network_offer_group_id
, redirect_network_campaign_id
or is_pass_through
must be provided. Both is_pay_affiliate
and is_pass_through
cannot be true
.
Whether the redirect applies for the affiliates specified by network_affiliate_ids
or for all affiliates.
IDs of the affiliates for which this redirect applies. Only required if is_apply_specific_affiliates
is true
.
List of rules for the that determine what traffic is allowed / block at the offer level. See the ruleset object.
Parameter on which to filter traffic. Can be one of the following values: sub1
, sub2
, sub3
, sub4
, sub5
, source_id
, user_agent
, referer
, idfa
, google_advertiser_id
, http_accept_language
or creative_id
.
Setting determining how the values are matched.
Can be one of the following values: exact
, minimum
, maximum
, contains
, starts_with
, range
, ends_with
, blank
, does_not_match
or does_not_contain
.
Value of the selected parameter to evaluate.
Action to be taken if the incoming parameter value matches the provided value
and match_type
. Can be either block
of fail_traffic
.
Whether approved Subject
and From
lines for emails are used.
Approved Subject
lines for emails. Only relevant if is_enabled
is true
.
Approved From
lines for emails. Only relevant if is_enabled
is true
.
Whether approved Subject
and From
lines for emails are used.
URL of the link to the suppression files.
URL of the link to unsubscribe.
Labels are use for organizing offers by private internal keywords.
Names of the source.
Name for the base conversion. Defaults as Base
.
Types of payout. Can be one of the following values: cpc
, cpa
, cpm
, cps
, cpa_cps
or prv
.
Amount of the payout. Not required if payout_type
is cps
or prv
.
Percentage of the payout. Only required if payout_type
is cps
, cpa_cps
or prv
.
Types of revenue. Can be one of the following values: rpc
, rpa
, rpm
, rps
or rpa_rps
.
Amount of the revenue. Not required if revenue_type
is rps
.
Percentage of the revenue. Only required if revenue_type
is rps
or rpa_rps
.
Must be set to true
for the base conversion.
Must be set to false
for the base conversion.
Enabling will prevent the partners postback from being fired on the successful initial conversion. Enabling this feature is useful whenever the base conversion is not tied to a payable action.
ID of the global advertiser event.
Enabling will hide all conversions from partners and won’t fire their postbacks. These conversions may be viewed under Reporting > Conversions and Status : ‘Pending’.
Enabling allows partners to deliver multiple ‘Approved’ conversions from the same Transaction ID. If disabled, those conversions are rejected and not payable to partners.
Temporary URL of the file, obtained by uploading the file through the API.
Name of the file
ID of the Optizmo Optout List.
ID of the tracker.
Threshold for clicks above which the action
will occur. One of click_threshold
or conversion_threshold
must be above 0.
Action to take for clicks that fail to meet the click threshold. Can be one of the following values: block
or fail_traffic
.
Threshold for conversions above which the conversion_status
will be applied. One of click_threshold
or conversion_threshold
must be above 0.
Status to apply to conversions that fail to meet the conversion threshold. Can be one of the following values: pending
or rejected
.
Whether the ezepo integration is enabled for the offer.
Whether the anura integration is enabled for the offer.
Whether the invoca integration is enabled for the offer.
ID of the channel.
KPI threshold required by traffic provider.
Tracking parameter required by traffic provider.
Value of the tracking parameter required by traffic provider.
Can be one of the following values: first_affiliate_attribution
or first_affiliate_attribution
.
Can be one of the following values: first_touch
or last_touch
.
Response Example
{
"network_offer_id": 1,
"network_id": 1,
"network_advertiser_id": 13,
"network_offer_group_id": 3,
"name": "Offer Example",
"thumbnail_url": "",
"network_category_id": 1,
"internal_notes": "",
"destination_url": "http://everflowclient.io/test.php?aid={affiliate_id}&oid={offer_id}&tid={transaction_id}",
"server_side_url": "",
"is_view_through_enabled": false,
"view_through_destination_url": "",
"preview_url": "",
"offer_status": "active",
"currency_id": "USD",
"caps_timezone_id": 0,
"project_id": "",
"date_live_until": "",
"html_description": "",
"is_using_explicit_terms_and_conditions": false,
"terms_and_conditions": "",
"is_force_terms_and_conditions": false,
"is_caps_enabled": false,
"daily_conversion_cap": 0,
"weekly_conversion_cap": 0,
"monthly_conversion_cap": 0,
"global_conversion_cap": 0,
"daily_payout_cap": 0,
"weekly_payout_cap": 0,
"monthly_payout_cap": 0,
"global_payout_cap": 0,
"daily_revenue_cap": 0,
"weekly_revenue_cap": 0,
"monthly_revenue_cap": 0,
"global_revenue_cap": 0,
"daily_click_cap": 0,
"weekly_click_cap": 0,
"monthly_click_cap": 0,
"global_click_cap": 0,
"redirect_mode": "standard",
"is_using_suppression_list": false,
"suppression_list_id": 0,
"is_must_approve_conversion": false,
"is_allow_duplicate_conversion": true,
"is_duplicate_filter_enabled": false,
"duplicate_filter_targeting_action": "unknown",
"network_tracking_domain_id": 1,
"is_use_secure_link": false,
"is_seo_friendly": false,
"is_allow_deep_link": false,
"is_session_tracking_enabled": false,
"session_tracking_start_on": "null_value",
"session_tracking_lifespan_hour": 0,
"session_tracking_minimum_lifespan_second": 0,
"is_view_through_session_tracking_enabled": false,
"view_through_session_tracking_lifespan_minute": 0,
"view_through_session_tracking_minimal_lifespan_second": 0,
"is_block_already_converted": false,
"already_converted_action": "unknown",
"is_fail_traffic_enabled": false,
"redirect_routing_method": "internal",
"redirect_internal_routing_type": "priority",
"visibility": "public",
"time_created": 1594391076,
"time_saved": 1594391076,
"conversion_method": "server_postback",
"is_whitelist_check_enabled": false,
"is_use_scrub_rate": false,
"scrub_rate_status": "null_value",
"scrub_rate_percentage": 0,
"session_definition": "cookie",
"session_duration": 24,
"app_identifier": "",
"is_description_plain_text": false,
"is_use_direct_linking": false,
"is_email_attribution_enabled": false,
"is_email_attribution_window_enabled": true,
"email_attribution_window_minute": 1440,
"email_attribution_window_type": "dynamic",
"relationship": {
"category": {
"network_category_id": 1,
"network_id": 1,
"name": "Finance",
"status": "active",
"time_created": 1592409064,
"time_saved": 1592409064
},
"labels": {
"total": 0,
"entries": []
},
"payout_revenue": {
"total": 1,
"entries": [
{
"network_offer_payout_revenue_id": 1,
"network_id": 1,
"network_offer_id": 1,
"entry_name": "",
"payout_type": "cpa",
"payout_amount": 0.8,
"payout_percentage": 0,
"revenue_type": "rpa",
"revenue_amount": 1,
"revenue_percentage": 0,
"is_default": true,
"is_private": false,
"is_postback_disabled": false,
"is_enforce_caps": true,
"time_created": 1594391076,
"global_advertiser_event_id": 0,
"is_must_approve_conversion": false,
"is_allow_duplicate_conversion": true,
"is_email_attribution_default_event": false
}
]
},
"encoded_value": "2CTPL",
"is_locked_currency": false,
"channels": {
"total": 0,
"entries": []
},
"is_locked_caps_timezone": false,
"requirement_kpis": {
"total": 0,
"entries": []
},
"requirement_tracking_parameters": {
"total": 0,
"entries": []
}
}
Bulk Edit
/v1/networks/patch/offers/apply
This endpoint allows you to update selected fields of one or multiple offers at the same time. It does not require the entire offer
object to be passed in the payload. Only the properties that need to be changed must be supplied.
Note that certain properties must be updated together. For example updating offers to set the is_caps_enabled
to true without specifiying cap values would result in an invalid request.
This endpoint cannot be used to manage the partner visibility over offers. See here to the visibility documentation.
Request Body
Body Param
IDs of the offers to be patched.
List of fields to patch. See here for the list of types and their corresponding values.
Type of the field to patch. See here for the list of types.
Value of the field to patch. See here for the list of values.
Operator determining how the field will be used to modify the offers.
Can be one of the following values: overwrite
, append
, delete
, or clear
. Not all options are possible for every field. append
, delete
and clear
only apply for fields that contain multiple values.
Body Example
{
"network_offer_ids": [
7,
23
],
"fields": [
{
"field_type": "offer_status",
"field_value": "paused",
"operator": "overwrite"
}
]
}
Request Examples
cURL
curl --request PATCH 'https://api.eflow.team/v1/networks/patch/offers/apply' \
--header 'X-Eflow-API-Key: <INSERT API KEY>' \
--header 'Content-Type: application/json' \
--data '<INSERT BODY HERE>'
Example 1 : Pause multiple offers at the same time :
{
"network_offer_ids": [
7,
23
],
"fields": [
{
"field_type": "offer_status",
"field_value": "paused",
"operator": "overwrite"
}
]
}
Example 2 : Update the base payout / revenue settings of a single offer
{
"network_offer_ids": [
18
],
"fields": [
{
"field_type": "payout_revenue_name",
"field_value": "Updated Base Event Name",
"operator": "overwrite"
},
{
"field_type": "payout",
"field_value": {
"payout_type": "cpa",
"payout_amount": 2.5,
"payout_percentage": null
},
"operator": "overwrite"
},
{
"field_type": "revenue",
"field_value": {
"revenue_type": "rps",
"revenue_amount": null,
"revenue_percentage": 25
},
"operator": "overwrite"
}
]
}
Example 3 : Add 2 new events to an existing offer, one of which is a private event :
{
"network_offer_ids": [
3
],
"fields": [
{
"field_type": "additional_events",
"field_value": [
{
"entry_name": "Additional Event",
"revenue_type": "rpa",
"revenue_amount": 3,
"revenue_percentage": null,
"payout_type": "cpa",
"payout_amount": 2,
"payout_percentage": null,
"is_allow_duplicate_conversion": true,
"is_must_approve_conversion": false,
"is_private": false,
"is_enforce_caps": false,
"is_postback_disabled": false
},
{
"entry_name": "Manually Approved Private Event",
"revenue_type": "rps",
"revenue_amount": null,
"revenue_percentage": 50,
"is_allow_duplicate_conversion": true,
"is_must_approve_conversion": true,
"is_private": true,
"is_enforce_caps": false,
"is_postback_disabled": true
}
],
"operator": "append"
}
]
}
Example 4 : Enable Caps and set a daily click cap and a global payout cap on multiple offers at once :
{
"network_offer_ids": [
100,
103
],
"fields": [
{
"field_type": "is_caps_enabled",
"field_value": true,
"operator": "overwrite"
},
{
"field_type": "daily_conversion_cap",
"field_value": 5000,
"operator": "overwrite"
},
{
"field_type": "global_payout_cap",
"field_value": 2000,
"operator": "overwrite"
}
]
}
Example 5 : Add new targeting rules that only allows iOS traffic from the US on multiple offers :
{
"network_offer_ids": [
21,
30
],
"fields": [
{
"field_type": "ruleset_countries",
"field_value": [
{
"country_id": 227,
"match_type": "exact",
"targeting_type": "include",
"label": "United States"
}
],
"operator": "overwrite"
},
{
"field_type": "ruleset_platforms",
"field_value": [
{
"platform_id": 2,
"match_type": "exact",
"targeting_type": "include",
"label": "iOS"
}
],
"operator": "overwrite"
}
]
}
Example 6 : Special case where we allow string / replace on the offer destination URLs. Even though these are not patchable fields per se, they are defined specifically to allow for string replace operations on multiple operations. If you have a group of offers for which the destination URL is https://www.domain-1.com/...
and you would like to change domain-1
to something different, the following call will work :
{
"network_offer_ids": [
1,
2,
3,
4,
5
],
"fields": [
{
"field_type": "destination_url_replace",
"field_value": {
"find": "domain-1",
"replace": "domain-2"
}
}
]
}
The fields on which the string replace operation is supported are : destination_url_replace
, server_side_url_replace
and view_through_destination_url_replace
.
Response
{
"result": true
}
Patch Preview
/v1/networks/patch/offers/submit
This endpoint works exactly the same way the Bulk Edit endpoint documented above does, with the important difference that it does not actually change anything. Rather the endpoint will return of a preview of the changes and will flag any errors.
Body Params
IDs of the offers to be patched.
List of fields to patch. See here for the list of types and their corresponding values.
Type of the field to patch. See here for the list of types.
Value of the field to patch. See here for the list of values.
Operator determining how the field will be used to modify the offers.
Can be one of the following values: overwrite
, append
, delete
, or clear
.
Response
An offer part of the patch submission.
ID of the offer.
Name of the offer.
Status of the offer. Can be one of the following values: active
, paused
, pending
or deleted
.
Status of the change. Can be one of the following values: ok
, no_change
or error
.
Error message for that particular field. Only filled when change_status
is error
.
Message detailing other changes that will happen as a consequence of the particular change.
If some of the offers that are part of the patch are not in a valid state prior to the patch, the patch will not be attempted and instead a list of the offer errors will be returned here.
ID of the invalid offer.
Name of the invalid offer.
Message indicating in which way the offer is invalid.
Patchable Fields
The fields below are to be used in the Bulk Edit and Patch Preview endpoints documented above.
Fields
Status of the offer. Can be one of the following values: active
, paused
, pending
or deleted
.
ID of the advertiser
ID of the offer group associated with the offer
ID of the category associated with the offer
Currency used to compute payouts costs and revenues of the offer.
Displayed name of the offer.
Labels are used for organizing offers by private internal keywords.
Bundle ID for iOS / Android Apps
Notes on the offer for network employees. Not displayed to affiliates and advertisers.
ID for the advertiser campaign or an Insertion Order.
ID of the channel
Status of the channel. Can be one of the following values: active
or inactive
.
Date until when the offer can be run. Events occurring past the end of the day at the timezone of the network will be rejected.
Description of the offer for the affiliates. HTML code is accepted.
Whether the description of the offer should be interpreted as plain text.
URL of the final landing page associated with the offer, including additional macros if applicable.
Preview URL associated with the offer
URL of the page that will be called from the server side of Everflow, including additional macros if applicable.
URL of the final landing page associated with the offer when redirected from an impression (including additional macros if applicable). Only relevant if is_view_through_enabled
is true
.
Whether the Invoca integration is enabled for the offer
Name for the initial conversion action.
Type of revenue. Can be rpc
, rpa
, rpm
, rps
or rpa_rps
.
Amount of revenue. Not required or relevant for revenue type rps
.
Percentage of revenue. Only relevant and required with revenue type rps
or rpa_rps
Type of payout. Can be cpc
, cpa
, cpm
, cps
, cpa_cps
or prv
.
Amount of payout. Not required or relevant for payout type cps
or prv
.
Percentage of payout. Only relevant and required with payout type cps
, cpa_cps
or prv
.
Enabling will hide all conversions from partners and won’t fire their postbacks. These conversions may be viewed under Reporting > Conversions and Status : ‘Pending’.
Enabling allows partners to deliver multiple ‘Approved’ conversions from the same Transaction ID. If disabled, those conversions are rejected and not payable to partners.
Enabling will prevent the partners postback from being fired on the successful initial conversion. Enabling this feature is useful whenever the base conversion is not tied to a payable action.
ID of the tracking domain hit by clicks belonging to the offer.
Method used by the Advertiser to fire tracking data to Everflow.
Can be one of the following values: http_image_pixel
, https_image_pixel
, server_postback
, cookie_based
, http_iframe_pixel
, https_iframe_pixel
or javascript
.
Whether tracking links use the more secure https://
instead of http://
. Please validate with your account manager that SSL is enabled before using the offer level setting.
Whether affiliates can send their traffic to target URLs by adding &url=[target URL]
to their tracking links, instead of the offer’s destination URL.
Whether the offer is using Direct Linking.
Whether caps are enabled. When false
, voids all types of caps and custom caps.
Limit to the number of unique conversions in one day.
Limit to the number of unique conversions in one week (Monday midnight to Sunday 23h59:59)
Limit to the number of unique conversions in one month.
Limit to the total number of unique conversion at the offer level.
Limit to the affiliate’s payout for one day.
Limit to the affiliate’s payout for a week (Monday midnight to Sunday 23h59:59)
Limit to the affiliate’s payout for one month.
Limit to the affiliate’s total payout at the offer level.
Limit to the network’s revenue for one day.
Limit to the network’s revenue for a week (Monday midnight to Sunday 23h59:59)
Limit to the network’s revenue for one month.
Limit to the network’s total revenue at the offer level.
Limit to the number of unique clicks in one day.
Limit to the number of unique clicks in a week (Monday midnight to Sunday 23h59:59).
Limit to the number of unique clicks in one month.
Limit to the total number of unique clicks at the offer level.
Setting for the offer’s visibility for affiliates. Can be one of the following values: public
, require_approval
or private
.
[Learn More]
Whether the offer is using specific Terms and Conditions. When false
, defaults to the network’s general Terms and Conditions.
Whether the affiliates are required to accept the offer’s specific Terms and Conditions.
Text listing the specific Terms and Conditions of the offer. Required only if is_using_explicit_terms_and_conditions
is true
.
Whether a check is made to ensure conversion postback origin from the advertiser. [Learn More]
Method used for determining whether a click is unique. Can be one of the following values: cookie
, ip
, ip_user_agent
, google_ad_id
or idfa
.
[Learn More]
Duration (in hours) of the active session used to match a click to a conversion.
Whether duplicate clicks are filtered and acted upon, according to the offer’s duplicate_filter_targeting_action
.
Action that should be taken when a duplicate click is encountered. Ignored if is_duplicate_filter_enabled
is false
. Can be either block
or fail_traffic
.
Setting used to obscure referrer URLs from advertisers. Can be one of the following values: standard
, single_meta_refresh
or double_meta_refresh
. Not recommended, this will cause click drop-off.
KPI threshold required by traffic provider.
Tracking parameter required by traffic provider.
Value of the tracking parameter required by traffic provider.
Whether clicks from users who have already converted on this offer are acted upon according to the offer’s already_converted_action
.
Action that should be taken when a click from a user who has already converted on this offer is encountered. Ignored if is_block_already_converted
is false
.
Can be either block
or fail_traffic
.
Whether a predefined percentage of conversion get arbitrarily rejected. Required only if is_must_approve_conversion
is true
. This mechanism prevents that an excessive number of conversion gets approved.
Status to apply to conversions affected by throttling. Required only if is_use_scrub_rate
is true
. Can be either rejected
or pending
.
Percentage of conversions to be automatically throttled. Required only if is_use_scrub_rate
is true
.
Whether affiliate’s conversions and payouts get automatically blocked based on a minimum and maximum time from the click to the associated conversion.
Maximum interval of time between the click event and a valid conversion or event. Required only if is_session_tracking_enabled
is true
.
Minimum interval of time between the click event and a valid conversion or event. Required only if is_session_tracking_enabled
is true
.
Whether conversions can be generated from impressions (as opposed to being generated from clicks only).
Whether affiliate’s conversions and payouts get automatically blocked based on a minimum and maximum time from the impression to the associated conversion. Only relevant if is_view_through_enabled
is true
.
Maximum interval of time between the impression event and a valid conversion or event. Required only if is_session_tracking_enabled
is true
.
Minimum interval of time between the impression event and a valid conversion or event. Required only if is_session_tracking_enabled
is true
.
ID of the tracker.
Whether the threshold for clicks is enabled.
Threshold for clicks above which the action
will occur. One of click_threshold
or conversion_threshold
must be above 0.
Action to take for clicks that fail to meet the click threshold. Can be one of the following values: block
or fail_traffic
.
Whether the threshold for conversions is enabled.
Threshold for conversions above which the conversion_status
will be applied. One of click_threshold
or conversion_threshold
must be above 0.
Status to apply to conversions that fail to meet the conversion threshold. Can be one of the following values: pending
or rejected
.
Whether the anura integration is enabled for the offer.
Whether the scrubkit integration is enabled for the offer.
Threshold for traffic above which the ip_quality_score_action
will be applied.
Threshold for mobile traffic above which the ip_quality_score_action
will be applied.
Action to take for traffic that fail to meet the threshold. Can be one of the following values: block
or fail_traffic
.
Whether the scrubkit integration is enabled for the offer.
Platforms are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
ID of the platform
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
Device types are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
ID of the device type.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
Brands are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
ID of the brand.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
Browsers are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
ID of the browser.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
OS versions are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
ID of the platform.
ID of the OS version.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
, minimum
, maximum
.
Browser languages are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
ID of the browser language.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
Countries are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
ID of the country.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
ZIP / Postal Codes are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
Identifier of the ZIP / Postal Code. Spaces and case are ignored.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
Regions are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
ID of the region.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
Cities are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
ID of the city.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
DMAs are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
DMA code.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
Mobile Carriers are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
ID of the mobile carrier.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
ISPs are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
ID of the ISP.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
Connection types are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
ID of the connection type.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
IPs are used to narrow down the targeting of your offers, campaigns, custom settings, etc.
Lower bound of the IP address range.
Upper bound of the IP address range.
The targeting type. Can either be include
or exclude
.
Setting determining how the values are matched.
Can be one of the following values: exact
.
Whether or not traffic from well known proxy will be blocked.
Whether day parting is enabled.
Setting determining the timezone the day parting is applied to. Can be one of the following values: user_timezone
or selected_timezone
. Only required if is_use_day_parting
is true
.
ID of the day parting timezone. Only required if is_use_day_parting
is true
and if day_parting_apply_to
has the value selected_timezone
.
The day parting objects. Only required if is_use_day_parting
is true
.
The day of the week the day parting applies to. Sunday corresponds to 0.
The hour of the beginning of the day parting range.
The minute of the beginning of the day parting range.
The hour of the end of the day parting range.
The minute of the end of the day parting range.
Whether the invalid clicks will be redirected to another offer.
Redirect mechanism that determines how the fail traffic is distributed between listed offers. Can be one of the following values: priority
, weight
, priority_global
or weight_global
. Only relevant if is_fail_traffic_enabled
is true
.
Whether approved Subject
and From
lines for emails are used.
Approved Subject
lines for emails. Only relevant if is_enabled
is true
.
Approved From
lines for emails. Only relevant if is_enabled
is true
.
Whether the suppression file url and unsubscribe link for emails are used.
URL of the link to the suppression files.
URL of the link to unsubscribe.
Whether the ezepo integration is enabled for the offer.
ID of the Optizmo Optout List.
Export
/v1/networks/export/offers
Body Params
Format of the export.
Can be one of the following values: csv
or json
.
Offer fields to be included in the file, from the following values:
network_offer_id
,
name
,
category
,
network_advertiser_id
,
network_offer_group_id
,
internal_notes
,
destination_url
,
server_side_url
,
is_view_through_enabled
,
view_through_destination_url
,
preview_url
,
offer_status
,
currency_id
,
project_id
,
date_live_until
,
is_using_explicit_terms_and_conditions
,
terms_and_conditions
,
is_caps_enabled
,
daily_conversion_cap
,
weekly_conversion_cap
,
monthly_conversion_cap
,
global_conversion_cap
,
daily_payout_cap
,
weekly_payout_cap
,
monthly_payout_cap
,
global_payout_cap
,
daily_revenue_cap
,
weekly_revenue_cap
,
monthly_revenue_cap
,
global_revenue_cap
,
daily_click_cap
,
weekly_click_cap
,
monthly_click_cap
,
global_click_cap
,
redirect_mode
,
is_must_approve_conversion
,
is_allow_duplicate_conversion
,
is_duplicate_filter_enabled
,
duplicate_filter_targeting_action
,
network_tracking_domain_id
,
is_use_secure_link
,
is_allow_deep_link
,
is_session_tracking_enabled
,
session_tracking_lifespan_hour
,
is_view_through_session_tracking_enabled
,
view_through_session_tracking_lifespan_minute
,
is_fail_traffic_enabled
,
redirect_routing_method
,
redirect_internal_routing_type
,
visibility
,
time_created
,
time_saved
,
conversion_method
,
is_whitelist_check_enabled
,
is_use_scrub_rate
,
scrub_rate_status
,
scrub_rate_percentage
,
session_definition
,
session_duration
,
app_identifier
,
entry_name
,
payout_type
,
payout_amount
,
payout_percentage
,
revenue_type
,
revenue_amount
,
revenue_percentage
,
network_advertiser_name
,
network_advertiser_account_manager
,
network_advertiser_sales_manager
,
suppression_file_url
,
unsubscribe_url
,
countries
,
network_tracking_domain_url
,
category_name
,
channels
.
If omitted, will return all fields.
The query containing the information to filter the data.
Terms used to filter the data.
Type of the terms of the search.
Can be one of the following values: name
or advertiser_name
.
Value of the term to filter by.
Filters to apply to the data.
IDs of the categories to be included.
Labels of the categories to be included.
Can be one of the following values: runnable
, blocked
or all
.
ID of the offers’ advertiser.
ID of the offer group of the offers.
Visibilities of the offers to be included in the file, from the following values: public
,
require_approval
, private
.
IDs of the EverXchange partners of the offers.
IDs of the account managers of the advertisers of the offers.
Types of the revenue of the offers to be included in the file, from the following values: RPC
,
RPA
, RPM
, RPS
, RPA_RPS
.
Types of the payout of the offers to be included in the file, from the following values: CPC
,
CPA
, CPM
, CPS
, CPA_CPS
, PRV
.
IDs of the platforms targeted by the offers to be included in the file.
IDs of the countries targeted by the offers to be included in the file.
IDs of the business units of the account managers of the advertisers of the offers.
Status of the offer to be included in the file.
Can be one of the following values: active
, paused
, pending
or deleted
.
IDs of the sale managers of the advertisers of the offers.
IDs of the tracking domains of the offers.
IDs of the channels of the offers.
Status of the 24Metrics integration for the offers.
Can be either enabled
or disabled
.
Status of the Forensiq integration for the offers.
Can be either enabled
or disabled
.
Status of the Anura integration for the offers.
Can be either enabled
or disabled
.
Status of the IPQualityScore integration for the offers.
Can be either enabled
or disabled
.
Status of the Ezepo integration for the offers.
Can be either enabled
or disabled
.
Status of the Optizmo integration for the offers.
Can be either enabled
or disabled
.
Status of the Scrubkit integration for the offers.
Can be either enabled
or disabled
.
IDs of the device types targeted by the offers to be included in the file.
IDs of the affiliate tiers of the offers to be included in the file.
Specific IDs of offers to be included in the file.
Specific IDs of offers to be excluded from the file.
Whether the offers specified in included_network_offer_ids
should be included regardless of the other filters.