Sinch Contact Center Restful Configuration Interface (RCI) version v1
http://localhost:8080/RI/rci
Description
This interface provides restricted configuration interface for Sinch Contact Center.
Request Header Data Requirements
To GET JSON response, the request must have "Accept = application/json" header.
To GET XML response, the request should have "Accept = application/xml" header.
To POST/PUT JSON data, the request must have "Content-Type = application/json" header.
To POST/PUT XML data, the request should have "Content-Type = application/xml" header.
POST should also have "Accept = text/html" header. It returns the ID of the created object.
PUT and DELETE do not have any response, instead they return code 201 (No Content).
/users
Collection of users.
Entity representing a user.
Get the user with userId = {userId}.
Update the user with userId = {userId}.
Note: Provide all properties since all fields are updated.
Delete the user.
Collection of userGroups.
Get a list of userGroups for user.
Add user group for user.
Entity representing a userGroup.
Get the userGroup with userGroupId = {userGroupId}.
Remove user from user group.
Collection of roles.
Get a list of roles for user.
Add role for user.
Entity representing a role.
Get the role with roleId = {roleId}.
Remove user from role.
Collection of certificates.
Get a list of certificates for user.
Add certificate for user.
Entity representing a certificate.
Get the certificate with certificateId = {certificateId}.
Delete user certificate.
Collection of skills.
Get a list of skills for user.
Add skill for user.
Entity representing a skill.
Get user's skill value.
Update user's skill value.
Delete user skill.
/userGroups
Collection of userGroups.
Entity representing a userGroup.
Get the userGroup with userGroupId = {userGroupId}.
Update the userGroup with userGroupId = {userGroupId}.
Note: Provide all properties since all fields are updated.
Delete the userGroup.
Collection of users.
Get a list of users in user group.
Add user into user group.
Entity representing a user.
Get the user with userId = {userId}.
Remove user from user group.
/userSettingsTemplates
Collection of userSettingsTemplates.
Get a list of userSettingsTemplates.
Creates new user settings template. "copyFromId" query parameter is mandatory. All settings are copied from that existing user settings template, including those which can't be added using this service.
Supported settings in System Configurator order:
Communication Panel Settings: all
- ECFUI_ReplyTemplateShortcutWin - "Reply Templates Shortcut (Windows)", default: alt+t
- ECFUI_ReplyTemplateShortcutMac - "Reply Templates Shortcut (Mac)", default: alt+t
- ECFUI_AutoActivateDefaultReplyTemplate - "Automate Sending First Chat Response", boolean 1 or 0, default: 0=false
- ECFUI_DailyPauseTime - "Daily Pause Time", integer seconds, default: 1800 = 30 minutes
- ECFUI_DailyWorkTime - "Daily Work Time", integer seconds, default: 30600 = 510 minutes = 8.5 hours
- ECFUI_WrapupTimeDirect - "Personal Wrap-Up Time", integer seconds, default: 0 seconds
- ECFUI_EnableNotReadyTimer - "Use Timer with Not Ready Status", boolean 1 or 0, default: 0=false
- ECFUI_EnableAbsenceTimer - "Use Timer with Absence Profiles", boolean 1 or 0, default: 0=false
- ECFUI_MaxRejectCount - "Number of Offerings Before Activating Not Ready", integer, default: 1
- ECFUI_AutoAnswerDelay - "Delay for Auto-Answering", integer seconds, default: 5 seconds
- ECFUI_AutoAnswerAutoAllocated - "Use Auto-Answering with Auto-Allocated Conversations", boolean 1 or 0, default: 0=false
- ECFUI_AutoAnswerPicked - "Use Auto-Answering with Picked Conversations", boolean 1 or 0, default: 1=true
- ECFUI_AutoAnswerDirect - "Use Auto-Answering with Direct Conversations", boolean 1 or 0, default: 0=false
- ECFUI_PicklistEnabled - "Enable Picklist Feature", boolean 1 or 0, default: 1=true
- ECFUI_PicklistHuntGroup - "Filter Picklist to Show Only Conversations from Hunt Group Queues", boolean 1 or 0, default: 0=false
- ECFUI_PicklistActiveQueue - "Show Conversations from Agent's Active Queues in Picklist", boolean 1 or 0, default: 0=false
- ECFUI_DefaultView - "Default Focus View", one of: QueueLogin,InteractionPicklist,UserInteractions, default: QueueLogin
Communication Panel Chat Input Cleanup: all
- ECFUI_HtmlSanitizerAllowedTags - "Allowed HTML Tags", default: a,abbr,b,blockquote,body,br,center,code,div,em,font,h1,h2,h3,h4,h5,h6,i,label,li,ol,p,pre,small,source,span,strong,ul,u
- ECFUI_HtmlSanitizerAllowedCssStyles - "Allowed CSS Styles in HTML", default: text-decoration,font-style,font-weight
- ECFUI_HtmlSanitizerAllowedAttributes - "Allowed HTML Attributes", default: controls,href,src,style,target,title,type
Communication Panel Contact Center: all
- ECFUI_EnableSupervisor - "Enable Supervisor Elements and Actions", boolean 1 or 0, default: 0=false
- ECFUI_EnableSupervisorDenyButton - "Allow Call Monitoring", boolean 1 or 0, default: 1=true
- ECFUI_SupervisorChatQueueAddress - "Internal Chat Queue Address", must contain @ character
- ECFUI_ShowSupervisorDashboardLaunchButton - "Show Launch Button for Supervisor Dashboard", boolean 1 or 0, default: 0=false
CDT Personalization: none
CDT Directory: none
CDT Shortcut Keys: none
Recording: only 1
- CDT_CUI_SOL_PHONE_callrecordinglistenlog - "Log Recording Listenings", boolean 1 or 0, default: 1=true
CDT Phone Settings: only 1
- CDT_CUI_SOL_PHONE_visibleanumber - "Visible A Number", external phone number.
CDT Audio Settings: none
CDT Contact Center: none
Multiterminal Desktop / Simultaneous Ring: a few
- CDT_CUI_SOL_PHONE_phonemtdactive - "Use MTD / Simultaneous Ring Mode", boolean 1 or 0, default: 0=false
- CDT_CUI_SOL_PHONE_phonemtdinotheractive - "Activate Other Number", boolean 1 or 0, default: 0=false
- CDT_CUI_SOL_PHONE_phonemtdinothernumber - "Other Number", must be empty, can only set "forced" field
- CDT_CUI_SOL_PHONE_phonemtdoutterminal - "Terminal for Outbound Calls", one of: VIRTUAL,HARDPHONE,GSM,OTHER
Contact Settings: a few
- CDT_CUI_SOL_autopwtime - "Wrap-Up Time", integer seconds, default: 3
- CRMMultiChat - "Enable Multi-Chat", boolean 1 or 0, default: 1=true
- MultiChatMaxSessions - "Maximum Number of Chat Sessions", integer, default: 2
- EcfEmail - "Use ECF for E-Mail", boolean 1 or 0, default: 1=true
SAP Service Cloud (C4C) Integration: all
- CRMCOD_directcallurl - "URL for Direct Calls"
- CRMCOD_queuecallurl - "URL for Queue Calls"
- ECFUI_C4CIntegration - "Enable Communication Panel Integration with SAP Service Cloud (C4C)", boolean 1 or 0, default: 1=true
ServiceNow Integration: all
- ECFUI_ServiceNowPhoneIntegration - "Enable ServiceNow Integration for Phone Channel", boolean 1 or 0, default: 0=false
- ECFUI_ServiceNowChatIntegration - "Enable ServiceNow Integration for Chat Channel", boolean 1 or 0, default: 0=false
- ECFUI_ServiceNowAddress - "ServiceNow Host Address"
Salesforce Integration: all
- ECFUI_SalesforceIntegration - "Enable Salesforce Integration", boolean 1 or 0, default: 0=false
- ECFUI_SalesforceOpenCPInPopout - "Use Communication Panel in Separate Window", boolean 1 or 0, default: 0=false
Dynamics 365 Integration: all
- ECFUI_Dynamics365PhoneIntegration - "Enable Dynamics 365 Integration for Phone Channel", boolean 1 or 0, default: 0=false
- ECFUI_Dynamics365CPWidth - "Embedded Communication Panel Width (px)", integer, default: 550 px
- ECFUI_Dynamics365HostAddress - "Dynamics 365 Host Address"
CMC Settings: none
DTMF Mapping for Presence Profiles: none
User's Directory Fields: none
Entity representing a userSettingsTemplate.
Get the userSettingsTemplate with userSettingsTemplateId = {userSettingsTemplateId}.
Updates only those settings that are included. See POST /userSettingsTemplates for a list of supported settings.
Delete the userSettingsTemplate.
Collection of settings.
Get a list of settings in user settings template.
Add or update setting into user settings template. See POST /userSettingsTemplates for a list of supported settings.
/queues
Collection of queues.
Get a list of queues.
Add a new queue. Addresses can't be added by this resource, but instead use POST /rci/queues/:queueId/extensions.
Entity representing a queue.
Update the queue.
Type can't be changed.
Addresses can't be changed by this resource, but instead use POST /rci/queues/:queueId/extensions and PUT /rci/queues/:queueId/extensions/:extensionId.
Note: Provide all properties since all fields are updated.
Get the queue with queueId = {queueId}.
Delete the queue.
Collection of extensions.
Get a list of extensions for queue.
Add a new extension.
Entity representing a extension.
Get the extension with extensionId = {extensionId}.
Update the extension with extensionId = {extensionId}.
Note: Provide all properties since all fields are updated.
Delete the extension.
Collection of queueGroups.
Get a list of queue groups for queue.
Add queue group for queue.
Entity representing a queueGroup.
Get the queueGroup with queueGroupId = {queueGroupId}.
Remove queue from queue group.
Collection of attributes.
Get a list of attributes.
Add a new attribute.
/queueGroups
Collection of queueGroups.
Entity representing a queueGroup.
Get the queueGroup with queueGroupId = {queueGroupId}.
Update the queueGroup with queueGroupId = {queueGroupId}.
Note: Provide all properties since all fields are updated.
Delete the queueGroup.
Collection of queues.
Get a list of queues for queue group.
Add queue into queue group.
Entity representing a queue.
Get the queue with queueId = {queueId}.
Delete the queue.
Collection of attributes.
Get a list of attributes.
Add a new attribute.
/roles
Collection of roles.
Entity representing a role.
Get the role with roleId = {roleId}.
Update the role with roleId = {roleId}.
Note: Provide all properties since all fields are updated.
Delete the role.
Collection of users.
Get a list of users having role.
Add role for user.
Entity representing a user.
Get the user with userId = {userId}.
Remove role from user.
/skills
Collection of skills.
/scripts
Collection of scripts.
/timeZones
Collection of timeZones.
Entity representing a timeZone.
Get the timeZone with timeZoneId = {timeZoneId}.
/prsProfiles
Collection of prsProfiles.
Entity representing a prsProfile.
Get the prsProfile with prsProfileId = {prsProfileId}.
/messagingServices
Collection of messagingServices.
Entity representing a messagingService.
Get the messagingService with messagingServiceId = {messagingServiceId}.
Update the messagingService with messagingServiceId = {messagingServiceId}.
Note: Provide all properties since all fields are updated.
Delete the messagingService.
Collection of authentications.
Get a list of messaging service authentications.
Add Autehtication info to Messaging Service
Entity representing a authentication.
Get the authentication with authenticationId = {authenticationId}.
Update the authentication with authenticationId = {authenticationId}.
Note: Provide all properties since all fields are updated.
Delete the authentication.
/replyTemplates
Collection of replyTemplates.
Entity representing a replyTemplate.
Get the replyTemplate with replyTemplateId = {replyTemplateId}.
Collection of attachments.
Get a list of attachments.
Entity representing a attachment.
Get the attachment with attachmentId = {attachmentId}.
/customIvrs
Collection of customIvrs.
Entity representing a customIvr.
Get the customIvr with customIvrId = {customIvrId}.
Entity representing a sourceCode.
Get the sourceCode with sourceCodeId = {sourceCodeId}.
Entity representing a currentSourceCodeVersion.
Get the currentSourceCodeVersion with currentSourceCodeVersionId = {currentSourceCodeVersionId}.
Collection of attributes.
Get a list of attributes.
Add a new attribute.
Collection of parameters.
Get a list of parameters.
Add a new parameter.
/audioPrompts
Collection of audioPrompts.
Entity representing a audioPrompt.
Get the audioPrompt with audioPromptId = {audioPromptId}.
/cpExtensions
Collection of cpExtensions.
Entity representing a cpExtension.
Get the cpExtension with cpExtensionId = {cpExtensionId}.
/disruptionSets
Collection of disruptionSets.
Entity representing a disruptionSet.
Get the disruptionSet with disruptionSetId = {disruptionSetId}.
Entity representing a event.
Get the event with eventId = {eventId}.
Update the event with eventId = {eventId}.
Note: Provide all properties since all fields are updated.
Delete the event.
Delete all Disruption Events of this Disruption Set.
Entity representing a item.
Get the item with itemId = {itemId}.
/templateCompany
TemplateCompany can be used to create multiple logical companies within single system, using User Group rights to separate users of different companies from each other.
POST /RI/rci/templateCompany:
{
"id": "01234/1234",
"name": "Company Ltd",
"template": "TEMPLATE",
"masterId": "01234"
}
Creates new company using templates in system:
- UserGroup(s)
- Role(s)
- QueueGroup(s)
- Queue(s)
- UserSettingsProfile(s)
Templates are named like
"TEMPLATE:{ID}/name/{NAME}"
so if template is "TEMPLATE" and company ID is "01234/1234" and name is "Company Ltd" and user group template name is
"TEMPLATE:{ID}/Agents/{NAME} UG"
then the created user group name will be
"01234/1234/Agents/Company Ltd UG"
so "TEMPLATE:" prefix will be removed, and {ID} and {NAME} will be replaced. {ID} is mandatory while {NAME} is optional. {ID} can be anywhere in the template name, but it must start with "TEMPLATE:" (or whatever the template name is).
"masterId" is optional, and can be used to copy groups named like "TEMPLATE:{MASTER}" similar way as is done with company level groups.
If template UserGroup is synchronized to directory, then the directory group is also created in same batch so that UserGroup->DirectoryGroup rights can be copied. UserGroup hierarchy between template groups is preserved. Likewise links between template roles and template user groups will be preserved with references to copies.
Rights in UserGroups and Roles will be copied so that references to template objects will be replaced with references to copies.
It is possible to update company later by calling the same function. Then possible new UserGroups/Roles/QueueGroups are created, and possible new rights are created, and existing rights are updated. Nothing is deleted.
/jobs
Collection of jobs, which are handled by Batch Job Server. Jobs include System jobs and ImportExport jobs.
Entity representing a job.
Get the job with jobId = {jobId}.
Delete ImportExport job. System jobs can't be deleted.
/import
Import supports .txt, .csv, .xls and .xlsx files. POSTing new import returns the job ID, which can be monitored using GET /RI/rci/jobs/ID. Files must have column names in the first line. Columns in .txt files are separated by tab and in .csv files by semicolon (;). If value contains separator character (or starts with " character), then it must be quoted using " characters (and " characters in value must be doubled).
Creates a new import job that adds or updates calendars.
Fields:
- Id - Can be used to update existing calendar.
- Name - Required. If Id is not used, then Name will identify the calendar (creates new if does not exist).
- Priority - Integer. Must be unique. The schedule with highest priority calendar, which matches the current date, is used for queue/user settings template/contact center.
- Weekdays - Calendar can have zero or one Weekdays columns. Format: MON,TUE,WED,THU,FRI,SAT,SUN.
- Day - Calendar can have multiple Day columns (or none). Format: "MMDD:Description". ":Description" is optional.
- Range - Calendar can have multiple Range columns (or none). Format: "YYYYMMDD-YYYYMMDD:Description". ":Description" is optional.
- Delete - Should be empty. Value 'D' will delete the calendar.
An example of import file in semicolon-delimited text/csv format (.csv):
Name;Priority;Weekdays;Day;Day;Day;Day;Day;Range;Range
Workdays;100;MON,TUE,WED,THU,FRI
Leisure;123;SAT,SUN;0501:First of May;1224:Christmas Eve;;;;20160325-20160328:Easter holiday;20160624-20160626
Public Holidays in Finland;990;;1206;0101;1224;1226;1225
Creates a new import job that adds or updates customers to an outbound campaign.
Fields for outbound customer:
- ExternalId - Required, must be unique within campaign.
- Phone1, Phone2, Phone3 - Each customer can have up to 3 phone numbers. Phone1 is required.
- Priority - Optional integer value. Smaller priority is handled first. Otherwise customers are handled in ExternalId order.
- TimeZone - TimeZone for the customer (like 'Europe/Helsinki'). By default the campaign or system TimeZone is used.
- AgentLogin - Which agent should handle this customer. By default any agent.
- Date - When this customer should be handled (in UTC). Formats: "yyyy-MM-dd HH:mm:ss.SSS", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM-dd". By default empty, so that customer can be called at any time.
- Result - Used in export only. New customer will get 'CALL' result by default. Customer will get result such as 'SUCCESS' or 'REFUSAL' eventually.
- CallResult - Used in export only. Customer will get call result such as 'SUCCESS', 'REFUSAL', 'BUSY' or 'NOANSWER' eventually.
- Classifier - Used in export only. Customer will get classifier based on CallResult eventually.
- Amount - Used in export only. Customer might get monetary value if outbound UI supports such thing.
- CallCount - Used in export only. CallCount tells approximately how many times customer has been called. BUSY and NOANSWER will increment CallCount, while REDIAL will not.
- AgentNumber - Used in export only. This column will get the agent phone number in export.
- Delete - Should be empty. Value 'D' will delete the customer from campaign.
- Any other field: Customer attribute, such as Name or Company.
An example of import file in tab-delimited text/plain format (.txt):
ExternalId Phone1 Name
1 +5550001 Name1
2 005550002 Name2
Creates a new import job for configuration, which can include any other import:
- Directory
- UserGroup
- Roles
- UserGroupHierarchy
- Queues
- Calendar
- Skills
- Presence
- OutboundCampaign
- OutboundBlockedNumbers
- Scripts
- Rights
Configuration supports only Excel files:
- .xls - application/vnd.ms-excel
- .xlsx - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Worksheet name must match one of the supported imports (listed above). Each worksheet will be imported in left to right order.
The following query parameters are not supported:
- validateOnly (CHECK)
- continueOnError (CONTINUEONERROR)
- importLanguage (LANGUAGE)
Instead these parameters can be given at the beginning of each Excel worksheet. First rows are considered parameters, if the first column is empty. Then the second column contains the parameter name, and the third column can contain the parameter value, if parameter can have a value. For example:
Column#1 Column#2 Column#3
(empty) LANGUAGE EN
(empty) CHECK (empty)
(empty) CONTINUEONERROR (empty)
Boolean parameters like CHECK and CONTINUEONERROR get value '1' (true) if value is not given. '0' is false (default value, if parameter is not given at all).
Some imports need to have parameters defined:
- Directory - either ID (directoryGroupId) or NAME (directoryGroupName) must be given
- UserGroup - either ID (userGroupId) or NAME (userGroupName) can be given, or alternatively UserGroup can be given in each row
- Queues - either ID (queueGroupId) or NAME (queueGroupName) can be given, or alternatively QueueGroup can be given in each row
- OutboundCampaign - either ID (campaignId) or NAME (campaignName) must be given
First row that has non-empty column#1 must have the column names for the actual import data.
Creates a new import job that adds or updates consents.
Fields:
- Number - Phone number.
- Usage - 'recording' (default) or 'whatsapp'. Number and Usage together identify the consent.
- Consent - 1=true, 0=false (default).
- CreationTime - Optional datetime in format "yyyy-MM-dd HH:mm:ss[.SSS]".
- Delete - Should be empty. Value 'D' will delete the consent.
An example of import file in semicolon-delimited text/csv format (.csv):
Number;Consent;CreationTime;Usage
+555001;1;2022-01-10 14:26:51;recording
555002;0
Creates a new import job that adds or updates directory entries to a directory group.
Fields for directory entry:
- Id - Can be used to update existing directory entry.
- ExternalId - Required by default, can be used to update existing directory entry using ID from external system. The query parameter requireIdOrExternalId is true by default, but if set to false, then it is possible to import entry without Id and ExternalId, but then it will always create a new entry (so it will create duplicates, if same file is imported twice).
- Delete - Should be empty. Value 'D' will remove the directory entry.
- Any other field: Directory attribute, such as 'Company Name'. If field is multi-lingual, then field can contain language code, like 'Company Name:EN'. Language code must be one of the standard two-letter language codes that can be seen in SC.
An example of import file in semicolon-delimited text/csv format (.csv):
ExternalId;Company Name;Full Name;Last Name;First Name
1;Company1;Full Name 1;Last Name 1;First Name 1
2;Company2;Full Name 2;Last Name 2;First Name 1
Creates a new import job that adds or updates disruption items to a disruption set.
Fields:
- DisruptionSetExternalId - Required, disruption set external ID.
- DisruptionSetName - Optional, needed when inserting a new set.
- Id - Internal ID, can be used to update existing disruption item.
- ExternalId - Required, can be used to update existing disruption item.
- Type - Disruption item type, required, one of: WHERE,WHY,WHEN.
- Name - Disruption item name.
- Description - Disruption item description.
- PromptId - Optional, prompt internal ID.
- PromptExternalId - Optional, prompt external ID. Optionally use either PromptId or PromptExternalId.
- SayAsValue - Optional digits. Use IVRTalk instead of pre-recorded prompt.
- SayAsDatatype - Optional, one of: number, digits, ordinal, date, time, datetime.
number: 100 => "hundred" digits: 100 => "one zero zero" ordinal: 100 => "hundredth" date: ddMM or ddMMyyyy, for example 0102 means "the first of February" or "February first" time: HHmm, for example 1530 means "fifteen thirty" datetime: ddMMHHmm or ddMMyyyyHHmm
- SayAsGender - Optional integer, one of: 0 (MASCULINE), 1 (FEMININE), 2 (NEUTER).
- SayAsDeclension - Optional integer, one of: 0 (NOMINATIVE), 1 (GENITIVE).
- Delete - Should be empty. Value 'D' will remove the disruption item.
An example of import file in semicolon-delimited text/csv format (.csv):
Id;DisruptionSetExternalId;DisruptionSetName;Type;ExternalId;Name;Description;PromptExternalId;SayAsValue;SayAsDatatype
;002;set2;WHERE;l011;Location 1;desc 1;;00230;digits
;002;set2;WHY;c001;Cause 1;desc 2;prompt_007;;
;002;set2;WHEN;tm1500;15:00;desc 3 äöäöäö;;1500;time
Creates a new import job that adds or removes outbound campaign blocked phone numbers. These numbers won't be called by outbound campaign dialer. If outbound customer does not have any other phone number, then customer result will be NO_BNUMBERS_LEFT.
Fields:
- Number - Number to be added. Any other characters than the plus sign (+) and digits from 0 to 9 are removed from the number.
- Delete - Should be empty. Value 'D' will remove the number.
An example of import file in semicolon-delimited text/csv format (.csv):
Number;Delete
+555001
555002;D
Creates a new import job that adds or updates presence profiles.
Fields:
- Id - Can be used to update existing presence profile.
- Name - Required, identifies the presence profile if Id is not used.
- Reason - Required, one of: BUSINESSTRIP, BUSY, CHILDCARE, DUTY, LUNCH, MEETING, NONE, OFFDUTY, OFFICIAL, OTHER, PARENTAL, TEMPOUT, TRAINING, VACATION, VISIT, SICK, DAYOFF.
- BehaviorDefault - Required, one of: BUSY, FREEFORWARD, MOBILE, IVR, PASS, SWITCHBOARD, VOICEMAIL, USERFORWARD.
- Type - Required, one of: PRESENCE, ABSENCE, CONFERENCE.
- Duration - Required, one of: NONE, REST_DAY, 5_MINUTE, 10_MINUTE, 15_MINUTE, 30_MINUTE, 45_MINUTE, 1_HOUR, 2_HOUR, 3_HOUR, 4_HOUR, 5_HOUR, 6_HOUR, 7_HOUR, 8_HOUR, 9_HOUR, 10_HOUR, 11_HOUR, 12_HOUR, 1_DAY, 2_DAY, 3_DAY, 4_DAY, 5_DAY, 6_DAY, 1_WEEK, 2_WEEK, 3_WEEK, 4_WEEK.
- Priority - Required, integer >= 0.
- Availability - One of: AWAY, TENTATIVE, FREE.
- QueueGroup - Queue group name (agent is logged into these queues automatically).
- DurationRounding - Required, integer between 0 - 60 (minutes).
- BehaviorBusy - See BehaviorDefault for possible values. Can't be used with Type=CONFERENCE.
- BehaviorNotAnswered - See BehaviorDefault for possible values. Can't be used with Type=CONFERENCE.
- BehaviorLoggedOut - See BehaviorDefault for possible values. Can't be used with Type=CONFERENCE.
- FreeForwardNumber - Can't be used with Type=CONFERENCE.
- IvrGreetingType - Can't be used with Type=CONFERENCE.
- IvrOption1 - Can't be used with Type=CONFERENCE. Format: key;option. Because key and option are separated by ; character, then if text/csv format is used, then this column value must be quoted like "2;VOICEMAIL". Key is one of: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *, #. Option is one of: VOICEMAIL, MOBILE, SWITCHBOARD, USERFORWARD.
- IvrOption2 - See IvrOption1.
- IvrOption3 - See IvrOption1.
- IvrOption4 - See IvrOption1.
- Delete - Should be empty. Value 'D' will remove the presence profile.
An example of import file in semicolon-delimited text/csv format (.csv):
Name;Reason;BehaviorDefault;Type;Duration;Priority;Availability;QueueGroup;DurationRounding;BehaviorBusy;BehaviorNotAnswered;BehaviorLoggedOut;FreeForwardNumber;IvrGreetingType;IvrOption1;IvrOption2;IvrOption3;IvrOption4
TEST_Default;NONE;PASS;PRESENCE;NONE;100;;;0;PASS;BUSY;BUSY;;;;;;
TEST_Lunch;LUNCH;BUSY;ABSENCE;1_HOUR;100;;NOQUEUE;0;BUSY;BUSY;BUSY;;LUNCH;"1;USERFORWARD";"2;VOICEMAIL";;
TEST_Sick leave;VACATION;IVR;ABSENCE;1_DAY;100;;;0;IVR;IVR;IVR;;;;;;
TEST_Vacation;VACATION;IVR;ABSENCE;1_WEEK;100;;NOQUEUE;0;IVR;IVR;IVR;;;;;;
TEST_Conference Call;NONE;;CONFERENCE;REST_DAY;100;;;5;;;;;;;;;
TEST_Meeting;MEETING;VOICEMAIL;ABSENCE;1_HOUR;2;;;5;VOICEMAIL;VOICEMAIL;VOICEMAIL;;;;;;
TEST_Businesstrip;BUSINESSTRIP;IVR;ABSENCE;REST_DAY;100;;;5;IVR;BUSY;IVR;;BUSINESSTRIP;"1;VOICEMAIL";"2;MOBILE";"3;SWITCHBOARD";"4;USERFORWARD"
TEST_Away;TEMPOUT;IVR;PRESENCE;15_MINUTE;100;;;0;IVR;BUSY;IVR;;TEMPOUT;;;;
TEST_Lunch;LUNCH;BUSY;ABSENCE;1_HOUR;100;;NOQUEUE;0;BUSY;BUSY;BUSY;;LUNCH;"1;USERFORWARD";"2;VOICEMAIL";;
TEST_Conffis;NONE;IVR;CONFERENCE;1_HOUR;100;;;5
Creates a new import job that adds or updates queues to a queue group.
Fields grouped same way as in SC. If setting is only used with certain queue type, then there is (phone), (email) or (chat).
Basics:
- Type - One of: Phone, Email, Chat. Type can't be changed for existing queue.
- Name - Identifies the queue if Id is not used. Creates new if does not exist already.
- Description - Queue description.
- Ordinal - Integer.
- Language - Prompt language, one of supported two letter language codes or a custom language configured in SC.
- TimeZone - One of supported time zones like 'Europe/Helsinki'.
- CriticalTime - Integer seconds, email critical time (email).
- LoginType - One of: AutoAllocation (default), HuntGroup.
- WarningTime - Integer seconds, email warning time (email).
- Id - Can be used to update existing queue.
- RingbackTime - Integer seconds, phone ringing time (phone).
- (Script not supported)
- (Opening Type not supported)
- Synchronised - Is this queue synchronized to directory, one of: 1 (true), 0 (false).
Numbers/Addresses:
- Address - Queue can have multiple addresses (there can be multiple Address columns). Phone queue address can contain only digits. Email queue address must be a valid email address. Chat queue address must contain @ character. Address is used as identifier, so it can't be modified. Changing address will add another address to queue, unless REPLACEADDRESSES=1 parameter is given, in which case the old address is removed (default).
Contact Management:
- Priority - Integer.
- QueueLength - Integer, queue size.
- MaxPickTimeout - Integer milliseconds, timeout for contacts to be picked or rejected, default value 120000 (2 minutes).
- EarlyQueuing - 1 (on, default) or 0 (off) (phone).
- ClearOldSkills - 1 or 0. Recording (phone):
- ServerRecording - Record queue calls (phone): 0 (off), 1 (on)
- RecordingConsentOption - Recording behavior with consents (phone): 0 (ignore consents), 1 (ask for and follow customer consent, default)
- RecordingConsentNumber - Consent IVR number (phone).
Forwarding:
- DefaultQueue - Address of other queue.
- MaxWaitTimeInQueue - Integer seconds.
- QueueFullIfNoDest - One of: MaxWaitingTime, NoServingAgents, NoFreeAgents.
- ForwardOnServiceClosed - Address of other queue (phone).
- LetScheduleClosed - 1 or 0, Routing to Closed Overflow Queue (phone).
- LeaveVoiceMessageChar - DTMF character for forwarding (phone).
- ForwardOnUserInput - Forwarding number after DTMF character (phone).
- ForwardOnServiceClosing - Forwarding destination for scheduled queue close, address of other queue.
- QCBQueueNumber - Callback queue number (phone).
- ForwardEnabled - Enable instant forwarding (phone), one of: 1 (true), 0 (false).
- ForwardNumber - Instant forwarding number (phone).
Contact Management continues:
- IfNoAnsAddToRejNbrs - Block rejected contact from agent (phone) (chat), one of: 1 (yes, default), -2 (never), 0 (no blocking if contact redirected after max waiting time).
- IfNoAnsAddToRejNbrs - Block rejected contact from agent (email), one of: 0 (no, default), 1 (yes).
- BusyWhenWrapUp - Busy during wrap-up (chat): 0 (off, default), 1 (on).
- QueueLenSlope - Number of agents affect queue size, default 0.0 (phone).
- MaxPrefOperWait - Integer milliseconds, max. waiting time for preferred agent, default 40000 (phone).
- QueUseEntryTime - Reference timestamp for calculating queuing time (phone), one of: ORIG_CC (call enters contact center first time, default), ORIG (CEM receives call information), CURR_APP (call's last entry to contact center), CURR (call enters queue)
- QueLWTDDependencies - Queues used for long-term waiting time (phone).
- ExtAgentShowCaller - Original source number shown to external agents and MTD devices (phone), one of: 0 (off, default), 1 (on).
Transfer (phone):
- HoldTransferWhenBusy - Enable transfer-on-hold when busy (phone), one of: 0 (no transfer-on-hold if target is busy) 1 (transfer-on-hold if target is mobile) 2 (always enable transfer-on-hold, default)
- HoldTransferTimeout - Integer milliseconds, default 3600000 (1 hour), timeout for transfer-on-hold (phone).
- UseJoinTransfer - Enable join transfer, 0 (no, default), 1 (use when transferring to external number) (phone).
- JoinTransferTimeout - Integer milliseconds, default 30000 (phone).
- UseInternalTransferBarring - Enable barring of internal transfers (phone), one of: 0 (off, default), 1 (on).
Opt-in IVR settings (phone):
- OptInActive - Activate opt-in IVR (phone): 0 (off), 1 (on).
- OptInNumber - Opt-in IVR number (phone).
Contact Management continues:
- OverrideEmails - Allow other contacts while email open (email), one of: 0 (no, default), 1 (yes).
- ExtraDataWhenAllocated - Extra data included when e-mail allocated (email).
Weight Value Settings:
- QuePriorityWeightLocalCall - Float, importance of contact when on same CEM as agent, default 1.00, one of: 1.00, 1.05, 1.10, 1.15, 1.20, 1.25, 1.30.
- QuePriorityWeightLocalOper - Float, importance of agent when on same CEM as contact, default 1.00, one of: 1.00, 1.05, 1.10, 1.15, 1.20, 1.25, 1.30.
E-Mail Settings (email):
- DefaultEmailReplyAddress - Default sender address (email).
- Ch_AcceptTimeLimit - Integer seconds, default 62, (email).
- UseRequiredAgent - Use required agent instead of preferred agent (email): 0 (off), 1 (on).
- RequiredAgentExpiryTime - Integer seconds, default 60, default expiry time for required agent (email).
- Ch_PrefAgent - Preferred agent, one of: 0 (off), 1 (on, default) (email).
- AllowPickingReqRefEmails - Allow picking by other Communication Panel agents (email): 0 (off), 1 (on).
- Ch_DoCreateTask - Block e-mail from addresses (email).
- DisableMailChannel - Close e-mail queue (email), one of: 0 (no, default), 1 (yes).
- Ch_CustInfo - Customer information, (email).
- Ch_Language - Language definition method, (email).
- Ch_Priority - Priority definition method (email).
- DeleteOldMailsAfterDays - Integer days, old e-mails deleted after (email), default -1 (disabled).
- MaxMailSizeKb - Integer kilobytes, max. size of incoming email (email)
Reporting and monitoring:
- FalseAttemptTime - Integer seconds, false-attempt limit, default 5.
- AnsweredOnTime - Integer seconds, answered-on-time limit, default 20.
- AnsweredOnTimeCBR - Integer seconds, answered-on-time limit for callback requests (phone).
- FalseAttemptTimeCBR - Integer seconds, false-attempt limit for callback requests (phone).
- MaxTalkTime - Integer seconds, max. handling time, default 36000 (10 hours).
- MaxWaitTime - Integer seconds, max. waiting time, default 18000 (5 hours).
Prompts (phone) (chat):
- QuePositionPromptWeight - Queue position multiplier (phone) (chat).
- EstWaitTimePromptWeight - Waiting time multiplier (phone) (chat).
- MaxCountQueueFullMessages - No. of times QueueFull is played (phone).
- MaxCountServiceClosedMessages - No. of times ServiceClosed is played (phone).
- EstWaitTimePromptLimits - Limit values for waiting time (phone) (chat). Format: "min,max", where both min and max are integers (min < max, min >= 0).
- QuePositionPromptLimits - Limit values for queue position (phone) (chat). Format: "min,max", where both min and max are integers (min < max, min >= 0).
- ServingAgentsPromptLimits - Limit values for agents serving in queue (phone) (chat). Format: "min,max", where both min and max are integers (min < max, min >= 0).
Queue Groups:
- QueueGroup - Queue can be added to another groups as well. There can be multiple QueueGroup columns. If parameter REPLACE_GROUPS=1, then queue is removed from other groups not included in this import.
Skills:
- Skill - Queue can have multiple skill requirements (columns). Each requirement is in format: skill=value. Value is integer, 0 means that requirement is deleted.
Skill Reduction:
- DisableSkillAdjustment - Use absolut waiting time: 0 (off), 1 (on, default).
Voicemail and Notification Call Settings (phone):
- Voicemail - Voice mail number (phone).
- VoiceMailInQueueFull - Transfer to voicemail if queue is full: 0 (off, default), 1 (on).
External Agent (phone):
- ExtAgentMaxAnswerWaitTime - Integer milliseconds, default 30000, max. answer waiting time (phone).
- ExtAgentPlayAcceptQuestion - Require confirmation (phone), one of: 1 (on default), 0 (off).
- ExtAgentMaxDTMFWaitTime - Integer milliseconds, default 15000, max. waiting time for confirmation (phone).
- ExtAgentAcceptChar - Accepting character, default # (phone).
- ExtAgentRejectChar - Rejecting character, default 3 (phone).
CDT Settings:
- AfterworkUsage - Activate wrap-up status automatically: 0 (off), 1 (on).
- AutoPaperwork - Activate not-ready status after rejecting contact: 0 (off), 1 (on).
- AutoPWTime - Integer seconds, wrap-up time.
- UseRestingAfterScripting - Use rest time after scripting: 0 (off), 1 (on).
- (AnswerTemplate not supported (Default reply template) (email) (chat))
- TalkTimeLimit - Integer seconds, handling time limit.
- SearchGroup - Target directory for searches.
- AnswerInfo - Queue contact information.
Integration Settings:
- OII - Enable OII integration: 0 (off), 1 (on, default).
- CrmCodUrl - SAP Service Cloud (C4C) integration URL.
- CrmLink - Launch application or URL (phone).
Threshold Values for Queue Statistics:
- MaxWaitTimeCriticalLevel - Integer seconds, critical level of queuing time.
- MaxWaitTimeWarningLevel - Integer seconds, warning level of queuing time.
- InteractionsCriticalLevel - Integer, critical level of queuing conversations.
- InteractionsWarningLevel - Integer, warning level of queuing conversations.
- ServiceLevelCriticalLevel - Integer, critical level of service level.
- ServiceLevelWarningLevel - Integer, warning level of service level.
- ServingAgentCriticalLevel - Integer, critical level of serving agents.
- ServingAgentWarningLevel - Integer, warning level of serving agents.
- FreeAgentCriticalLevel - Integer, critical level of free agents.
- FreeAgentWarningLevel - Integer, warning level of free agents.
Personal Data Retention Time
- PersonalDataRetention - Integer days, must be less than channel level setting (which must be configured).
Other fields:
- Any other queue parameter, listed separately below.
- Any other field: Valid directory field (if Synchronized=1). Name is synchronized to "Queue Name" automatically by BJS.
- Delete - Should be empty. Value 'D' will remove the queue.
Additional queue parameters:
- MaxTotalUnhandledTasks - Integer, max. handled of unhandled e-mails (email). Only available as email channel parameter in SC.
- ChatIdleTimeout - Integer seconds, default 600, timeout for idle chats. Only available as chat channel parameter in SC.
An example of import file in semicolon-delimited text/csv format (.csv):
Type;Name;Address
Phone;Test phone queue;50000
Creates a new import job that adds, updates or deletes rights. Right is deleted if there are no enabled access types.
Fields:
- SubjectType - Required, one of: User, Role, UserGroup
- SubjectName - Required, name of the subject (User/Role/UserGroup)
- ObjectType - Required, one of system API object names, like: User, Queue, QueueGroup, UserService, UserSettingsProfile.
- ObjectName - Required, name of the object, or "(ALL)" if class level right, or "(SELF)" if self right.
- Predicate - Usually empty, but can contain ObjectType, for example if ObjectType=User, then Predicate can be LoginAuthenticationInfo. Multiple predicates are separated by comma.
- Type - Required, one of: ACCESS, GRANT
- Id - Can be used to identify existing right. Otherwise the right is identified by: subject, object, Type, Predicate.
- SubjectId - With SubjectType, can be used to identify subject. Otherwise the subject is identified by SubjectName.
- ObjectId - With ObjectType, can be used to identify the object. Otherwise the object is identified by ObjectName.
Access types are enabled by having value X. If value is empty, then that access type is disabled.
- View - View object.
- Modify - Modify object.
- Create - Create object.
- Delete - Delete object.
- Use - Use object.
- ManageRights - Manage rights
- ManageMembers - Manage members.
- Serve - Serve in queue.
- ControlContact - Control contact (supervisor).
- BargeIn - Barge-in (supervisor).
- Listen - Listen (supervisor).
- Coach - Coach (supervisor).
- LogOnToQueues - Log on agents to queues (supervisor).
- StatisticsSummary - Statistics summary.
- StatisticsDetails - Statistics details.
- ListenToRecording - Listen to recording.
- ManageContactHistory - Manage contact history.
- ManageVoicemails - Manage voicemails.
- ManagePresence - Manage presence.
- Messaging - Messaging.
An example of import file in semicolon-delimited text/csv format (.csv):
SubjectType;SubjectName;ObjectType;ObjectName;Predicate;Type;View;Modify;Create;Delete
Role;Advanced Monitoring User;Skill;(ALL);;ACCESS;X;;;
This example adds only View right for "Advanced Monitoring User" role to all skills (other possible access types for this right are removed, even those not listed in header).
Creates a new import job that adds or updates roles.
Fields:
- Name - Required.
- Description
- Delete - Should be empty. Value 'D' will remove the role.
An example of import file in semicolon-delimited text/csv format (.csv):
Name;Description
Role name;Role description
Creates a new import job that adds or updates scripts. Each row is one of the following:
- Script - If row has Name, it identifies the script.
- Question - If row has Ordinal, it identifies the question for the previous script.
- Answer - If row has AnswerOrdinal, it identifies the answer for the previous question.
Fields for script:
- Name - Required for script row, identifies the script.
- Type - Required for script row, one of: STATIC, INTERACTIVE, CALLBACK.
- Remarks - Script remarks.
- LockFirstQuestion - Show first question always on top: 0 (off), 1 (on).
Fields for question:
- Ordinal - Required for question row, identifies the question within the previous script.
- Question - Required for question row. Text for the actual question.
- NextOrdinal - Next question ordinal. Can be used only in INTERACTIVE scripts.
- ControlType - Required for question row, one of: INFO, RADIOBUTTON, CHECKBOX, DROPDOWNLIST, COMBOBOX, INPUTTEXT, TEXTAREA, DROPDOWNCHECKBOX
- DataType - Can only be used for COMBOBOX, INPUTTEXT or TEXTAREA control types, one of: TEXT, INTEGER, FLOATING, DATETIME, CURRENCY
- Prefill - Integer, max. number of answers.
- Mandatory - Is it mandatory to answer this question: 0 (no), 1 (yes).
- IsAmount - Is the answer used in amount calculations: 0 (no), 1 (yes).
- Width - View setting for question width in pixels.
- Height - View setting for question height in pixels.
Fields for answer:
- AnswerOrdinal - Required for answer row, identifies the answer within the previous question. The following question types can have answers: RADIOBUTTON, CHECKBOX, DROPDOWNLIST, COMBOBOX, DROPDOWNCHECKBOX
- Answer - Answer text.
- Amount - Float, can only be used if question IsAmount=1.
- Recording - Start recording: 0 (no), 1 (yes).
- NextQuestion - Next question ordinal in INTERACTIVE scripts.
An example of import file in semicolon-delimited text/csv format (.csv):
Name;Type;Remarks;LockFirstQuestion;Ordinal;Question;NextOrdinal;ControlType;DataType;Prefill;Mandatory;IsAmount;Width;Height;AnswerOrdinal;Answer;Amount;Recording;NextQuestion
Script name;STATIC;;0;;;;;;;;;;;;;;;
;;;;10;Question text;;CHECKBOX;;;0;0;;;;;;;
;;;;;;;;;;;;;;1;Yes;;0;
;;;;;;;;;;;;;;2;No;;0
Creates a new import job that adds or updates skills.
Fields:
- Id - Can be used to update existing skill.
- Name - Required. If Id is not used, then ExternalName or Name will identify the skill.
- Description
- ExternalName - Can be used to identify the skill if Id is not used.
- Delete - Should be empty. Value 'D' will delete the skill.
An example of import file in semicolon-delimited text/csv format (.csv):
Name;Description;ExternalName
Skill name;Skill description;
Creates a new import job that updates user group hierarchy.
Fields:
- Name - Required, user group name.
- Description - User group description.
- Parent - Parent user group name. Can have multiple columns to have multiple parents.
- Role - Role names. Can have multiple columns to have multiple roles.
- Delete - Should be empty. Value 'D' will delete the user group.
Optional parameters (only possible to give in Configuration import):
- REPLACE_ROLES - If 1, then other roles not included in this import will be removed from user group (by default 0). If there are no Role values included in this import, then no roles are removed.
- REPLACE_PARENTS - If 1, then other parents not included in this import will be removed from user group (by default 0). If there are no Parent values included in this import, then no parents are removed.
- CREATE_MISSING_GROUPS - If 1 (default), then user groups and roles not existing already in the system will be created.
An example of import file in semicolon-delimited text/csv format (.csv):
Name;Description;Parent;Parent;Role;Role
Parent1name;Parent1description
Parent2name;Parent2description
Child1Name;Child1description;Parent1Name;Parent2Name;Role1;Role2
Child2Name;Child2description;Parent2Name;;Role2
Child3Name;Child3description;Child1Name
Creates a new import job that adds or updates users.
Fields:
- Id - Can be used to update existing user.
- ExternalId - Can be used to identify the user.
- Login - Login name for the user. Identifies the user if Id and ExternalId fields are empty.
- CRM - SAP CRM name for the user (uppercase).
- PresenceId - Presence ID for the user.
- UILanguage - User interface language, one of standard two letter system languages that can be seen in SC.
- PromptLanguage - Prompt language, can contain also custom languages defined in SC.
- FirstName - First name.
- Surname - Last name.
- TimeZone - Time zone like 'Europe/Helsinki'.
- Phone - Internal phone number, digits only.
- MobilePhone - External mobile phone number.
- Voicemail - Voicemail number.
- EMail - Email address.
- Chat - Chat address, must contain @ character.
- ChatName - Chat name shown to customers.
- Settings - User settings template.
- Role - Role for the user. There can be multiple Role columns.
- Skill - Skill and value for the user. Format: skill=value. If value is empty or 0, then skill is deleted from this user. There can be multiple Skill columns.
- Subject - Certificate subject. Certificates are identified by both subject and issuer. There can be multiple Subject columns.
- Issuer - Certificate issuer. There should be same amount of Issuer columns as Subject columns.
- Synchronised - 1 if this user should be synchronised to directory.
- ReportingGroup - Reporting group.
- UserGroup - User group. There can be multiple UserGroup columns.
- ForwardNumber - Personal forwarding number.
- DefaultQueue - Number of switchboard queue.
- Priority - Float.
- ExternalAgentNumber - External agent number.
- MaxCallsWaiting - Maximum number of waiting calls.
- BarringGroup - Barring group. Importing empty value clears the barring group from user (unlike ReportingGroup, which ignores empty value).
- Delete - Should be empty. Value 'D' will delete the user.
Optional parameters (possible to give in Configuration import):
- REPLACEROLES - If 1, then other roles not included in this import will be removed from user (by default 0). If there are no Role values included in this import, then no roles are removed.
- REPLACE_USER_GROUPS - If 1, then other user groups not included in this import will be removed from user (by default 0). If there are no UserGroup values included in this import, then no user groups are removed.
- CREATE_MISSING_GROUPS - If 1 (default), then user groups and roles not existing already in the system will be created.
An example of import file in semicolon-delimited text/csv format (.csv):
Login;Surname;FirstName;TimeZone
Test1;Last name;First name;Europe/Helsinki
/emergencyLocations
Collection of emergencyLocations.
Get a list of emergencyLocations.
Add new EmergencyLocation. When adding Custom EmergencyLocation, then logged in user is used for "userId".
Entity representing a emergencyLocation.
Get the emergencyLocation with emergencyLocationId = {emergencyLocationId}.
Delete emergency location.
/userEmergencyLocations
Collection of userEmergencyLocations.
Get a list of userEmergencyLocations.
Add new userEmergencyLocation. If user already has one, then it is updated with the given location. Can use "me" as userId for logged in user.
Entity representing a userEmergencyLocation.
Get the userEmergencyLocation with userEmergencyLocationId = {userEmergencyLocationId}.
Delete emergency location from user. Emergency location itself is not deleted.
/callSwitchingLocations
Collection of callSwitchingLocations.
Entity representing a callSwitchingLocation.
Get the callSwitchingLocation with callSwitchingLocationId = {callSwitchingLocationId}.