Difference between revisions of "NATS5 REST API News POST entry"
From TMM Wiki
Jump to navigationJump to search (Created page with "{{NATS4 Manual | show_api_admin_section = true }} == '''POST /news/entry''' == '''Description''' * Add news entry '''Resource URL''' *<nowiki>http://domain/api/news/entry</n...") |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{NATS5 Manual |
− | | | + | | show_api_admin_news_section = true |
}} | }} | ||
== '''POST /news/entry''' == | == '''POST /news/entry''' == | ||
+ | |||
'''Description''' | '''Description''' | ||
* Add news entry | * Add news entry | ||
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: | ||
** required | ** required | ||
− | [[Category: | + | == '''Example Request''' == |
− | [[Category: | + | Method: '''POST'''<br/> |
+ | URL: <nowiki>http://domain/api/news/entry</nowiki><br/> | ||
+ | Form Data:<br/> | ||
+ | * headline: test Headline | ||
+ | * news_section_id: 1 | ||
+ | * publish: 31 May 2019 | ||
+ | * body: This is a news entry test | ||
+ | |||
+ | Response: | ||
+ | <pre> | ||
+ | { | ||
+ | "success": true, | ||
+ | "result": "news entry added", | ||
+ | "entry": { | ||
+ | "newsid": "1", | ||
+ | "added": "1565382566", | ||
+ | "loginid": "1", | ||
+ | "news_section_id": "1", | ||
+ | "headline": "test Headline", | ||
+ | "body": "This is a news entry test", | ||
+ | "publish": "1559275200", | ||
+ | "news_section_name": "Announcements", | ||
+ | "publish_date": "2019-05-31 00:00:00", | ||
+ | "added_date": "2019-08-09 16:29:26" | ||
+ | } | ||
+ | } | ||
+ | </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( | ||
+ | 'headline' => 'test Headline', | ||
+ | 'news_section_id' => 1, | ||
+ | 'publish' => '31 May 2019', | ||
+ | 'body' => 'This is a news entry test', | ||
+ | ); | ||
+ | |||
+ | $request = Array( | ||
+ | 'method' => 'POST', | ||
+ | 'path' => 'v1/news/entry', | ||
+ | '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_news_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:00, 9 August 2019
POST /news/entry
Description
- Add news entry
Resource URL
- http://domain/api/news/entry
- Replace domain with the nats domain
- POST
Response Format
- JSON
- HTTP headers
Parameters
Parameters can be sent as url encoded params
- headline
- type: string
- required
- news_section_id
- type: digit
- required
- publish
- type: datetime (A date string to be parsed by php strtotime, or a unix timestamp integer)
- required
- body
- type: string
- required
Example Request
Method: POST
URL: http://domain/api/news/entry
Form Data:
- headline: test Headline
- news_section_id: 1
- publish: 31 May 2019
- body: This is a news entry test
Response:
{ "success": true, "result": "news entry added", "entry": { "newsid": "1", "added": "1565382566", "loginid": "1", "news_section_id": "1", "headline": "test Headline", "body": "This is a news entry test", "publish": "1559275200", "news_section_name": "Announcements", "publish_date": "2019-05-31 00:00:00", "added_date": "2019-08-09 16:29:26" } }
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( 'headline' => 'test Headline', 'news_section_id' => 1, 'publish' => '31 May 2019', 'body' => 'This is a news entry test', ); $request = Array( 'method' => 'POST', 'path' => 'v1/news/entry', '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); ?>