Interface ICustomInteractionManager

All Superinterfaces:
IDisposable, IEntity

public interface ICustomInteractionManager extends IEntity
Manages the custom interactions.
  • Method Details

    • addExternalInteractionRegistrationStartedListener

      void addExternalInteractionRegistrationStartedListener(ExternalInteractionRegistrationStartedListener listener)
      Registers the ExternalInteractionRegistrationStartedListener.
      Parameters:
      listener - Event listener to add.
    • removeExternalInteractionRegistrationStartedListener

      void removeExternalInteractionRegistrationStartedListener(ExternalInteractionRegistrationStartedListener listener)
      Unregisters the ExternalInteractionRegistrationStartedListener.
      Parameters:
      listener - Event listener to remove.
    • addIMCustomInteractionStartedListener

      void addIMCustomInteractionStartedListener(IMCustomInteractionStartedListener listener)
      Registers the IMCustomInteractionStartedListener.
      Parameters:
      listener - Event listener to add.
    • removeIMCustomInteractionStartedListener

      void removeIMCustomInteractionStartedListener(IMCustomInteractionStartedListener listener)
      Unregisters the IMCustomInteractionStartedListener.
      Parameters:
      listener - Event listener to remove.
    • cancelEmailCustomInteraction

      void cancelEmailCustomInteraction(int interactionId) throws Exception, altitude.integrationServer.exceptions.ISException
      Cancels the email custom interaction.
      Parameters:
      interactionId - Identifier of the email custom interaction.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • cancelSocialInteraction

      void cancelSocialInteraction(int interactionId) throws Exception, altitude.integrationServer.exceptions.ISException
      Cancels the social interaction.
      Parameters:
      interactionId - Identifier of the social interaction.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • createEmailCustomInteractionFromMime

      int createEmailCustomInteractionFromMime(String mediaName, String agentName, String campaignName, String siteName, String sendFrom, String sendTo, String replyTo, String subject, Integer directoryId, Integer contactProfileId, Attribute[] attributes, int priority, String skillProfileName, SkillInProfile[] skills, byte[] mime) throws Exception, altitude.integrationServer.exceptions.ISException
      Creates an email interaction directly in the Altitude uCI Server.
      Parameters:
      mediaName - Name of the media of the interaction. If null the email built-in media will be used.
      agentName - Name of the agent that will receive the interaction. If null the interaction will be distributed to the most suitable agent.
      campaignName - Name of the campaign where the interaction will be created.
      siteName - Name of the site where the email should be created (optional; if not specified the site of the agent that is creating this interaction will be used).
      sendFrom - Email senders. if null, the value will be retrieved from the mime parameter.
      sendTo - Email receivers. if null, the value will be retrieved from the mime parameter.
      replyTo - Email address for reply. if null, the value will be retrieved from the mime parameter.
      subject - Subject. if null, the value will be retrieved from the mime parameter.
      directoryId - If specified, the identifier of the directory of the contact profile related with the interaction.
      contactProfileId - If specified, the identifier of the contact profile related with the interaction.
      attributes - Attributes of the interaction.
      priority - Relative priority of the interaction.
      skillProfileName - Name of the skill profile required to handle the interaction. If null the interaction will be created without a skill profile.
      skills - Optional agent skills required to handle the interaction. This parameter will be ignored if the skillProfileName is specified.
      mime - The MIME of the email created for the interaction.
      Returns:
      The identifier of the created interaction.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • createEmailCustomInteractionFromText

      int createEmailCustomInteractionFromText(String mediaName, String agentName, String campaignName, String siteName, String sendFrom, String sendTo, String replyTo, String subject, BodyType bodyType, String body, Attachment[] attachments, Integer directoryId, Integer contactProfileId, Attribute[] attributes, int priority, String skillProfileName, SkillInProfile[] skills) throws Exception, altitude.integrationServer.exceptions.ISException
      Creates an email interaction directly in the Altitude uCI Server.
      Parameters:
      mediaName - Name of the media of the interaction. If null the email built-in media will be used.
      agentName - Name of the agent that will receive the interaction. If null the interaction will be distributed to the most suitable agent.
      campaignName - Name of the campaign where the interaction will be created.
      siteName - Name of the site where the email should be created (optional; if not specified the site of the agent that is creating this interaction will be used).
      sendFrom - Email senders.
      sendTo - Email receivers.
      replyTo - Email address for reply.
      subject - Subject.
      bodyType - Type of the body of the email.
      body - Text body of the email.
      attachments - Attachments of the email.
      directoryId - If specified, the identifier of the directory of the contact profile related with the interaction.
      contactProfileId - If specified, the identifier of the contact profile related with the interaction.
      attributes - Attributes of the interaction.
      priority - Relative priority of the interaction.
      skillProfileName - Name of the skill profile required to handle the interaction. If null the interaction will be created without a skill profile.
      skills - Optional agent skills required to handle the interaction. This parameter will be ignored if the skillProfileName is specified.
      Returns:
      The identifier of the created interaction.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • createIMCustomInteraction

      IIMCustomInteraction createIMCustomInteraction(String mediaName, String agentName, String campaignName, String fromAddress, Integer directoryId, Integer contactProfileId, Attribute[] attributes, byte[] blindData, int priority, int handicap, String skillProfileName, SkillInProfile[] skills) throws Exception, altitude.integrationServer.exceptions.ISException
      Creates an instant messaging interaction directly in the Altitude uCI Server.
      Parameters:
      mediaName - Name of the media of the interaction. If null the instant messaging built-in media will be used.
      agentName - Name of the agent that will receive the interaction. If null the interaction will be distributed to the most suitable agent.
      campaignName - Name of the campaign where the interaction will be created.
      fromAddress - Address of the customer that is creating the interaction.
      directoryId - If specified, the identifier of the directory of the contact profile related with the interaction.
      contactProfileId - If specified, the identifier of the contact profile related with the interaction.
      attributes - Attributes of the interaction. This parameter is mutually exclusive with blindData param, only one can be specified.
      blindData - Blind data of the interaction. This parameter is mutually exclusive with attributes param, only one can be specified.
      priority - Relative priority associated with the interaction.
      handicap - Handicap associated with the interaction.
      skillProfileName - Name of the skill profile required to handle the interaction. If null the interaction will be created without a skill profile.
      skills - Optional agent skills required to handle the interaction. This parameter will be ignored if the skillProfileName is specified.
      Returns:
      The created interaction.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • createIMCustomInteraction

      IIMCustomInteraction createIMCustomInteraction(String mediaName, String agentName, String dnis, String campaignName, String fromAddress, Integer directoryId, Integer contactProfileId, Attribute[] attributes, byte[] blindData, int priority, int handicap, String skillProfileName, SkillInProfile[] skills) throws Exception, altitude.integrationServer.exceptions.ISException
      Creates an instant messaging interaction directly in the Altitude uCI Server.
      Parameters:
      mediaName - Name of the media of the interaction. If null the instant messaging built-in media will be used.
      agentName - Name of the agent that will receive the interaction. If null the interaction will be distributed to the most suitable agent.
      dnis - Entry point of the interaction in the uCI Server. Must match a dnis configured in the InstantMessaging gateway assigned to a target campaign. If not specified then campaignName must be specified
      campaignName - Name of the campaign where the interaction will be created. This parameter is ignored if dnis is specified. Either dnis or campaignName must be specified.
      fromAddress - Address of the customer that is creating the interaction.
      directoryId - If specified, the identifier of the directory of the contact profile related with the interaction.
      contactProfileId - If specified, the identifier of the contact profile related with the interaction.
      attributes - Attributes of the interaction. This parameter is mutually exclusive with blindData param, only one can be specified.
      blindData - Blind data of the interaction. This parameter is mutually exclusive with attributes param, only one can be specified.
      priority - Relative priority associated with the interaction.
      handicap - Handicap associated with the interaction.
      skillProfileName - Name of the skill profile required to handle the interaction. If null the interaction will be created without a skill profile.
      skills - Optional agent skills required to handle the interaction. This parameter will be ignored if the skillProfileName is specified.
      Returns:
      The created interaction.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • createOutboundIMCustomInteraction

      IIMCustomInteraction createOutboundIMCustomInteraction(String interactionKey, String mediaName, String agentName, String campaignName, String toAddress) throws Exception, altitude.integrationServer.exceptions.ISException
      Creates an outbound instant messaging interaction directly in the Altitude uCI Server. This method is to be used by a InstantMessaging provider connector, to notify customer messages.
      Parameters:
      interactionKey - Global identifier of the interaction.
      mediaName - Name of the media of the interaction.
      agentName - Name of the agent that is handling the interaction.
      campaignName - Name of the campaign of the interaction.
      toAddress - Address of the destination customer.
      Returns:
      The created interaction.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • createSocialInteraction

      int createSocialInteraction(String mediaName, String agentName, String campaignName, String siteName, String sendFrom, String sendTo, String replyTo, String subject, Integer directoryId, Integer contactProfileId, Attribute[] attributes, int priority, String skillProfileName, SkillInProfile[] skills, String contentType, byte[] data) throws Exception, altitude.integrationServer.exceptions.ISException
      Creates a social interaction directly in the Altitude uCI Server.
      Parameters:
      mediaName - Name of the media of the interaction. If null the social built-in media will be used.
      agentName - Name of the agent that will receive the interaction. If null the interaction will be distributed to the most suitable agent.
      campaignName - Name of the campaign where the interaction will be created.
      siteName - Name of the site where the social should be created (optional; if not specified the site of the agent that is creating this interaction will be used).
      sendFrom - Social senders.
      sendTo - Social receivers.
      replyTo - Social address for reply.
      subject - Subject.
      directoryId - If specified, the identifier of the directory of the contact profile related with the interaction.
      contactProfileId - If specified, the identifier of the contact profile related with the interaction.
      attributes - Attributes of the interaction.
      priority - Relative priority of the interaction.
      skillProfileName - Name of the skill profile required to handle the interaction. If null the interaction will be created without a skill profile.
      skills - Optional agent skills required to handle the interaction. This parameter will be ignored if the skillProfileName is specified.
      contentType - Content type.
      data - The data of the social created for the interaction.
      Returns:
      The identifier of the created interaction.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • endOutboundSocialInteraction

      void endOutboundSocialInteraction(String interactionKey, String agentName, ExternalInteractionStatus externalInteractionStatus) throws Exception, altitude.integrationServer.exceptions.ISException
      Stops the external interaction registration.
      Parameters:
      interactionKey - Global identifier of the interaction.
      agentName - Name of the agent that received the interaction.
      externalInteractionStatus - The external interaction status.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getExternalInteractionRegistration

      IExternalInteractionRegistration getExternalInteractionRegistration(int interactionId) throws Exception, altitude.integrationServer.exceptions.ISException
      Gets the external interaction registration with the specified identifier.
      Parameters:
      interactionId - Identifier of the external interaction registration.
      Returns:
      The IExternalInteractionRegistration object.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getExternalInteractionRegistrations

      IExternalInteractionRegistration[] getExternalInteractionRegistrations() throws Exception, altitude.integrationServer.exceptions.ISException
      Active external interaction registrations.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getIMCustomInteraction

      IIMCustomInteraction getIMCustomInteraction(String interactionKey) throws Exception, altitude.integrationServer.exceptions.ISException
      Gets the IMCustomInteraction associated with the specified identifier.
      Parameters:
      interactionKey - IMCustomInteraction identifier.
      Returns:
      The IIMCustomInteraction object.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getIMCustomInteractions

      IIMCustomInteraction[] getIMCustomInteractions() throws Exception, altitude.integrationServer.exceptions.ISException
      Active IMCustomInteractions.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getIMMediaCampaignState

      CampaignState getIMMediaCampaignState(String campaignName, String mediaName) throws Exception, altitude.integrationServer.exceptions.ISException
      Returns the state of the campaign together with an assigned gateway of IM media type. If campaign is started and the assigned IM gateway is online returns CampaignState.Started. If the campaign is suspended and the assigned gateway is online returns CampaignState.Suspended. If the campaign or assigned gateway is stopped returns CampaignState.Stopped. If the specified media is not an IM media, then an ISException(UnexpectedValue) exception is thrown.
      Parameters:
      campaignName - Name of the campaign.
      mediaName - Name of the media.
      Returns:
      The state of the campaign and an assigned gateway for a certain IM media.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • getInstance

      IInstance getInstance() throws Exception, altitude.integrationServer.exceptions.ISException
      The instance.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • registerExternalInteraction

      String registerExternalInteraction(String mediaName, String agentName, String campaignName, InteractionOrigin origin, String fromAddress, String toAddress, GregorianCalendar startTime, Duration duration, String timeZone, BusinessStatus businessStatus, Integer directoryId, Integer contactProfileId, Integer recordingDocumentId, Attribute[][] outcomes) throws Exception, altitude.integrationServer.exceptions.ISException
      Registers an external interaction.
      Parameters:
      mediaName - Name of the media of the interaction. The media can be of type MediaType.Email, MediaType.InstantMessaging or MediaType.Social.
      agentName - Name of the agent that received the interaction.
      campaignName - Name of the campaign where the interaction will be registered.
      origin - Interaction origin. The value can be InteractionOrigin.Inbound or InteractionOrigin.Outbound.
      fromAddress - From address.
      toAddress - To address.
      startTime - Start time.
      duration - Duration.
      timeZone - Time zone.
      businessStatus - Business status.
      directoryId - If specified, the identifier of the directory of the contact profile related with the interaction.
      contactProfileId - If specified, the identifier of the contact profile related with the interaction.
      recordingDocumentId - If specified, document containing the interaction recording.
      outcomes - Outcomes of the interaction.
      Returns:
      The identifier of the external registered interaction.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • sendIMMessage

      String sendIMMessage(String mediaName, String campaignName, String fromAddress, String to, Integer directoryId, Integer contactProfileId, String message) throws Exception, altitude.integrationServer.exceptions.ISException
      Sends a text IM Message(outbound direction).
      Parameters:
      mediaName - The media name.
      campaignName - The campaign name.
      fromAddress - The from address.
      to - The destination address.
      directoryId - The directory id(optional.)
      contactProfileId - The contact profile id(optional).
      message - The text message.
      Returns:
      The interaction key.

      When the media is a whatsapp media, the text message only reaches the client if the from address has received a message from the destination in the last 24h, otherwise the SendIMTemplatedMessage method must be used.

      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • sendIMTemplatedMessage

      String sendIMTemplatedMessage(String mediaName, String campaignName, String fromAddress, String to, Integer directoryId, Integer contactProfileId, String templateNamespace, String templateName, String language, TemplateParameter[] headerTemplateData, TemplateParameter[] bodyTemplateData, TemplateParameter[] footerTemplateData) throws Exception, altitude.integrationServer.exceptions.ISException
      Sends a templated IM Message(outbound direction, typically for WhatsApp media).
      Parameters:
      mediaName - The media name.
      campaignName - The campaign name.
      fromAddress - The from address.
      to - The destination address.
      directoryId - The directory id(optional).
      contactProfileId - The contact profile id(optional).
      templateNamespace - The template namespace(for some providers it is optional).
      templateName - The template name.
      language - The template language.
      headerTemplateData - The parameters to be applied in the header template section.
      bodyTemplateData - The parameters to be applied in the body template section>.
      footerTemplateData - The parameters to be applied in the footer template section.
      Returns:
      The interaction key.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • startExternalInteractionRegistration

      IExternalInteractionRegistration startExternalInteractionRegistration(String mediaName, String agentName, String campaignName, InteractionOrigin origin, String fromAddress, String toAddress, boolean agentIsBusy) throws Exception, altitude.integrationServer.exceptions.ISException
      Starts the registration of an external interaction.
      Parameters:
      mediaName - Name of the media of the interaction. The media can be of type MediaType.Email, MediaType.InstantMessaging or MediaType.Social.
      agentName - Name of the agent that received the interaction.
      campaignName - Name of the campaign where the interaction will be registered.
      origin - Interaction origin. The value can be InteractionOrigin.Inbound or InteractionOrigin.Outbound.
      fromAddress - From address.
      toAddress - To address.
      agentIsBusy - If true, the agent is busy.
      Returns:
      An IExternalInteractionRegistration object with the new external interaction registration.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • tryGetExternalInteractionRegistration

      IExternalInteractionRegistration tryGetExternalInteractionRegistration(int interactionId) throws Exception, altitude.integrationServer.exceptions.ISException
      Gets the external interaction registration with the specified identifier or null if the external interaction registration does not exist.
      Parameters:
      interactionId - Identifier of the external interaction registration.
      Returns:
      The IExternalInteractionRegistration object.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException
    • tryGetIMCustomInteraction

      IIMCustomInteraction tryGetIMCustomInteraction(String interactionKey) throws Exception, altitude.integrationServer.exceptions.ISException
      Gets the IMCustomInteraction associated with the specified identifier or null if the IMCustomInteraction does not exist.
      Parameters:
      interactionKey - IMCustomInteraction identifier.
      Returns:
      The IIMCustomInteraction object.
      Throws:
      Exception
      altitude.integrationServer.exceptions.ISException