Difference between revisions of "NATS5 REST API Site POST option"
From TMM Wiki
Jump to navigationJump to searchm (TMMJoe moved page NATS4 REST API Site POST option to NATS5 REST API Site POST option: Renaming NATS5 API pages) |
|||
Line 1: | Line 1: | ||
− | {{ | + | {{NATS5 Manual |
| show_api_admin_section = true | | show_api_admin_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 111: | 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 --> | [[Category:Autogenerated_Rest_Sample]]<!-- This article has a generated REST API Sample from our unit testing system. Also remove if customizing the wiki article --> |
Revision as of 15:47, 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); ?>