Provision IWD
From Genesys Documentation
This topic is part of the manual Intelligent Workload Distribution Private Edition Guide for version Current of Intelligent Workload Distribution.
Contents
Learn how to provision IWD.
Related documentation:
RSS:
Important
Provisioning must be done after deploying IWD.All other provisioning is done through the tenant provisioning which can be performed manually or via IWD API.
Provisioning via IWD API
The following endpoints are available:
- POST /provisioning
- PUT /provisioning
- DELETE /provisioning/ccid
Currently, PUT and POST serve the same purpose.
Create tenant request
The following request assembles configurations for GAPI, iWD, and iWDEmail services, requested API keys provided in the iwd.apiKeys object, and provisions them in the Digital Channels database using Digital Channels API.POST /iwd/v3/provisioning
BODY:
{
"tenant": {
"id": "100", #tenant id - needed for correct generation of apikeys
"name": "t100", #tenant Name
"ccid": "9350e2fc-a1dd-4c65-", #tenant CC id
"apiKey": "049111b4-6cac-4e83-a7bf-37c057b45b0f", #IWD cluster API key from nexus
"gws": {
"gwsUrl": "http://gws-service-proxy.gws", #gws URL
"data": {
"authUrl": "http://gauth-auth.gauth", #gauth URL
"authredircetUrl": "https://gauth.nlb01-uswest1.gcpe001.gencpe.net" #gws redirect URL
},
"secret": {
"clientId": "iwd_client", #gws API client id
"clientSecret": "secret", #secret
"apikey": "none",
"username": "nexus", #admin user in configserver
"token": ":;pYV1lNWh0-" #admin user password
}
}
},
"iwd": {
"url": "http://iwd.iwd:4024",
"db": {
#iwd DB details
"host": "pgdb-dgt-postgresql.infra",
"port": 5432,
"database": "iwd-100",
"user": "iwd-100",
"password": "iwd-100",
"ssl": false
},
"apiKeys": {
"IWD_APIKEY_TENANT": "22552b96-8783-46a9-b0eb-075ddfa8893e", #New API key that needs to be provisioned for iwd
"IWD_APIKEY_IWDDM": "d6b68a7b-12ed-4c3c-830d-215eecdd1a48" #New API key that needs to be provisioned for iwddm
}
},
"iwdEmail": {
"url": "N/A"
}
}
Parameters
The following parameters are supported:
Parameter name | Datatype | Required | Description |
---|---|---|---|
tenant | object | true | Tenant to provision |
tenant.name | string | true | Tenant name (GWS domain) |
tenant.id | string | true | Short tenant ID |
tenant.ccid | string | true | GWS contact center ID |
tenant.apikey | string | true | API key, issued by Digital Channels for a given tenant |
iwd | object | true | IWD Service configuration |
iwd.url | string | true | URL where IWD service is launched |
iwd.db | object | true | IWD DB connection configuration |
iwd.db.host | string | true | DB host |
iwd.db.port | number | true | DB port |
iwd.db.database | string | true | DB name |
iwd.db.user | string | true | DB user |
iwd.db.password | string | true | DB password |
iwd.db.ssl | boolean | true | Use secure connection to DB or not |
iwdEmail | object | true | IWD Email Service configuration |
iwdEmail.url | string | true | URL where IWD Email service is launched, should be N/A |
iwd.apiKeys | object | true | Tenant API keys for using various services |
iwd.apiKeys.IWD_APIKEY_TENANT | string | true | Key for submitting API requests from customer |
iwd.apiKeys.IWD_APIKEY_IWDDM | string | false | Required if you plan to deploy IWD Data Mart and use IWD reports |
Response
The following success response is returned when the tenant is provisioned successfully:{
created: '''true'''
}
As a result, the following records are created in the Digital Channels database:
- GAPI service with GWS API key, GWS client secret, GWS username, and token
- IWD service with default options, categories, filters, prioritization, and secret
- Email service with the default options and mailboxes
- API keys
An error is returned if any of the required parameters is missing.
Delete tenant request
The following request removes the specified tenant provisioning:
DELETE /iwd/v3/provisioning/ccid?[service=String || deleteTenant=Boolean]
Path parameters
Parameter name | Datatype | Required | Description |
---|---|---|---|
ccid | string | true | Contact Center id |
Query parameters
A minimum of one parameter is mandatory.
Parameter name | Datatype | Required | Description |
---|---|---|---|
service | string | true (at least one) |
Specific services names to be deleted from the database |
deleteTenant | boolean | Flag to delete all tenant services from Digital Channels database |
Delete tenant examples:
To delete the specified services from the Digital Channels database:
DELETE /iwd/v3/provisioning/ccid?service=iWD,iWDEmail
To delete all tenant services and tenant configuration from the Digital Channels database:
DELETE /iwd/v3/provisioning/ccid?deleteTenant=true
Manual provisioning
Example:
curl 'http://iwd.iwd:4024/iwd/v3/provisioning' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'x-api-key: ed99c91d-dd18-4c96-af8e-86f8e8105bc4' \
--data '{"tenant":{"id":"100", "name":"t100","ccid":"d846c51e-1fe8-4118-bf32-cf0b4ef29032","apiKey":"22552b96-8783-46a9-b0eb-075ddfa8893e"},"iwd":{"url":"http://iwd.iwd:4024","db":{"host":"postgres-rw.infra.svc.cluster.local","port":5432,"database":"iwd","user":"iwd","password":"iwd","ssl":false},"apiKeys":{"IWD_APIKEY_TENANT":"22552b96-8783-46a9-b0eb-075ddfa8893e","IWD_APIKEY_IWDDM":"d6b68a7b-12ed-4c3c-830d-215eecdd1a48"}},"iwdEmail":{"url":"N/A"}}'
Comments or questions about this documentation? Contact us for support!