Page tree
Skip to end of metadata
Go to start of metadata


 

Mit der Veröffentlichung von TecArt Version 4.10 wird diese Version des REST Webservice nicht weiterentwickelt, steht aber zu Zwecken der Abwärtskompatibilität weiter zur Verfügung. 

With the release of TecArt version 4.10 this version of REST Webservice will no longer receive further development, yet will stay available for reasons of downward compatibility.

1. Aufruf URL

http://hostname/dirname/rest/index.php/tickets

e.g. https://test.tecart-system.de/rest/index.php/tickets

2. Methoden

2.1. Tickets

2.1.1. crmaddTicket

Syntax:

int crmaddTicket ( array(string $session_id, array $crmTicketItem) )

Beschreibung:

Fügt ein Ticket hinzu.

Gibt eine ticket_id beim Erfolg zurück.

crmTicketItem ist ein assoziazives Array.

Eigenschaften von crmTicketItem Array:

Type(Length)      Eigenschaft          Beschreibung
------------------------------------------------------------------- 
string(255)       $cid                 Kontakt-ID
string(255)       $name                Name des Fragestellers
string(255)       $email               E-Mail-Adresse des Fragestellers
string(255)       $phone               Telefonnummer des Fragestellers ( ab Version 4.2.12947 )
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
int               $section             Ticketbereich (0 -> Standard)
int               $pid                 Projekt-ID 
string(255)       $category            Ticketkategorie
int               $ext_id              Externe ID ( ab Version 4.2 )
 
string(255)       $user13              Benutzerdefiniertes Feld Nr. 13
string(255)       $user14              Benutzerdefiniertes Feld Nr. 14
   :                  :                           :
string(255)       $user80              Benutzerdefiniertes Feld Nr. 80 

Beispiel :

<?php
 
try { 
	include_once 'crm_rest_api.php';
 
	$tickets	= new crm_rest_api("http://hostname/dirname/rest/index.php/tickets");
	$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'
	);
 
	$ticket_id = $tickets->crmaddTicket(
		array(
			'session_id'	=> $session_id,
			'crmTicketItem'	=> $ticket
		)
	);
 
	echo $ticket_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.1.2. crmChangeTicket

Syntax:

int crmChangeTicket( array(string $session_id, int $ticket_id, array $crmTicketItem) )

Beschreibung:

Ändert Eigenschaften eines existierenden Tickets.

Gibt die ticket_id bei Erfolg zurück.

crmTicketItem ist ein assoziatives Array.

Eigenschaften von crmTicketItem Array: sind die selben wie für crmaddTicket

Beispiel:

<?php
 
try {
	$ticket		= array('name' => 'WebService-Ticket changed');
	$ticket_id	= $tickets->crmChangeTicket(
		array(
			'session_id'	=> $session_id,
			'ticket_id'		=> 2345,
			'crmTicketItem' => $ticket
		)
	);
 
	echo $ticket_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.1.3. crmCountTickets

Syntax:

int crmCountTickets( array(string $session_id) )

Beschreibung:

Gibt die Gesamtanzahl an Tickets zurück.

Beispiel:

<?php
 
try { 
	echo $tickets->crmCountTickets( array('session_id' => $session_id) );
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.1.4. crmdeleteTicket

Syntax:

int crmdeleteTicket ( string $session_id, int $ticket_id )

Beschreibung:

Löscht ein Ticket.

Gibt 1 bei Erfolg zurück.

Beispiel:

<?php
 
try { 
	$success = $tickets->crmdeleteTicket(
		array(
			'session_id'	=> $session_id,
			'ticket_id'		=> 2345
		)
	);
 
	if ($success == 1) {
		echo "Delete ticket success.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.1.5. crmgetChangedTickets

Syntax:

array crmgetChangedTickets ( array(string $session_id, int $timestamp) )

Beschreibung:

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

Eigenschaften:

sind die selben wie für crmgetTicket

Beispiel:

<?php
 
try { 
	$result = $tickets->crmgetChangedTickets(
		array(
			'session_id'	=> $session_id,
			'timestamp'		=> 1176208357
		)
	);
 
	foreach($result as $ticket) {
		echo "{$ticket->cid}, {$ticket->name}, {$ticket->subject}, {$ticket->priority}<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.1.6. crmgetChangedTicketsLimit

Syntax:

array crmgetChangedTicketsLimit( array(string $session_id, int $timestamp, int $count, int $offset) )

Beschreibung:

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

Eigenschaften:

sind die selben wie für crmgetTicket

Beispiel:

<?php
 
try { 
	$params = array(
		'session_id'	=> $session_id,
		'timestamp'		=> 1176208357,
		'count'			=> 10,
		'offset'		=> 0
	);
 
	$result = $tickets->crmgetChangedTickets($params);
 
	foreach($result as $ticket) {
		echo "{$ticket->cid}, {$ticket->name}, {$ticket->subject}, {$ticket->priority}<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.1.7. crmgetMinMaxCreateTime

Syntax:

array crmgetMinMaxCreateTime( array($session_id, $contact_id) )

Beschreibung:

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

Eigenschaften:

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

Beispiel:

<?php
 
try {
	// the turn the createtime of the first and the last tickets from contact_id = 5844.
	$result = $tickets->crmgetMinMaxCreateTime(
		array(
			'session_id'	=> $session_id,
			'contact_id'	=> 5844
		)
	);
 
	echo 'min createtime: '. date('d - M - Y', $result->min);
	echo '\n';
	echo 'max createtime: '. date('d - M - Y', $result->max);;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.1.8. crmgetResponsibleUser

Syntax:

int crmgetResponsibleUser( array(string $session_id, int $section) )

Beschreibung:

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

section (optional), ID des Bereiches, 0 = Standard)

Beispiel:

<?php
 
try {   
	echo $tickets->crmgetResponsibleUser( array('session_id' => $session_id) );
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.1.9. crmgetTicket

Syntax:

array crmgetTicket( array(string $session_id, int $ticket_id )

Beschreibung:

Gibt ein Ticket-Objekt mit nur einem Element zurück.

ticket_id ist die Ticket-Id.

Eigenschaften:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
int               $id                  Ticket-ID
int               $ext_id              Externe ID ( ab Version 4.2 )
string(255)       $cid                 Kontakt-ID
string(255)       $name                Name des Fragestellers
string(255)       $email               E-Mail-Adresse des Fragestellers
string(255)       $phone               Telefonnummer des Fragestellers ( ab Version 4.2.12947 )
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
int               $section             Ticketbereich (0 -> Standard)
int               $pid                 Projekt-ID 
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
string(255)       $user13              Benutzerdefiniertes Feld Nr. 13
string(255)       $user14              Benutzerdefiniertes Feld Nr. 14
   :                  :                           :
string(255)       $user80              Benutzerdefiniertes Feld Nr. 80 

Beispiel:

<?php
 
try {
	// Get Ticket with id 1
	$ticket = $tickets->crmgetTicket(
		array(
			'session_id'	=> $session_id,
			'ticket_id'		=> 1
		)
	);
 
	echo $ticket->id." ".$ticket->name." ".date("Y-m-d", $ticket->chgtime)."<br>";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.1.10. getTicketByCondition

Syntax:

array crmgetTicketByCondition( array($session_id, $condition) )

Beschreibung:

Gibt ein Array mit Ticketobjekten zurück, das mit den Bedingungen übereinstimmt. Die Bedingungen sind im Array als condition definiert.

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 mit TecArt-System Version >= 3.4.5371) gibt's folgenden Params

int               $affected            User-ID des Zuständigers
int               $section             Bereich der Tickets
int               $pid                 Projekt-ID 
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 der zurückgegebenen Array:

sind die selben wie für getTicket

Beispiel:

<?php
 
try { 
	//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');
 
	$result = $_tickets->crmgetTicketByCondition(
		array(
			'session_id'	=> $session_id,
			'condition'		=> $condition
		)
	);
 
	foreach($result as $ticket) {
		echo "{$ticket->cid}, {$ticket->name}, {$ticket->subject}, {$ticket->priority}<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.1.11. crmgetTicketGroup

Syntax:

int crmgetTicketGroup( array(string $session_id, int $section) )

Beschreibung:

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

section (optional), ID des Bereiches, 0 = Standard)

Beispiel:

<?php
 
try { 
	echo $tickets->crmgetTicketGroup( array('session_id' => $session_id) );
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.1.12. crmgetTicketIds

Syntax:

array crmgetTicketIds( array(string $session_id, int $timestamp) )

Beschreibung:

Gibt ein Array mit ticket objecten zurück, die seit timestamp verändert wurden.

Beispiel:

<?php
 
try {
	$result = $tickets->crmgetTicketIds(
		array(
			'session_id'	=> $session_id,
			'timestamp'		=> 0
		)
	);
 
	foreach($result as $id) {
		echo $id."<br>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.1.13. crmgetTicketFields

(Version >= 3.4.4158)

Syntax:

array crmgetTicketFields( array(string $session_id) )

Beschreibung:

Gibt ein Objekt 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.

Eignenschaften von zurückgegebenen Objekt:

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

Beispiel:

<?php
 
try { 
    $result = $tickets->crmgetTicketFields( array('session_id' => $session_id) );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
$fields = get_object_vars($result);
 
foreach( $fields as $key => $val) {
    echo $key " => ". $val->label ."<br/>";
}



2.1.14. crmgetTicketSection

(Version >= 3.7.8870)

Syntax:

array crmgetTicketSections( array(string $session_id) )

Beschreibung:

Gibt ein Objekt mit den zur Verfügung stehenden Ticketbereichen zurück.

Eignenschaften von zurückgegebenen Objekt:

Typ(Länge)              Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
int                     section_id                ID des Ticketbereiches
string(255)             name                      Name des Ticketbereiches

Beispiel:

<?php
 
try { 
    $result = $tickets->crmgetTicketSections( array('session_id' => $session_id) );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
$sections = get_object_vars($result);
 
foreach( $sections as $key => $val) {
    echo $key " => ". $val ."<br/>";
}



2.1.15. crmgetTicketIdByExtId

(Version >= 4.2)

Syntax:

array crmgetTicketIdByExtId( array( string $session_id, int $ext_id ) )

Beschreibung

Liefert interne ID(s) von Tickets mit der übergebenen externen ID zurück.

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

Beispiel:

<?php
 
try {
	$result = $tickets->crmgetTicketIdByExtId(
		array(
			'session_id'	=> $session_id,
			'ext_id'		=> 12345
		)
	);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
foreach($result as $id) {
	echo $id."<br>  ";
}



2.1.16. crmgetAllTicketExtIds

(Version >= 4.2)

Syntax:

array crmgetAllTicketExtIds( array ( string $session_id ) )

Beschreibung

Liefert eine Liste aller externen IDs in Tickets zurück.

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

Beispiel:

<?php
 
try { 
	$result = $tickets->crmgetAllTicketExtIds(array('session_id' => $session_id));
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
foreach($result as $id) {
	echo $id."<br>  ";
}



2.1.17. crmsetDuplicateConfig

(Version >= 4.4)

Syntax:

boolean | string <err_msg> crmsetDuplicateConfig( array( 'session_id' => string <session_id>, 'fields' => array( string <fieldname>, [string <fieldname>...])) )

Beschreibung:

Ermöglicht eine temporäre Überschreibung der Dublettenprüfungsfelder für die Laufzeit der angemeldeten Session.

Parameter fields ist ein Array mit den Feldnamen, die anstatt der aktuell für das Modul festgelegten Felder zur Dublettenprüfung herangezogen werden sollen.

Beispiel:

<?php
 
try {
	include_once 'crm_rest_api.php';
	$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/tickets';
	$session_id  = session_id();
	$tickets     = new crm_rest_api($rest_url);
 
	$params  = array(
		'session_id'	=> $session_id,
		'fields'		=> array('tnumber', 'category')
	);
	$success = $tickets->crmsetDuplicateConfig($params);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo ($success ? 'override successful' : $success);



2.1.18. crmgetDuplicateConfig

(Version >= 4.4)

Syntax:

array | string <err_msg> crmgetDuplicateConfig( array( 'session_id' => string <session_id> ) )

Beschreibung:

Gibt Array mit aktueller Feldkonfiguration der Dublettenprüfung zurück.

Sollte aktuell keine temporäre Überschreibung der Feldkonfiguration aktiv sein (siehe crmsetDuplicateConfig), wird die durch die Administration konfigurierte Feldliste zurückgegeben.

Beispiel:

<?php
 
try {
	include_once 'crm_rest_api.php';
	$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/tickets';
	$session_id  = session_id();
	$tickets     = new crm_rest_api($rest_url);
 
	$params  = array('session_id' => $session_id);
	$fields  = $tickets->crmgetDuplicateConfig($params);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo ''.print_r($fields, true).'';



2.1.19. crmsearchTickets

(Version >= 4.5)

Syntax:

array |string <err_msg> crmsearchTickets( array('session_id' => string <session_id>, 'search' => string [, 'count' => int, 'offset' => int]) )

Beschreibung:

Gibt Array mit Ticket Objekten zurück, die über Volltextsuche nach Parameter search gefunden werden.

Parameter count schränkt die Anzahl der zurückgegebenen Tickets ein.

Parameter offset gibt an, wieviele Einträge vom Beginn des Suchresultats übersprungen werden sollen.

Eigenschaften zurückgegebener Ticket Objekte:

sind identisch mit crmgetTicket

Beispiel:

<?php
 
try { 
	$result = $tickets->crmsearchTickets(
		array(
			'session_id'	=> $session_id,
			'search'		=> 'My Tickets',
			500,
			0
		)
	);
 
	foreach($result as $ticket) {
		echo "{$ticket->cid}, {$ticket->name}, {$ticket->subject}, {$ticket->priority}<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.1.20. crmaddTicketContactRelation

(Version >= 4.5.17354)

Syntax:

boolean | string <err_msg> crmaddTicketContactRelation( array( 'session_id' => string <session_id>, 'ticket_id' => int <ticket_id>, 'contact_id' => int <contact_id> ) )

Beschreibung:

Fügt eine neue Ticket-Kontakt Verknüpfung hinzu und gibt bei Erfolg TRUE zurück. Parameter ticket_id spezifiziert die Ticket ID, Parameter contact_id spezifiziert den mit dem Ticket zu verknüpfende Kontakt ID.

Beispiel:

<?php
include_once 'crm_rest_api.php';
 
try {
	/* @var $tickets crmtickets */
	$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/';
	$logon       = new crm_rest_api($rest_url.'logon');
	$session_id = $logon->crmLogin(
		array(
			'username'      => 'usrname',
			'password'      => 'password',
			'response_type' => 'JSON'
		)
	);
 
	$tickets     = new crm_rest_api($rest_url.'tickets');
	$params      = array(
		'session_id' => $session_id,
		'ticket_id'  => 1337,
		'contact_id' => 1234
	);
	// add a new ticket-contact relation for ticket ID 1337 with contact ID 1234
	$success = $tickets->crmaddTicketContactRelation($params);
 
	echo ($success ? 'Relation successfully added' : 'Failed to add relation');
}
catch (CRMException $e) {
	echo $e->getMessage();
}



2.1.21. crmgetTicketContactRelations

(Version >= 4.5.17354)

Syntax:

array | string <err_msg> crmgetTicketContactRelations( array( 'session_id' => string <session_id>, 'ticket_id' => int <ticket_id>) )

Beschreibung:

Gibt ein mehrdimensionales Array mit Kontakten zurück, die mit der übergebenen Ticket ID verknüpft sind.

Eigenschaften der Rückgabe:

int <relation ID> => Array (
    int      $id                     interne Kontakt ID
    string   $realnumber             Kontakt Nummer
    string   $company                Kontakt Firma
    string   $department             Kontakt Abteilung
    string   $street                 Kontakt Anschrift
    string   $postcode               Postleitzahl
    string   $city                   Ort
    string   $region                 Region/Bundesland
    string   $country                Staat
    string   $email                  Primäre E-Mail Adresse
    string   $email2                 weitere E-Mail Adressen 
    string   $email3                 ...
    string   $phone                  Telefon
    string   $fax                    Fax
    string   $notes                  Notizen 
    string   $password 
    string   $website                Kontakt Website
    string   $client_account_id      Kontakt Rechnungskonto
    string   $acc_holder             Bankdaten: Kontotinhaber 
    string   $acc_nr                            Kontonummer 
    string   $bankcode                          Bankleitzahl
    string   $bankname                          Name Kreditinstitut 
    string   $swift                             SWIFT ID
    string   $iban                              IBAN ID 
    string   $category               Kontakt Kategorie
    string   $branch                 Kontakt Branche(n) 
    int      $userid                 verantwortlicher CRM Benutzer
    string   $code                   generierter Kontakt Code
    string   $ustnr                  Kontakt Umsatzsteuer Nummer 
    string   $type                   Kontakt Typ
    string   $superior               übergeordnet(e) Kontakt(e)  
    string   $md5check               MD5 Prüfsumme
    int      $createuser             Ersteller CRM Benutzer ID
    int      $createtime             Erstellungsdatum Unix Timestamp
    int      $chguser                Änderungsbenutzer ID
    int      $chgtime                Änderungsdatum Unix Timestamp
    string   $ext_id                 Externe Kontakt ID
    int      $edituser               aktuell bearbeitender Benutzer
    int      $email_status           Empfängerstatus für Serien E-Mails
)

Beispiel:

<?php
include_once 'crm_rest_api.php';
 
try {
	/* @var $tickets crmtickets */
	$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/';
	$logon       = new crm_rest_api($rest_url.'logon');
	$session_id = $logon->crmLogin(
		array(
			'username'      => 'usrname',
			'password'      => 'password',
			'response_type' => 'JSON'
		)
	);
   
	$tickets	= new crm_rest_api($rest_url.'tickets');
	$params		= array(
		'session_id' => $session_id,
		'ticket_id'  => 1337
	);
	// get related contacts for ticket ID 1337
	$contacts = $tickets->crmgetTicketContactRelation($params);
   
	echo print_r($contacts,true);
}
catch (CRMException $e) {
	echo $e->getMessage();
}



2.1.22. crmgetTicketSectionOption

(Version >= 4.5.17354)

Syntax:

mixed | string <err_msg> crmgetTicketSectionOption( array( 'session_id' => string <session_id>, 'section_id' => int <section_id>, 'option_name' => string <option name> ) )

Beschreibung:

Gibt den Wert einer mit option_name spezifizierten Administrationseinstellung eines mit section_id bestimmten Ticket- Bereichs zurück.

Standard Ticket- Bereich ist 0.

Beispiel:

<?php
include_once 'crm_rest_api.php';
 
try {
	/* @var $tickets crmtickets */
	$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/tickets';
	$session_id  = session_id();
	$tickets     = new crm_rest_api($rest_url);
	$params      = array(
		'session_id'  => $session_id,
		'section_id'  => 0,
		'option_name' => 'ticket_action_char'
	);
	// get related contacts for ticket ID 1337
	$option = $tickets->crmgetTicketSectionOption($params);
   
	echo 'ticket action delimiter char: `'.$option.'`';
}
catch (CRMException $e) {
	echo $e->getMessage();
}



2.1.23. crmgetTicketSectionMailbody

(Version >= 4.5.17354)

Syntax:

array | string <err_msg> crmgetTicketSectionMailbody( array( 'session_id' => string <session_id>, 'section_id' => int <section_id>, 'ticket_id' => int <ticket_id>, 'action' => string <action name> ) )

Beschreibung:

Liefert ein eindimensionales assoziatives Array mit den Elementen subject und mailbody eines mit section_id bestimmten Ticket- Bereichs für ein mit ticket_id spezifizierten Tickets zurück.

action bestimmt, welche Aktionsvorlage aus dem bestimmten Ticket- Bereich verwendet werden soll.

Mögliche Aktionen:
  
  • 'info': Standard Informations E-Mail

  • 'open': Zur Eröffnung eines Tickets

  • 'close:' Zur Schließung eines Tickets

  • 'open_webservice': Eröffnung über Webservice

  • 'close_webservice': Schließung über Webservice

  • 'action_open_webservice': Neue Aktion über Webservice

  • 'document_upload_notification': Information über neues Dokument im Ticket

Beispiel:

<?php
include_once 'crm_rest_api.php';
 
try {
	/* @var $tickets crmtickets */
	$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/tickets';
	$session_id  = session_id();
	$tickets     = new crm_rest_api($rest_url);
	$params      = array(
		'session_id'  => $session_id,
		'section_id'  => 0,
		'ticket_id'   => 1337,
		'action'      => 'info'
	);
	// we want to create the content and subject- line of an info- mail from standard ticket section
	// rendered from all actions and activities of ticket w/ ID 1337
	$data = $tickets->crmgetTicketSectionMailbody($params);
	$data = get_object_vars($data);
 
	echo 'E-Mail subject: `'.$data['subject'].'`<br>';
	echo htmlspecialchars($data['mailbody']);
}
catch (CRMException $e) {
	echo $e->getMessage();
}



2.2. Ticket Actions

2.2.1. crmaddTicketAction

Syntax:

int crmaddTicketAction( array(string $session_id, array $crmTicketActionItem) )

Beschreibung:

Fügt eine Ticket action hinzu.

Gibt eine ticket_action_id bei Erfolg zurück.

crmTicketActionItem ist ein assoziatives Array.

Eigenschaften von crmTicketActionItem:

Type(Length)      Eigenschaft          Beschreibung
------------------------------------------------------------------- 
int               $ticket_id           Ticket-Id
int               $userid              User-Id des Verantwortlichen
string(65535)     $notes               Notizen, Beschreibung ...
int               $atype               Typ: 0 = intern, 1 = extern
string(255)       $subject             Ticket actions Betreff
float             $duration            Dauer
int               $ext_id              Externe ID ( ab Version 4.2 )
int               $action_date         Unix-Timestamp, benutzerdefiniertes Aktionsdatum ( ab Version 4.3 )

Beispiel :

<?php
 
try { 
	$ticket_action = array(
		'ticket_id'   => 7,
		'userid'      => 55,
		'notes'       => 'Notice here',
		'atype'       => 1,
		'subject'     => 'Ticket action subject',
		'duration'    => 1,5,
		'action_date' => time()
	);
 
	$ticket_action_id = $tickets->crmaddTicketAction(
		array(
			'session_id'			=> $session_id,
			'crmTicketActionItem'	=> $ticket_action
		)
	);
 
	echo $ticket_action_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.2.2. crmchangeTicketAction

Syntax:

int crmchangeTicketAction( array(string $session_id, int $ticket_action_id, array $crmTicketActionItem) )

Beschreibung:

Änderungen der Eigenschaften einer bestehenden Ticket Aktion.

Gibt die ticket_action_id bei Erfolg zurück.

crmTicketActionItem ist ein assoziatives Array

Eigenschaften von crmTicketActionItem: same as for crmaddTicketAction

Beispiel:

<?php
 
try {
	$ticket_action	= array('subject' => 'WebService Ticket Action changed');
	$params			= array(
		'session_id'			=> $session_id,
		'ticket_action_id'		=> 2345,
		'crmTicketActionItem'	=> $ticket_action
	);
 
	$ticket_action_id = $tickets->crmchangeTicketAction($params);
 
	echo $ticket_action_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.2.3. crmdeleteTicketAction

Syntax:

int crmdeleteTicketAction ( array(string $session_id, int $ticket_action_id) )

Beschreibung:

Löscht ein Ticket. Liefert 1 bei Erfolg zurück.

Beispiel:

<?php
 
try { 
	$success = $tickets->crmdeleteTicketAction(
		array(
			'session_id'		=> $session_id,
			'ticket_action_id'	=> 2345
		)
	);
	if ($success == 1) {
		echo "Delete ticket action success.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.2.4. crmgetTicketActionByCondition

Syntax:

array crmgetTicketActionByCondition( array($session_id, array $condition) )

Beschreibung:

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

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
int               $action_date         Unix-Timestamp, benutzerdefiniertes Aktionsdatum ( ab Version 4.3 )

Eigenschaften des Ticket-Action-Objekts:

sind die selben wie für crmgetTicketActionsByTicketID

Beispiel:

<?php
 
try {
	$condition = array('tids'=> '1,2,3,4,5,6,7');
 
	// return all ticket actions with ticket_id IN ('1','2','3','4','5','6','7')
	$result = $tickets->crmgetTicketActionByCondition(
		array(
			'session_id'	=> $session_id,
			'condition'		=> $condition
		)
	);
 
	foreach($result as $ticket_action) {
		echo "{$ticket_action->ticket_id}, {$ticket_action->notes}<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.2.5. crmgetTicketActionsByTicketID

Syntax:

array crmgetTicketActionsByTicketID( array(string $session_id, int $ticket_id) )

Beschreibung:

Gibt ein Array von Ticket-Action-Objekten zurück, die dem Ticket mit ticket_id zugehörig sind.

Nur externe Aktionen werden geliefert.

ticket_id is the Ticket-Id

Eigenschaften:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
int               $id                  Ticket Action-Id
int               $ticket_id           Ticket-Id 
int               $userid              Verantwortlicher user-Id
string(65535)     $notes               Notizen, Beschreibung ...
int               $atype               Typ: 0 = intern, 1 = extern
string(255)       $subject             Ticket action Betreff
int               $createuser          User-Id des Erstellers
int               $createtime          Timestamp der Erstellung
int               $chguser             User-Id der letzten Änderung
int               $chgtime             Timestamp der letzten Änderung
float             $duration            Dauer
int               $ext_id              Externe ID ( ab Version 4.2 )
int               $action_date         Unix-Timestamp, benutzerdefiniertes Aktionsdatum ( ab Version 4.3 )

Beispiel:

<?php
 
try {
	// Get Ticket actions with ticket_id 180
	$result = $tickets->crmgetTicketActionsByTicketID(
		array(
			'session_id'	=> $session_id,
			'ticket_id'		=> 180
		)
	);
   
	foreach($result as $ticket_action) {
		echo "{$ticket_action->ticket_id}, {$ticket_action->notes}<br>  \n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.2.6. crmgetTicketAction

(Version >= 3.4.5367)

Syntax:

array crmgetTicketAction( array(string $session_id, int $ticket_action_id) )

Beschreibung:

Gibt ein Array von Ticket-Action-Objekten anhand von $ticket_action_id zurück.

Eigenschaften:

sind die selben wie für crmgetTicketActionsByTicketID

Beispiel:

<?php
 
try {
	// Get Ticket actions with id 180
	$ticket_action = $tickets->crmgetTicketAction(
		array(
			'session_id'		=> $session_id,
			'ticket_action_id'	=> 180
		)
	);
   
	foreach($result as $ticket_action) {
		echo "{$ticket_action->ticket_id}, {$ticket_action->notes}<br>  \n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}
 



2.2.7. crmgetTicketActionIdByExtId

(Version >= 4.2)

Syntax:

array crmgetTicketActionIdByExtId( array( string $session_id, int $ext_id ) )

Beschreibung

Liefert interne ID(s) von Ticket Actions mit der übergebenen externen ID zurück.

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

Beispiel:

<?php
 
try {
	$result = $tickets->crmgetTicketActionIdByExtId(
		array(
			'session_id'	=> $session_id,
			'ext_id'		=> 12345
		)
	);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
foreach($result as $id) {
	echo $id."<br>  ";
}



2.2.8. crmgetAllTicketActionExtIds

(Version >= 4.2)

Syntax:

array crmgetAllTicketActionExtIds( array ( string $session_id ) )

Beschreibung

Liefert eine Liste aller externen IDs in Ticket Actions zurück.

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

Beispiel:

<?php
 
try { 
	$result = $tickets->crmgetAllTicketActionExtIds(array('session_id' => $session_id));
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
foreach($result as $id) {
	echo $id."<br>  ";
}
  • No labels