Interface IDataTransaction

All Superinterfaces:
IDisposable, IEntity

public interface IDataTransaction extends IEntity
Represents a data transaction.
  • Method Details

    • addContactLoadedListener

      void addContactLoadedListener(ContactLoadedListener listener)
      Registers the ContactLoadedListener.
      Parameters:
      listener - Event listener to add.
    • removeContactLoadedListener

      void removeContactLoadedListener(ContactLoadedListener listener)
      Unregisters the ContactLoadedListener.
      Parameters:
      listener - Event listener to remove.
    • addContactLoadProgressListener

      void addContactLoadProgressListener(ContactLoadProgressListener listener)
      Registers the ContactLoadProgressListener.
      Parameters:
      listener - Event listener to add.
    • removeContactLoadProgressListener

      void removeContactLoadProgressListener(ContactLoadProgressListener listener)
      Unregisters the ContactLoadProgressListener.
      Parameters:
      listener - Event listener to remove.
    • addContactProfileUpdatedListener

      void addContactProfileUpdatedListener(ContactProfileUpdatedListener listener)
      Registers the ContactProfileUpdatedListener.
      Parameters:
      listener - Event listener to add.
    • removeContactProfileUpdatedListener

      void removeContactProfileUpdatedListener(ContactProfileUpdatedListener listener)
      Unregisters the ContactProfileUpdatedListener.
      Parameters:
      listener - Event listener to remove.
    • addContactUnloadedListener

      void addContactUnloadedListener(ContactUnloadedListener listener)
      Registers the ContactUnloadedListener.
      Parameters:
      listener - Event listener to add.
    • removeContactUnloadedListener

      void removeContactUnloadedListener(ContactUnloadedListener listener)
      Unregisters the ContactUnloadedListener.
      Parameters:
      listener - Event listener to remove.
    • addDataTransactionEndedListener

      void addDataTransactionEndedListener(DataTransactionEndedListener listener)
      Registers the DataTransactionEndedListener.
      Parameters:
      listener - Event listener to add.
    • removeDataTransactionEndedListener

      void removeDataTransactionEndedListener(DataTransactionEndedListener listener)
      Unregisters the DataTransactionEndedListener.
      Parameters:
      listener - Event listener to remove.
    • abort

      void abort(boolean synchronous) throws Exception, altitude.integrationServer.exceptions.ISException
      Aborts the data transaction.
      Parameters:
      synchronous - If true, the method is synchronous.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • createContactProfile

      int createContactProfile(int directoryId, Attribute[] values) throws Exception, altitude.integrationServer.exceptions.ISException
      Creates a contact profile.
      Parameters:
      directoryId - Identifier of the directory.
      values - The contact profile data.
      Returns:
      The contact profile identifier.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • discard

      void discard(boolean synchronous) throws Exception, altitude.integrationServer.exceptions.ISException
      Discards the data transaction.

      The method ends the script without creating a new contact or changing the state of a loaded contact.

      Parameters:
      synchronous - If true, the method is synchronous.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • end

      void end(boolean synchronous) throws Exception, altitude.integrationServer.exceptions.ISException
      Stops the data transaction.

      In case of an error when saving to the database, the ICampaign.SaveActivityErrorEvent is sent. Enumerated attributes with invalid value are sent to the instance as Int32.MinValue. The method ends the script and updates the Altitude uCI Server database. The script only sends the changed attributes to the server.

      Parameters:
      synchronous - If true, the method is synchronous.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • executeRequest

      void executeRequest(DataTransactionRequest request, DataTransactionDataRequest dataRequest, boolean validate) throws Exception, altitude.integrationServer.exceptions.ISException
      Set the properties specified in the dataRequest and then executes the request.
      Parameters:
      request - Request to execute.
      dataRequest - Request data to set.
      validate - If true, the attributes and outcomes are validated before the request is executed.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getAgent

      String getAgent() throws Exception, altitude.integrationServer.exceptions.ISException
      Name of the agent.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getAllowedOperations

      DataTransactionCanDo getAllowedOperations() throws Exception, altitude.integrationServer.exceptions.ISException
      Returns the allowed operations on the data transaction.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getAttributes

      Attribute[] getAttributes() throws Exception, altitude.integrationServer.exceptions.ISException
      Contact attributes in the case of a contact, or workflow attributes in the case of a workflow. No validation of the attributes is made. Enumerated attributes with invalid value are sent to the instance as Int32.MinValue. The attributes are sent to the instance in the End method.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • setAttributes

      void setAttributes(Attribute[] value) throws Exception, altitude.integrationServer.exceptions.ISException
      Contact attributes in the case of a contact, or workflow attributes in the case of a workflow. No validation of the attributes is made. Enumerated attributes with invalid value are sent to the instance as Int32.MinValue. The attributes are sent to the instance in the End method.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getAttributesFormatted

      Attribute[] getAttributesFormatted() throws Exception, altitude.integrationServer.exceptions.ISException
      Returns the Attributes formatted to be displayed in a GUI.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getAvgDataTransactionAgent

      Duration getAvgDataTransactionAgent() throws Exception, altitude.integrationServer.exceptions.ISException
      Average talking time of the agent in the campaign.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getAvgDataTransactionCampaign

      Duration getAvgDataTransactionCampaign() throws Exception, altitude.integrationServer.exceptions.ISException
      Average talking time of the campaign.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getAvgDeliverTime

      Duration getAvgDeliverTime() throws Exception, altitude.integrationServer.exceptions.ISException
      Average delivery time of the call.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getBusinessStatus

      BusinessStatus getBusinessStatus() throws Exception, altitude.integrationServer.exceptions.ISException
      Gets or sets the business status.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • setBusinessStatus

      void setBusinessStatus(BusinessStatus value) throws Exception, altitude.integrationServer.exceptions.ISException
      Gets or sets the business status.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getCampaign

      ICampaign getCampaign() throws Exception, altitude.integrationServer.exceptions.ISException
      Campaign of the data transaction.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getCampaignId

      int getCampaignId() throws Exception, altitude.integrationServer.exceptions.ISException
      Identifier of the campaign.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getCampaignName

      String getCampaignName() throws Exception, altitude.integrationServer.exceptions.ISException
      Name of the campaign.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getContactId

      int getContactId() throws Exception, altitude.integrationServer.exceptions.ISException
      Identifier of the contact.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getContactProfileId

      int getContactProfileId() throws Exception, altitude.integrationServer.exceptions.ISException
      Identifier of the contact profile.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getDataTransactionData

      DataTransactionData getDataTransactionData() throws Exception, altitude.integrationServer.exceptions.ISException
      Contact attributes of the contact table.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getDirectoryId

      int getDirectoryId() throws Exception, altitude.integrationServer.exceptions.ISException
      Identifier of the directory.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getInitialAttributes

      Attribute[] getInitialAttributes() throws Exception, altitude.integrationServer.exceptions.ISException
      In the case of an outbound contact, contact attributes when the session was created. In the case of an inbound contact and data-only session, contact attributes when the contact was loaded. In the case of a workflow, workflow attributes when the session was created.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getInitialAttributesFormatted

      Attribute[] getInitialAttributesFormatted() throws Exception, altitude.integrationServer.exceptions.ISException
      Returns the InitialAttributes formatted to be displayed in a GUI.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getMoment

      GregorianCalendar getMoment() throws Exception, altitude.integrationServer.exceptions.ISException
      Moment.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getOutboundAddressType

      AddressType getOutboundAddressType() throws Exception, altitude.integrationServer.exceptions.ISException
      Outbound address type.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getOutboundRuleGuiName

      String getOutboundRuleGuiName() throws Exception, altitude.integrationServer.exceptions.ISException
      Gui name of the outbound rule.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getOutboundRuleName

      String getOutboundRuleName() throws Exception, altitude.integrationServer.exceptions.ISException
      Name of the outbound rule.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getOutcomes

      Attribute[][] getOutcomes() throws Exception, altitude.integrationServer.exceptions.ISException
      Gets or sets the outcomes.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • setOutcomes

      void setOutcomes(Attribute[][] value) throws Exception, altitude.integrationServer.exceptions.ISException
      Gets or sets the outcomes.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getOutcomesFormatted

      Attribute[][] getOutcomesFormatted() throws Exception, altitude.integrationServer.exceptions.ISException
      Returns the formatted outcomes.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getPreviousStatus

      InteractionStatus getPreviousStatus() throws Exception, altitude.integrationServer.exceptions.ISException
      Previous interaction status.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getPriority

      int getPriority() throws Exception, altitude.integrationServer.exceptions.ISException
      Priority.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getReschedulePhone

      String getReschedulePhone() throws Exception, altitude.integrationServer.exceptions.ISException
      The reschedule phone.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • setReschedulePhone

      void setReschedulePhone(String value) throws Exception, altitude.integrationServer.exceptions.ISException
      The reschedule phone.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getReschedulePhoneScheduleRule

      String getReschedulePhoneScheduleRule() throws Exception, altitude.integrationServer.exceptions.ISException
      The Reschedule phone schedule rule.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • setReschedulePhoneScheduleRule

      void setReschedulePhoneScheduleRule(String value) throws Exception, altitude.integrationServer.exceptions.ISException
      The Reschedule phone schedule rule.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getRescheduleTimeLimit

      Duration getRescheduleTimeLimit() throws Exception, altitude.integrationServer.exceptions.ISException
      Reschedule moment limit.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • setRescheduleTimeLimit

      void setRescheduleTimeLimit(Duration value) throws Exception, altitude.integrationServer.exceptions.ISException
      Reschedule moment limit.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getSavedContactAttributes

      Attribute[] getSavedContactAttributes() throws Exception, altitude.integrationServer.exceptions.ISException
      Returns the contact business data stored in database.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getSession

      ISession getSession() throws Exception, altitude.integrationServer.exceptions.ISException
      Returns the session associated with the data transaction.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getSkillProfileName

      String getSkillProfileName() throws Exception, altitude.integrationServer.exceptions.ISException
      Name of the skill profile.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getStartTime

      GregorianCalendar getStartTime() throws Exception, altitude.integrationServer.exceptions.ISException
      The start time.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getTimeZoneName

      String getTimeZoneName() throws Exception, altitude.integrationServer.exceptions.ISException
      Abbreviation of the time zone of the contact.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • setTimeZoneName

      void setTimeZoneName(String value) throws Exception, altitude.integrationServer.exceptions.ISException
      Abbreviation of the time zone of the contact.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getTransferredAttributes

      Attribute[] getTransferredAttributes() throws Exception, altitude.integrationServer.exceptions.ISException
      Attributes transferred with the session. Used in an inbound call with attributes.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getTransferredContactProfileId

      int getTransferredContactProfileId() throws Exception, altitude.integrationServer.exceptions.ISException
      Identifier of the transferred contact profile.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getTransferredDirectoryId

      int getTransferredDirectoryId() throws Exception, altitude.integrationServer.exceptions.ISException
      Identifier of the transferred directory.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getUsesDoNotCallList

      boolean getUsesDoNotCallList() throws Exception, altitude.integrationServer.exceptions.ISException
      If true, use the do not call list.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • setUsesDoNotCallList

      void setUsesDoNotCallList(boolean value) throws Exception, altitude.integrationServer.exceptions.ISException
      If true, use the do not call list.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • inNode

      void inNode(int nodeId) throws Exception, altitude.integrationServer.exceptions.ISException
      Informs the instance, for outbound campaigns, that the script is entering a specific node.
      Parameters:
      nodeId - Identifier of the node in the script.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • loadContactByContactId

      DataTransactionData loadContactByContactId(int contactId) throws Exception, altitude.integrationServer.exceptions.ISException
      Loads a contact.
      Parameters:
      contactId - Identifier of the contact.
      Returns:
      The DataTransactionData object with the loaded contact.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • loadContactByContactProfileId

      DataTransactionData loadContactByContactProfileId(int directoryId, int contactProfileId) throws Exception, altitude.integrationServer.exceptions.ISException
      Loads a contact.
      Parameters:
      directoryId - Identifier of the directory.
      contactProfileId - Identifier of the contact profile.
      Returns:
      The DataTransactionData object with the loaded contact.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • refreshAttributes

      RefreshedAttribute[] refreshAttributes() throws Exception, altitude.integrationServer.exceptions.ISException
      Refresh the session contact business data, overwriting the attributes saved in memory that have been updated, with the ones currently stored in database.
      Returns:
      A list with the attributes that were overwritten, or newly added in database.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • rescheduleContact

      void rescheduleContact(GregorianCalendar rescheduleMoment, Duration rescheduleTimeLimit, String agentName, int priority, String outboundRule, boolean usesDoNotCallList, String skillProfileName, SkillInProfile[] skills) throws Exception, altitude.integrationServer.exceptions.ISException
      Reschedules the contact.
      Parameters:
      rescheduleMoment - Moment.
      rescheduleTimeLimit - Reschedule moment limit.
      agentName - Name of the agent.
      priority - The relative priority to assign to the contact, centred in zero. -50, +50.
      outboundRule - Outbound rule.
      usesDoNotCallList - If true, the do not call list is used.
      skillProfileName - Name of the skill profile with the agent skills required.
      skills - Optional agent skills required to handle the contact. This parameter will be ignored if the skillProfileName is specified.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • rescheduleContactWithReason

      void rescheduleContactWithReason(ContactFailedReason reason) throws Exception, altitude.integrationServer.exceptions.ISException
      Reschedules the contact with failed reason.
      Parameters:
      reason - Failure reason for the contact.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • reserveContact

      RefreshedAttribute[] reserveContact(boolean refreshAttributes) throws Exception, altitude.integrationServer.exceptions.ISException
      Reserves a loaded contact that currently is not reserved by the agent.
      Parameters:
      refreshAttributes - If true refresh the session contact business data, overwriting the attributes saved in memory that have been updated, with the ones currently stored in database. If false only newly added attributes in database will be appended to current attributes list saved in memory.
      Returns:
      A list with the attributes that were overwritten, or newly added in database.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • restart

      void restart(String campaignName, DataTransactionRestartMode mode, Attribute[] attributes, boolean synchronous) throws Exception, altitude.integrationServer.exceptions.ISException
      Ends the data transaction in the current campaign and starts the data transaction in another campaign.
      Parameters:
      campaignName - Name of the campaign to start the data transaction.
      mode - Restart mode.
      attributes - Attributes to send to the new script.
      synchronous - If true, the method is synchronous.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • setContactProfile

      void setContactProfile(int directoryId, int contactProfileId) throws Exception, altitude.integrationServer.exceptions.ISException
      Sets the contact profile.
      Parameters:
      directoryId - Identifier of the directory.
      contactProfileId - Identifier of the contact profile.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • unloadContact

      void unloadContact() throws Exception, altitude.integrationServer.exceptions.ISException
      Unloads the manual loaded contact.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • updateContactProfile

      void updateContactProfile(Attribute[] values) throws Exception, altitude.integrationServer.exceptions.ISException
      Updates a contact profile.
      Parameters:
      values - The contact profile attributes to update.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException