Interface ICustomInteractionManager
- All Superinterfaces:
IDisposable, IEntity
Manages the custom interactions.
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddExternalInteractionRegistrationStartedListener(ExternalInteractionRegistrationStartedListener listener) Registers the ExternalInteractionRegistrationStartedListener.voidRegisters the IMCustomInteractionStartedListener.voidcancelEmailCustomInteraction(int interactionId) Cancels the email custom interaction.voidcancelSocialInteraction(int interactionId) Cancels the social interaction.intcreateEmailCustomInteractionFromMime(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) Creates an email interaction directly in the Altitude uCI Server.intcreateEmailCustomInteractionFromText(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) Creates an email interaction directly in the Altitude uCI Server.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) Creates an instant messaging interaction directly in the Altitude uCI Server.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) Creates an instant messaging interaction directly in the Altitude uCI Server.createOutboundIMCustomInteraction(String interactionKey, String mediaName, String agentName, String campaignName, String toAddress) Creates an outbound instant messaging interaction directly in the Altitude uCI Server.intcreateSocialInteraction(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) Creates a social interaction directly in the Altitude uCI Server.voidendOutboundSocialInteraction(String interactionKey, String agentName, ExternalInteractionStatus externalInteractionStatus) Stops the external interaction registration.getExternalInteractionRegistration(int interactionId) Gets the external interaction registration with the specified identifier.Active external interaction registrations.getIMCustomInteraction(String interactionKey) Gets the IMCustomInteraction associated with the specified identifier.Active IMCustomInteractions.getIMMediaCampaignState(String campaignName, String mediaName) Returns the state of the campaign together with an assigned gateway of IM media type.The instance.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) Registers an external interaction.voidremoveExternalInteractionRegistrationStartedListener(ExternalInteractionRegistrationStartedListener listener) Unregisters the ExternalInteractionRegistrationStartedListener.voidUnregisters the IMCustomInteractionStartedListener.sendIMMessage(String mediaName, String campaignName, String fromAddress, String to, Integer directoryId, Integer contactProfileId, String message) Sends a text IM Message(outbound direction).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) Sends a templated IM Message(outbound direction, typically for WhatsApp media).startExternalInteractionRegistration(String mediaName, String agentName, String campaignName, InteractionOrigin origin, String fromAddress, String toAddress, boolean agentIsBusy) Starts the registration of an external interaction.tryGetExternalInteractionRegistration(int interactionId) Gets the external interaction registration with the specified identifier or null if the external interaction registration does not exist.tryGetIMCustomInteraction(String interactionKey) Gets the IMCustomInteraction associated with the specified identifier or null if the IMCustomInteraction does not exist.Methods inherited from interface IDisposable
addDisposedListener, removeDisposedListenerMethods inherited from interface IEntity
getUserContext, setUserContext
-
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
Registers the IMCustomInteractionStartedListener.- Parameters:
listener- Event listener to add.
-
removeIMCustomInteractionStartedListener
Unregisters the IMCustomInteractionStartedListener.- Parameters:
listener- Event listener to remove.
-
cancelEmailCustomInteraction
-
cancelSocialInteraction
-
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. Ifnullthe email built-in media will be used.agentName- Name of the agent that will receive the interaction. Ifnullthe 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. ifnull, the value will be retrieved from themimeparameter.sendTo- Email receivers. ifnull, the value will be retrieved from themimeparameter.replyTo- Email address for reply. ifnull, the value will be retrieved from themimeparameter.subject- Subject. ifnull, the value will be retrieved from themimeparameter.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. Ifnullthe interaction will be created without a skill profile.skills- Optional agent skills required to handle the interaction. This parameter will be ignored if theskillProfileNameis specified.mime- The MIME of the email created for the interaction.- Returns:
- The identifier of the created interaction.
- Throws:
Exceptionaltitude.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. Ifnullthe email built-in media will be used.agentName- Name of the agent that will receive the interaction. Ifnullthe 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. Ifnullthe interaction will be created without a skill profile.skills- Optional agent skills required to handle the interaction. This parameter will be ignored if theskillProfileNameis specified.- Returns:
- The identifier of the created interaction.
- Throws:
Exceptionaltitude.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. Ifnullthe instant messaging built-in media will be used.agentName- Name of the agent that will receive the interaction. Ifnullthe 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 withblindDataparam, only one can be specified.blindData- Blind data of the interaction. This parameter is mutually exclusive withattributesparam, 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. Ifnullthe interaction will be created without a skill profile.skills- Optional agent skills required to handle the interaction. This parameter will be ignored if theskillProfileNameis specified.- Returns:
- The created interaction.
- Throws:
Exceptionaltitude.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. Ifnullthe instant messaging built-in media will be used.agentName- Name of the agent that will receive the interaction. Ifnullthe 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 thencampaignNamemust be specifiedcampaignName- Name of the campaign where the interaction will be created. This parameter is ignored ifdnisis specified. EitherdnisorcampaignNamemust 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 withblindDataparam, only one can be specified.blindData- Blind data of the interaction. This parameter is mutually exclusive withattributesparam, 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. Ifnullthe interaction will be created without a skill profile.skills- Optional agent skills required to handle the interaction. This parameter will be ignored if theskillProfileNameis specified.- Returns:
- The created interaction.
- Throws:
Exceptionaltitude.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:
Exceptionaltitude.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. Ifnullthe social built-in media will be used.agentName- Name of the agent that will receive the interaction. Ifnullthe 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. Ifnullthe interaction will be created without a skill profile.skills- Optional agent skills required to handle the interaction. This parameter will be ignored if theskillProfileNameis specified.contentType- Content type.data- The data of the social created for the interaction.- Returns:
- The identifier of the created interaction.
- Throws:
Exceptionaltitude.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:
Exceptionaltitude.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
IExternalInteractionRegistrationobject. - Throws:
Exceptionaltitude.integrationServer.exceptions.ISException
-
getExternalInteractionRegistrations
IExternalInteractionRegistration[] getExternalInteractionRegistrations() throws Exception, altitude.integrationServer.exceptions.ISExceptionActive external interaction registrations.- Throws:
Exceptionaltitude.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
IIMCustomInteractionobject. - Throws:
Exceptionaltitude.integrationServer.exceptions.ISException
-
getIMCustomInteractions
IIMCustomInteraction[] getIMCustomInteractions() throws Exception, altitude.integrationServer.exceptions.ISExceptionActive IMCustomInteractions.- Throws:
Exceptionaltitude.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:
Exceptionaltitude.integrationServer.exceptions.ISException
-
getInstance
-
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 typeMediaType.Email,MediaType.InstantMessagingorMediaType.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 beInteractionOrigin.InboundorInteractionOrigin.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:
Exceptionaltitude.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:
Exceptionaltitude.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:
Exceptionaltitude.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 typeMediaType.Email,MediaType.InstantMessagingorMediaType.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 beInteractionOrigin.InboundorInteractionOrigin.Outbound.fromAddress- From address.toAddress- To address.agentIsBusy- If true, the agent is busy.- Returns:
- An
IExternalInteractionRegistrationobject with the new external interaction registration. - Throws:
Exceptionaltitude.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
IExternalInteractionRegistrationobject. - Throws:
Exceptionaltitude.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
IIMCustomInteractionobject. - Throws:
Exceptionaltitude.integrationServer.exceptions.ISException
-