NATS For Networks REST Set Offer Goals

From TMM Wiki
Revision as of 15:53, 19 April 2017 by Tmmdavid (talk | contribs) (Created page with "{{NATS For Networks Manual | show_api_admin_section = true }} == '''PATCH /offer/set_offer_goals''' == '''Description''' *set_offer_goals updates the goals set for an offer...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Template:NATS For Networks Manual

PATCH /offer/set_offer_goals

Description

  • set_offer_goals updates the goals set for an offer


Resource URL

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

Response Format

  • JSON

Request Method

  • PATCH

Authentication

  • HTTP headers

Parameters

  • offerid
    • type: int
    • required
    • The offer to update
  • goal_vars
    • type: array of goals'
    • required
    • Array of goal arrays. Valid goal fields for goal arrays below:

Goal Fields

offer_goal_id

    • type: int
    • Offer Goal Id from the edit offer details page.

goal_id

    • type: int
    • Goal Id. If offer_goal_id is not present the goal_id will be used to find an existing goal of this type on this offer. If this goal does not already exist for the offer it will be created.

goalid or offer_goal_id is required.

  • commission_type
    • type: string
    • options: flat,percentage
    • Type of commission the affiliate is earning on this goal.
  • amount
    • type: decimal
    • Commission amount for affiliate. Calculated according to commission_type. Sets the exact commission amount for flat or the percent to use with percentage.
  • revenue_type
    • type:string
    • options:dynamic_conversion,conversion,sale
    • How to calculate revenue for this goal. "dynamic_conversion" accepts revenue from the url. "conversion" is a flat amount. "sale" takes a percentage of the revenue from the url
  • revenue_amount
    • type: decimal
    • Revenue amount for goal. Calculated according to revenue_type. Sets the exact revenue amount for conversion or the percent to use with sale. Ignored with dynamic_conversion
  • aff_manager_payout
    • type: bool'
    • Specifies if events posted to this goal should trigger affiliate manager payouts if applicable.
  • aff_referral_payout
    • type: bool'
    • Specifies if events posted to this goal should trigger affiliate referral payouts if applicable.
  • offer_partner_payout
    • type: bool'
    • Specifies if events posted to this goal should trigger offer partner payouts if applicable.


Example Request

PATCH


http://domain/api/offer/set_offer_goals
offerid=2
goal_vars[0][goal_id]=1
goal_vars[0][revenue_type]=dynamic_conversion
goal_vars[0][commission_type]=flat
goal_vars[0][amount]=5.15
goal_vars[0][aff_referral_payout]=TRUE
goal_vars[1][goal_id]=2
goal_vars[1][revenue_type]=conversion
goal_vars[1][revenue_amount]=15.51
goal_vars[1][commission_type]=percentage
goal_vars[1][amount]=33
goal_vars[1][aff_referral_payout]=TRUE



  • Response:
{
    "result":"Success",
}

Example Code

PHP

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

 $data = Array(
    'offerid' => 2,
    'goal_vars' => Array(
        Array(
            'goal_id' => 1,
            'revenue_type' => 'dynamic_conversion',
            'commission_type' => 'flat',
            'amount' => 5.15,
            'aff_referral_payout' => TRUE
        ),
        Array(
            'goal_id' => 2,
            'revenue_type' => 'conversion',
            'revenue_amount' => 15.51,
            'commission_type' => 'percentage',
            'amount' => 33,
            'aff_referral_payout' => TRUE
        ),        
    )
); 

curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PATCH");
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); 
?>