Provision IWD

From Genesys Documentation
Jump to: navigation, search
Important
Provisioning must be done after deploying IWD.
Workload Manager (UI) uses Roles. Agents must be assigned appropriate Roles.

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!