Services
This is part of the API Basics section of the Web Services API.
Overview
The Services resource provides a list of the services available in the system as well as their statuses and any information that is necessary to interact with the service (for example, a public SIP port for a "Voice" service). These services represent various aspects of Web Services that (in most cases) correspond to internal Genesys servers. For instance, each "Voice" service corresponds to a TServer, each "Reporting" service corresponds to a StatServer, and so on. A UI application can use this information to draw portions of the screen based on the status of a specific service. For instance, if the Provisioning service is "read only" the UI should disable all write operations but allow reading of provisioning data.
Operations
The following operations are available for /services:
Operation | Description | Permissions |
---|---|---|
GET | Returns a list of service URIs or actual service resources if the fields parameter is specified. The list is populated based on the features currently enabled for the contact center.
|
|
The following operations are available for /services/{id}:
Operation | Description | Permissions |
---|---|---|
GET | Returns information about the specified service. |
|
Attributes
The following attributes are currently available for each service resource:
Attribute | Type | Description | Access | Applies To |
---|---|---|---|---|
id | String | A unique string identifying the service | GET | All Services |
name | String | The service name. This will be equal to the name of the corresponding server's application object in Configuration Server. Note that in case there is a primary/backup pair, the primary server's application name will be used regardless of which instance is currently running. For the "Provisioning" service, the value will always be set to Provisioning. | GET | All Services |
type | String | One of the following:
Provisioning (CME + Cassandra) | Voice (T-Server) | Reporting (Stat Server) | Media (Interaction Server) |
GET | All Services |
state | String | The service's current state. Possible values are:
Active | Inactive | ReadOnly (where applicable) |
GET | All Services |
Notifications
The client application can subscribe to the topic /notifications/services in order to receive service state change notifications. The following attributes will be present in a service state change notification:
Attribute | Value Type | Description |
---|---|---|
messageType | String | Will always be ServiceStateChangeMessage |
service | Service Resource | The service resource for which the state has been changed |
Examples
GET /services?fields=* { "statusCode": 0, "services": [{ "id": "..", "name": "Provisioning", "type": "Provisioning", "state": "Active" }, { "id": "..", "name": "SIPS1", "type": "Voice", "state": "Active" }, { "id": "..", "name": "SIPS2", "type": "Voice", "state": "Active" }, }
GET /services/<service_id> { "statusCode": 0, "service": [{ "id": <service_id>, "name": "Provisioning", "type": "Provisioning", "state": "Active" } }