Difference between revisions of "NATS For Networks REST Add Offer"

From TMM Wiki
Jump to navigationJump to search
(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...")
 
Line 1: Line 1:
{{NATS For Networks Manual
+
{{NATS for Networks Manual
| show_api_admin_section = true
+
| show_rest_api_section = true
 
}}
 
}}
 
== '''POST /offer/add_offer''' ==
 
== '''POST /offer/add_offer''' ==

Revision as of 15:55, 12 May 2017

NATS For Networks
For Affiliates
Automatic SubIDs
Affiliate Stats Dumps
Linkcode
Affiliate Custom Pixels
Affiliate Host and Post
Affiliate Area
Affiliate Account Details
Affiliate Account Change Log
Affiliate Creatives
Affiliate Creatives Search
Affiliate Settings
Affiliate Custom Pixels
Affiliate Linkcodes
Affiliate Linkcode Settings
Affiliate Login History
Affiliate Messages
Affiliate Dashboard
Dashboard Key Statistics
Dashboard Statistics Summary
Affiliate Payment History
Quick Links
Affiliate Referrals Report
Affiliate Referring URL Report
Affiliate Remote Login
Affiliate Signup
Affiliate Statistic Filters
Affiliate Statistic Views
Affiliate SubIDs
NATS For Networks Setup
Creating Admin Accounts
Tracking Domain
Edit Affiliate Text
Edit CSS Colors
Getting Started Admin
Quick Start Guide
Tracking in NATS For Networks
Pixel Builder
Postback Examples
Replacement Variables
Currency Exchange Rates
Admin Dashboard
The Admin Dashboard
Reporting Admin
The Reporting Admin
Track and Strack
  Report Breakdowns
Profit and Loss Report
Subscription Report
Transactions Reports
Affiliate Ratios Report
Affiliate Managers Report
Referral Tier Payouts Report
Referral Signup Payouts Report
Additional Commissions Report
Graphical Affiliate Comparison Report
The Single Day Comparison Report
Actual Affiliate Payments Report
Offers Admin
The Offers Admin
Offers
Offer Setup
Affiliate Referrals
Tracking Domain
Commissions
Commission Changes
Suppression Lists
Pixel Builder
ID Numbers
Offer Partner
Offer/Landing Page Redirection
Setting Rules
Admin Host and Post
Offer Goals
Affiliates Admin
The Affiliates Admin
ID Numbers
Affiliate Managers
Affiliate Referrals
Affiliate Activation
Admin-Only Settings
Affiliate Overrides
Creating Admin Accounts
In-House Accounts
Add Manual Sale
Manual Invoice
Affiliate Documents
Affiliate Enabled Offers
Change Affiliate Status
Account Changes
Advertisers Admin
The Advertisers Admin
Account Changes
Advertiser Invoices
Generate Invoice
Advertiser Approval
Change Advertiser Status
Customers Admin
Customers Admin
Manually Adding a Customer
ID Numbers
Payments Admin
The Payments Admin
Payvia Types
Payout Periods
Payvia Dump Formats
Payment Dump Entry Numbers
Payment Dump Variables
Check Functions
Setting Rules
Payment Methods
Payza
REST API
General
API Overview
GET /service/ping
GET /service/set_currency_exchange_rates
Advertiser
POST /advertiser/add_advertiser
PATCH /advertiser/edit_advertiser
Affiliate
GET /affiliate/get_links
GET /affiliate/get_single_link
GET /affiliate/search
GET /affiliate/decode_trackingcode
PATCH /affiliate/edit_affiliate
POST /affiliate/add_affiliate
POST /affiliate/affiliate_login_ips
Config
GET /config/get_global_void_ips
GET /config/get_global_post_ips
GET /config/get_global_hostnpost_ips
POST /config/add_global_void_ip
POST /config/remove_global_void_ip
POST /config/add_global_post_ip
POST /config/remove_global_post_ip
POST /config/add_global_hostnpost_ip
POST /config/remove_global_hostnpost_ip
Creative
GET /creative/get_creatives
GET /creative/get_creative_fields
GET /creative/get_creative_rules
PATCH /creative/delete_creative
PATCH /creative/edit_creative
PATCH /creative/edit_creative_rules
PATCH /creative/undelete_creative
POST /creative/add_creative
POST /creative/add_creative_rule
POST /creative/delete_creative_rules
Offer
GET /offer/get_conversion_caps
GET /offer/check_orderid_exists
GET /offer/get_commission_changes
GET /offer/get_details
PATCH /offer/activate_offer
PATCH /offer/edit_landing_page
PATCH /offer/edit_offer
PATCH /offer/pause_offer
PATCH /offer/set_commission_change_payouts
PATCH /offer/set_enabled_affiliates
PATCH /offer/set_offer_categories
PATCH /offer/set_offer_countries
PATCH /offer/set_offer_goals
PATCH /offer/set_offer_groups
PATCH /offer/set_offer_marketing_types
PATCH /offer/store_offer_ips
POST /offer/add_commission_change
POST /offer/add_landing_page
POST /offer/add_offer
POST /offer/add_tracking_domain
Reporting
GET /report/profitloss
GET /report/transaction
Customer
PATCH /customer/lock
PATCH /customer/unlock
GET /customer/export
PATCH /customer/forget
Transaction
GET /transaction/transaction_payout_preview
PATCH /transaction/transaction_update_revenue_by_orderid
PATCH /transaction/transaction_update_revenue_by_transaction_hash
POST /transaction/process_void
POST /transaction/process_chargeback
POST /transaction/process_reversal
GET /transaction/click_details
Creatives Admin
The Creatives Admin
Add New Creatives
Add New Creative Type
Tracking Code
Code Builder
Track and Strack
Setting Rules
  Default Creative Types
Creative Types
Image Banners
Flash Banners
Dynamic Text Banners
Feeds
Mailers
Video Download
Video Embed
Page Peels
IM Popups
Footer Ads
Page Ads
Overlays
Communications Admin
The Communications Admin
Add News Item
Sending Messages
Signup Questions
Configuration Admin
The Configuration Admin
Affiliate Signup Postback URL
Edit Affiliate Text
Edit CSS Colors
Misc.
Rules
Freeform Date
Affiliate Custom Signup
Tracking Code
Tracking in NATS For Networks
Void Conversions Remotely

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); 
?>