i have an external software from which I want to be able to open query of tickets where otrs_customerid=ext.software_emailaddress.
External software have 3 communication channels
1. URL (request and reply are send via url)
2. Sockets (TCP/IP sockets) Host name, request-reply ports,login details
3. SOAP (Web services via SOAP)
1. What is the easiest communication channel from above to achieve that?
2. Could you give an example how to achieve that task?
i tried to use url http://11.11.11.11/otrs/rpc.pl but it replies 411 error
url http://11.11.11.11/otrs/scripts/rpc-example.pl replies
Code: Select all
Software error:
slurp_filename('/usr/local/otrs/bin/cgi-bin/scripts') / opening: (2) No such file or directory at /usr/local/lib/perl5/site_perl/5.10.1/mach/ModPerl/RegistryCooker.pm line 541
Code: Select all
TicketSearch()
To find tickets in your system. my @TicketIDs = $TicketObject->TicketSearch(
# result (required)
Result => 'ARRAY' || 'HASH' || 'COUNT',
# result limit
Limit => 100,
# ticket number (optional) as STRING or as ARRAYREF
TicketNumber => '%123546%',
TicketNumber => ['%123546%', '%123666%'],
# ticket title (optional) as STRING or as ARRAYREF
# CustomerID (optional) as STRING or as ARRAYREF
CustomerID => '123',
CustomerID => ['123', 'ABC'],
# search in archive (optional)
ArchiveFlags => ['y', 'n'],
# OrderBy and SortBy (optional)
OrderBy => 'Down', # Down|Up
SortBy => 'Age', # Owner|Responsible|CustomerID|State|TicketNumber|Queue|Priority|Age|Type|Lock
# Title|Service|SLA|PendingTime|EscalationTime
# EscalationUpdateTime|EscalationResponseTime|EscalationSolutionTime
# TicketFreeTime1-6|TicketFreeKey1-16|TicketFreeText1-16
# OrderBy and SortBy as ARRAY for sub sorting (optional)
OrderBy => ['Down', 'Up'],
SortBy => ['Priority', 'Age'],
# user search (UserID is required)
UserID => 123,
Permission => 'ro' || 'rw',
# customer search (CustomerUserID is required)
CustomerUserID => 123,
Permission => 'ro' || 'rw',
# CacheTTL, cache search result in seconds (optional)
CacheTTL => 60 * 15,
);
Returns:
Result: 'ARRAY' @TicketIDs = ( 1, 2, 3 );
Result: 'HASH' %TicketIDs = (
1 => '2010102700001',
2 => '2010102700002',
3 => '2010102700003',
);
Result: 'COUNT' $TicketIDs = 123;