API Tickets – TecArt-CRM Developer-Wiki

API Tickets

Aus TecArt-CRM Developer-Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Hinweis

API Klassen und deren Funktionen können nur mit CRM System mit Version >= 3.2 genutzt werden.

Methods

Tickets

addTicket

Syntax:

int addTicket ( array $ticket )


Beschreibung:

Fügt ein Ticket hinzu.

Gibt eine ticket_id zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eigenschaften von ticket array:

Type(Length)      Eigenschaft          Beschreibung
------------------------------------------------------------------- 
string(255)       $cid                 Contact-Id
string(255)       $name                Name des Fragestellers
string(255)       $email               E-Mail-Adresse des Fragestellers
int               $start               Start-Datum & -Zeit als Unix-Timestamp 
int               $stop                Stop-Datum & -Zeit als Unix-Timestamp 
int               $affected            User-Id des betroffenen Nutzers
int               $priority            Priorität. Mögliche Werte: 0->Eskalation, 1->Heute, 2->Hoch, 3->Normal, 4->Niedrig
string(255)       $subject             Ticketbetreff
string(255)       $notes               Ticketinhalt, Beschreibung, Notizen ...
int               $status              Ticketstatus. Mögliche Werte: 0->offen, 1->in Bearbeitung, 2->Wartet auf antwort, 3->geschlossen
string(255)       $category            Ticketkategorie

 
string(255)       $user13              Benutzerdefiniertes Feld Nr. 13
string(255)       $user14              Benutzerdefiniertes Feld Nr. 14
   :                  :                           :
string(255)       $user80              Benutzerdefiniertes Feld Nr. 80 

Beispiel :

<?php
 
$ticket = array( 'cid'         => 7,
                 'name'        => 'Dr John',
                 'email'       => 'ticket@tecart.de',
                 'start'       => mktime(0, 0, 0, 5, 11, 2007),
                 'stop'        => mktime(0, 0, 0, 5, 31, 2007),
                 'affected'    => 30,
                 'priority'    => 3,
                 'subject'     => 'Ticket subject',
                 'notes'       => 'Notice here',
                 'status'      => 1,
                 'category'    => 'Error in System / in Operation',
                 'user21'      => '777');
 
try {
    $crmapi_tickets = crmapi::tickets();
    $ticket_id = $crmapi_tickets->addTicket($ticket);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $ticket_id;
 
?>

getTicket

Syntax:

array getTicket( int $ticket_id )


Beschreibung:

Gibt ein Array mit einem Ticket-Element zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

ticket_id ist die Ticket-Id


Properties:

Type(Length)      Eigenschaft             Beschreibung
-------------------------------------------------------------------
int               $id                  Ticket-Id 
string(255)       $cid                 Contact-Id
string(255)       $name                Name des Fragestellers
string(255)       $email               E-Mail-Adresse des Fragestellers
int               $tnumber             Ticketnummer
int               $start               Start-Datum & Zeit als Unix-Timestamp 
int               $stop                Stop-Datum & Zeit als Unix-Timestamp 
int               $affected            User-Id des betroffenen Nutzers
int               $priority            Priorität. Mögliche Werte: 0->Eskalation, 1->Heute, 2->Hoch, 3->Normal, 4->Niedrig
string(255)       $subject             Ticketbetreff
string(255)       $notes               Ticketinhalt, Beschreibung, Notizen ...
int               $status              Ticketstatus. Mögliche Werte: 0->offen, 1->in Bearbeitung, 2->Wartet auf antwort, 3->geschlossen
string(255)       $category            Ticketkategorie
int               $createuser          User-Id des Erstellers 
int               $createtime          Unix-Timestamp der Erstellung
int               $chguser             User-Id der letzten Änderung
int               $chgtime             Unix-Timestamp der letzten Änderung
int               $section             Section (nur CRM mit der Version >= 3.4.5359)
string(255)       $user13              Benutzerdefiniertes Feld Nr. 13
string(255)       $user14              Benutzerdefiniertes Feld Nr. 14
   :                  :                           :
string(255)       $user80              Benutzerdefiniertes Feld Nr. 80 


Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    $ticket = $crmapi_tickets->getTicket(1);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($ticket as $key=>$value) {
    echo $key . " => " . $value . "<br/>";
}
 
?>

countTickets

Syntax:

int countTickets()


Beschreibung:

Gibt die Gesamtanzahl an Tickets zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    $amount = $crmapi_tickets->countTickets();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $amount;
 
?>

getTicketIds

Syntax:

array getTicketIds( int $timestamp )


Beschreibung:

Gibt ein Array mit Ticket-IDs zurück die seit timestamp geändert wurden.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eigenschaften:

Type(Length)      Eigenschaft             Beschreibung
-------------------------------------------------------------------
int               $id                  Ticket-Id 

Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    // Get all ticket ids
    $result = $crmapi_tickets->getTicketIds(0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $id) {
    echo $id."<br/>";
}
 
?>

changeTicket

Syntax:

int changeTicket( int $ticket_id, array $ticket )


Beschreibung:

Ändert Eigenschaften eines existierenden Tickets.

Gibt die ticket_id zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eigenschaften von crmTicketItem: same as for #addTicket

Beispiel:

<?php
 
try {
    $ticket = array();
    $ticket['name'] = 'API-Ticket changed';
 
    $crmapi_tickets = crmapi::tickets();
 
    // change ticket with id = 1234
    $ticket_id = $crmapi_tickets->ChangeTicket(1234, $ticket);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $ticket_id;
 
?>

getChangedTickets

Syntax:

array getChangedTickets ( int $timestamp )


Beschreibung:

Gibt ein Array mit Tickets die seit timestamp geändert wurde zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eigenschaften:

sind die selben wie für #getTicket


Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    // Get all tickets, that have been changed since 10.04.2007
    $tickets = $crmapi_tickets->getChangedTickets(1176208357);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($tickets as $ticket) {
    foreach($ticket as $key => $value) {
        echo $key . '=>' . $value . '<br>';
    }
    echo "<hr>";
}
 
?>

getChangedTicketsLimit

Syntax:

array getChangedTicketsLimit( int $timestamp, int $count, int $offset )

Beschreibung:

Gibt ein Array mit Tickets zurück die seit timestamp geändert wurden, limitiert von count und offset.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eigenschaften:

sind die selben wie für #getTicket

Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    // Get only 10 tickets, that have been changed since 10.04.2007
    $tickets = $crmapi_tickets->getChangedTicketsLimit(1176208357, 10, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($tickets as $ticket) {
    foreach($ticket as $key => $value) {
        echo $key . '=>' . $value . '<br>';
    }
    echo "<hr>";
}
 
?>

deleteTicket

Syntax:

void deleteTicket ( int $ticket_id )


Beschreibung:

Löscht ein Ticket.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    // Delete ticket with id = 123
    $tickets = $crmapi_tickets->deleteTicket(123);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
?>

getResponsibleUser

Syntax:

int getResponsibleUser()


Beschreibung:

Gibt die Benutzer-ID des Standard-Benutzers für Webservices, die in Administration> Module > Trouble-Tickets vergeben wurde.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    $responsibler_userid = $crmapi_tickets->getResponsibleUser();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $responsibler_userid;
 
?>

getTicketGroup

Syntax:

int getTicketGroup()

Beschreibung:

Gibt die Gruppen-Auswahl für verantwortliche Personen, die in Administration> Module> Trouble-Tickets vergeben wurde.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    $ticket_group = $crmapi_tickets->getTicketGroup();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $ticket_group;
 
?>

getMinMaxCreateTime

Syntax:

array getMinMaxCreateTime( int $cid )

Beschreibung:

Gibt ein Array mit der Min-und Max CreateTime aller Tickets für die eingegebene $cid.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Eigenschaften:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
int               $min                 Min createtime (Time Unix-Timestamp)
int               $max                 Max createtime (Time Unix-Timestamp)

Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    $result = $crmapi_tickets->getMinMaxCreateTime();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo 'Min: '. date('m-d-Y', $result['min']) .'<br>';
echo 'Max: '. date('m-d-Y', $result['max']) .'<br>';
 
?>

getTicketByCondition

Syntax:

array getTicketByCondition ( array $condition )


Beschreibung:

Gibt ein Array von Tickets zurück, welche mit den Bedingungen übereinstimmen. Die Bedingungen werden mit 'AND' verknüpft.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eigenschaften von $condition Array:

Type(Length)      Eigenschaft          Beschreibung
------------------------------------------------------------------- 
int               $cid                 Kontakt-Id
int               $status              Ticketstatus. Mögliche Werte: 0->offen, 1->in Bearbeitung, 2->Wartet auf antwort, 3->geschlossen, -1-> alle außer abgeschlossene
int               $begin_time          Unix-Time : Erstellungszeit eines Tickets
int               $end_time            Unix-Time : Erstellungszeit eines Tickets

(nur CRM mit der Version >= 3.4.5371) gibt's folgenden Params

int               $affected            User-ID des Zuständigers
int               $section             Type der Tickets
int               $count               Anzahl der zuholenden Tickets
int               $offset              Die Offset Position der Ergebnisse, die zurückgegeben werden sollen.
string            $search              Der Suchstring. Es werden 2 Platzhalter am Anfang und Ender des Strings hinzugefügt.
array             $sorting             Eine Array mit: 
                                          $key   -> Name des sortierenden Feld ('createtime' oder 'subject' oder 'start' oder 'stop')
                                          $value -> Type der Sortierung        ('ASC' oder 'DESC')
array             $search_fields       Die Suchfelder. Wird nur benötigt, wenn $search gesetzt wird. Beim Default wird der Suchstring in den Feldern 'subject' oder 'notes' oder 'tnumber' oder 'email' oder 'name' gesucht.
                                       


Eigenschaften von zurückgegebenen Array:

sind die selben wie für #getTicket


Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    //Example 1: Get tickets, which are created from 01.01.2011 to 31.12.2011
    $condition = array('begin_time' => 1293836400, 'end_time' => 1325286000);
 
    //Example 2: Get tickets, which belong to contact id 4 and responsible user id 7
    $condition = array('cid' => 4, 'affected' => 7);
 
    //Example 3: Get tickets, which belong to contact id 4. Sorting ascending with 'createtime'.
    $sorting   = array('createtime' => 'ASC');
    $condition = array('cid' => 4, 'sorting' => $sorting);
 
    //Example 4: Search tickets with subject like '%crm%' or notes like '%crm%' AND belong to contact 4
    $search_fields = array('subject', 'notes');
    $condition = array('search' => 'crm', 'search_fields' => $search_fields, 'cid' => 4);
 
    //Example 5: Search tickets with subject like '%crm%' or notes like '%crm%' or tnumber like '%crm%' or email like '%crm%' or name like '%crm%'
    $condition = array('search' => 'crm');
 
    $tickets = $crmapi_tickets->getTicketByCondition($condition);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($tickets as $ticket) {
     echo 'Ticket ID: '. $ticket['id'] .'<br>';
     echo 'Subject: '. $ticket['subject'] .'<br>';
}
 
?>

getTicketFields

(CRM >= 3.3.3391)

Syntax:

 array getTicketFields() 


Beschreibung:

Gibt ein Array mit Information der Feldern für Ticket zurück. Die Info enthält die Felder in der Datenbank, die angezeigte Namen und die Typen der Felder.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eignenschaften von zurückgegebenen array:

Typ(Länge)              Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string(255)             Key                       Name des Feldes in der Datenbank
array(255)              Value                     Array mit 
                                                  label: der angezeigte Name des Feldes
                                                  field: Name des Feldes in der Datenbank
                                                  type:  Typ des Feldes


Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    $fields = $crmapi_tickets->getTicketFields();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $fields as $key => $val) {
    echo $key ." => ". $val['label'] ."<br/>";
}
 
?>

Ticket Actions

addTicketAction

Syntax:

int addTicketAction( array $ticket_action )


Beschreibung:

Fügt eine Ticketaction hinzu.

Gibt eine ticket_action_id zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eigenschaften von ticket_action array:

Type(Length)      Eigenschaft             Beschreibung
------------------------------------------------------------------- 
int               $ticket_id           Ticket-Id
int               $userid              User-Id der verantwortlichen Person
string(65535)     $notes               Hinweis, Beschreibun ...
int               $atype               Typ: 0 = intern, 1 = extern
string(255)       $subject             Ticketaction-Betreff
float             $duration            Dauer


Beispiel:

<?php
 
$ticket_action = array( 'ticket_id'   => 7,
                        'userid'      => 55,
                        'notes'       => 'Notice here',
                        'atype'       => 1,
                        'subject'     => 'Ticket action subject',
                        'duration'    => 1,5);
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    $ticket_action_id = $crmapi_tickets->addTicketAction($ticket_action );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $ticket_action_id;
 
?>

getTicketAction

(CRM >= 3.4.5380)

Syntax:

array getTicketAction( int $ticket_action_id )


Beschreibung:

Gibt eine Array mit Information von einer Ticket-Aktion anhand der $ticket_action_id zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eigenschaften der zurückgegebenen Array zurück:

die selben wie für #getTicketActionsByTicketID


Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    $ticket_action = $crmapi_tickets->getTicketAction(7);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($ticket_action as $key => $value) {
    echo $key . '=>' . $value . '<br>';
}
 
?>

getTicketActionsByTicketID

Syntax:

array getTicketActionsByTicketID( int $ticket_id )


Beschreibung:

Gibt ein Array mit Ticketactions zurück welche zum Ticket mit der ticket_id gehören.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eigenschaften von $ticket_action array:

Type(Length)      Eigenschaft             Beschreibung
-------------------------------------------------------------------
int               $id                  Ticket Action-Id
int               $ticket_id           Ticket-Id 
int               $userid              user-Id des verantwortlichen Nutzers
string(65535)     $notes               Hinweis, Beschreibung ...
int               $atype               Typ: 0 = intern, 1 = extern
string(255)       $subject             Ticketaction-Betreff
int               $createuser          User-Id der Erstellers
int               $createtime          Unix-Timestamp der Erstellung
int               $chguser             User-Id der letzten Änderung
int               $chgtime             Unix-Timestamp der letzten Änderung
float             $duration            Dauer


Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    // Get Ticket actions, which belong to the ticket with id: 180
    $result = $crmapi_tickets->getTicketActionsByTicketID(180);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $ticket_action) {
    foreach($ticket_action as $key => $value) {
        echo $key . '=>' . $value . '<br>';
    }
    echo "<hr>";
}
 
 
?>

changeTicketAction

Syntax:

int changeTicketAction(int $ticket_action_id, array $ticket_action )


Beschreibung:

Ändert die Eigenschaften einer existierenden Ticketaction.

Gibt eine ticket_action_id zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eigenschaften von $ticket_action array:

die selben wie für #addTicketAction


Beispiel:

<?php
 
$ticket_action = array();
$ticket_action['subject'] = 'API Ticket Action changed';
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    // Change ticket action with id 180
    $ticket_action_id = $crmapi_tickets->changeTicketAction( 180, $ticket_action );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $ticket_action_id;
 
?>

deleteTicketAction

Syntax:

void crmdeleteTicketAction ( int $ticket_action_id )


Beschreibung:

Löscht ein Ticket.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    // Delete ticket action with id 180
    $ticket_action_id = $crmapi_tickets->deleteTicketAction(180);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
?>

getTicketActionByCondition

Syntax:

array getTicketActionByCondition ( array $condition )


Beschreibung:

Gibt ein Array von Ticket-Aktion zurück, welche mit den Bedingungen übereinstimmen.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eigenschaften von $condition Array:

Type(Length)      Eigenschaft          Beschreibung
------------------------------------------------------------------- 
int               $tid                 Ticket-Id
int               $tids                kommagetrennter String von Ids
int               $atype               1 = Externe ( Default ), 0 = Interne, -1 = Beide
int               $userid              User-Id des Verantwortlichen
string(255)       $search              Suche in Betreff, Notizen
int               $count               Anzahl Ergebnisse
int               $offset              Startposition Ergebnisse
boolean           $costs               0 = Es werden keine Kosten zurückgeliefert


Eigenschaften von zurückgegebenen Array:

sind die selben wie für #getTicketActionsByTicketID


Beispiel:

<?php
 
try {
    $crmapi_tickets = crmapi::tickets();
 
    $condition = array('tids'=> '1,2,3,4,5,6,7');
 
    $ticket_actions = $crmapi_tickets->getTicketActionByCondition($condition);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($ticket_actions as $ticket_action) {
     echo 'Ticket ID: '. $ticket_action['ticket_id'] .'<br>';
     echo 'Subject: '. $ticket_action['subject'] .'<br>';
}
 
?>