Customizing a Web Service

The ARM enables operators to customize a web service.

➢ To customize a web service:
1. Open the Web Services page (Settings > Call Flow Configurations > Web Services).

With the help of a SIP Manipulation Group, you can use a ‘custom’ web service and send a GET/POST/PUT/PATCH REST API request.

2. Click + to add a new web service -OR- select an already configured service and then click the 'edit' icon.

3. Use the preceding screen to add | edit a ‘custom’ web service.
4. Customize the web service in the ‘SIP Manipulation Groups’ page:
● The uppermost screen section indicated in the figure below enables operators to prepare the request and its sending.
● The lowermost screen section indicated in the figure below enables operators to use the response.

5. Prepare and send the request:

● In the first rule, an HTTP header is added to the request
✔ Its key will be ‘sampleHttpHeader’
✔ It will receive its value from ‘SourceUri.User’
● In the second rule, a POST request will be sent by ‘custom_local’ web-service.
✔ The URL suffix can be built in a similar way to ‘action value’ field.
✔ The body of the request is built by writing full and valid JSON. Inside the JSON it is possible to combine values from the system/headers by wrapping them with the '%' character, as shown in the figure.
6. Add rules after the request (in the same Manipulation Group) and in these rules, use the response values, for example:

● [Refer to the preceding figure] In the first rule, in the ‘sourceUri.User’ field, the ‘name’ field will be applied if it exists in the body of the received response (currently, first-level JSON search is supported).
● In the second rule, note that first a condition-group (built separately) is called. Two new related options are available:
✔ If inside condition-group regex matched, you can use its groups in the same condition-group or in linked manipulation-group window (in the preceding figure, see ‘regexGroupFromCondition.$1’)
✔ If a condition group is linked to a manipulation group like here, the operator is able to use the ‘Http.Response…’ values also in the linked condition-group.
7. View the linked condition-group as exemplified in the following figure.

● [Refer to the preceding figure] In the first rule, a regex is performed on the body of the HTTP Response (possible if this Condition-Group is called from a Manipulation-Group).
● In the second rule, a test is made on the first group found in the last regex (if found).