Difference between revisions of "NATS5 REST API Site POST coupon"
From TMM Wiki
Jump to navigationJump to search (Created page with "{{NATS4 Manual | show_api_admin_section = true }} == '''POST /site/coupon''' == '''Description''' * Add new site coupon '''Resource URL''' *<nowiki>http://domain/api/site/co...") |
|||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{NATS5 Manual |
− | | | + | | show_api_admin_site_section = true |
}} | }} | ||
== '''POST /site/coupon''' == | == '''POST /site/coupon''' == | ||
+ | |||
'''Description''' | '''Description''' | ||
* Add new site coupon | * Add new site coupon | ||
Line 9: | Line 10: | ||
*Replace domain with the nats domain | *Replace domain with the nats domain | ||
− | '''[[ | + | '''[[NATS5_REST_API_Overview#Allowed_HTTP_Request_Methods|Request Method''']] |
*POST | *POST | ||
'''Response Format''' | '''Response Format''' | ||
*JSON | *JSON | ||
− | '''[[ | + | '''[[NATS5_REST_API_Overview#Authentication|Authentication]]''' |
*HTTP headers | *HTTP headers | ||
Line 43: | Line 44: | ||
** optional | ** optional | ||
* '''unique_to_member''' | * '''unique_to_member''' | ||
− | ** type: boolean_digit | + | ** type: boolean_digit (0 or 1) |
** optional | ** optional | ||
− | [[Category: | + | == '''Example Request''' == |
− | [[Category: | + | Method: '''POST'''<br/> |
+ | URL: <nowiki>http://domain/api/site/coupon</nowiki><br/> | ||
+ | Form Data:<br/> | ||
+ | * siteid: 2 | ||
+ | * programid: 1 | ||
+ | * code: 1122334455667788 | ||
+ | * start: 2019-06-06 | ||
+ | * end: Never | ||
+ | * optionids: 5 | ||
+ | * unique_to_member: 0 | ||
+ | |||
+ | Response: | ||
+ | <pre> | ||
+ | { | ||
+ | "success": true, | ||
+ | "result": "Coupon added", | ||
+ | "couponid": 1 | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == '''Example Code''' == | ||
+ | |||
+ | '''PHP''' | ||
+ | <pre> | ||
+ | <?php | ||
+ | |||
+ | $headers = array( //set your username and API key here | ||
+ | 'api-key: 44b5498dbcb481a0d00b404c0169af62', | ||
+ | 'api-username: tmm1phrvezsbu' | ||
+ | ); | ||
+ | $url = 'http://yourdomain.com'; //set your NATS URL here | ||
+ | |||
+ | $data = Array( | ||
+ | 'siteid' => '2', | ||
+ | 'programid' => 1, | ||
+ | 'code' => '1122334455667788', | ||
+ | 'start' => '2019-06-06', | ||
+ | 'end' => 'Never', | ||
+ | 'optionids' => '5', | ||
+ | 'unique_to_member' => 0, | ||
+ | ); | ||
+ | |||
+ | $request = Array( | ||
+ | 'method' => 'POST', | ||
+ | 'path' => 'v1/site/coupon', | ||
+ | 'data' => $data | ||
+ | ); | ||
+ | |||
+ | /*code below is the same for (almost) every API call */ | ||
+ | |||
+ | $curl = curl_init(); | ||
+ | |||
+ | $url = $url.'/api/'.$request['path']; | ||
+ | |||
+ | $query = http_build_query($request['data']); | ||
+ | |||
+ | if($request['method'] == 'GET'){ | ||
+ | //add query string parameters to the end of the url | ||
+ | $url = $url.'?'.$query; | ||
+ | }else{ | ||
+ | //send parameters as POST fields | ||
+ | curl_setopt($curl, CURLOPT_POST, 1); | ||
+ | curl_setopt($curl, CURLOPT_POSTFIELDS, $query); | ||
+ | |||
+ | if($request['method'] != 'POST'){ | ||
+ | $headers[] ='X-HTTP-Method: '.$request['method']; //send custom request method | ||
+ | } | ||
+ | } | ||
+ | curl_setopt($curl, CURLOPT_URL, $url); | ||
+ | curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); | ||
+ | curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); | ||
+ | |||
+ | |||
+ | $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); | ||
+ | ?> | ||
+ | </pre> | ||
+ | |||
+ | [[Category:NATS5_REST_APIs]] | ||
+ | [[Category:NATS5_REST_site_Collection]] | ||
[[Category:Autogenerated_Wiki_Article]]<!-- Remove this tag when customizing a wiki article. The article will no longer be automatically updated --> | [[Category:Autogenerated_Wiki_Article]]<!-- Remove this tag when customizing a wiki article. The article will no longer be automatically updated --> | ||
+ | [[Category:Autogenerated_Rest_Sample]]<!-- This article has a generated REST API Sample from our unit testing system. Also remove if customizing the wiki article --> |
Latest revision as of 16:01, 9 August 2019
POST /site/coupon
Description
- Add new site coupon
Resource URL
- http://domain/api/site/coupon
- Replace domain with the nats domain
- POST
Response Format
- JSON
- HTTP headers
Parameters
Parameters can be sent as url encoded params
- siteid
- type: digit
- required
- programid
- type: digit
- optional
- code
- type: string
- required
- start
- type: datetime (A date string to be parsed by php strtotime, or a unix timestamp integer)
- required
- end
- type: datetime (A date string to be parsed by php strtotime, or a unix timestamp integer)
- optional
- optionids
- type: digit_list (Either a comma-separated string of digits, or a JSON array of digits)
- required
- max_redemptions
- type: digit
- optional
- unique_to_member
- type: boolean_digit (0 or 1)
- optional
Example Request
Method: POST
URL: http://domain/api/site/coupon
Form Data:
- siteid: 2
- programid: 1
- code: 1122334455667788
- start: 2019-06-06
- end: Never
- optionids: 5
- unique_to_member: 0
Response:
{ "success": true, "result": "Coupon added", "couponid": 1 }
Example Code
PHP
<?php $headers = array( //set your username and API key here 'api-key: 44b5498dbcb481a0d00b404c0169af62', 'api-username: tmm1phrvezsbu' ); $url = 'http://yourdomain.com'; //set your NATS URL here $data = Array( 'siteid' => '2', 'programid' => 1, 'code' => '1122334455667788', 'start' => '2019-06-06', 'end' => 'Never', 'optionids' => '5', 'unique_to_member' => 0, ); $request = Array( 'method' => 'POST', 'path' => 'v1/site/coupon', 'data' => $data ); /*code below is the same for (almost) every API call */ $curl = curl_init(); $url = $url.'/api/'.$request['path']; $query = http_build_query($request['data']); if($request['method'] == 'GET'){ //add query string parameters to the end of the url $url = $url.'?'.$query; }else{ //send parameters as POST fields curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $query); if($request['method'] != 'POST'){ $headers[] ='X-HTTP-Method: '.$request['method']; //send custom request method } } curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $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); ?>