Custom scripting service example
Line 1: | Line 1: | ||
− | + | === Tutorial === | |
You can create any number of custom scripting services and invoke them from the REST API. In this example we'll create a | You can create any number of custom scripting services and invoke them from the REST API. In this example we'll create a | ||
Line 6: | Line 6: | ||
is allowed by the role of the user calling the script. If allowed, the script can make additional REST API calls or cURL requests. | is allowed by the role of the user calling the script. If allowed, the script can make additional REST API calls or cURL requests. | ||
− | + | === Create a PHP custom scripting service === | |
Go to the services tab in the admin console and click Create. | Go to the services tab in the admin console and click Create. | ||
Line 47: | Line 47: | ||
− | + | === Call the service === | |
− | From any REST client, make the request | + | From any REST client, make the request '''''GET /api/v2/add?n1=4&n2=5''''' and you should get back the result of 9. |
− | A simple REST client can be found at | + | A simple REST client can be found at '''''<your_instance_url>/test_rest.html'''''. |
Remember if you are not an admin user your user role must allow access to the custom scripting service. | Remember if you are not an admin user your user role must allow access to the custom scripting service. |
Revision as of 18:07, 3 February 2016
Tutorial
You can create any number of custom scripting services and invoke them from the REST API. In this example we'll create a simple PHP custom scripting service that accepts two numbers as query parameters and returns their sum as the result. Since the script is a service, you can control access to it using roles. The script has whatever access to the API that is allowed by the role of the user calling the script. If allowed, the script can make additional REST API calls or cURL requests.
Create a PHP custom scripting service
Go to the services tab in the admin console and click Create. Set the Service Type to Custom Scripting Service. Set the service name to 'add'. Set the service label to 'Add'. Go to the Config tab for the new service and set the Script Engine Type to PHP. Set the Content to contain the following code then click Create Service.
$verb = \Request::method(); if($verb !== 'GET'){ return [ 'success' => false, 'message' => 'Only HTTP GET is allowed on this endpoint' ]; } $params = \Request::query(); $required = ['n1', 'n2']; foreach($required as $element){ if(!isset($params[$element])){ return [ 'success' => false, 'message' => 'Missing '.$element.' in params' ]; } } $result = $params['n1']+$params['n2']; return [ 'success' => true, 'result' => $result ];
Call the service
From any REST client, make the request GET /api/v2/add?n1=4&n2=5 and you should get back the result of 9. A simple REST client can be found at <your_instance_url>/test_rest.html. Remember if you are not an admin user your user role must allow access to the custom scripting service.