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.)

    • Inbound Call (Call)

    • Outbound Call (Call)

    • Inbound Transfer (Call)

    • Outbound Transfer (Call)

    • Missed Transfer (Call)

    • Predictive Call (Call)

    • Predictive Transfer (Call)

    • Preview Call (Call)

    • Preview Transfer (Call)

    • DID/Direct Call (Call)

    • Inbound Email (Email)

    • Outbound Email (Email)

    • Forwarded Email (Email)

    • Reassigned Email (Email)

    • Email Response (Email)

    • Inbound Voicemail (Voicemail)

    • Forwarded Voicemail (Voicemail)

    • Reassigned Voicemail (Voicemail)

    • Callback (Callback)

    • Web Callback (Callback)

    • Inbound Chat (Chat)

    • Chat Transfer (Chat)

    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.

    • 1-High

    • 2-Medium

    • 3-Low

    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:

    • Account

    • Activity

    • Campaign

    • Contact

    • Lead

    • Service Request

    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:

      • Service Request

      • Campaign

      • Contact

      • Lead

      • Account

      • Activity

      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:

      • OK. The activity was created successfully.

      • Activity already exists. An activity was created for this interaction before the request.

      • Unable to create activity. It was not possible to create the activity.

      • Error. There is an error.

      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:

              • OK. The request was processed successfully.

              • Activity has already been wrapped up. The activity has already been wrapped up before the request.

              • Activity not found. Self explanatory.

              • Multiple activites found. Self explanatory.

              • Error. There is an error.

              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

                      Note: It is not required to pass user credentials to the CTICommand servlet, as is the case for the CTI Activity Web service. This is because the CTICommand servlet uses the credentials from the existing Oracle CRM On Demand browser session.

                      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.

                        • Inbound Call (Call)

                        • Outbound Call (Call)

                        • Inbound Transfer (Call)

                        • Outbound Transfer (Call)

                        • Missed Transfer (Call)

                        • Predictive Call (Call)

                        • Predictive Transfer (Call)

                        • Preview Transfer (Call)

                        • Preview Call (Call)

                        • DID/Direct Call (Call)

                        • Callback (Callback)

                        • Web Callback (Callback)

                        • Inbound Chat (Chat)

                        • Chat Transfer (Chat)

                        • Inbound Email (Email)

                        • Outbound Email (Email

                        • Forwarded Email (Email

                        • Reassigned Email (Email)

                        • Email Response (Email

                        • Inbound Voicemail (Voicemail)

                        • Forwarded Voicemail (Voicemail)

                        • Reassigned Voicemail (Voicemail)

                        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:

                        • Service Request

                        • Contact

                        • Account

                        • Lead

                        • Opportunity

                        • Campaign

                        • Activity

                          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