Suche mehr Informationen zur API

MaRu

Free User
Mitglied seit
19. Mai 2020
Beiträge
8
Seit dem Update funktioniert unsere Anruferliste nicht mehr.
Mein Kollege, der unsere Anlage betreut, ist ebenfall unzufrieden
Über ein PHP-Script kann ich mich in die API einloggen und alle Anrufer des letzen Monats aufrufen.
Ich bin entsetzt, dass sich viele Felder nicht mehr mit der alten REST-API übereinstimmen.
Bis jetzt habe ich sehr viel Zeit in das Mappen der Felder inverstiert und verstehe die Zeitintervalle nicht:
"RingingDuration" und "TalkingDuration" sind in einem komischen Format, dass ich nicht kenne.
Was bedeutet "PT1.349718S" ?
Kann hier irgendjemand Hilfestellung geben? Wie wandle ich die Zeit in eine Dauer (früher das Feld "Duration") um?
 
Ich gehe davon aus, dass mehrere Entwickler die gleichen Probleme haben, wie ich.
Hier ein Auszug aus unserer Anrufliste:
class Anruferliste {

public function loginAPI() {

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://name.3cx.de:5001/webclient/api/Login/GetAccessToken");
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $_SERVER['REQUEST_URI']);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 2);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array('Username' => 'admin', 'SecurityCode' => '', 'Password' => '**************')));

$serverLoginOutput = curl_exec($ch);

curl_close($ch);

return $serverLoginOutput;

}

public function getItemsPerPage($start, $length, $search, $page) {

$serverSystemOutput = array();
$serverLoginOutput = $this -> loginAPI();

$vars = json_decode($serverLoginOutput);

if ($vars -> Status == "AuthSuccess") {

/*echo "<pre>";
var_dump($vars -> Status);
var_dump($vars -> Token -> token_type);
var_dump($vars -> Token -> expires_in);
var_dump($vars -> Token -> access_token);
var_dump($vars -> Token -> refresh_token);
var_dump($vars -> TwoFactorAuth);
var_dump($start);
var_dump($page);
var_dump($length); die();*/

$authorization = "Authorization: " . $vars -> Token -> token_type . " " . $vars -> Token -> access_token;

$adress = "https://name.3cx.de:5001/";
$adress .= "xapi/v1/ReportCallLogData/Pbx.GetCallLogData(";
$adress .= "periodFrom=" . date("Y-m-d\TH:i:s.", strtotime("-1 month")) . "000Z,";
$adress .= "periodTo=" . date("Y-m-d\TH:i:s.") . "000Z,";
$adress .= "sourceType=0,sourceFilter='',";
$adress .= "destinationType=0,destinationFilter='',";
$adress .= "callsType=0,callTimeFilterType=0,callTimeFilterFrom='0%3A00%3A0',callTimeFilterTo='0%3A00%3A0',";
$adress .= "hidePcalls=true)?";
$adress .= "\$top=" . $length . "&\$skip=" . ($page - 1) * $length . "&";
$adress .= "\$filter=contains(tolower(DestinationDisplayName),'')%20or%20contains(tolower(SourceDisplayName),'')&";
$adress .= "\$orderby=SegmentId%20desc";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $adress);

curl_setopt($ch, CURLOPT_NOBODY, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', $authorization));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $_SERVER['REQUEST_URI']);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 2);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

$serverSystemOutput = curl_exec($ch);

curl_close($ch);

return $serverSystemOutput;
}
}
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
21.983
Beiträge
110.854
Mitglieder
70.972
Neuestes Mitglied
Alexander Fenger
Holen Sie sich 3CX - völlig kostenlos!

Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX register cta
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.