2016-07-11 2 views
3

Как я могу отобразить все билеты otrs с помощью мыльного api. Индивидуальный билет может быть отображен пропусканием идентификатора билета в URL, как это:DIsplay all otrs ticket using soap api

$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 ?????

ответ

2

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

+0

Мне понравилось, я сказал. но как я могу отобразить новый и открытый билет так же, как и на приборной панели otrs. Вот код того, что я сделал до сих пор. http://phpfiddle.org/main/code/wb4u-nrsj –

+1

Я не знаю, в чем проблема, которую вы все еще имеете? Кажется, вы отлично просматриваете результаты. У панели мониторинга обычно есть фильтр, примененный к билетам, это то, что вы имеете в виду? Просто зайдите в OTRS SysConfig, чтобы найти эти определения. – MichielB

+0

Не могли бы вы помочь мне, какие фильтры применяются к билету, который отображается на панели управления в новой таблице билетов? Я действительно застрял здесь. если я использую запрос select * из 'ticket', где ticket_state_id = '1' по id DESC; Это дает больше результатов, чем таблица новых таблиц панели инструментов. Мне интересно, какие другие фильтры применяются здесь или есть ли способ получить это через api. –

Смежные вопросы