Difference between revisions of "NATS4 REST API Add Option Rule"
From TMM Wiki
Jump to navigationJump to searchTmm vincent (talk | contribs) (Correcting Resource URL and 'loginid' parameter, removing duplicate 'siteid' parameter, adding 'country' parameter) |
|||
(One intermediate revision by one other user not shown) | |||
Line 2: | Line 2: | ||
| show_api_admin_section = true | | show_api_admin_section = true | ||
}} | }} | ||
− | == '''POST /option/ | + | == '''POST /option/rule''' == |
'''Description''' | '''Description''' | ||
− | *The 'option/ | + | *The 'option/rule' endpoint/action is a feature in NATS4 that allows you to add option rule for your NATS join options using an API call. |
'''Resource URL''' | '''Resource URL''' | ||
− | *<nowiki>http://domain/api | + | *<nowiki>http://domain/api/option/rule</nowiki> |
*Replace domain with the nats domain | *Replace domain with the nats domain | ||
Line 31: | Line 31: | ||
**'''''type: integer''''' | **'''''type: integer''''' | ||
**'''''required''' | **'''''required''' | ||
− | * | + | *loginid: The affiliate id |
**'''''type: integer''''' | **'''''type: integer''''' | ||
**'''''optional''' | **'''''optional''' | ||
− | |||
− | |||
− | |||
*siteid: The site id | *siteid: The site id | ||
**'''''type: integer''''' | **'''''type: integer''''' | ||
Line 48: | Line 45: | ||
*billerid: the biller id | *billerid: the biller id | ||
**'''''type: integer''''' | **'''''type: integer''''' | ||
+ | **'''''optional''' | ||
+ | *country: The country code | ||
+ | **'''''type: string''''' | ||
**'''''optional''' | **'''''optional''' | ||
*start_time: (if empty, start time will be set to be today) | *start_time: (if empty, start time will be set to be today) | ||
Line 63: | Line 63: | ||
'''POST''' | '''POST''' | ||
− | <nowiki>http://domain/api | + | <nowiki>http://domain/api/option/rule</nowiki> |
*Response: | *Response: | ||
Line 85: | Line 85: | ||
'optionid' => '1', | 'optionid' => '1', | ||
'rule_type' => 'SHOW', | 'rule_type' => 'SHOW', | ||
− | ' | + | 'loginid' => '1', |
'siteid' => '1', | 'siteid' => '1', | ||
'start_time' => '2015-03-15', | 'start_time' => '2015-03-15', | ||
Line 92: | Line 92: | ||
); | ); | ||
− | $url = 'http://domain/api/option/ | + | $url = 'http://domain/api/option/rule'; |
$headers = array( | $headers = array( | ||
Line 117: | Line 117: | ||
import json | import json | ||
− | url = 'http://domain/api/option/ | + | url = 'http://domain/api/option/rule' |
payload = { | payload = { | ||
'optionid': '1', | 'optionid': '1', | ||
'rule_type': 'SHOW', | 'rule_type': 'SHOW', | ||
− | ' | + | 'loginid': '1', |
'siteid': '1', | 'siteid': '1', | ||
'start_time': '2015-03-15', | 'start_time': '2015-03-15', | ||
Line 148: | Line 148: | ||
'optionid': '1', | 'optionid': '1', | ||
'rule_type': 'SHOW', | 'rule_type': 'SHOW', | ||
− | ' | + | 'loginid': '1', |
'siteid': '1', | 'siteid': '1', | ||
'start_time': '2015-03-15', | 'start_time': '2015-03-15', | ||
Line 155: | Line 155: | ||
var options = { | var options = { | ||
− | url: 'http://domain/api/option/ | + | url: 'http://domain/api/option/rule', |
method: 'POST', | method: 'POST', | ||
form: data, | form: data, | ||
Line 182: | Line 182: | ||
'''Curl''' | '''Curl''' | ||
<pre> | <pre> | ||
− | curl -X POST 'http://domain/api/option/ | + | curl -X POST 'http://domain/api/option/rule' -H "api-key: 44b5498dbcb481a0d00b404c0169af62" -H "api-username: tmm1phrvezsbu" -H "Content-Type: application/x-www-form-urlencoded" -d 'optionid=1&rule_type=SHOW&loginid=1&siteid=1&start_time=2015-03-15&end_time=2016-03-15' |
</pre> | </pre> | ||
[[Category:NATS4 API Articles]] | [[Category:NATS4 API Articles]] |
Latest revision as of 23:04, 8 December 2017
POST /option/rule
Description
- The 'option/rule' endpoint/action is a feature in NATS4 that allows you to add option rule for your NATS join options using an API call.
Resource URL
- http://domain/api/option/rule
- Replace domain with the nats domain
- POST
Response Format
- JSON
- HTTP headers
Parameters
Paremeters must be sent with the request body. The examples below show the parameters sent as x-www-form-urlencoded
This api endpoint will allow you to add option rules by optionid, rule type, loginid, siteid, tourid, programid, billerid, country, start_time, end_time and cascadeid. These are parameters used to specify which option rule you're adding:
- optionid: The option id
- type: integer
- required
- rule_type: 'SHOW, HIDE, or IGNORE'
- type: integer
- required
- loginid: The affiliate id
- type: integer
- optional
- siteid: The site id
- type: integer
- optional
- tourid: The tour id
- type: string
- optional
- programid: the program id
- type: string
- optional
- billerid: the biller id
- type: integer
- optional
- country: The country code
- type: string
- optional
- start_time: (if empty, start time will be set to be today)
- type: string
- optional
- end_time: (if empty, end time will be set to be NEVER)
- type: string
- optional
- cascadeid: only applicable if the option is an xsell or upsell join option
- type: integer
- optional
Example Request
POST
http://domain/api/option/rule
- Response:
{ "result": "TRUE", "params": { "option_rule_id": "24" } }
Example Code
PHP
<?php $curl = curl_init(); $data = array( 'optionid' => '1', 'rule_type' => 'SHOW', 'loginid' => '1', 'siteid' => '1', 'start_time' => '2015-03-15', 'end_time' => '2016-03-15' ); $url = 'http://domain/api/option/rule'; $headers = array( 'api-key: 44b5498dbcb481a0d00b404c0169af62', 'api-username: tmm1phrvezsbu' ); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POST, 1); 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);
Python
- This example requires pip and the request library which can be installed via pip by: 'pip install requests'
import requests import json url = 'http://domain/api/option/rule' payload = { 'optionid': '1', 'rule_type': 'SHOW', 'loginid': '1', 'siteid': '1', 'start_time': '2015-03-15', 'end_time': '2016-03-15' } headers = { 'api-key': '44b5498dbcb481a0d00b404c0169af62', 'api-username': 'tmm1phrvezsbu' } res = requests.post(url, data=payload, headers=headers) print res.text
node.js
- This example requires npm and the request module which can be installed via npm by: 'npm install request'
var request = require('request'); data = { 'optionid': '1', 'rule_type': 'SHOW', 'loginid': '1', 'siteid': '1', 'start_time': '2015-03-15', 'end_time': '2016-03-15' } var options = { url: 'http://domain/api/option/rule', method: 'POST', form: data, json: true, headers: { 'api-key': '44b5498dbcb481a0d00b404c0169af62', 'api-username': 'tmm1phrvezsbu' } }; function callback(error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } else{ console.log(body); } } request(options, callback);
Curl
curl -X POST 'http://domain/api/option/rule' -H "api-key: 44b5498dbcb481a0d00b404c0169af62" -H "api-username: tmm1phrvezsbu" -H "Content-Type: application/x-www-form-urlencoded" -d 'optionid=1&rule_type=SHOW&loginid=1&siteid=1&start_time=2015-03-15&end_time=2016-03-15'