Отображать все билеты otrs с помощью мыльного API

Как я могу отобразить все билеты otrs, используя мыльный API. Отдельный билет можно отобразить, передав идентификатор билета в URL-адресе следующим образом:

$url = "https://url/otrs/rpc.pl"; //// URL for OTRS server
$username = "username"; //// SOAP username set in sysconfig
$password = "password"; //// SOAP password set in sysconfig
$TicketID = $_GET['id'];
  //////// Initialize new client session ////////
    $client = new SoapClient(
        null,
        array(
            'location' => $url,
            'uri' => "Core",
            'trace' => 1,
            'login' => $username,
            'password' => $password,
            'style' => SOAP_RPC,
            'use' => SOAP_ENCODED
        )
    );
//////// Create and send the SOAP Function Call ////////
    $sql =
    $TicketDetails = $client->__soapCall("Dispatch",
        array($username, $password,
            "TicketObject", "TicketGet",
            "TicketID", $TicketID,
        ));
 $ticketInfo = array();
    $i = 0;

    foreach ($TicketDetails as $name => $value){ //// explode the xml response
        if (false !== strpos($name, "s-gensym")){

            $temp[$i] = $value;
            $v = $temp[$i - 1];
            if($i % 2 != 0){
                $ticketInfo[$v] = $value;
            }
            $i++;
        }
    }
 var_dump($ticketInfo);
    exit();

Как я могу отобразить все билеты, используя API?????


person Sujan Shrestha    schedule 11.07.2016    source источник


Ответы (1)


Используйте вызов API TicketSearch для получения списка идентификаторов билетов. Затем передайте этот список в TicketGet, как вы уже показали, чтобы получить информацию о билете.

person MichielB    schedule 26.07.2016
comment
Я сделал, как ты сказал. но как я могу отобразить новый и открытый тикет так же, как на панели инструментов otrs. Вот код того, что я сделал до сих пор. phpfiddle.org/main/code/wb4u-nrsj - person Sujan Shrestha; 29.07.2016
comment
Я не знаю, в чем проблема, которая у вас все еще есть? Кажется, вы отлично перебираете результаты. На панели инструментов обычно применяется фильтр к заявкам, вы это имеете в виду? Просто зайдите в OTRS SysConfig, чтобы найти эти определения. - person MichielB; 29.07.2016
comment
Не могли бы вы помочь мне, какие фильтры применяются к тикету, который отображается на панели инструментов под новой таблицей тикетов? Я действительно застрял здесь. если я использую запрос, выберите * из ticket, где ticket_state_id='1' упорядочить по идентификатору DESC; это дает больше результата, чем новая таблица тикетов на приборной панели. Мне интересно, какие еще фильтры здесь применяются или есть ли способ получить их через API. - person Sujan Shrestha; 29.07.2016
comment
Разница между используемым вами запросом и информационной панелью заключается в том, что на информационной панели отображаются только новые заявки в очередях, к которым у вас есть доступ. Кроме того, над страницей новых элементов панели инструментов есть фильтр, где вы можете переключаться между «Все заявки», «Заявки в моих очередях» и «Мои заблокированные заявки». Это, конечно, соответствующим образом изменяет SQL-запрос. - person MichielB; 29.07.2016
comment
как я могу отобразить статью, связанную с идентификатором билета? Я использовал ticketsearch для поиска идентификаторов билетов, а затем использовал getticket для получения информации о билетах. - person Sujan Shrestha; 01.08.2016
comment
Используйте функцию ArticleGet() otrs. github.io/doc/api/otrs/stable/Perl/Kernel/System/Ticket/ — или ArticleFirstArticle(), если вам нужна только первая статья. - person MichielB; 01.08.2016
comment
спасибо... как я могу привязать разрешение очереди OTRS к моему пользовательскому веб-сайту портала?? - person Sujan Shrestha; 01.08.2016
comment
У меня проблема с созданием тикета, когда я добавляю адрес электронной почты в поле «Кому». Тикет создан, но статья не создана. Можете ли вы взглянуть на мой код и сказать мне, что я делаю неправильно. phpfiddle.org/main/code/q0gx-uzsn - person Sujan Shrestha; 04.08.2016
comment
Я думаю, что у меня проблема с типом автоответа, «автоответ», - person Sujan Shrestha; 04.08.2016
comment
Как обновить тикет с помощью soap API? У меня возникли проблемы с обновлением владельца. - person Sujan Shrestha; 11.08.2016