3CTI Integration APIs
CTI Integration APIs
This chapter details the application programming interfaces (API) used for CTI integration. It contains the following topics:
Infrastructure Supporting CTI Integration
Oracle CRM On Demand provides the infrastructure shown in the following table to support computer telephony integration (CTI):
Table Infrastructure Supporting CTI Integration
Task |
Oracle CRM On Demand Infrastructure |
---|---|
Creating an activity |
CTIActivityInsert Web service method. |
Loading a screen pop |
CTICommand servlet (Command=ScreenPop), which automatically loads an Oracle CRM On Demand detail page. |
Wrapping up |
CTICommand servlet (Command=WrapUp), which automatically loads the Wrap-up edit page. |
Wrapping up |
CTIActivityWrapUp Web service method. This method does not allow the caller to set wrap-up notes. The method is useful for wrapping up an interaction in which the CTI application does not want to prompt the user for information. However, if the interaction has been wrapped up with the CTICommand servlet WrapUp command, a call to the CTIActivityWrapUp method is redundant. |
Viewing current interactions |
Communications tab containing homepages for each channel: Call, Chat, Email, Voicemail. |
Performing CTI actions |
UI controls, including buttons, for example, to open email, listen to voicemail, and Click-to-Dial links |
The Create Activity Web service and the CTICommand servlet are described in the following topics.
CTI Activity Web Service
CTI activities are created using the CTI Activity Web service in Oracle CRM On Demand.
The CTI Activity Web service:
Is a stateless Web service, therefore user credentials must always be passed in the SOAP header in the WSSE UsernameToken token in the Username and Password parameters. For an example of a SOAP request, see CTIActivityInsert SOAP Request.
Requires the agent to be provisioned for CTI. To issue CTIActivityInsert requests, the appropriate privileges for accessing call, chat, email, or voicemail communications are required. For more information about necessary privileges, see CTI Role Privileges.
Uses the CTIActivity WSDL file, which is only available from the Web Services Administration page in Oracle CRM On Demand, if the user has the Manage CTI On Demand Access privilege. For a listing of the WSDL file, see CTI Activity Web Services Description Language File.
Has two methods, the CTIActivityInsert method and the CTIActivityWrapUp method.
The CTIActivityInsert method of the CTI Activity Web service creates one or more CTI activities in Oracle CRM On Demand, and returns details on the activity, including information about records related to the activity.
The CTIActivityWrapUp method of the CTIActivity Web service automatically performs wrap-up on multiple CTI activities in Oracle CRM On Demand.
CTIActivityInsert Interaction Input Parameters
The CTIActivityInsert method accepts the input parameters shown in the following table.
In a SOAP request, the parameters are supplied in the list of Interaction XML nodes. A maximum of five interactions can be specified in a single request.
The parameter names for the Web service (for example, ChannelType) have no spaces, whereas the equivalent parameters names for the CTICommand servlet have spaces (for example, Channel Type).
The various types for the input parameters (as shown in the Type column of the following table) are listed in the second table in this topic. For the String type, the string length limit is also shown.
Table CTIActvityInsert Method Input Parameters
Parameter |
Required |
Type |
Description |
---|---|---|---|
AgentOfferTime |
Yes |
Date-Time |
The time that the interaction is offered to an agent (also known as System Offer Time). It is used like a default value for other parameters, like IVRBeginTime and QueueBeginTime. AgentOfferTime is also used as a primary key for differentiating activity records with the same InteractionId. This value originates from CTI. |
AssociatedRecordId* |
No |
String (100) |
The ID of a record to associate with the interaction's activity. If the ID does not correspond to a record in Oracle CRM On Demand, the activity is still created and no error is returned. |
AssociatedRecordType* |
No |
Record Type LOV |
The type of record provided in the parameter AssociatedRecordId parameter. Any record provided in the AssociatedRecordId/Type parameters takes precedence over records that may be matched to the activity through other means, including Origin/Destination (automatic number identification/dialed number identification service) or record-specific parameters like ServiceRequestNumber, AssociatedRecordType, and AssociatedRecordId are used with the Click-to-Dial functionality. |
CampaignSourceCode # |
No |
String (100) |
The source code of an associated campaign record. If the value does not correspond to a record in Oracle CRM On Demand, the activity is still created and no error is returned. |
ChannelType |
Yes |
LOV |
The channel type, equivalent to the activity subtype. The possible values are as follows. (The values shown in parentheses are automatically set in the Type field for the activity.)
|
ContactPhoneNumber # |
No |
String (100) |
The home telephone number for the contact associated with the activity. If the value does not correspond to a record in Oracle CRM On Demand, the activity is still created and no error is returned. |
CreateServiceRequest |
No |
Boolean |
For activity creation only, whether a service request (SR) should be created and associated with the newly created activity. The associated account and contact of the activity will be associated with this SR. If ServiceRequestNumber is specified or AssociatedRecordType is Service Request, CreateServiceRequest is ignored. |
Destination |
No |
String (100) |
For calls and voicemails only, the number that was dialed to initiate the call. For an incoming call, this is the number that the customer dialed to reach the agent. For an outgoing call, it is the number the agent dialed. The country code must be prepended to the start of the value. For email activities only, the address to which the email was sent. For chat, either a phone number or an email address. |
InteractionId |
Yes |
String (30) |
Part of the primary key of the activity, together with AgentOfferTime. |
IVRBeginTime |
No |
Date-Time |
For calls and voicemails only, the time that the call is picked up by the interactive voice response (IVR). |
Origin |
No |
Date-Time |
For calls and voicemails only, the phone number of the person originating the call, that is, the caller ID or automatic number identification (ANI) number. The country code must be prepended to the start of the value. For email activities only, the From address of the original email. For chat, either a phone number or an email address. |
Priority |
No |
LOV |
The priority level of the activity. The following are the default values, but this list can be modified and expanded through Oracle CRM On Demand configuration.
Invalid priority values are ignored. |
Queue |
No |
String (250) |
The queue to which the automatic call distributor (ACD) routed the message. |
QueueBeginTime |
No |
Date-Time |
For calls and voicemails, this is the time after the user interacts with the IVR at which the call is put into a queue for an agent to pick up. For email activities only, this is the time that the email is retrieved from the POP server and put into a queue. |
ServiceRequestNumber # |
No |
String (100) |
The number of the service request associated with the activity. If the value does not correspond to a record in Oracle CRM On Demand, the activity is still created and no error is returned. |
In the above table, the parameters marked with an asterisk (*) character are used for the Click-to-Dial functionality. If Click-to-Dial is enabled, phone numbers on an Oracle CRM On Demand page have HTML attributes describing the page's record type and ID. If the parameters are set with those attribute values, the activity is associated with that record. For more information, see Click-to-Dial Links.
In the above table, the parameters marked with a number sign (#) character can be a passed in values from an IVR variable. For example, the caller may enter his or her phone number, campaign code, or SR number when prompted.
The various types for the input parameters (as shown in the Type column of the above table) are as follows:
Table CTIActivityInsert Parameter Types
Type |
Format |
Example |
---|---|---|
Boolean |
A value of true or 1 specifies true. All other values are interpreted as false. |
true |
Date-Time |
A UNIX epoch time, that is, the number of seconds elapsed since midnight UTC on January 1, 1970. |
1293235200 (Midnight UTC on 25th December 2010) |
LOV |
A list of values. The possible values for a parameter are listed in the Description column in the above table. |
Inbound Call (for the ChannelType parameter) |
Record Type LOV |
List of values corresponding to record types supported by CTI:
Opportunity is also a supported record type for the parameter AssociatedRecordType, but the parameter ScreenPopRecordType does not return Opportunity. |
Service Request |
String |
A string with the length limit specified in parentheses. For example, InteractionId, String (30), has a 30 character length limit. |
4259480586 |
CTIActivityInsert Interaction Output Parameters
The output parameters for the CTIActivityInsert method are shown in the following table.
The Status parameter is always returned, and indicates whether the activity creation was successful.
If the value of the Status parameter is OK
or Activity already exists,
the ActivityId is always returned.
If the value of the Status parameter is OK
and the created activity is associated with other records, the records IDs and other record information are returned (for example, ContactId and ContactFullName).
The various types for the output parameters (as shown in the Type column of the following table) are listed in the second table in CTIActivityInsert Interaction Input Parameters.
Table CTIActivityInsert Method Output Parameters
Parameter Name |
Type |
Description |
---|---|---|
AccountId |
String |
The ID of the account record associated with the activity. |
AccountName |
String |
The name of the account record associated with the activity. |
ActivityId |
String |
The ID of the activity created, or the activity that already existed. |
AgentOfferTime |
Date-time |
The same as for the AgentOfferTime input argument. The time that the interaction is offered to an agent (also known as System Offer Time). It is used like a default value for other parameters, like IVRBeginTime and QueueBeginTime. AgentOfferTime is also used as a primary key for differentiating activity records with the same InteractionId. |
CampaignId |
String |
The ID of the campaign record associated with the activity. |
CampaignName |
String |
The name of the campaign associated with the activity. |
ContactFullName |
String |
The full name of the contact associated with the activity. |
ContactId |
String |
The ID of the contact record associated with the activity. |
InteractionId |
String |
Part of the primary key of the activity, together with AgentOfferTime. |
LeadFullName |
String |
The full name of the lead associated with the activity. |
LeadId |
String |
The ID of the lead associated with the activity. |
ScreenPopRecordId |
String |
The record ID of the screen pop record. |
ScreenPopRecordType |
Record Type LOV |
The suggested record type for the screen pop record. The suggestion is based on the following priority order:
For example, if the activity is associated with both a contact and an account, Contact is returned because that record type is higher in the priority list. The suggestion, together with the record associations returned, allows third-party vendors to choose the record type for the screen pop. |
ServiceRequestId |
String |
The ID of the service request record associated with the activity. |
ServiceRequestNumber |
String |
The number of the service request associated with the activity. |
Status |
String |
The status of the activity. This can have the following values:
These values are always returned in English, regardless of the user's locale. If there is an exception, an error message (see Exception Messages) is returned, and this may be translated. |
CTIActivityInsert SOAP Request
The following is a sample SOAP request to create four activities; one each for call, chat, email and voicemail:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cti="urn:crmondemand/ws/odctibs/ctiactivity/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:data="urn:/crmondemand/xml/ctiactivity/data">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1">
<wsse:UsernameToken>
<wsse:Username>OKP/mos.def</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<cti:CTIActivityInsert_Input>
<data:ListOfInteraction>
<data:Interaction>
<data:InteractionId>900000000051</data:InteractionId>
<data:AgentOfferTime>1287786900</data:AgentOfferTime>
<data:ChannelType>Inbound Call</data:ChannelType>
<data:Origin>15551111212</data:Origin>
<data:Destination>18003849503</data:Destination>
<data:Priority>2-Medium</data:Priority>
<data:IVRBeginTime>1287786601</data:IVRBeginTime>
<data:QueueBeginTime>1287786213</data:QueueBeginTime>
<data:Queue>Support</data:Queue>
</data:Interaction>
<data:Interaction>
<data:InteractionId>9000000000054</data:InteractionId>
<data:AgentOfferTime>1287786900</data:AgentOfferTime>
<data:ChannelType>Inbound Chat</data:ChannelType>
<data:Origin>jsoap@match.com</data:Origin>
<data:Destination>cti@testing.com</data:Destination>
<data:Priority>2-Medium</data:Priority>
<data:IVRBeginTime>1287786601</data:IVRBeginTime>
<data:QueueBeginTime>1287786213</data:QueueBeginTime>
<data:Queue>Support</data:Queue>
</data:Interaction>
<data:Interaction>
<data:InteractionId>900000000053</data:InteractionId>
<data:AgentOfferTime>1287786900</data:AgentOfferTime>
<data:ChannelType>Inbound Email</data:ChannelType>
<data:Origin>jsoap@match.com</data:Origin>
<data:Destination>cti@testing.com</data:Destination>
<data:Priority>2-Medium</data:Priority>
<data:IVRBeginTime>1287786601</data:IVRBeginTime>
<data:QueueBeginTime>1287786213</data:QueueBeginTime>
<data:Queue>Support</data:Queue>
</data:Interaction>
<data:Interaction>
<data:InteractionId>900000000055</data:InteractionId>
<data:AgentOfferTime>1287786900</data:AgentOfferTime>
<data:ChannelType>Inbound Voicemail</data:ChannelType>
<data:Origin>15551111212</data:Origin>
<data:Destination>18003849503</data:Destination>
<data:Priority>2-Medium</data:Priority>
<data:IVRBeginTime>1287786601</data:IVRBeginTime>
<data:QueueBeginTime>1287786213</data:QueueBeginTime>
<data:Queue>Support</data:Queue>
</data:Interaction>
</data:ListOfInteraction>
</cti:CTIActivityInsert_Input>
</soapenv:Body>
</soapenv:Envelope>
CTIActivityInsert SOAP Response
The following is the SOAP response for the request shown in CTIActivityInsert SOAP Request.
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="urn:crmondemand/ws/odctibs/ctiactivity/" xmlns:ns1="urn:/crmondemand/xml/ctiactivity/data"> <env:Header> <wsse:Security env:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"/> </env:Header> <env:Body> <ns0:CTIActivityInsert_Output> <ns1:ListOfActivity> <ns1:Activity> <ns1:Status>OK</ns1:Status> <ns1:InteractionId>900000000051</ns1:InteractionId> <ns1:AgentOfferTime>1287786900</ns1:AgentOfferTime> <ns1:ActivityId>1QA2-S78VL</ns1:ActivityId> <ns1:ContactId>1QA2-RXQQC</ns1:ContactId> <ns1:ContactFullName>Fred Hong</ns1:ContactFullName> <ns1:ScreenPopRecordId>1QA2-RXQQC</ns1:ScreenPopRecordId> <ns1:ScreenPopRecordType>Contact</ns1:ScreenPopRecordType> </ns1:Activity> <ns1:Activity> <ns1:Status>OK</ns1:Status> <ns1:InteractionId>9000000000054</ns1:InteractionId> <ns1:AgentOfferTime>1287786900</ns1:AgentOfferTime> <ns1:ActivityId>1QA2-S78VO</ns1:ActivityId> <ns1:ScreenPopRecordId>1QA2-S78VO</ns1:ScreenPopRecordId> <ns1:ScreenPopRecordType>Activity</ns1:ScreenPopRecordType> </ns1:Activity> <ns1:Activity> <ns1:Status>OK</ns1:Status> <ns1:InteractionId>900000000053</ns1:InteractionId> <ns1:AgentOfferTime>1287786900</ns1:AgentOfferTime> <ns1:ActivityId>1QA2-S78VQ</ns1:ActivityId> <ns1:ScreenPopRecordId>1QA2-S78VQ</ns1:ScreenPopRecordId> <ns1:ScreenPopRecordType>Activity</ns1:ScreenPopRecordType> </ns1:Activity> <ns1:Activity> <ns1:Status>OK</ns1:Status> <ns1:InteractionId>900000000055</ns1:InteractionId> <ns1:AgentOfferTime>1287786900</ns1:AgentOfferTime> <ns1:ActivityId>1QA2-S78VS</ns1:ActivityId> <ns1:ContactId>1QA2-RXQQC</ns1:ContactId> <ns1:ContactFullName>Fred Hong</ns1:ContactFullName> <ns1:ScreenPopRecordId>1QA2-RXQQC</ns1:ScreenPopRecordId> <ns1:ScreenPopRecordType>Contact</ns1:ScreenPopRecordType> </ns1:Activity> </ns1:ListOfActivity> </ns0:CTIActivityInsert_Output> </env:Body> </env:Envelope>
CTIActivityWrapUp Input Parameters
The CTIActivityWrapUp method accepts the input parameters shown in the following table.
In a SOAP request, the parameters are supplied in the list of Interaction XML nodes. A maximum of five interactions can be specified in a single request.
Table CTIActivityWrapUp Method Input Parameters
Parameter |
Required |
Type |
Description |
---|---|---|---|
AgentOfferTime |
Yes |
Date-Time |
The time that the interaction is offered to an agent. AgentOfferTime is also used as a primary key for differentiating activity records with the same InteractionId. |
ChannelType |
Yes |
LOV |
The channel type, equivalent to the activity subtype. The possible values are as listed in the first table in CTIActivityInsert Interaction Input Parameters. |
InteractionId |
Yes |
String (30) |
Part of the primary key of the activity, together with AgentOfferTime |
CTIActivityWrapUp Output Parameters
The output parameters for the CTIActivityWrapUp method are shown in the following table.
The Status parameter is always returned, and indicates whether the activity wrap-up was successful.
Table CTIActivityWrapUp Method Output Parameters
Parameter Name |
Type |
Description |
---|---|---|
AgentOfferTime |
Date-time |
The same as for the AgentOfferTime input argument. |
InteractionId |
String |
Part of the primary key of the activity, together with AgentOfferTime. |
Status |
String |
The status of the activity. This can have the following values:
These values are always returned in English, regardless of the user's locale. If there was an exception, an error message (see Exception Messages) is returned, and this may be translated. |
CTIActivityWrapUp SOAP Request
The following is a sample SOAP request to wrap up four activities; one each for call, chat, email and voicemail:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cti="urn:crmondemand/ws/odctibs/ctiactivity/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:data="urn:/crmondemand/xml/ctiactivity/data"> <soapenv:Header> <wsse:Security soapenv:mustUnderstand="1"> <wsse:UsernameToken> <wsse:Username>OKP/mos.def</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <cti:CTIActivityWrapUp_Input> <data:ListOfInteraction> <data:Interaction> <data:InteractionId>100000000000</data:InteractionId> <data:AgentOfferTime>1287786900</data:AgentOfferTime> <data:ChannelType>Inbound Call</data:ChannelType> </data:Interaction> <data:Interaction> <data:InteractionId>100000000001</data:InteractionId> <data:AgentOfferTime>1287786900</data:AgentOfferTime> <data:ChannelType>Inbound Chat</data:ChannelType> </data:Interaction> <data:Interaction> <data:InteractionId>100000000002</data:InteractionId> <data:AgentOfferTime>1287786900</data:AgentOfferTime> <data:ChannelType>Inbound Email</data:ChannelType> </data:Interaction> <data:Interaction> <data:InteractionId>100000000003</data:InteractionId> <data:AgentOfferTime>1287786900</data:AgentOfferTime> <data:ChannelType>Inbound Voicemail</data:ChannelType> </data:Interaction> </data:ListOfInteraction> </cti:CTIActivityWrapUp_Input> </soapenv:Body> </soapenv:Envelope>
CTIActivityWrapUp SOAP Response
The following is the SOAP response for the request shown in CTIActivityWrapUp SOAP Request.
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="urn:crmondemand/ws/odctibs/ctiactivity/" xmlns:ns1="urn:/crmondemand/xml/ctiactivity/data"> <env:Header> <wsse:Security env:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"/> </env:Header> <env:Body> <ns0:CTIActivityWrapUp_Output> <ns1:ListOfActivity> <ns1:Activity> <ns1:Status>OK</ns1:Status> <ns1:InteractionId>100000000000</ns1:InteractionId> <ns1:AgentOfferTime>1287786900</ns1:AgentOfferTime> </ns1:Activity> <ns1:Activity> <ns1:Status>OK</ns1:Status> <ns1:InteractionId>100000000001</ns1:InteractionId> <ns1:AgentOfferTime>1287786900</ns1:AgentOfferTime> </ns1:Activity> <ns1:Activity> <ns1:Status>OK</ns1:Status> <ns1:InteractionId>100000000002</ns1:InteractionId> <ns1:AgentOfferTime>1287786900</ns1:AgentOfferTime> </ns1:Activity> <ns1:Activity> <ns1:Status>OK</ns1:Status> <ns1:InteractionId>100000000003</ns1:InteractionId> <ns1:AgentOfferTime>1287786900</ns1:AgentOfferTime> </ns1:Activity> </ns1:ListOfActivity> </ns0:CTIActivityWrapUp_Output> </env:Body> </env:Envelope>
Exception Messages
The methods of the CTI Activity Web service can return exception error messages as shown in the following table.
Table Exceptions Returned From CTI Activity Calls
Exception From |
Translated? |
Error message |
Comments |
---|---|---|---|
Web services framework |
No |
The security token could not be authenticated or authorized. |
Incorrect credentials were supplied |
Web services framework |
No |
Missing <wsse:Security> in SOAP Header |
No <Security> element in SOAP request |
Web services framework |
No |
Policy requires authentication token |
No <UserNameToken> element in SOAP request |
Web services framework |
No |
Missing user name in security token |
No <UserName> element in SOAP request |
Web services framework |
No |
Missing password value |
No <PassWord> element in SOAP request |
Web services framework |
No |
Caught exception while handling request: invalid boolean value: |
None |
Web services framework |
No |
Caught exception while handling request: expected element is missing: |
None |
CTI Activity Web service |
Yes |
Access Denied |
None |
CTI Activity Web service |
Yes |
Invalid value, VALUE, is specified for option OPTION |
None |
CTI Activity Web service |
Yes |
Request contains too many interactions |
Maximum number of interactions is five. |
Object Manager |
Yes |
'<field>FIELDNAME<field>' is a required field. Please enter a value for the field.(SBL-DAT-00498) |
None |
Object Manager |
Yes |
The Web Services Operations Allotment of LIMIT has been reached or there is insufficient capacity remaining to process your request.(SBL-SBL-70172) |
There is a similar error message for each of the other Web services limiters |
For more information about Web services limiters, see Oracle Web Services On Demand Guide and Oracle CRM On Demand Online Help.
CTICommand Servlet API
The CTI application invokes the CTICommand servlet to load CTI content in Oracle CRM On Demand. This is a generic command servlet that can be used to load any Oracle CRM On Demand page.
Parameters are passed to the CTICommand servlet through HTTP POST or GET requests. As HTTP GET requests are supported, these parameters can be passed in through the URL query string. The URL has the format:
<CRMOD base URL>/user/CTICommand
Depending on the value of the Command parameter, the CTICommand servlet invokes screen pop or wrap-up functionality as described in the following topics. An example URL for HTTP GET to invoke a screen pop is as follows:
http://ezintegr4u.us.oracle.com/OnDemand/user/CTICommand?Command=ScreenPop&Record Type=Activity&Record Id=1QA2-S5YEX&Channel Type=Inbound Call
ScreenPop Command
The CTI screen pop functionality loads the detail page of a record associated with the agent's current call center interaction. For example, if a customer calls in with the phone number 1-555-111-1212, and a corresponding contact record in Oracle CRM On Demand has the same phone number, the CTI screen pop functionality loads that contact's detail page in Oracle CRM On Demand so that the call center agent has information on the caller.
Message Protocol
The CTICommand servlet is used to invoke the CTI screen pop functionality, and the value of the Command parameter in this case is ScreenPop.
The parameters shown in the following table are supported for the ScreenPop command.
Table ScreenPop Command Parameters
Parameter Name |
Required |
Type |
Description |
---|---|---|---|
Channel Type |
No (Yes, if Record Type = Activity) |
LOV |
When specifying the following LOV subtype values, the type value in parentheses is automatically set.
|
Command |
Yes |
LOV |
The value in this case is ScreenPop. |
Record Id |
Yes |
String |
The record ID of the record used for the screen pop. |
Record Type |
Yes |
Record Type LOV |
The record type for the screen pop. Possible values are:
|
Example of Contact ScreenPop Command
In this example, when an interaction comes in, the activity is created in Oracle CRM On Demand, which finds a related contact record. The CTI client application might load that contact record in Oracle CRM On Demand using the parameters in the following table. The Record Id and Record Type are returned by the call to CTIActivityInsert.
Table Example of Parameter Values for Contact ScreenPop Command
Parameter |
Value Example |
---|---|
Command |
ScreenPop |
Record Id |
1QA2-D903L00 |
Record Type |
Contact |
Example of Activity ScreenPop Command
For loading a screen pop for an activity, the Channel Type parameter must be provided with the same value sent in the CTIActivityInsert request. In this case, the parameters are as shown in the following table:
Table Example of Parameter Values for Activity ScreenPop Command
Parameter |
Value Example |
---|---|
Channel Type |
Inbound Voicemail |
Command |
ScreenPop |
Record Id |
1QA2-D903189 |
Record Type |
Activity |
WrapUp Command
The WrapUp command displays the activity wrap-up page in Oracle CRM On Demand. The wrap-up page is basically an activity edit page with a special applet layout. Before the wrap-up page can be displayed, a CTI activity must be created.
Message Protocol
The CTICommand servlet is used to invoke the CTI wrap-up functionality and the value of the Command parameter in this case is WrapUp.
The parameters shown in the following table are supported for the WrapUp command.
Table Wrapup Command Parameters
Parameter Name |
Required |
Type |
Description |
---|---|---|---|
Agent Offer Time |
Yes |
Date/Time |
The time that the interaction is offered to an agent (also known as System Offer Time). Agent Offer Time is also used as a primary key for differentiating activity records with the same InteractionId. |
Command |
Yes |
LOV |
The value in this case is WrapUp. |
Interaction Id |
Yes |
String |
Part of the primary key of the activity, together with Agent Offer Time |
Example of Call WrapUp Command
In this example, when an interaction has ended, the CTI client application triggers a wrap-up by passing in the following parameter name value pairs to the CTICommand servlet. The Agent Offer Time and Interaction Id must match the values passed in when creating the activity in Oracle CRM On Demand.
Table Example of Parameter Values for WrapUp Command
Parameter |
Value Example |
---|---|
Agent Offer Time |
1287786213 |
Command |
WrapUp |
Interaction Id |
90001841534038 |