Difference between revisions of "NATS5 REST API Site POST option"
From TMM Wiki
Jump to navigationJump to search(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{NATS5 Manual |
− | | | + | | show_api_admin_site_section = true |
}} | }} | ||
== '''POST /site/option''' == | == '''POST /site/option''' == | ||
+ | |||
'''Description''' | '''Description''' | ||
* Add join option | * Add join option | ||
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 34: | Line 35: | ||
** optional | ** optional | ||
+ | == '''Example Request''' == | ||
+ | Method: '''POST'''<br/> | ||
+ | URL: <nowiki>http://domain/api/site/option</nowiki><br/> | ||
+ | Form Data:<br/> | ||
+ | * siteid: 2 | ||
+ | * details: [{"name":"name","value":"Join Form"},{"name":"initial","value":"1"},{"name":"initial_days","value":"1"},{"name":"rebill","value":"30"},{"name":"rebill_days","value":"30"},{"name":"no_old_members","value":false},{"name":"active_all","value":true}] | ||
+ | * biller: {"billerid":1,"fields":[]} | ||
+ | |||
+ | Response: | ||
+ | <pre> | ||
+ | { | ||
+ | "success": true, | ||
+ | "optionid": 2, | ||
+ | "result": "option added" | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
== '''Example Code''' == | == '''Example Code''' == | ||
Line 47: | Line 67: | ||
$url = 'http://yourdomain.com'; //set your NATS URL here | $url = 'http://yourdomain.com'; //set your NATS URL here | ||
− | $data = array( | + | $data = Array( |
− | + | 'siteid' => '2', | |
+ | 'details' => json_encode(array ( 0 => array ( 'name' => 'name', 'value' => 'Join Form', ), 1 => array ( 'name' => 'initial', 'value' => '1', ), 2 => array ( 'name' => 'initial_days', 'value' => '1', ), 3 => array ( 'name' => 'rebill', 'value' => '30', ), 4 => array ( 'name' => 'rebill_days', 'value' => '30', ), 5 => array ( 'name' => 'no_old_members', 'value' => false, ), 6 => array ( 'name' => 'active_all', 'value' => true, ),)), | ||
+ | 'biller' => json_encode(array ( 'billerid' => 1, 'fields' => array ( ),)), | ||
); | ); | ||
Line 90: | Line 112: | ||
</pre> | </pre> | ||
− | [[Category: | + | [[Category:NATS5_REST_APIs]] |
− | [[Category: | + | [[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/option
Description
- Add join option
Resource URL
- http://domain/api/site/option
- Replace domain with the nats domain
- POST
Response Format
- JSON
- HTTP headers
Parameters
Parameters can be sent as url encoded params
- siteid
- type: digit
- optional
- option_type_id
- type: digit
- optional
- details
- type: json (JSON Object)
- required
- biller
- type: json (JSON Object)
- optional
Example Request
Method: POST
URL: http://domain/api/site/option
Form Data:
- siteid: 2
- details: [{"name":"name","value":"Join Form"},{"name":"initial","value":"1"},{"name":"initial_days","value":"1"},{"name":"rebill","value":"30"},{"name":"rebill_days","value":"30"},{"name":"no_old_members","value":false},{"name":"active_all","value":true}]
- biller: {"billerid":1,"fields":[]}
Response:
{ "success": true, "optionid": 2, "result": "option added" }
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', 'details' => json_encode(array ( 0 => array ( 'name' => 'name', 'value' => 'Join Form', ), 1 => array ( 'name' => 'initial', 'value' => '1', ), 2 => array ( 'name' => 'initial_days', 'value' => '1', ), 3 => array ( 'name' => 'rebill', 'value' => '30', ), 4 => array ( 'name' => 'rebill_days', 'value' => '30', ), 5 => array ( 'name' => 'no_old_members', 'value' => false, ), 6 => array ( 'name' => 'active_all', 'value' => true, ),)), 'biller' => json_encode(array ( 'billerid' => 1, 'fields' => array ( ),)), ); $request = Array( 'method' => 'POST', 'path' => 'v1/site/option', '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); ?>