Php 使用soap api显示所有otrs票据

Php 使用soap api显示所有otrs票据,php,soap,xml-rpc,otrs,Php,Soap,Xml Rpc,Otrs,如何使用soap api显示所有otrs票据。通过在url中传递票证id可以显示单个票证,如下所示: $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['i

如何使用soap api显示所有otrs票据。通过在url中传递票证id可以显示单个票证,如下所示:

$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显示所有票证?

使用以检索票证ID列表。然后将这个列表输入到TicketGet,正如您已经显示的那样,以便检索机票详细信息。

我按照您所说的做了。但是,我如何显示新的和打开的票证,与otrs仪表板相同。这是我迄今为止所做工作的代码。我不知道你还有什么问题?你似乎对结果很满意。仪表板通常会对票据应用一些过滤器,这是您的意思吗?只需在OTRS系统配置中查找这些定义。您能否帮助我将哪些筛选器应用于显示在“新票证”表下的仪表板中的票证?我真的被困在这里了。如果我使用查询,请选择*from
ticket
where ticket\u state\u id='1'按id DESC排序;它提供的结果比仪表板的新票证表更多。我想知道这里还应用了哪些其他过滤器,或者是否有任何方法可以通过api获得这些过滤器。您使用的查询与仪表板之间的区别在于仪表板仅在您有权访问的队列中显示新票据。除此之外,仪表板“新建项目”页面上方还有一个过滤器,您可以在“所有票证”、“我队列中的票证”和“我锁定的票证”之间切换。这当然会相应地修改SQL查询。如果只需要第一篇文章,请使用
ArticleGet()
函数或
ArticleFirstArticle()