Implementation

To create a new Apex class, access Setup in SalesForce, and type in "Apex" in the quick search box. 

Select "Build ... Develop ... Apex Classes".

Create a new class. Add the following code:

Sample Apex onClickToDial
@RestResource(urlMapping='/jtelACD/onClickToDial')
global with sharing class JTELACD_OnClickToDial{
    @HttpGet
    global static void doGet() {
        RestRequest req = RestContext.request;
        RestResponse res = RestContext.response;

        // This is how to access URLParams if required
        // List<String> URLParams = req.requestURI.split('/');
        // Example: ["","jtelACD","onClickToDial"]

        // Extract the request parameters
        String SalesForceID = req.params.get('SalesForceID');
        String CallerID = req.params.get('CallerID');
        String AgentUID = req.params.get('AgentUID');
        
        // Do some interesting logic to determine the service number
        String serviceNumber = CallerID;
        String serviceName   = '';
        
        res.addHeader( 'Content-Type', 'application/json' );
        res.responseBody = Blob.valueOf( '{ "ServiceNumber" : "' + serviceNumber + '", "ServiceName" : "' + serviceName + '" }' );
    }
}

CURL Test

First of all, obtain an OAUTH Token, see Testing with CURL.

The following CURL command can be used to test this API:

CURL - onClickToDial Test
curl.exe --silent -i -X GET --header "Authorization: Bearer <OAUTH_TOKEN>" --header "Connection: Close" "https://<SALES_FORCE_INSTANCE_URL>/services/apexrest/jtelACD/onClickToDial?SalesForceID=<SalesForceRecordID>&CallerID=49894614950701&AgentUID=admin"
  • No labels