Show / Hide Table of Contents

Interface ITicketAgent

Interface for the Ticket Agent Agent used for Ticket functions

Namespace: SuperOffice.CRM.Services
Assembly: SuperOffice.Services.dll
Syntax
[Agent("Ticket Agent", "Interface for the Ticket Agent. Agent used for Ticket functions")]
public interface ITicketAgent : IAgent
Examples
using SuperOffice;
using SuperOffice.CRM.Services;

using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
   using (TicketAgent agent = new TicketAgent())
   {
      // call methods on agent here...
   }
}

Methods

AddAttachmentsAsync(int, int[], CancellationToken)

Connect existing attachments with this TicketMessage. Can connect multiple attachments

Declaration
Task AddAttachmentsAsync(int ticketMessageEntityId, int[] attachmentIds, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketMessageEntityId

The id of the ticket message to connect the attachments to

int[] attachmentIds

An array of attachments to connect to this TicketMessage

CancellationToken cancellationToken
Returns
Type Description
Task

BatchForwardAsync(int[], string[], string[], string[], string, bool, CancellationToken)

Forwards selected tickets to specified recipients. This method starts a batch task.

Declaration
Task<int> BatchForwardAsync(int[] ticketIds, string[] to, string[] cc, string[] bcc, string comment, bool closeTicket, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int[] ticketIds

Ids of tickets to be forwarded.

string[] to

The To-recipients. Each recipient must be in correct mailbox format (john@example.com or John Doe <john@example.com&gt;).

string[] cc

The Cc-recipients. Each recipient must be in correct mailbox format (john@example.com or John Doe <john@example.com&gt;).

string[] bcc

The Bcc-recipients. Each recipient must be in correct mailbox format (john@example.com or John Doe <john@example.com&gt;).

string comment

Comment will be included before ticket messages. Might be empty

bool closeTicket

If true, ticket will be closed after forwarding

CancellationToken cancellationToken
Returns
Type Description
Task<int>

ID of the new batch task.

BatchReplyAsync(TicketBatchReplyData, CancellationToken)

Replies to the specified tickets. This method starts a batch task.

Declaration
Task<int> BatchReplyAsync(TicketBatchReplyData batchReplyData, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TicketBatchReplyData batchReplyData

All data needed to initiate a mass ticket reply sending.

CancellationToken cancellationToken
Returns
Type Description
Task<int>

ID of the new batch task.

CalculateMessageRecipientsAsync(int, MessageActionType, int, CancellationToken)

Gets recipients for new message

Declaration
Task<Recipient[]> CalculateMessageRecipientsAsync(int ticketId, MessageActionType actionType, int messageId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketId

The id of the ticket

MessageActionType actionType

Message action

int messageId

Optional ID of message being replied. Value <= 0 ignores parameter

CancellationToken cancellationToken
Returns
Type Description
Task<Recipient[]>

An array with Recipient objects

ClearNotifyAsync(int[], CancellationToken)

Clear notification status for one or more tickets.

Declaration
Task ClearNotifyAsync(int[] ids, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int[] ids

List of notify IDs.

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

CopyFromCRMDocumentAsync(int, CancellationToken)

Copy CRM document to an attachment

Declaration
Task<AttachmentEntity> CopyFromCRMDocumentAsync(int documentId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int documentId

The id of the document to copy to an attachment

CancellationToken cancellationToken
Returns
Type Description
Task<AttachmentEntity>

CopyToTempFileAsync(string, int, CancellationToken)

Copy ticket attachment to temporary file. Needed for existing document dialog compatibility

Declaration
Task<string> CopyToTempFileAsync(string filename, int attachmentId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string filename

Preferred filename

int attachmentId

The id of the attachment to copy

CancellationToken cancellationToken
Returns
Type Description
Task<string>

Temporary document filename

CreateDefaultAttachmentEntityAsync(CancellationToken)

Loading default values into a new AttachmentEntity. NetServer calculates default values (e.g. Country) on the entity, which is required when creating/storing a new instance

Declaration
Task<AttachmentEntity> CreateDefaultAttachmentEntityAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<AttachmentEntity>

New AttachmentEntity with default values

CreateDefaultForTicketTypeAsync(int, CancellationToken)

Create default ticket entity for particular TicketType

Declaration
Task<TicketEntity> CreateDefaultForTicketTypeAsync(int ticketTypeId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketTypeId

ID of ticket type

CancellationToken cancellationToken
Returns
Type Description
Task<TicketEntity>

Default ticket entity

CreateDefaultTicketEntityAsync(CancellationToken)

Loading default values into a new TicketEntity. NetServer calculates default values (e.g. Country) on the entity, which is required when creating/storing a new instance

Declaration
Task<TicketEntity> CreateDefaultTicketEntityAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<TicketEntity>

New TicketEntity with default values

CreateDefaultTicketMessageEntityAsync(CancellationToken)

Loading default values into a new TicketMessageEntity. NetServer calculates default values (e.g. Country) on the entity, which is required when creating/storing a new instance

Declaration
Task<TicketMessageEntity> CreateDefaultTicketMessageEntityAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<TicketMessageEntity>

New TicketMessageEntity with default values

DeleteMessageHeadersAsync(int[], CancellationToken)

Removes headers from the message as specified in the collection of entity ids. The ids are message header ids (message header primary key)

Declaration
Task DeleteMessageHeadersAsync(int[] headerIds, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int[] headerIds

Message header primary keys

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

DeleteTicketEntityAsync(int, CancellationToken)

Delete a ticket

Declaration
Task DeleteTicketEntityAsync(int ticketEntityId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketEntityId

The ticket to delete

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

DeleteTicketMessageEntityAsync(int, CancellationToken)

Delete a ticket message

Declaration
Task DeleteTicketMessageEntityAsync(int ticketMessageEntityId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketMessageEntityId

The ticket message to delete

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

DoEscalatingAsync(int, TicketPriorityEscalateAction, CancellationToken)

Checks if the ticket should change its alert level based on the priority and action. If it is to change, the alert level and alert timeout for the ticket will be updated.

Declaration
Task DoEscalatingAsync(int ticketId, TicketPriorityEscalateAction action, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketId

The id of ticket

TicketPriorityEscalateAction action

The action to use when calculating the escalation

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

GetAttachmentEntityAsync(int, CancellationToken)

Gets a AttachmentEntity object.

Declaration
Task<AttachmentEntity> GetAttachmentEntityAsync(int attachmentEntityId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int attachmentEntityId

The identifier of the AttachmentEntity object

CancellationToken cancellationToken
Returns
Type Description
Task<AttachmentEntity>

AttachmentEntity

GetAttachmentInfoAsync(int, CancellationToken)

Get a list with meta data for all attached attachments

Declaration
Task<AttachmentEntity[]> GetAttachmentInfoAsync(int ticketMessageEntityId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketMessageEntityId

The id of the ticket message to get attachment infos for

CancellationToken cancellationToken
Returns
Type Description
Task<AttachmentEntity[]>

An array with AttachmentEntity objects, describing each attachment

GetAttachmentInfoNonInlineAsync(int, CancellationToken)

Get a list with meta data for all attached attachments, EXCEPT those marked as inline

Declaration
Task<AttachmentEntity[]> GetAttachmentInfoNonInlineAsync(int ticketMessageEntityId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketMessageEntityId

The id of the ticket message to get attachment infos for

CancellationToken cancellationToken
Returns
Type Description
Task<AttachmentEntity[]>

An array with AttachmentEntity objects, describing each attachment; those marked as INLINE will be skipped

GetAttachmentPreviewAsync(int, CancellationToken)

Retrieve an attachment from ticket message. The returned data is intended to be used for a preview. The returned data is sanitized.

Declaration
Task<AttachmentPreview> GetAttachmentPreviewAsync(int attachmentId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int attachmentId

The id of the attachment to retrieve

CancellationToken cancellationToken
Returns
Type Description
Task<AttachmentPreview>

Sanitized preview version of the attachment and additional metadata, if available

GetAttachmentStreamAsync(int, CancellationToken)

Get the content of an attachment

Declaration
Task<Stream> GetAttachmentStreamAsync(int attachmentId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int attachmentId

The id of the attachment to retrieve

CancellationToken cancellationToken
Returns
Type Description
Task<Stream>

A stream to the attachment content

GetDefaultMessageContentAsync(int, MessageActionType, int, CancellationToken)

Obsolete, use GetDefaultMessageContentFull instead

Declaration
Task<string> GetDefaultMessageContentAsync(int ticketId, MessageActionType messageActionType, int ticketMessageId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketId

The id of the ticket

MessageActionType messageActionType

Message action type: None/Reply/ReplyAll/Forward

int ticketMessageId

The id of the message to quote in the returned content. 0 to skip/ignore

CancellationToken cancellationToken
Returns
Type Description
Task<string>

Sanitized HTML content

GetDefaultMessageContentFullAsync(int, MessageActionType, int, int, CancellationToken)

Generate a default message content: attachments and body as sanitized HTML

Declaration
Task<TicketMessageContent> GetDefaultMessageContentFullAsync(int ticketId, MessageActionType messageActionType, int ticketMessageId, int ticketTypeId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketId

The id of the ticket

MessageActionType messageActionType

Message action type: None/Reply/ReplyAll/Forward

int ticketMessageId

The id of the message to quote in the returned content. 0 to skip/ignore

int ticketTypeId

The id of the ticket type to look for reply template. 0 to use current ticket type

CancellationToken cancellationToken
Returns
Type Description
Task<TicketMessageContent>

Generated default message content

GetDefaultMessageContentWithOptionsAsync(int, MessageActionType, int, int, bool, CancellationToken)

Generate a default message content with option to exclude signature: attachments and body as sanitized HTML

Declaration
Task<TicketMessageContent> GetDefaultMessageContentWithOptionsAsync(int ticketId, MessageActionType messageActionType, int ticketMessageId, int ticketTypeId, bool excludeSignature, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketId

The id of the ticket

MessageActionType messageActionType

Message action type: None/Reply/ReplyAll/Forward

int ticketMessageId

The id of the message to quote in the returned content. 0 to skip/ignore

int ticketTypeId

The id of the ticket type to look for reply template. 0 to use current ticket type

bool excludeSignature

Flag to exclude a signature when generating the return content

CancellationToken cancellationToken
Returns
Type Description
Task<TicketMessageContent>

Generated default message content

GetForRmUiAsync(int, CancellationToken)

Get a ticket entity, adapted to the specific needs of the Request Management UI. WARNING: This endpoint is not guaranteed to be stable/compatible between versions

Declaration
Task<TicketEntity> GetForRmUiAsync(int ticketId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketId

Primary key of ticket to fetch

CancellationToken cancellationToken
Returns
Type Description
Task<TicketEntity>

The ticket entity. Information is filtered/adapted to the current needs of the UI

GetHotlistEjUsersAsync(int, int[], NotifyType, NotifyChannel, CancellationToken)

Get a list of ej_user ids who should receive hotlist notification based on request and notification type

Declaration
Task<int[]> GetHotlistEjUsersAsync(int ticketId, int[] skipAssociateIds, NotifyType notifyType, NotifyChannel channel, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketId

The id of the ticket

int[] skipAssociateIds

A list of associate ids to skip when calculating whom to get the notification

NotifyType notifyType

The notification type we want to check for

NotifyChannel channel

The channel which we should check for

CancellationToken cancellationToken
Returns
Type Description
Task<int[]>

List of matching ej_user ids

GetNextInQueueAsync(CancellationToken)

Assign a ticket to the caller based on intelligent queue system

Declaration
Task<TicketEntity> GetNextInQueueAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<TicketEntity>

The ticket entity after assigning it to the caller

GetPreviewAttachmentStreamAsync(int, CancellationToken)

Deprecated, see GetPreviewAttachment instead. Retrieve an attachment from ticket message. The returned data is intended to be used for a preview. The returned data is sanitized.

Declaration
Task<DocumentPreview> GetPreviewAttachmentStreamAsync(int attachmentId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int attachmentId

The id of the attachment to retrieve

CancellationToken cancellationToken
Returns
Type Description
Task<DocumentPreview>

Sanitized preview version of the attachment

GetRfcAttachmentStreamAsync(int, int, CancellationToken)

Get the content of an attachment which is part of RFC822 email attachment

Declaration
Task<Stream> GetRfcAttachmentStreamAsync(int attachmentId, int position, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int attachmentId

The id of the root attachment

int position

The position (index) of the attachment within the root attachment. Numbering starts from 0

CancellationToken cancellationToken
Returns
Type Description
Task<Stream>

RFC822 attachment content as a Stream

GetTicketAsync(int, CancellationToken)

Gets a Ticket object.

Declaration
Task<Ticket> GetTicketAsync(int ticketId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketId

The identifier of the Ticket object

CancellationToken cancellationToken
Returns
Type Description
Task<Ticket>

Ticket

GetTicketAttachmentsAsync(int, CancellationToken)

Get attachment infos for all attachments connected to messages in specified ticket

Declaration
Task<AttachmentEntity[]> GetTicketAttachmentsAsync(int ticketEntityId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketEntityId

The id of the ticket to get attachment infos from

CancellationToken cancellationToken
Returns
Type Description
Task<AttachmentEntity[]>

An array containing attachment info objects for all the attachments

GetTicketEntityAsync(int, CancellationToken)

Gets a TicketEntity object.

Declaration
Task<TicketEntity> GetTicketEntityAsync(int ticketEntityId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketEntityId

The identifier of the TicketEntity object

CancellationToken cancellationToken
Returns
Type Description
Task<TicketEntity>

TicketEntity

GetTicketMessageAsync(int, CancellationToken)

Gets a TicketMessage object.

Declaration
Task<TicketMessage> GetTicketMessageAsync(int ticketMessageId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketMessageId

The identifier of the TicketMessage object

CancellationToken cancellationToken
Returns
Type Description
Task<TicketMessage>

TicketMessage

GetTicketMessageEntitiesAsync(int, int[], CancellationToken)

Get ticket message entities with attachment info for given ticket

Declaration
Task<TicketMessageEntity[]> GetTicketMessageEntitiesAsync(int ticketId, int[] messageIds, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketId

The id of the ticket to get message entities from

int[] messageIds

Optional ids of message entities to get. If not provided, all ticket message entities will be returned.

CancellationToken cancellationToken
Returns
Type Description
Task<TicketMessageEntity[]>

An array containing ticket message entities

GetTicketMessageEntityAsync(int, CancellationToken)

Gets a TicketMessageEntity object.

Declaration
Task<TicketMessageEntity> GetTicketMessageEntityAsync(int ticketMessageEntityId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketMessageEntityId

The identifier of the TicketMessageEntity object

CancellationToken cancellationToken
Returns
Type Description
Task<TicketMessageEntity>

TicketMessageEntity

GetTicketMessageWithEmbeddedDataAsync(int, ImageEmbedType, CancellationToken)

Get a ticket message entity with posibillity to change embedded images to be represented with inline data within the HTML body. If using inline data, be sure not to save this back to the database.

Declaration
Task<TicketMessageEntity> GetTicketMessageWithEmbeddedDataAsync(int id, ImageEmbedType embedImages, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int id

The id of the ticket message entity

ImageEmbedType embedImages

If set to Inline, then use inline base64 data to represent the images in the HTML body. Default: Link will use link to the image.

CancellationToken cancellationToken
Returns
Type Description
Task<TicketMessageEntity>

The entity to get

GetTicketMessageWithOptionsAsync(int, bool, CancellationToken)

Get a ticket message entity with additional options.

Declaration
Task<TicketMessageEntity> GetTicketMessageWithOptionsAsync(int ticketMessageEntityId, bool includeNonInlineAttachmentsInfo, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketMessageEntityId

The id of the ticket message entity

bool includeNonInlineAttachmentsInfo

If true, then non inline attachments info will be loaded into TicketMessageEntity

CancellationToken cancellationToken
Returns
Type Description
Task<TicketMessageEntity>

The entity to get

GetTicketSummariesAsync(int[], CancellationToken)

Get an array of summaryitem for the given tickets

Declaration
Task<TicketSummaryItem[]> GetTicketSummariesAsync(int[] ticketIds, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int[] ticketIds

The tickets to fetch summaries for

CancellationToken cancellationToken
Returns
Type Description
Task<TicketSummaryItem[]>

Summary items for the given id's, in no particular order

GetTicketsAsync(int[], CancellationToken)

Get multiple tickets

Declaration
Task<Ticket[]> GetTicketsAsync(int[] ticketIds, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int[] ticketIds

The ids of tickets to get

CancellationToken cancellationToken
Returns
Type Description
Task<Ticket[]>

Returns array of tickets in same order as input ids

Html2TextAsync(string, CancellationToken)

Create a plain text version of the html, suitable for email

Declaration
Task<string> Html2TextAsync(string content, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string content

The html version

CancellationToken cancellationToken
Returns
Type Description
Task<string>

The plain text version

MergeTicketsAsync(TicketEntity, int[], CancellationToken)

Merge one or more tickets into one primary ticket

Declaration
Task<TicketEntity> MergeTicketsAsync(TicketEntity mergedTicketEntity, int[] secondaryTicketIds, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TicketEntity mergedTicketEntity

Merged ticket entity

int[] secondaryTicketIds

Ids of secondary tickets

CancellationToken cancellationToken
Returns
Type Description
Task<TicketEntity>

The newly merged entity

NotifyNewTicketAsync(int, CancellationToken)

Notify user agents about the creation of a new ticket

Declaration
Task NotifyNewTicketAsync(int ticketEntityId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketEntityId

The id of the ticket to notify about

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

NotifyNewTicketMessageAsync(int, CancellationToken)

Notify user agents about the creation of a new message on a ticket

Declaration
Task NotifyNewTicketMessageAsync(int ticketEntityId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketEntityId

The id of the ticket to notify about

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

ProcessTicketWhenReadAsync(int, CancellationToken)

When a user view/read a ticket, a number of action should be performed: set read status, escalation handling, remove notifications, etc. Which actions will be performed depends on owner, caller and configuration

Declaration
Task<TicketEntity> ProcessTicketWhenReadAsync(int ticketEntityId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketEntityId

The id of the ticket to mark as read

CancellationToken cancellationToken
Returns
Type Description
Task<TicketEntity>

The ticket entity after marking it as read

RemoveMessageAttachmentsAsync(int, int[], CancellationToken)

Removes attachments from the message as specified in the collection of entity ids. The ids are attachment ids (attachment primary key)

Declaration
Task RemoveMessageAttachmentsAsync(int ticketMessageEntityId, int[] attachmentIds, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketMessageEntityId

The id of the ticket message to remove attachments from

int[] attachmentIds

Attachment primary keys

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

ResolveTicketIdAsync(int, CancellationToken)

Ticket can be connected (merged) to another ticket. This method traverses through its connection(s) and returns proper ticketId

Declaration
Task<int> ResolveTicketIdAsync(int ticketId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketId

Potentially correct ticketId

CancellationToken cancellationToken
Returns
Type Description
Task<int>

Correct ticketId. Returns 0 in case ticket does not exists

SanitizeMailContentAsync(string, CancellationToken)

Remove harmful HTML tags and attributes from an email

Declaration
Task<string> SanitizeMailContentAsync(string content, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string content

The email content to sanitize

CancellationToken cancellationToken
Returns
Type Description
Task<string>

The sanitized email content

SanitizeMailContentWithOptionsAsync(string, HtmlSanitizerOptions, CancellationToken)

Remove harmful HTML tags and attributes from an email, using specified options

Declaration
Task<string> SanitizeMailContentWithOptionsAsync(string content, HtmlSanitizerOptions options, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string content

The email content to sanitize

HtmlSanitizerOptions options

The options for the sanitizer engine

CancellationToken cancellationToken
Returns
Type Description
Task<string>

The sanitized email content

SanitizeMailContentsAsync(string[], CancellationToken)

Remove harmful HTML tags and attributes from an email

Declaration
Task<string[]> SanitizeMailContentsAsync(string[] contents, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string[] contents

The email contents to sanitize

CancellationToken cancellationToken
Returns
Type Description
Task<string[]>

The sanitized email contents

SaveAttachmentEntityAsync(AttachmentEntity, CancellationToken)

Updates the existing AttachmentEntity or creates a new AttachmentEntity if the id parameter is empty

Declaration
Task<AttachmentEntity> SaveAttachmentEntityAsync(AttachmentEntity attachmentEntity, CancellationToken cancellationToken = default)
Parameters
Type Name Description
AttachmentEntity attachmentEntity

The AttachmentEntity that is saved.

CancellationToken cancellationToken
Returns
Type Description
Task<AttachmentEntity>

New or updated AttachmentEntity

SaveTicketEntityAsync(TicketEntity, CancellationToken)

Updates the existing TicketEntity or creates a new TicketEntity if the id parameter is empty

Declaration
Task<TicketEntity> SaveTicketEntityAsync(TicketEntity ticketEntity, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TicketEntity ticketEntity

The TicketEntity that is saved.

CancellationToken cancellationToken
Returns
Type Description
Task<TicketEntity>

New or updated TicketEntity

SaveTicketEntityWithNotifyAsync(TicketEntity, bool, CancellationToken)

Saves a ticket and performs any user notifications

Declaration
Task<TicketEntity> SaveTicketEntityWithNotifyAsync(TicketEntity newEntity, bool notify, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TicketEntity newEntity

The ticket to save

bool notify

If true, then the notifications will be sent

CancellationToken cancellationToken
Returns
Type Description
Task<TicketEntity>

The newly saved entity

SaveTicketMessageEntityAsync(TicketMessageEntity, CancellationToken)

Updates the existing TicketMessageEntity or creates a new TicketMessageEntity if the id parameter is empty

Declaration
Task<TicketMessageEntity> SaveTicketMessageEntityAsync(TicketMessageEntity ticketMessageEntity, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TicketMessageEntity ticketMessageEntity

The TicketMessageEntity that is saved.

CancellationToken cancellationToken
Returns
Type Description
Task<TicketMessageEntity>

New or updated TicketMessageEntity

SaveTicketMessageEntityWithNotifyAsync(TicketMessageEntity, bool, CancellationToken)

Saves a ticket message and performs any user notifications

Declaration
Task<TicketMessageEntity> SaveTicketMessageEntityWithNotifyAsync(TicketMessageEntity newEntity, bool notify, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TicketMessageEntity newEntity

The ticket message to save

bool notify

If true, then the notification will be sent along with the save

CancellationToken cancellationToken
Returns
Type Description
Task<TicketMessageEntity>

The saved entity

SaveTicketMessageEntityWithOptionsAsync(TicketMessageEntity, bool, int[], bool, CancellationToken)

Saves a ticket message and performs additional actions

Declaration
Task<TicketMessageEntity> SaveTicketMessageEntityWithOptionsAsync(TicketMessageEntity entity, bool notify, int[] attachmentIds, bool updateRepliedAt, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TicketMessageEntity entity

The ticket message to save

bool notify

If true, then the notification will be sent along with the save

int[] attachmentIds

An array of attachments to connect to this TicketMessage

bool updateRepliedAt

Updates ticket's replied_at field if needed

CancellationToken cancellationToken
Returns
Type Description
Task<TicketMessageEntity>

The saved entity

SendTicketMessageAsync(int, string[], string[], string[], string, int, string, CancellationToken)

Send a message to recipients by email

Declaration
Task SendTicketMessageAsync(int ticketMessageEntityId, string[] to, string[] cc, string[] bcc, string subject, int replyTemplateId, string gdprSource, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketMessageEntityId

The id of the ticket message to send

string[] to

The To-recipients. Each recipient must be in correct format

string[] cc

The Cc-recipients. Each recipient must be in correct format

string[] bcc

The Bcc-recipients. Each recipient must be in correct format

string subject

The subject

int replyTemplateId

Optional ID of reply template to merge message with. <= 0 to skip.

string gdprSource

Obsolete

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

SendTicketMessageSmsAsync(int, int, string[], CancellationToken)

Send a message to recipients by sms

Declaration
Task SendTicketMessageSmsAsync(int ticketMessageEntityId, int replyTemplateId, string[] sms, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketMessageEntityId

The id of the ticket message to send

int replyTemplateId

Optional ID of reply template to merge message with. <= 0 to skip.

string[] sms

The Sms-recipients. Each recipient must be in correct format

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

SetDeletedStatusByIdsAsync(int[], CancellationToken)

Sets tickets' status to Deleted. After a grace period these tickets will be deleted by a background job.

Declaration
Task<int[]> SetDeletedStatusByIdsAsync(int[] ticketIds, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int[] ticketIds

Ids of tickets to be set for deletion.

CancellationToken cancellationToken
Returns
Type Description
Task<int[]>

Ids of tickets set for deletion.

SetDeletedStatusByProviderAsync(string, ArchiveRestrictionInfo[], CancellationToken)

Sets tickets' status to Deleted. After a grace period these tickets will be deleted by a background job.

Declaration
Task<int[]> SetDeletedStatusByProviderAsync(string providerName, ArchiveRestrictionInfo[] restrictions, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string providerName

Name of the provider that returns ticket rows.

ArchiveRestrictionInfo[] restrictions

Query restrictions to be added to provider. Fixed providers, such as LastTicketsProvider, FavouriteTicketsProvider etc. already have mandatory restrictions setup - in such case extra restrictions will be combined, however for general use case for fixed providers you can pass an empty array and provider will return default results. For selection providers generally you should pass selectionId as a restriction.

CancellationToken cancellationToken
Returns
Type Description
Task<int[]>

Ids of tickets set for deletion.

SetTicketMessageImportantAsync(int, bool, CancellationToken)

Set the important flag on or off for a ticket message

Declaration
Task SetTicketMessageImportantAsync(int ticketMessageId, bool important, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketMessageId

The id of the ticket message to set the important flag on

bool important

Turn on or off the important flag

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

SetTicketReadByOwnerAsync(int, TicketReadStatus, bool, CancellationToken)

Set the ReadByOwner status for a ticket. It will only have an effect if the calling user is the same as the owner of the ticket

Declaration
Task<TicketEntity> SetTicketReadByOwnerAsync(int ticketEntityId, TicketReadStatus readStatus, bool checkEscalating, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int ticketEntityId

The id of the ticket to set

TicketReadStatus readStatus

The read status to set. See the enum for explanation of the different colors. Setting Unknown does nothing

bool checkEscalating

If true, then the escalation system will be called and executed when setting the ReadByOwner

CancellationToken cancellationToken
Returns
Type Description
Task<TicketEntity>

The ticket entity after setting the ReadByOwner

SplitTicketAsync(int, int, DateTime, int[], TicketEntity, CancellationToken)

Save new ticket and move/copy data from existing ticket in a single request. Specified messages will be moved.

Declaration
Task<TicketEntity> SplitTicketAsync(int sourceTicketEntityId, int sourceTicketEntityStatusId, DateTime sourceTicketEntityActivate, int[] transferMessageIds, TicketEntity newTicketEntity, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int sourceTicketEntityId

The id of the ticket to split

int sourceTicketEntityStatusId

The id of the source ticket's status

DateTime sourceTicketEntityActivate

The activate date of the source ticket

int[] transferMessageIds

IDs of messages that should be transferred from the original ticket to the new one

TicketEntity newTicketEntity

The new ticket to save. Includes new values for simple properties like title, category, status, etc., but not messages.

CancellationToken cancellationToken
Returns
Type Description
Task<TicketEntity>

The newly created entity

SplitTicketMessageAsync(TicketMessageEntity, TicketEntity, TicketMessageEntity, int[], CancellationToken)

Create new ticket and move/copy data from existing ticket in addition update old message and save new message in a single request.

Declaration
Task<TicketEntity> SplitTicketMessageAsync(TicketMessageEntity sourceTicketMessage, TicketEntity newTicketEntity, TicketMessageEntity newTicketMessage, int[] transferAttachmentsIds, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TicketMessageEntity sourceTicketMessage

The message being splitted, content can be modified as part of the split.

TicketEntity newTicketEntity

The new ticket to save. Includes new values for simple properties like title, category, status, etc., but not messages.

TicketMessageEntity newTicketMessage

The new message to be saved

int[] transferAttachmentsIds

IDs of attachments that should be transferred from the original message to the new one

CancellationToken cancellationToken
Returns
Type Description
Task<TicketEntity>

The newly created entity

UndeleteByIdsAsync(int[], CancellationToken)

Restores deleted tickets by their ids. Status is set to a default open status defined in Registry table

Declaration
Task UndeleteByIdsAsync(int[] ticketIds, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int[] ticketIds

Ids of tickets to be restored.

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

UpdateTicketsReadStatusAsync(int[], TicketReadStatus, CancellationToken)

This method changes multiple tickets' read status

Declaration
Task<int[]> UpdateTicketsReadStatusAsync(int[] ticketIds, TicketReadStatus newStatus, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int[] ticketIds

Ticket ids to be updated

TicketReadStatus newStatus

New read status

CancellationToken cancellationToken
Returns
Type Description
Task<int[]>

Updated ticket ids

UpdateTicketsReadStatusByProviderAsync(string, ArchiveRestrictionInfo[], TicketReadStatus, CancellationToken)

This method changes multiple tickets' read status

Declaration
Task<int[]> UpdateTicketsReadStatusByProviderAsync(string provider, ArchiveRestrictionInfo[] restrictions, TicketReadStatus newStatus, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string provider

Name of the provider that returns ticket rows.

ArchiveRestrictionInfo[] restrictions

Query restrictions to be added to provider. Fixed providers, such as LastTicketsProvider, FavouriteTicketsProvider etc. already have mandatory restrictions setup - in such case extra restrictions will be combined, however for general use case for fixed providers you can pass an empty array and provider will return default results. For selection providers generally you should pass selectionId as a restriction.

TicketReadStatus newStatus

New read status

CancellationToken cancellationToken
Returns
Type Description
Task<int[]>

Updated ticket ids

UploadAttachmentAsync(int, Stream, CancellationToken)

Upload the content for an attachment

Declaration
Task UploadAttachmentAsync(int attachmentId, Stream content, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int attachmentId

The id of the attachment row, for which to attach the upload data

Stream content

A stream to the content to be uploaded

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

ValidateAttachmentsAsync(int[], CancellationToken)

Check attachments, return validation result for each item

Declaration
Task<AttachmentValidationResult[]> ValidateAttachmentsAsync(int[] attachmentIds, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int[] attachmentIds

The IDs of the attachments to validate

CancellationToken cancellationToken
Returns
Type Description
Task<AttachmentValidationResult[]>

Validation result

© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top