NATS For Networks REST Add Offer

From TMM Wiki
Revision as of 15:51, 19 April 2017 by Tmmdavid (talk | contribs) (Created page with "{{NATS For Networks Manual | show_api_admin_section = true }} == '''POST /offer/add_offer''' == '''Description''' *add_offer adds a new offer '''Resource URL''' *<nowiki>h...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Template:NATS For Networks Manual

POST /offer/add_offer

Description

  • add_offer adds a new offer


Resource URL

  • http://domain/api/offer/add_offer
  • Replace domain with the NATS For Networks domain

Response Format

  • JSON

Request Method

  • POST

Authentication

  • HTTP headers

Parameters

Offer Parameters

  • name
    • type: string
    • required
    • Offer Name
  • description
    • type: string
    • Description to display to affiliates
  • hidden
    • type: string
    • Offer does not show up in the affiliate offer list.
  • date_live
    • type: string
    • Time when offer should become available to affiliates. String to time on the string provided. Default is empty.
  • date_expire
    • type: string
    • Time when offer should stop being available to affiliates. String to time on the string provided. Default is empty.
  • featured
    • type: bool
    • Flags this as a featured offer. Default FALSE.
  • expire_url
    • type: string
    • External URL to redirect traffic to if the offer is expired.
  • expire_landing_pageid
    • type: string
    • ID of landing page to redirect traffic to if the offer is expired.
  • no_personal_member_info
    • type: string
    • Prevent name and address information from being stored in the customer record
  • subject_lines
    • type: string
    • Comma separated list of recommended subject lines for affiliates promoting via email. Only displayed when "Display Offer Email Fields" is enabled
  • from_addresses
    • type: string
    • Comma separated list of recommended from addresses for affiliates promoting via email. Only displayed when "Display Offer Email Fields" is enabled
  • ip_lookup
    • type: Bool
    • Set cookieless tracking to match on only IP instead of IP+Browser Details. Default FALSE.
  • ip_uniqueness_seconds
    • type: int
    • Set the number of seconds before a repeat visit by the same visitor will trigger the 'unique' offer redirect contition. This does not affect them showing as unique in stats. Default is unset on the offer level and inheriting from the "Unique Visitor Time" configuration setting.
  • offer_groups
    • type: int,string,array
    • Accepts an existing offer group id, comma separated list of group ids, or array of group ids to associate with this offer.
  • marketing_types
    • type: int,string,array
    • Accepts an existing marketing type id, comma separated list of marketing type ids, or array of marketing type ids to associate with this offer.
  • categories
    • type: int,string,array
    • Accepts an existing category id or category name, comma separated list of ids/names, or array of ids/names to associate with this offer. Creates new categories if a category name is passed that does not exist.
  • authorized
    • type: string,array
    • Accepts a comma separated list or array of 2 letter country codes where traffic is authorized to use this offer. Defaults to the 'Default Authorized Countries' configuration setting.
  • unauthorized
    • type: string,array
    • Accepts a comma separated list or array of 2 letter country codes where traffic is not authorized to use this offer. Defaults to the 'Default Unauthorized Countries' configuration setting.

If no authorized or unauthorized countries are set even after checking the network configurations, the offer is authorized for all countries by default.

Advertiser Parameters

  • advertiserid
    • type: int
    • Loginid of advertiser account associated with this offer. Default none.
  • advertiser_cost_type
    • type: string
    • options:
      • conversion:flat amount per conversion
      • dynamic_conversion:uses the revenue passed with the conversion
      • sale:calculate a percentage of the gross sale amount reported by the advertiser
      • click:a flat amount per click
      • unique:a flat amount per unique click
    • If there is an advertiser associated with this offer, how is offer revenue calculated. Default none.
  • advertiser_cost_flat
    • type: string
    • Flat cost to advertisers. used with 'conversion','click','unique'
  • advertiser_cost_perc
    • type: string
    • Percentage cost to advertiser used with 'sale'

Fraud Prevention Parameters

  • ip_conversion_limit_flag
    • type: int
    • options
      • 0: Inherit from Network Configuration
      • 1: No Limit on this offer
      • 2: Specify Limimt on this offer
    • Comma separated list of recommended from addresses for affiliates promoting via email. Only displayed when "Display Offer Email Fields" is enabled. Default 0.
  • ip_conversion_limit
    • type: int
    • Number of conversions allowed per IP to this offer in any 24 hour time period. Only checked if ip_conversion_limit_flag=2. Default 0.
  • ip_conversion_group
    • type: int
    • options
      • 0: This offer only
      • x: Group id of any offer group.
    • Controls the scope of ip_conversion_limit. Default is 0, this offer only. Specifying a group id will count all conversion for offers in that group
  • prevent_cookie_dupes
    • type: Bool
    • Checks a cookie to block surfers that have already converted on this offer during the cookie lifetime. Default FALSE.
  • pending_approval_lockout
    • type: int
    • Minimum number of seconds that must pass between a click and a conversion for that conversion to be automatically approved. While this setting is in effect, all conversions on this offer are treated as pending. If the lockout period has been reached, the system will record both a pending conversion and an approved conversion automatically. Default 0 to disable.

Revenue Parameters

  • conversion_default
    • type: string
    • Amount used if none is specified in the conversion. Default none.
  • conversion_default_type
    • type: int
    • options
      • 1:Revenue
      • 2:Gross
    • Specify if the amount specified in conversion_default is revenue or gross. Default 1 for revenue
  • continuity_default
    • type: int
    • Amount used if none is specified in the continuity. Default none.
  • continuity_default_type
    • type: string
    • options
      • 1:Revenue
      • 2:Gross
    • Specify if the amount specified in continuity_default is revenue or gross. Default 1 for revenue

Commission Parameters

  • percentage_commission_source
    • type: int'
    • options
      • 0:Revenue
      • 1:Gross
    • Specify whether revenue or gross should be used as the base when affiliate are paid a percentage. Default 0 for revenue
  • hide_payout_string
    • type: bool'
    • Hide the automatically generated commission description and use the description in 'commission_description' instead.
  • commission_description
    • type: string'
    • Custom description displayed to affiliates to explain how commissions are calculated for this offer.
  • commission_type
    • type: string'
    • options
      • cpa:Flat per CPA. Works with flat_amount_per_conversion and flat_amount_per_continuity
      • cps:Percentage of Sale. Works with percentage_of_customer_conversion and percentage_of_customer_continuity
      • click:Flat per Click. Works with flat_amount_per_click and flat_amount_per_visitor
      • hybrid:Hybrid. Works with all fields.
    • Specify what type of commission this offer will pay.
  • flat_amount_per_click
    • type: decimal'
    • Flat commission paid for every raw click. Works with click or hybrid
  • flat_amount_per_visitor
    • type: decimal'
    • Flat commission paid for every unique click. Works with click or hybrid
  • flat_amount_per_conversion
    • type: decimal'
    • Flat commission paid for every conversion. Works with cpa or hybrid
  • flat_amount_per_continuity
    • type: decimal'
    • Flat commission paid for every continuity. Works with cpa or hybrid
  • percentage_of_customer_conversion
    • type: decimal'
    • Percentage of conversion revenue to pay as commission. Works with cps or hybrid
  • percentage_of_customer_continuity
    • type: decimal'
    • Percentage of continuity revenue to pay as commission. Works with cps or hybrid
  • retro_payout
    • type: bool'
  • All transactions for a customer will use the commission settings in place at the time of the first transaction.
  • hide_deductions
    • type: bool'
  • Only show voids / chargebacks in affiliate statistics if they affected affiliate commissions.
  • hide_continuities
    • type: bool'
  • Only show continuities in affiliate statistics if they affected affiliate commissions.
  • hide_conversions
    • type: bool'
  • Only show conversions in affiliate statistics if they affected affiliate commissions.
  • deduct_voids
    • type: bool'
    • When enabled, voids will reverse the commission paid to the affiliate on the original transaction that is being voided
  • deduct_chargebacks
    • type: bool'
    • When enabled, chargebacks will reverse the commission paid to the affiliate on the original transaction that is being charged back
  • min_deduct_date
    • type: string'
    • Date for stringtotime. Transactions before this date will never have their commissions removed by a void or chargeback.
  • deduct_window
    • type: int'
    • If a void or chargeback is reported more than this many days after the original transaction, the affiliate will not have their commission removed even if deduct_voids or deduct_chargebacks is enabled.


Landing Page Parameters

  • url
    • type: string
    • required
    • Landing Page url
  • preview_url
    • type: string
    • Clean url to display to affiliates
  • tracking_domain
    • type: string
    • One of your already defined tracking domains
  • thumb_url
    • type: string
    • Url of offer thumbnail image.
  • force_url
    • type: string
    • Url to screenshot for thumbnail.
  • language
    • type: int'
    • id of one of your defined languages from the offers admin.
  • conversion_type
    • type: string
    • options: iframe,post,image
    • Type of conversion to use for this offer
  • postback_ips
    • type: string
    • Comma separated list of ips that are allowed to post conversions to this offer. Default is no restriction
  • hostnpost_ips
    • type: string
    • Comma separated list of ips that are allowed to post hostandpost conversions to this offer. Default is no restriction
  • void_ips
    • type: string
    • Comma separated list of ips that are allowed to post voids to this offer. Default is deny all.
  • private
    • type: bool
    • TRUE means the default landing page for the new offer will be private. Default is FALSE.
  • requestable
    • type: bool
    • TRUE means the default landing page for the new offer will be requestable if it is also private. Default is FALSE.
  • internal_desc
    • type: string
    • Landing page description for the new offer that is only in the admin interface. Default is empty.
  • redirect_hash
    • type: string
    • Matching field for identifying what landing page to use when geo redirecting within an offer group. Default is empty.
  • disable_url_sanitization
    • type: bool
    • Uses landing page url exactly as provided without encoding any invalid url characters. Default is false, encoding invalid url characters in the landing page.
  • disable_deep_linking
    • type: bool
    • Discards any extra path and variables specified by the affilaite on the tracking link. Default is false, allowing the affiliate to affect the landing page url.




Example Request

POST


http://domain/api/offer/add_offer
name=API TEST OFFER
url=http://example.com/?id=%%click_hash%%
preview_url=http://example.com/
authorized=DE,ES
advertiserid=1
advertiser_cost_type=conversion
advertiser_cost_flat=20
commission_type=201
flat_amount_per_conversion=15
flat_amount_per_continuity=5


  • Response:
{
    "result":"Success",
    "message":{
      "landing_pageid":"432",
      "offerid":"400"
    }
}

Example Code

PHP

<?php 
$url = 'http://domain/api/offer/add_offer';
$curl = curl_init(); 
 
$headers = array( 
    'api-key: 44b5498dbcb481a0d00b404c0169af62', 
    'api-username: productsupport' 
);

 $data = Array(
    'name' => 'API TEST Offer',
    'url' => 'http://example.com/?id=%%click_hash%%',
    'preview_url' => 'http://example.com/',
    'authorized' => 'DE,ES',
    'advertiserid' => 1,
    'advertiser_cost_type' => 'conversion',
    'advertiser_cost_flat'=> 20,
    'commission_type' => 201,
    'flat_amount_per_conversion' => 15,
    'flat_amount_per_continuity' => 5,
); 

curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
                                                  
$resp = curl_exec($curl); 
//dumps an associative array representation of the json 
var_dump(json_decode($resp, true)); 
// Close request to clear up some resources 
curl_close($curl); 
?>