otrs -> rel-6_0 API documentation

NAME

Kernel::GenericInterface::Operation::Ticket::TicketUpdate - GenericInterface Ticket TicketUpdate Operation backend

PUBLIC INTERFACE

new()

usually, you want to create an instance of this by using Kernel::GenericInterface::Operation->new();

Run()

perform TicketUpdate Operation. This will return the updated TicketID and if applicable the created ArticleID.

my $Result = $OperationObject->Run(
    Data => {
        UserLogin         => 'some agent login',                            # UserLogin or CustomerUserLogin or SessionID is
                                                                            #   required
        CustomerUserLogin => 'some customer login',
        SessionID         => 123,

        Password  => 'some password',                                       # if UserLogin or customerUserLogin is sent then
                                                                            #   Password is required

        TicketID     => 123,                                                # TicketID or TicketNumber is required
        TicketNumber => '2004040510440485',

        Ticket {                                                            # optional
            Title      => 'some ticket title',

            QueueID       => 123,                                           # Optional
            Queue         => 'some queue name',                             # Optional
            LockID        => 123,                                           # optional
            Lock          => 'some lock name',                              # optional
            TypeID        => 123,                                           # optional
            Type          => 'some type name',                              # optional
            ServiceID     => 123,                                           # optional
            Service       => 'some service name',                           # optional
            SLAID         => 123,                                           # optional
            SLA           => 'some SLA name',                               # optional
            StateID       => 123,                                           # optional
            State         => 'some state name',                             # optional
            PriorityID    => 123,                                           # optional
            Priority      => 'some priority name',                          # optional
            OwnerID       => 123,                                           # optional
            Owner         => 'some user login',                             # optional
            ResponsibleID => 123,                                           # optional
            Responsible   => 'some user login',                             # optional
            CustomerUser  => 'some customer user login',

            PendingTime {       # optional
                Year   => 2011,
                Month  => 12
                Day    => 03,
                Hour   => 23,
                Minute => 05,
            },
            # or
            # PendingTime {
            #     Diff => 10080, # Pending time in minutes
            #},
        },
        Article => {                                                          # optional
            CommunicationChannel            => 'Email',                    # CommunicationChannel or CommunicationChannelID must be provided.
            CommunicationChannelID          => 1,
            IsVisibleForCustomer            => 1,                          # optional
            SenderTypeID                    => 123,                        # optional
            SenderType                      => 'some sender type name',    # optional
            AutoResponseType                => 'some auto response type',  # optional
            From                            => 'some from string',         # optional
            Subject                         => 'some subject',
            Body                            => 'some body',

            ContentType                     => 'some content type',        # ContentType or MimeType and Charset is required
            MimeType                        => 'some mime type',
            Charset                         => 'some charset',

            HistoryType                     => 'some history type',        # optional
            HistoryComment                  => 'Some  history comment',    # optional
            TimeUnit                        => 123,                        # optional
            NoAgentNotify                   => 1,                          # optional
            ForceNotificationToUserID       => [1, 2, 3]                   # optional
            ExcludeNotificationToUserID     => [1, 2, 3]                   # optional
            ExcludeMuteNotificationToUserID => [1, 2, 3]                   # optional
        },

        DynamicField => [                                                  # optional
            {
                Name   => 'some name',
                Value  => $Value,                                          # value type depends on the dynamic field
            },
            # ...
        ],
        # or
        # DynamicField {
        #    Name   => 'some name',
        #    Value  => $Value,
        #},

        Attachment [
            {
                Content     => 'content'                                 # base64 encoded
                ContentType => 'some content type'
                Filename    => 'some fine name'
            },
            # ...
        ],
        #or
        #Attachment {
        #    Content     => 'content'
        #    ContentType => 'some content type'
        #    Filename    => 'some fine name'
        #},
    },
);

$Result = {
    Success         => 1,                       # 0 or 1
    ErrorMessage    => '',                      # in case of error
    Data            => {                        # result data payload after Operation
        TicketID    => 123,                     # Ticket  ID number in OTRS (help desk system)
        ArticleID   => 43,                      # Article ID number in OTRS (help desk system)
        Error => {                              # should not return errors
                ErrorCode    => 'TicketUpdate.ErrorCode'
                ErrorMessage => 'Error Description'
        },

        # If IncludeTicketData is enabled
        Ticket => [
            {
                TicketNumber       => '20101027000001',
                Title              => 'some title',
                TicketID           => 123,
                State              => 'some state',
                StateID            => 123,
                StateType          => 'some state type',
                Priority           => 'some priority',
                PriorityID         => 123,
                Lock               => 'lock',
                LockID             => 123,
                Queue              => 'some queue',
                QueueID            => 123,
                CustomerID         => 'customer_id_123',
                CustomerUserID     => 'customer_user_id_123',
                Owner              => 'some_owner_login',
                OwnerID            => 123,
                Type               => 'some ticket type',
                TypeID             => 123,
                SLA                => 'some sla',
                SLAID              => 123,
                Service            => 'some service',
                ServiceID          => 123,
                Responsible        => 'some_responsible_login',
                ResponsibleID      => 123,
                Age                => 3456,
                Created            => '2010-10-27 20:15:00'
                CreateBy           => 123,
                Changed            => '2010-10-27 20:15:15',
                ChangeBy           => 123,
                ArchiveFlag        => 'y',

                DynamicField => [
                    {
                        Name  => 'some name',
                        Value => 'some value',
                    },
                ],

                # (time stamps of expected escalations)
                EscalationResponseTime           (unix time stamp of response time escalation)
                EscalationUpdateTime             (unix time stamp of update time escalation)
                EscalationSolutionTime           (unix time stamp of solution time escalation)

                # (general escalation info of nearest escalation type)
                EscalationDestinationIn          (escalation in e. g. 1h 4m)
                EscalationDestinationTime        (date of escalation in unix time, e. g. 72193292)
                EscalationDestinationDate        (date of escalation, e. g. "2009-02-14 18:00:00")
                EscalationTimeWorkingTime        (seconds of working/service time till escalation, e. g. "1800")
                EscalationTime                   (seconds total till escalation of nearest escalation time type - response, update or solution time, e. g. "3600")

                # (detailed escalation info about first response, update and solution time)
                FirstResponseTimeEscalation      (if true, ticket is escalated)
                FirstResponseTimeNotification    (if true, notify - x% of escalation has reached)
                FirstResponseTimeDestinationTime (date of escalation in unix time, e. g. 72193292)
                FirstResponseTimeDestinationDate (date of escalation, e. g. "2009-02-14 18:00:00")
                FirstResponseTimeWorkingTime     (seconds of working/service time till escalation, e. g. "1800")
                FirstResponseTime                (seconds total till escalation, e. g. "3600")

                UpdateTimeEscalation             (if true, ticket is escalated)
                UpdateTimeNotification           (if true, notify - x% of escalation has reached)
                UpdateTimeDestinationTime        (date of escalation in unix time, e. g. 72193292)
                UpdateTimeDestinationDate        (date of escalation, e. g. "2009-02-14 18:00:00")
                UpdateTimeWorkingTime            (seconds of working/service time till escalation, e. g. "1800")
                UpdateTime                       (seconds total till escalation, e. g. "3600")

                SolutionTimeEscalation           (if true, ticket is escalated)
                SolutionTimeNotification         (if true, notify - x% of escalation has reached)
                SolutionTimeDestinationTime      (date of escalation in unix time, e. g. 72193292)
                SolutionTimeDestinationDate      (date of escalation, e. g. "2009-02-14 18:00:00")
                SolutionTimeWorkingTime          (seconds of working/service time till escalation, e. g. "1800")
                SolutionTime                     (seconds total till escalation, e. g. "3600")

                Article => [
                    {
                        ArticleID
                        From
                        To
                        Cc
                        Subject
                        Body
                        ReplyTo
                        MessageID
                        InReplyTo
                        References
                        SenderType
                        SenderTypeID
                        CommunicationChannelID
                        IsVisibleForCustomer
                        ContentType
                        Charset
                        MimeType
                        IncomingTime

                        DynamicField => [
                            {
                                Name  => 'some name',
                                Value => 'some value',
                            },
                        ],

                        Attachment => [
                            {
                                Content            => "xxxx",     # actual attachment contents, base64 enconded
                                ContentAlternative => "",
                                ContentID          => "",
                                ContentType        => "application/pdf",
                                Filename           => "StdAttachment-Test1.pdf",
                                Filesize           => "4.6 KBytes",
                                FilesizeRaw        => 4722,
                            },
                        ],
                    },
                ],
            },
        ],
    },
};

TERMS AND CONDITIONS

This software is part of the OTRS project (https://otrs.org/).

This software comes with ABSOLUTELY NO WARRANTY. For details, see the enclosed file COPYING for license information (GPL). If you did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt.