Skip to main content

Uniphore Customer Portal

Create or Update Domain Properties

Creates or updates Unique Key (domain properties) for a domain. Unique Key is generated by combining the values of tenantId+account+domain+environmentName.

While using the PUT method, if the above combination is not available then it is considered as a new value and the properties are created.

If the above combination already exists then it is considered as an update operation and the given properties overwrite the existing properties of the given combination.

Note

The unique key is passed as a parameter in Twilio, Exotel and IVR connectors' web hook or endpoint during run time.

Endpoint

Method: PUT

URL: https://uselfserve<tenant-name>.uniphore.com/cse/connector/interactDomain

curl -X PUT 
"http://localhost:9902/connector/interactDomain" 
-H "accept: text/plain" 
-H "Authorization: Bearer <token>" 
-H "Content-Type: application/json" 
-d " { 
  "account": "U_SS",
  "domain": "English-US-New",
  "virtualAgentName": "VA1",
  "applicationKey": "25e66bd-9c16-47d9-922c-a6115b3d90fd",
  "environmentName": "Dev",
  "tenantId": "U_SS",
  "orgId": 1,
  "recordOutboundCall": false,
  "sendDtmfWithPound": false,
  "dtmfTimeOut": 1.2,
  "defaultAsrContextGroup": "sys_yes_no",
  "playWaitMessage": false,
  "waitMessageUrl": "string",
  "languages": {
    "English-US": {
      "onUnknownError": "unexpected error occurred, please try again later",
      "onNoinputPrompts": [
        "I didn'\''t catch that. Can you say it again?",
        "I still didn'\''t get that. Can you speak a little louder?"
      ],
      "onNoinputTermination": "Sorry, I'\''m having trouble hearing you right now. Please call back a little later. Good bye",
      "onReconnect": "I'\''m sorry, a technical error occurred. Let me reconnect you",
      "noInputTimeout": 8,
      "enableBargeIn": false,
      "useContextAsr": false,
      "ssmlsToBeCached": [],
      "pollySsmlsToBeCached": [],
      "asrProperties": {
        "url": "wss://localhost:o",
        "considerOnlyFinal": true,
        "bufferMultippliers": 8,
        "passThreshold": 0,
        "failThreshold": 0,
        "worldLevelThreshold": 0,
        "wordPassPercentage": 0
      }
    }
  },
  "processFirstMessage": false,
  "ttsTemplate": "Uniphore",
  "version": "1"
}"

Warning

Do not change any Parameter Value when a call is in progress.

Header Parameter

Authorization - Bearer <Token>

Request Parameter

Parameter Name

Data Type

Description

Required/ Optional

account

String

Account is provided to the user as a part of login credentials. Reach out to U-Self Serve Engineering Team to know the account.

Required

applicationKey

String

Application key is obtained from X‑Console. Refer to U-Self Serve Application Settings.

Required

domain

String

Name of the VA/connector domain.

Required

dtmfTimeOut

Float

Sets the time the connector needs to wait between DTMF inputs. By default, 3 seconds is set as DTMF timeout, based on your requirement, the value can be changed.

dtmfTimeOut is applicable for Exotel and Twilio connector.

Required

environmentName

Number

Name of the environment.

Example: Development, Production.

Required

tenantId

Number

tenantId is the same as account.

To know the tenandId, reach out to U-Self Serve Engineering Team.

Required

orgId

Number

Organization id for this domain.

This field is used to mapping between the domain and the organization properties

Example: Twilio account and TTS subscription key configured for the organization.

Required

virtualAgentName

String

Name of virtual agent for the corresponding domain. This is used to fetch the ssml properties that are used in TTS caching.

Optional

defaultAsrContextGroup

String

Enter sys_yes_no, if any one language under this domain uses context ASR.

Optional

playWaitMessage

Boolean

Enter True if a message or audio to be played while waiting for a response otherwise enter False.

Note

Applicable for Twilio connector with Microsoft TTS and Amazon Polly.

Optional

recordOutboundCall

Boolean

There is no recording feature available in U-Self Serve. When the value is set as true, the outbound calls are recorded and recordings are available in the Twilio account.

Exotel connector has in-built recording feature.

Required

waitMessageUrl

String

The url of the audio file to be played while waiting for a response. Ensure the audio file is in audio/x-mulaw format with a sample rate of 8000 Hz.

This parameter is required only when playWaitMessage is set as True.

The url should be publicly accessible. For example, if the audio file is in Amazon S3 bucket, ensure the Permissions for Predefined ACLs is set as Grant public-read access.

Optional

languages

String

The language code associated to the domain.

Example: English-US, English-IN.

Acts as a map (key values pairs) containing the information for each language. Each key is a language name and the value is an object which is listed below:

  • onUnknownError

  • onNoinputPrompts

  • onNoinputTermination

  • onReconnect

  • noInputTimeout

  • enableBargeIn

  • useContextAsr

  • ssmlsToBeCached

  • asrProperties

For more information, refer the respective parameter's description available in this table.

Required

useContextAsr

Boolean

If you wish to use context ASR for the Domain and Language combination, Set the value as True. Default value is False.

Note

Currently Exotel connector supports context ASR.

Optional

ssmlsToBeCached

List of String

The list of frequently used ssmls (with no slots or dynamic values) are configured in design flow, which can be cached for cost optimization.

Copy the ssmls/responses configured in the design flow and enter in this parameter.

This parameter is applicable for both Twilio and Exotel connector.

Note

Applicable for Microsoft TTS only.

Optional

sendDtmfWithPound

Boolean

When sendDtmfWithPound is set as True, you can press # to submit the DTMF. When no value is set, it is considered as False.

sendDtmfWithPound is applicable for Exotel connector only.

Optional

onUnknownError

String

Enter the message to be prompted in case on unknown error occurs.

Required

onNoinputPrompts

Number

List of messages to be played if the user does not provide any input. Number of consecutive no input messages need to be played before disconnecting a call depends upon the size of this list.

Example: If there are 2 messages then 2 consecutive no input prompts are permitted after which the call gets disconnected.

Required

onNoinputTermination

String

Enter the message to be played when a call is terminated due to no input from the user.

Required

onReconnect

String

When a connector instance goes down, the calls connected to that instance is picked by another connector instance and the message entered is played out to the user before continuing the call. This is an exceptional case.

Required

noInputTimeout

Number

Enter No input timeout in seconds for voice input response.

The application will wait for a voice input for the number of seconds mentioned in noInputTimeout and if no voice input is provided then the configured no input prompts will be played.

By default, 5 seconds is set as voice input timeout, based on your requirement, the value can be changed.

Note

For Twilio users, if DTMF is expected in a turn, then the dtmfTimeOut overwrites noInputTimeout for that turn.

Required

enableBargeIn

Boolean

Enter True to enable barge in and False to disable barge in.

When enableBargeIn is set to True and user barge into a conversation, the VA starts processing the user input immediately and stops playing its response.

When enableBargeIn is set to False and user barge into a conversation, the VA ignores the user input and continue with its response.

Required

asrProperties

Object

Enter the values to overwrite the default ASR properties configured for a language.

If you want to retain the default ASR for a language under this domain, remove this field or leave it as null.

For more information, refer Create or Update ASR Properties for a Language.

Optional

Example Request
{
"account": "U_SS",
  "domain": "English-US-New",
  "virtualAgentName": "VA1",
  "applicationKey": "25e66bd-9c16-47d9-922c-a6115b3d90fd",
  "environmentName": "Dev",
  "tenantId": "U_SS",
  "orgId": 1,
  "recordOutboundCall": false,
  "sendDtmfWithPound": false,
  "dtmfTimeOut": 1.2,
  "defaultAsrContextGroup": "sys_yes_no",
  "playWaitMessage": false,
  "waitMessageUrl": "string",
  "languages": {
    "English-US": {
      "onUnknownError": "unexpected error occurred, please try again later",
      "onNoinputPrompts": [
        "I didn'\''t catch that. Can you say it again?",
        "I still didn'\''t get that. Can you speak a little louder?"
      ],
      "onNoinputTermination": "Sorry, I'\''m having trouble hearing you right now. Please call back a little later. Good bye",
      "onReconnect": "I'\''m sorry, a technical error occurred. Let me reconnect you",
      "noInputTimeout": 8,
      "enableBargeIn": false,
      "useContextAsr": false,
      "ssmlsToBeCached": [],
      "pollySsmlsToBeCached": [],
      "asrProperties": {
        "url": "wss://localhost:o",
        "considerOnlyFinal": true,
        "bufferMultippliers": 8,
        "passThreshold": 0,
        "failThreshold": 0,
        "worldLevelThreshold": 0,
        "wordPassPercentage": 0
      }
    }
  },
  "processFirstMessage": false,
  "ttsTemplate": "Uniphore",
  "version": "1"
}"  
    
Example Response

Once the API is executed, on success the Unique Key is generated and returned as response. The Unique key is the combination of tenantId+account+domain+environmentName.

U_SS_U_SS_English-US_New_Dev

Response Parameters

Value

tenantId

U_SS

account

U_SS

domain

English-US_New

environmentName

Dev

Response and Error Codes

Response Code

Condition

200

OK

401

Unauthorized

403

Forbidden

500

Internal Sample Error

Note: With the error codes, a summary containing the reason for failure is provided.