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

Diese Seite enthält noch nicht alle Informationen bzw. befindet sich aktuell in der Überarbeitung


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

1. Methods

1.1. addBooking

(Version >= 4.7)

Syntax:

int addBooking(int $ressource_id, array $data, bool $returnCollisions = false)

Beschreibung: Erzeugt eine neue Buchung für eine Ressource. Im Erfolgsfall wird die ID der neuen Buchung zurückgegeben. Ist $returnCollisions auf true gesetzt wird ein assoziatives Array mit den kollidierenden Buchungen zurückgegeben, im anderen Fall ein einfach false.

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

$ressource_id Die ID der Ressource.

$data Ein Datensatz mit den unten beschriebenen Eigenschaften.

$returnCollisions Bestimmt den Rückgabewert bei Kollisionen.

Eigenschaften:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
int               $amount              Menge (Bei Mengen- bzw. Verbrauchsressourcen)
int               $start               Der Startzeitpunkt der Buchung.
int               $stop                Das Endzeitpunkt der Buchung.
string            $subject             Der Name der Buchung.
int               $userid              Die ID des Benutzers für welchen die Buchung vorgenommen werden soll.
int               $status              Der Status der Buchung.
                                       0 - Frei
                                       1 - Reserviert
                                       2 - Gebucht
int               $pid                 Projekt ID
int               $did                 Termin ID
float             $costs               Kosten Total (Wird ausgerechnet anhand der Angaben in der Ressource, wenn nicht angegeben)
int               $costs_fixed         Kosten (Wird ausgerechnet anhand der Angaben in der Ressource, wenn nicht angegeben)
int               $costcenter          ID der Kostenstelle 
int               $authorized          Bestätigt
int               $serie_type          $serie == 1 ? 1 = täglich, 2 = jeden Werktag
                                       $serie == 2 ? 2
                                       $serie == 3 ? 1 = Tag und Monat, 2 = Interval  
                                       $serie == 4 ? 1 = Tag und Monat, 2 = Interval  
int               $instance            1 = erste, 2 = zweite, 3 = dritte, 4 = vierte oder 5 = letzte dayofweekmask des Monats oder Jahres
int               $day_of_week_mask    S M T W T F S = binäre Bitmaske
                                          Sunday     = 01000000  (64)
                                          Monday     = 00100000  (32)
                                          Tuesday    = 00010000  (16)
                                          Wednesday  = 00001000  (8)
                                          Thursday   = 00000100  (4)
                                          Friday     = 00000010  (2)
                                          Saturday   = 00000001  (1)
                                          z.B.: Mittwoch und Freitag 
                                          Mittwoch   = 00001000  (8)
                                          Freitag    = 00000010  (2)
                                          --------------------------
                                          bitwise OR = 00001010  (10)
int               $day_of_month        Tag des Monats, 1 - 31 
int               $month_of_year       Monat des Jahres, 1 - 12
int               $occurrences         Zahl des Auftretens
int               $end_type            3 = endet auf ein Datum, 
                                       2 = endet nach einer bestimmten Anzahl, 
                                       1 = ohne Ende
int               $serie_parent        id des übergeordneten Objekts, wenn dieses Element 
                                       geändert wurde
int               $serie_parent_date   Datum des ursprünglichen aktuellen Elements, 
                                       bevor es zu einem anderen Zeitpunkt geändert wurde

Beispiel:

<?php
 
try {
	$api = crmapi::ressources();
 
	$booking = array(
		'name'		=> 'Buchung 1',
		'start'		=> mktime(0,0,0,10,1,2018),
		'stop'		=> mktime(0,0,0,10,3,2018),
		'userid'	=> 5,
		'amount'	=> 10,
		'status'	=> 2
	);
 
	$id = $api->addBooking(520, $booking, true);
 
	// Überprüfung auf Kollisionen
	if (is_array($id)) {
		var_dump($id);
	}
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo "Booking-ID: $id<br>";



1.2. addRessource

(Version >= 4.5.16530)

Syntax:

int addRessource(array $ressource)

Beschreibung:

Erzeugt neue neue Ressource. Gibt im Erfolgsfall die ID des Datensatzes zurück.

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

$ressource kann ein assoziatives Array oder ein Objekt sein.

Eigenschaften:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
string            $name                Beschreibung
int               $realnumber          Nummer
int               $parent              Eltern-Ressource
int               $type                Art
int               $consumption         Verbrauchsressource / ab v4.7 Ressourcenart
                 (ab v4.7 unterscheidet $consumption Ressourcenarten: 
                  0 - Standardressource, 
                  1 - Verbrauchsressource, 
                  2 - Mengenressource)
int               $parabooking         parallele Buchung
int               $notify              Benachrichtigung
int               $responsible         Verantwortlich
int               $authorization       Autorisation
int               $ext_id              externe ID
float             $costs               Kosten
float             $costs_per_hour      Kosten pro Stunde
string            $location            Standort
string            $notes               Notizen
string            $picture             base64-kodiertes Bild der Ressource
string(255)       $user15              Benutzerdefiniertes Feld Nr. 15
   :                 :                         :
string(255)       $userN               Benutzerdefiniertes Feld Nr. N

Beispiel:

<?php
 
try {
	$api = crmapi::ressources();
 
	$ressource					= array();
	$ressource['name']			= 'PHPUnit Test API Ressource '.microtime(true);
	$ressource['type']			= 0;
	$ressource['costs']			= 20;
	$ressource['location']		= 'B-Raum';
	$ressource['notify']		= rand(0,1);
	$ressource['notes']			= 'This is a simple test ressource! '.microtime(true);
	$ressource['consumption']	= 0;
	$ressource['parabooking']	= 0;
 
	$id = $api->addRessource($ressource);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo "Ressource id: $id<br>";


1.3. changeBooking

(Version >= 4.7)

Syntax:

int changeBooking(int $booking_id, array $data, bool $returnCollisions = false)

Beschreibung: Ändert eine bestehende Buchung. Im Erfolgsfall wird die ID der neuen Buchung zurückgegeben. Ist $returnCollisions auf true gesetzt wird ein assoziatives Array mit den kollidierenden Buchungen zurückgegeben, im anderen Fall wird -1 zurückgegeben.

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

$booking_id Die ID der Buchung.

$data Ein Datensatz mit den Eigenschaften in addBooking() und zusätzlich den unten angegebenen Eigenschaften.

$returnCollisions Bestimmt den Rückgabewert bei Kollisionen.

weitere Eigenschaften:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
int               $ressource_id        ID der Ressource, welche gebucht wurde.

Beispiel:

<?php
 
try {
	$api = crmapi::ressources();
 
	$booking = array(
		'name'		=> 'Buchung 1',
		'start'		=> mktime(0,0,0,10,1,2018),
		'stop'		=> mktime(0,0,0,10,4,2018),
		'userid'	=> 5,
		'amount'	=> 10,
		'status'	=> 2
	);
 
	$id = $api->addBooking(13, $booking, true);
 
	// Überprüfung auf Kollisionen
	if (is_array($id)) {
		var_dump($id);
	}
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo "Booking-ID: $id<br>";



1.4. changeRessource

(Version >= 4.5.16109)

Syntax:

int changeRessource(array $ressource)

Beschreibung:

Verändert eine Ressource, welche über die ID in $ressource angegeben wird. Gibt im Erfolgsfall 1 zurück.

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

$ressource kann ein assoziatives Array oder ein Objekt sein.

Eigenschaften:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
int               $id                  ID der Ressource
string            $name                Beschreibung
int               $realnumber          Nummer
int               $parent              Eltern-Ressource
int               $type                Art
int               $consumption         Verbrauchsressource / ab v4.7 Ressourcenart
                  (ab v4.7 unterscheidet $consumption Ressourcenarten: 
                  0 - Standardressource, 
                  1 - Verbrauchsressource, 
                  2 - Mengenressource)
int               $parabooking         parallele Buchung
int               $notify              Benachrichtigung
int               $responsible         Verantwortlich
int               $authorization       Autorisation
int               $ext_id              externe ID
float             $costs               Kosten
float             $costs_per_hour      Kosten pro Stunde
string            $location            Standort
string            $notes               Notizen
string            $picture             base64-kodiertes Bild der Ressource
string(255)       $user15              Benutzerdefiniertes Feld Nr. 15
   :                 :                         :
string(255)       $userN               Benutzerdefiniertes Feld Nr. N

Beispiel:

<?php
 
try {
	$ressource				= array();
	$ressource['location']	= 'B-Raum, OG2, EF';
	$ressource['id']		= $GLOBALS['test_ressource_id'];
 
	$success = $api->changeRessource($ressource);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo "Success: $id<br>";



1.5. deleteBooking

(Version >= 4.7)

Syntax:

bool deleteBooking($booking_id)

Beschreibung:

Löscht die Buchung mit der angegebenen ID.

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

Beispiel:

<?php
 
try {
	$success = $api->deleteBooking($id);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo "Success: $id<br>";



1.6. deleteRessource

(Version >= 4.5.16109)

Syntax:

void deleteRessource($ressource_id)

Beschreibung:

Setzt die Ressource mit der ID $ressource_id auf "gelöscht". Gibt im Erfolgsfall 1 zurück.

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

Beispiel:

<?php
 
try {
	$success = $api->deleteRessource($id);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo "Success: $id<br>";



1.7. getBooking

(Version >= 4.7)

Syntax:

array getBooking(int $booking_id)

Beschreibung: Gibt die Buchung mit der übergebenen ID zurück. Die Eigenschaften der Buchung sind in addBooking() beschrieben, zusätzlich werden die unten genannten Eigenschaften übergeben.

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

$booking_id Die ID der Buchung.

weitere Eigenschaften:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
int               $ressource_id        ID der Ressource, welche gebucht wurde.

Beispiel:

<?php
 
try {
	$api = crmapi::ressources();
 
	$booking = array(
		'name'   => 'Buchung 1',
		'start'  => mktime(0,0,0,10,1,2018),
		'stop'   => mktime(0,0,0,10,4,2018),
		'userid' => 5,
		'amount' => 10,
		'status' => 2
	);
 
	$booking = $api->getBooking(13);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo "Die Buchung " . $booking['subject'] . " beginnt am " . date('d.m.Y', $booking['start']);



1.8. getRessource

(Version >= 4.5.16109)

Syntax:

array getRessource($ressource_id)

Beschreibung:

Liefert die Daten der Ressource mit der ID $ressource_id zurück.

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

Eigenschaften der Rückgabe:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
int               $id                  ID der Ressource
string            $name                Beschreibung
int               $realnumber          Nummer
int               $parent              Eltern-Ressource
int               $type                Art
int               $consumption         Verbrauchsressource / ab v4.7 Ressourcenart
                  (ab v4.7 unterscheidet $consumption Ressourcenarten: 
                  0 - Standardressource, 
                  1 - Verbrauchsressource, 
                  2 - Mengenressource)
int               $parabooking         parallele Buchung
int               $notify              Benachrichtigung
int               $responsible         Verantwortlich
int               $authorization       Autorisation
int               $ext_id              externe ID
float             $costs               Kosten
float             $costs_per_hour      Kosten pro Stunde
string            $location            Standort
string            $notes               Notizen
string            $picture             base64-kodiertes Bild der Ressource
int               $deleted             "gelöscht"-Flag
int               $createuser          Ersteller
int               $createtime          Erstellzeit als Unit-Timestamp
int               $chguser             Benutzer der letzten Änderung
int               $chgtime             Letzte Änderung als Unit-Timestamp
string(255)       $user15              Benutzerdefiniertes Feld Nr. 15
   :                 :                         :
string(255)       $userN               Benutzerdefiniertes Feld Nr. N

Beispiel:

<?php
 
try {
	$ressource = $api->getRessource($id);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
foreach($ressource as $key => $value) {
	echo "{$key}: {$value}<br>  ";
}



1.9. searchBookings

(Version >= 4.7)

Syntax:

int searchBookings(array $search, $order = false, $sort = false, $count = false, $offset = 0)

Beschreibung: Gibt Buchungen anhand der übergebenen Suchparameter zurück. Die Rückgabe ist ein assoziatives Array, welches als Schlüssel die Buchungs-ID verwendet und als Wert ein Array identisch zu addBooking() übergeben wird.

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

  • $search - Die Suchparameter in form eines assoziativen Arrays. Folgende Schlüssel sind Möglich:

    • $ressource_id - Ressourcen-ID

    • $ressource_ids - Mehrere, mit Komma separierte, Ressourcen-IDs

    • $start - Startzeitpunkt der Buchung.

    • $stop - Endzeitpunkt der Buchung

    • $did - ID eines Termins

    • $pid - ID eines Projektes

    • $costcenter - ID einer Kostenstellen

    • $authorized - Authorisiert

    • $status - Status, mögliche Werte:

      • 0 - Frei

      • 1 - Reserviert

      • 2 - Gebucht

    • $userid - ID eines Benutzers

    • $show_series - Bestimmt ob Serien beachtet werden.

  • $order - Das Feld nach welchem die Rückgabe sortiert werden soll. Ist $order nicht gesetzt, wird mit dem Feld start sortiert.

  • $sort - Die Richtung (ASC oder DESC) nach welcher sortiert werden soll. Ist $sort nicht gesetzt, wird absteigend (DESC) sortiert.

  • $count - Anzahl der zurückzugebenden Buchungen.

  • $offset - Anfangsindex der zurückzugebenden Buchungen.

Beispiel:

<?php
 
try {
	$api = crmapi::ressources();
 
	// Findet alle Buchungen mit Status gebucht.
	$bookings = $api->searchBookings(
		array(
			'status' => 2
		) 
	);
}
catch (CRMException $e) {
	echo $e->getMessage();
}



1.10. searchRessources

(Version >= 4.5.16109)

Syntax:

array searchRessources(array $search, string $sorting, int $count = false, int $offset = 0, bool $nopic = false)

Beschreibung:

Sucht nach Ressourcen anhand der übergebenen Parameter in $searchParams.

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

$sorting Sortierung der Ergebnisse, Default: false

$count maximale Anzahl zurückgegebener Ergebnisse, Default: 5000

$offset Offset, ab dem Ergebnisse zurückgegeben werden, Default: 0

$nopic Bild der Ressource nicht zurückgeben, Default: false

$search kann ein assoziatives Array oder ein Objekt sein.

$name Namen der Ressourcen durchsuchen

$parent Ressourcen mit dieser Eltern-Ressource suchen

$type Ressourcentype durchsuchen

$versions nur Ressourcen-Varianten durchsuchen

$all alle (inkl. gelöschter) Ressourcen zurückgegeben

$deleted nur gelöschte Ressourcen zurückgegeben

$ext_ids_not_null nur Ressourcen suchen, die eine externe ID besitzen

$ext_ids Ressourcen suchen, deren externe ID einem dieser Werte entsprechen

Die zurückgegebenen Werte entsprechend denen von getRessource

Beispiel:

<?php
 
try {
	$ressources = $api->searchRessources(array('all' => true));
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
foreach ($ressources as $id => $ressource) {
	foreach($ressource as $key => $value) {
		echo "{$key}: {$value}<br>";
	}
}



1.11. getsearchfilteredRessources

(Version >= 4.5.18745)

Syntax:

array getsearchfilteredRessources(int $filter_id, string $search = "", int $count = 0, int $offset = 0, array $fields = false)

Beschreibung:

Gibt ein Array mit Ressourcen zurück, die dem angegebenen Suchfilter und Suchbegriff entsprechen, limitiert von count und offset.

Der Parameter search repräsentiert die Eingabe im Suchfeld im CRM (Platzhalter <#search_field#> in Filterbedingungen)

Über den Parameter fields können die zurückgegeben Felder eingeschränkt werden (false = alle Felder)

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

Hinweis: Es werden nur Ressourcen und Felder zurückgegeben, für die der authentifizierte Nutzer Leseberechtigungen hat.

Eigenschaften:

Das sind identisch mit getRessource, evtl eingeschränkt nach Parameter fields.

Beispiel:

<?php
 
try {   
	$crmapi_ressources = crmapi::ressources();
 
	// Liefert die Felder die Name und Typ der ersten 10 gefundenen Ressourcen, die dem Suchfilter 5 ohne eingegebenen Suchbegriff entsprechen
	$result = $crmapi_ressources->getsearchfilteredRessources(5, "", 10, 0, array('name', 'type'));
 
	// Liefert alle Felder aller Ressourcen, die dem Suchfilter 5 mit eingegebenen Suchbegriff "test" entsprechen
	$result = $crmapi_ressources->getsearchfilteredRessources(5, 'test', 0, 0, false);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
print_r($result);
  • No labels