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/dates

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

2. Klasse

crmdates

3. Methoden

3.1. crmaddAppointment

Syntax:

int crmaddAppointment( array(string $session_id, array $crmAppointmentItem) )

Beschreibung:

Fügt einen Termin hinzu.

Gibt eine appointment_id bei Erfolg zurück.

crmAppointmentItem is ein assoziatives Array.

Zum Zuweisen von Kontakten müssen Sie die Kontakt-IDs oder einige Eigenschaften des Kontakts in contacts angeben, das System erledigt den Rest.

Eigenschaften von crmAppointmentItem:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
int                     $start                    Startzeit (Unix-Timestamp)
int                     $stop                     Endzeit (Unix-Timestamp) 
string(255)             $subject                  Betreff des Termins
binary                  $body                     Text des Termins
string(255)             $cid                      Contact-Id (Format: Contact-Id:Person-Id;Contact-Id2:Person-Id2;...) 
string(255)             $userid                   Userids (Format: User-Id1:User-Id2) 
int                     $confirmed                Termin bestätigt vom aktuellen Nutzer
                                                  0 = nicht bestätigt
                                                  1 = bestätigt
int                     $pid                      Projekt-Id 
int                     $ticket_id                Ticket-Id ( ab Version >= 4.1 )
int                     $orderid                  Auftrag-Id ( ab Version 4.2 )
int                     $ext_id                   Externe ID ( ab Version 4.2 )
boolean                 $day                      Ganztägiger Termin (0 = nicht ganztägig, 1 = ganztägig)
int                     $rem                      Erinnerung
                                                  0 = nicht erinnern
                                                  1 = erinnern
int                     $remember                 Anzahl von Sekunden, vor Stoppzeit
string(128)             $city                     Ort des Termins
int                     $status                   Status des Termins
                                                  0 = frei
                                                  1 = mit Vorbehalt
                                                  2 = gebucht
                                                  3 = abwesend
boolean                 $privat                   Privater Termin (0 = öffentlich, 1 = privat) 
int                     $done                     Termin abgeschlossen
                                                  0 = offen
                                                  1 = abgeschlossen
int                     $serie                    Serientermin
                                                  1 = täglich
                                                  2 = wöchentlich
                                                  3 = monatlich
                                                  4 = jährlich
int                     $intrval                  Serietermin-Interval (z.B. 2) 
int                     $serieend                 Unix-Timestamp des Serienendes
string(255)             $category                 Kategorien, Format: Category1; Category2; ... 
string(7)               $caption                  Beschriftung ( ab Version >= 4.3 )

array                   $contacts                 Array mit crmAppointmentItemContact 

Eigenschaften von contacts:

Type(Length)            Eigenschaft                   Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $cid                      Contact Id ( Format: Cid:Pid )
int                     $ext_id                   Externe ID ( ab Version 4.2 )
string(128)             $firstname                Vorname
string(128)             $lastname                 Nachname
string(128)             $displayname              Name, der in Listen erscheint
string(128)             $nickname                 Spitzname 
string(255)             $emailadr1                Erste E-Mail-Addresse
string(255)             $emailadr2                Zweite E-Mail-Addresse
int                     $email_format             Bevorzugtes E-Mail-Format
                                                  0 = Text
                                                  1 = HTML
string(128)             $screen_name              Screen Name, z.B. Messenger-Account 
string(128)             $phone_work               Telefonnummer Geschäftlich 
string(128)             $phone_home               Telefonnummer Privat 
string(128)             $phone_fax                Faxnummer Geschäftlich
string(128)             $phone_pager              Pagernummer
string(128)             $phone_mobil              Mobilnummer
string(128)             $home_address1            Adresszeile privat 1 
string(128)             $home_address2            Adresszeile privat 2 
string(128)             $home_city                Stadt
string(128)             $home_region              Region 
string(128)             $home_postcode            Postleitzahl 
string(128)             $home_country             Land 
string(128)             $home_website             Persönliche Website 
string(128)             $work_title               Titel auf Arbeit, z.B. CEO 
string(128)             $work_department          Abteilung
string(128)             $work_organisation        Organisations- oder Firmenname  
string(128)             $work_address1            Adresszeile Arbeit 1 
string(128)             $work_address2            Adresszeile Arbeit 2 
string(128)             $work_city                Stadt
string(128)             $work_region              Region 
string(128)             $work_postcode            Postleitzahl 
string(128)             $work_country             Land 
string(255)             $work_website             Offizielle Firmen-Website 
string(255)             $custom1                  Benutzerdefiniertes Feld 1 
string(255)             $custom2                  Benutzerdefiniertes Feld 2 
string(255)             $custom3                  Benutzerdefiniertes Feld 3 
string(255)             $custom4                  Benutzerdefiniertes Feld 4 
string(65535)           $notes                    Notizen

Beispiel :

<?php
 
try {
	$appointment = array(
		'start'        => 1178006400,
		'stop'         => 1178022600,
		'day'          => 0,
		'subject'      => 'webservicetest',
		'body'         => 'this is a test',
		'city'         => 'Erfurt',
		'userid'       => '5',
		'rem'          => 0,
		'remember'     => 0,
		'privat'       => 0,
		'done'         => 0,
		'status'       => 2,
		'confirmed'    => 1,
		'cid'          => 0,
		'pid'          => 0,
		'serie'        => 0,
		'intrval'      => 0,
		'serieend'     => 0,
		'contacts' => array(
			array(
				'firstname' => 'Christian',
				'lastname'  => 'Friebel',
				'emailadr1' => 'xray@xatec.de'
			),
			array(
				'firstname' => 'Thomas',
				'lastname'  => 'Friebel'
			)
		)
	);
 
	include_once 'crm_rest_api.php';
 
	/* @var $dates crmdates */
	$dates	= new crm_rest_api("http://hostname/dirname/rest/index.php/dates");
	$params = array( 'session_id'  => $session_id, 'crmAppointmentItem' => $appointment);
	$app_id = $dates->crmaddAppointment($params);
 
	echo $app_id."<br>\n";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.2. crmaddAppointments

Syntax:

array crmaddAppointments( array(string $session_id, array $crmAppointmentsItems) )

Beschreibung:

Fügt mehrere Termine mit einem Methoden-Aufruf hinzu.

Gibt ein Array mit hinzugefügten Ids bei Erfolg zurück.

Eigenschaften von crmAppointmentsItems:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
crmAppointmentItems     $crmAppointmentItems      Array mit crmAppointmentItem Objekte

Beispiel :

<?php
 
try {

	$appointment1 = array(
		'start'        => mktime(16, 0, 0, 12, 10, 2007),
		'stop'         => mktime(17, 0, 0, 12, 10, 2007),
		'day'          => 0,
		'subject'      => 'Appointment 1',
		'body'         => 'this is a test',
		'city'         => 'Erfurt',
		'userid'       => '5',
		'rem'          => 0,
		'remember'     => 0,
		'privat'       => 0,
		'done'         => 0,
		'status'       => 2,
		'confirmed'    => 1,
		'cid'          => 0,
		'pid'          => 0,
		'serie'        => 0,
		'intrval'      => 0,
		'serieend'     => 0
	);
 
	$appointment2 = array(
		'start'        => mktime(19, 0, 0, 12, 10, 2007),
		'stop'         => mktime(21, 0, 0, 12, 10, 2007),
		'day'          => 0,
		'subject'      => 'Appointment 2',
		'body'         => 'this is a second test',
		'city'         => 'Erfurt',
		'userid'       => '5',
		'rem'          => 0,
		'remember'     => 0,
		'privat'       => 0,
		'done'         => 0,
		'status'       => 2,
		'confirmed'    => 1,
		'cid'          => 0,
		'pid'          => 0,
		'orderid'      => 1234,
		'serie'        => 0,
		'intrval'      => 0,
		'serieend'     => 0
	);
 
	$appointments = array(
		'session_id'			=> $session_id,
		'crmAppointmentItems'	=> array($appointment1, $appointment2)
	);
 
	$appointment_ids = $dates->crmaddAppointments($appointments);
 
	foreach($appointment_ids as $id) {
		echo $id. "<br>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.3. crmchangeAppointment

Syntax:

int crmchangeAppointment( array( string $session_id, array $crmAppointmentItem) )

Beschreibung:

Ändert Eigenschaften eines vorhandenen Termins.

Liefert die appointment_id bei Erfolg zurück

crmAppointmentItem ist ein assoziatives Array.

Eigenschaften von crmAppointmentItem:

sind die selben wie für crmaddAppointment und mit zusätzlicher appointment_id

Beispiel:

<?php
 
try {
	$appointment	= array ('id' => 1, 'subject' => 'WebServiceTest changed');
	$app_id			= $dates->crmchangeAppointment(
		array(
			'session_id'			=> $session_id, 
			'crmAppointmentItem' 	=> $appointment
		)
	);
 
	echo $app_id."<br>\n";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.4. crmchangeAppointments

Syntax:

array crmchangeAppointments( array(string $session_id, array $crmAppointmentsItems) )

Beschreibung:

Ändert Eigenschaften vorhandener Termine.

Liefert die Ids der geänderten Termine bei Erfolg zurück.

Eigenschaften von crmAppointmentsItems:

sind die selben wie für crmaddAppointments mit zusätzlicher appointment_id

Beispiel:

<?php
 
try {
	$appointment1 = array(
		'id'           => 25213,
		'subject'      => 'Appointment 1 changed',
		'body'         => 'this is a changed test'
	);
 
   $appointment2 = array(
		'id'           => 25217,
		'start'        => mktime(18, 0, 0, 12, 10, 2007),
		'subject'      => 'Appointment 2 changed'
	);
 
	$appointments		= array('crmAppointmentItems' => array($appointment1, $appointment2));
	$appointment_ids 	= $dates->crmchangeAppointments(
		array(
			'session_id'			=> $session_id,
			'crmAppointmentItems'	=> $appointments
		)
	);
 
	foreach($appointment_ids as $id) {
		echo $id . "<br>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.5. crmdeleteAppointment

Syntax:

int crmdeleteAppointment( array(string $session_id, int $appointment_id) )

Beschreibung:

Löscht einen Termin. Gibt 1 bei Erfolg zurück.

Beispiel:

<?php
 
try {
	$success = $dates->crmdeleteAppointment(
		array(
			'session_id'		=> $session_id,
			'appointment_id' 	=> 4
		)
	);
 
	if ($success == 1) {
		echo "Delete appointment successfully.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.6. crmdeleteAppointments

Syntax:

int crmdeleteAppointments( array( string $session_id, array $appointment_ids) )

Beschreibung:

Löscht Termine. Liefert 1 bei Erfolg zurück.

appointment_ids ist ein Array mit Termins IDs.

Beispiel:

<?php
 
try {
	$app_ids	= array(20132,45231,23623);
	$success	= $dates->crmdeleteAppointments(
		array(
			'session_id'		=> $session_id,
			'appointment_ids'	=> $app_ids
		)
	);
 
	if ($success == 1) {
		echo "Delete appointments successfully.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.7. crmgetAppointment

Syntax:

array crmgetAppointment( array(string $session_id, int $appointment_id) )

Beschreibung:

Gibt ein Objekt mit einem Appointment-Objekt zurück.

Eigenschaften der zurückgegebenen appointment Objekte:

Type(Length)            Eigenschaft                   Beschreibung
---------------------------------------------------------------------------------------------
int                     $id                       Appointment-Id
int                     $ext_id                   Externe ID ( ab Version 4.2 )
int                     $start                    Startzeit (Unix-Timestamp)
int                     $stop                     Endzeit (Unix-Timestamp) 
string(255)             $subject                  Betreff des Termins
binary                  $body                     Text des Termins
string(255)             $cid                      Contact-Id (Format: Contact-Id:Person-Id;Contact-Id2:Person-Id2;...) 
string(255)             $cname                    Kontakt-Name 
string(255)             $userid                   Userids (Format: User-Id1:User-Id2) 
int                     $pid                      Projekt-Id 
int                     $ticket_id                Ticket-Id ( ab Version >= 4.1 )
int                     $orderid                  Auftrag-Id ( ab Version 4.2 )
string(255)             $pname                    Projekt-Name
boolean                 $day                      Ganztägiger Termin (0 = nicht ganztägig, 1 = ganztägig)
int                     $rem                      Erinnerung
                                                  0 = nicht erinnern
                                                  1 = erinnern
string(128)             $city                     Ort des Termins
int                     $status                   Status des Termins
                                                  0 = frei
                                                  1 = mit Vorbehalt
                                                  2 = gebucht
                                                  3 = abwesend
boolean                 $privat                   Privater Termin (0 = öffentlich, 1 = privat) 
int                     $done                     Termin abgeschlossen
                                                  0 = offen
                                                  1 = abgeschlossen
string(255)             $forward                  Userids für die der Termin weitergeleitet wurde
                                                  Format: User-Id1:User-Id2
int                     $serie                    Serientermin
                                                  1 = täglich
                                                  2 = wöchentlich
                                                  3 = monatlich
                                                  4 = jährlich
int                     $intrval                  Serietermin-Interval (z.B. 2) 
int                     $serieend                 Unix-Timestamp des Serienendes ( ab Version 3.7 )
string(255)             $seen                     Userids die diesen Termin gesehen haben
                                                  Format: Userid1:Userid2
string(255)             $category                 Kategorien, Format: Category1; Category2; ... 
string(7)               $caption                  Beschriftung ( ab Version >= 4.3 )
int                     $rem                      Erinnerung
                                                  0 = nicht erinnern
                                                  1 = erinnern
int                     $remember                 Anzahl von Sekunden, vor Stoppzeit

int                     $serie_type               $serie == 1 ? 1 = täglich, 2 = jeden Werktag
                                                  $serie == 2 ? 2
                                                  $serie == 3 ? 1 = Tag und Monat, 2 = Intervall
                                                  $serie == 4 ? 1 = Tag und Monat, 2 = Intervall  
int                     $instance                 1 = erste, 2 = zweite, 3 = dritte, 4 = vierte 
                                                  oder 5 = letzte dayofweek des Monats oder Jahres
int                     $day_of_week_mask         S M T W T F S = binary bitmask
                                                  Sonntag    = 01000000  (64)
                                                  Montag     = 00100000  (32)
                                                  Dienstag   = 00010000  (16)
                                                  Mittwoch   = 00001000  (8)
                                                  Donnerstag = 00000100  (4)
                                                  Freitag    = 00000010  (2)
                                                  Samstag    = 00000001  (1)

                                                  Wählen Sie beispielsweise 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              Anzahl der Ereignisse
int                     $end_type                 3 = an bestimmten Datum enden, 2 = Ende nach bestimmten
                                                  Anzahl von Ereignissen, 1 = open end
int                     $serie_parent             id des Elternobjekts, 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


array                   $confirmed                Array mit user confirmed status
array                   $contacts                 Array mit contacts daten

int                     $chguser                  Userid der letzten Änderung
int                     $chgtime                  Unix-Timestamp der letzten Änderung
int                     $createuser               Userid der Erstellung
int                     $createtime               Unix-Timestamp der Erstellung

Eigenschaften von Array confirmed:

Type(Length)            Eigenschaft                   Beschreibung
---------------------------------------------------------------------------------------------
int                     $userid                   Userid 
boolean                 $confirmed                Termin für diesen Benutzer bestätigt
                                                  0 = nicht bestätigt
                                                  1 = bestätigt

Eigenschaften von Array contacts:

Type(Length)            Eigenschaft                   Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $cid                      Contact Id ( Format: Cid:Pid )
string(128)             $firstname                Vorname
string(128)             $lastname                 Nachname
string(128)             $displayname              Name, der in Listen erscheint
string(128)             $nickname                 Spitzname
string(255)             $emailadr1                Erste E-Mail-Addresse
string(255)             $emailadr2                Zweite E-Mail-Addresse 
int                     $email_format             Bevorzugtes E-Mail-Format 
                                                  0 = Text
                                                  1 = HTML
string(128)             $screen_name              Screen Name, z.B. Messenger-Account 
string(128)             $phone_work               Telefonnummer Geschäftlich 
string(128)             $phone_home               Telefonnummer Privat 
string(128)             $phone_fax                Faxnummer Geschäftlich
string(128)             $phone_pager              Pagernummer
string(128)             $phone_mobil              Mobilnummer
string(128)             $home_address1            Adresszeile privat 1 
string(128)             $home_address2            Adresszeile privat 2 
string(128)             $home_city                Stadt
string(128)             $home_region              Region 
string(128)             $home_postcode            Postleitzahl 
string(128)             $home_country             Land 
string(128)             $home_website             Persönliche Website 
string(128)             $work_title               Titel auf Arbeit, z.B. CEO 
string(128)             $work_department          Abteilung
string(128)             $work_organisation        Organisations- oder Firmenname  
string(128)             $work_address1            Adresszeile Arbeit 1 
string(128)             $work_address2            Adresszeile Arbeit 2 
string(128)             $work_city                Stadt
string(128)             $work_region              Region 
string(128)             $work_postcode            Postleitzahl 
string(128)             $work_country             Land 
string(255)             $work_website             Offizielle Firmen-Website 
string(255)             $custom1                  Benutzerdefiniertes Feld 1 
string(255)             $custom2                  Benutzerdefiniertes Feld 2 
string(255)             $custom3                  Benutzerdefiniertes Feld 3 
string(255)             $custom4                  Benutzerdefiniertes Feld 4 
string(65535)           $notes                    Notizen
string                  $picture                  Kontakt-Bild-Daten - base64-kodiert
int                     $chguser                  Userid der letzten Änderung
int                     $chgtime                  Unix-Timestamp der letzten Änderung
int                     $createuser               Userid der Erstellung
int                     $createtime               Unix-Timestamp der Erstellung

Beispiel:

<?php
 
try {
	$params = array(
		'session_id'		=> $session_id,
		'appointment_id'	=> 20132
	);
 
	$appointment_obj = $dates->crmgetAppointment($params);
 
	if (is_object($appointment_obj)) {
 
		$appointment = get_object_vars($appointment_obj);
 
		echo date("H:i:s", $appointment['start'])." ".$appointment['subject']." ";
 
		if (isset($appointment['contacts'])) {
 
			foreach($appointment['contacts'] as $contact) {
				echo $contact['firstname']." ".$contact['lastname']."<br>";
			}
		}
	}
	else {
		echo "Error: " . $dates->error_msg;
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.8. crmgetAppointmentIds

Syntax:

array crmgetAppointmentIds( array(string $session_id, int $userid, int $timestamp) )

Beschreibung:

Liefert ein Array mit Termin-Ids, die seit timestamp geändert wurden.

Wenn userid gegeben ist, werden Termin-Ids für den User nur zurückgegeben, wenn der authentifizierte Benutzer Leseberechtigungen hat. Wenn userid auf 0 gesetzt wird, werden alle Termin-Ids für den authentifizierten Nutzer zurückgegeben.

Eigenschaften der zurückgegebenen ArrayTermin-Ids:

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

Beispiel:

<?php
 
try {
	$appointment_ids = $dates->crmgetAppointment(
		array(
			'session_id'	=> $session_id,
			'userid'		=> 0,
			'timestamp'		=> 0
		)
	);
 
	if (is_array($appointment_ids)) {
 
		foreach($appointment_ids as $id) {
			echo $id."<br>";
		}
	}
	else {
		echo "Error: " . $dates->error_msg;
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.9. crmgetAppointments

Syntax:

array crmgetAppointments( array(string $session_id, int $userid, int $day, int $month, int $year) )

Beschreibung:

Gibt ein Array mit Appointment-Objekten zurück.

Wenn userid angegeben ist, werden Termine für den User nur zurückgegeben, wenn der authentifizierte Benutzer Leseberechtigungen hat. Wenn userid auf 0 gesetzt wird, werden alle Termine für den authentifizierten Nutzer zurückgegeben.

Wenn day gesetzt ist, werden nur Termine von diesem Tag zurückgegeben. Setzen Sie ihn auf 0, um alle Tage zu bekommen.

Wenn month gesetzt ist, werden nur Termine von diesem Monat zurückgegeben. Setzen Sie ihn auf 0, um alle Monate zu bekommen.

Wenn year gesetzt ist, werden nur Termine von diesem Jahr zurückgegeben.

Eigenschaften der zurückgegebenen appointment Objekte:

gleiche wie crmgetAppointment

Beispiel:

<?php
 
try {
	$params = array(
		'session_id'	=> $session_id,
		'userid' 		=> 0,
		'day'			=> 0,
		'month'			=> 0,
		'year'			=> 2011
	);
 
	$appointments = $dates->crmgetAppointments($params);
 
	if (is_object($appointments)) {
 
		foreach($appointmens as $appointment) {
 
			echo date("H:i:s", $appointment->start)." ".$appointment->subject." ";
 
			if (isset($appointment->contacts)) {
 
				foreach($appointment->contacts as $contact) {
					echo $contact->firstname." ".$contact->lastname."<br>";
				}
			}
		}
	}
	else {
		echo "Error: " . $dates->error_msg;
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.10. crmgetAppointmentsFrom

Syntax:

array crmgetAppointmentsFrom( array(string $session_id, int $userid, int $day, int $month, int $year) )

Beschreibung:

Gibt ein Array von Appointment-Objekten vom angegebenen Datum bis heute zurück.

Wenn userid gegeben ist, werden Termine für den User nur zurückgegeben, wenn der authentifizierte Benutzer Leseberechtigungen hat. Wenn userid auf 0 gesetzt wird, werden alle Termine für den authentifizierten Nutzer zurückgegeben.

Wenn day gesetzt ist, werden nur Termine von diesem Tag zurückgegeben. Setzen Sie ihn auf 0, um alle Tage zu bekommen.

Wenn month gesetzt ist, werden nur Termine von diesem Monat zurückgegeben. Setzen Sie ihn auf 0, um alle Monate zu bekommen.

Wenn year gesetzt ist, werden nur Termine von diesem Jahr zurückgegeben.

Eigenschaften der zurückgegebenen appointment Objekte:

sind die selben wie für crmgetAppointments


3.11. crmgetAppointmentsPeriod

(Version >= 3.1.2647)

Syntax:

array crmgetAppointmentsPeriod( array(string $session_id, int $userid, int $start, int $stop) )

Beschreibung:

Gibt ein Array mit appointment Objekte von dem gegebenen Zeitraum zurück.

Wenn userid gegeben ist, werden die Termine dieses Benutzers nur zurückgegeben, wenn der authentifizierte Benutzer die Berechtigung zum Lesen hat. Wenn userid auf 0 gesetzt ist, werden die Termine des authentifizierten Benutzer zurückgegeben.

start ist der unix timestamp des Beginns des Zeitraums.

stop ist der unix timestamp des Endes des Zeitraums.

Eigenschaften der zurückgegebenen appointment Objekte:

sind die selben wie für crmgetAppointments

Beispiel:

<?php
 
try {
	$params = array(
		'session_id'	=> $session_id,
		'userid'		=> 0,
		'start'			=> time() - (86400 * 30),
		'stop'			=> time() + (86400 * 30)
	);
 
	$appointments = $dates->crmgetAppointmentsPeriod($params);
 
	foreach($appointments as $appointment) {
 
		$start = date("d.m.Y - H:i:s", $appointment->start);
		$stop  = date("d.m.Y - H:i:s", $appointment->stop);
 
		echo "{$start} - {$stop} {$appointment->subject}<br>";
   }
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.12. crmgetAppointmentsFromList

(Version >= 3.4.4244)

Syntax:

array crmgetAppointmentsFromList( int $userid, int $start )

Beschreibung:

Gibt ein Array mit List von Termine zurück, die seit start beginnen und bis in 4 Jahre beenden.

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

Wenn userid gegeben ist werden die Aufgaben für den Entsprechenden Nutzer zurückgegeben. Wenn userid auf 0 gesetzt ist werden Aufgaben des authentifizierten Nutzers zurückgegeben.

Eigenschaften von returned appointment array:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
int                     $id                       Termin-Id 
int                     $chgtime                  Änderungzeit (Unix-Timestamp) 
int                     $useen                    Ob der authentifizierte Benutzer, die Aufgabe gesehen hat.
                                                  1: ja
                                                  0: nein

Beispiel:

<?php
 
try {
	//Get all appointments of user with ID = 4, which start at 29.11.2011 00:00:00 and stop until 29.15.2011 00:00:00
	$params = array(
		'session_id'	=> $session_id,
		'userid'		=> 4,
		'timestamp'		=> 1322521200
	);
 
	$result = $dates->crmgetAppointmentsFromList($params);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
foreach($result as $date) {
	foreach($date as $key => $value) {
		echo $key. " " .$value ."<br>  \n";
	}
 
	echo '<hr>';
}



3.13. crmgetChangedAppointments

Syntax:

array crmgetChangedAppointments( array(string $session_id, int $userid, int $timestamp) )

Beschreibung:

Gibt ein Array mit Appointment-Objekten zurück, die seit timestamp geändert wurden.

Wenn userid gegeben ist, werden die Termine dieses Benutzers nur zurückgegeben, wenn der authentifizierte Benutzer die Berechtigung zum Lesen hat. Wenn userid auf 0 gesetzt ist, werden die Termine des authentifizierten Benutzer zurückgegeben.

Eigenschaften von returned appointment Objekte:

sind die selben wie für crmgetAppointments

Beispiel:

<?php
 
try {
	$params = array(
		'session_id'	=> $session_id,
		'userid'		=> 0,
		'timestamp'		=> 1174670365
	);
 
	$appointments = $dates->crmgetChangedAppointments($params);
 
	foreach($appointments as $appointment) {
 
		$start = date("H:i:s", $appointment->start);
		$stop  = date("H:i:s", $appointment->stop);
 
		echo "{$start} - {$stop} {$appointment->subject}<br>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.14. crmgetChangedAppointmentsLimit

Syntax:

array crmgetChangedAppointmentsLimit( array(string $session_id, int $userid, int $timestamp, int $count, int $offset) )

Beschreibung:

Liefert ein Array mit Appointment-Objekten, die seit timestamp geändert wurden, limitiert von $count und $offset.

Wenn userid gegeben ist, werden die Termine dieses Benutzers nur zurückgegeben, wenn der authentifizierte Benutzer die Berechtigung zum Lesen hat. Wenn userid auf 0 gesetzt ist, werden die Termine des authentifizierten Benutzer zurückgegeben.

Eigenschaften von returned appointment Objekte:

sind die selben wie für crmgetAppointments

Beispiel:

<?php
 
try {
	$params = array(
		'session_id'	=> $session_id,
		'userid'		=> 0,
		'timestamp'		=> 1174670365,
		'count'			=> 10,
		'offset'		=> 20
	);
 
	$appointments = $dates->crmgetChangedAppointmentsLimit($params);
 
	foreach($appointments as $appointment) {
 
		$start = date("H:i:s", $appointment->start);
		$stop  = date("H:i:s", $appointment->stop);
 
		echo "{$start} - {$stop} {$appointment->subject}<br>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.15. crmgetChangedAppointmentsList

(Version >= 3.4.4244)

Syntax:

array crmgetChangedAppointmentsList( int $userid, int $timestamp )

Beschreibung:

Gibt ein Array mit List von Termine zurück, die seit timestamp geändert wurden.

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

Wenn userid gegeben ist werden die Aufgaben für den Entsprechenden Nutzer zurückgegeben. Wenn userid auf 0 gesetzt ist werden Aufgaben des authentifizierten Nutzers zurückgegeben.

Eigenschaften von returned appointment array:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
int                     $id                       Termin-Id 
int                     $chgtime                  Startzeit (Unix-Timestamp) 
int                     $useen                    Ob der authentifizierte Benutzer, die Aufgabe gesehen hat.
                                                  1: ja
                                                  0: nein

Beispiel:

<?php
 
try {
	// Get a list of appointments for user with id=4, which have changed since 25.11.2011-00:00:00
	$params = array(
		'session_id'	=> $session_id,
		'userid'		=> 4,
		'timestamp'		=> 1322175600
	);
 
	$result = $dates->crmgetChangedAppointmentsList($params);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
foreach($result as $date) {
	foreach($date as $key => $value) {
		echo $key. " " .$value ."<br>  \n";
	}
 
	echo '<hr>';
}



3.16. crmsetReadFlag

(Version >= 3.4.4253)

Syntax:

int crmsetReadFlag( int $appointment_id, int $flag )

Beschreibung

Setzt das gelesen- oder ungelesen-Flag für den authentifizierte User für den Termin mit der entsprechenden $appointment_id.

Wenn flag auf 1 gesetzt ist, wird das Gelesen-Flag auf gesehen gesetzt, bei 0 auf ungesehen.

Gib 1 beim Erfolg zurück.

Wirft eine CRMException im Fehlerfall.

Beispiel

<?php
 
try {
	// Set 'read' for appointment with id = 7
    $params = array('session_id' => $session_id, 'appointment_id' => 7, 'flag' => 1);
     
    $success = $dates->crmsetReadFlag($params);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
if ($success == 1) {
	echo 'Success';
}



3.17. crmgetIdByExtId

(Version >= 4.2)

Syntax:

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

Beschreibung

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

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

Beispiel:

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



3.18. crmgetAllExtIds

(Version >= 4.2)

Syntax:

array crmgetAllExtIds( array ( string $session_id ) )

Beschreibung

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

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

Beispiel:

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



3.19. 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/dates';
	$session_id  = session_id();
	$dates       = new crm_rest_api($rest_url);
 
	$params  = array(
		'session_id' => $session_id,
		'fields'     => array('subject', 'body')
	);
	$success = $dates->crmsetDuplicateConfig($params);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo ($success ? 'override successful' : $success);



3.20. 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/dates';
	$session_id  = session_id();
	$dates       = new crm_rest_api($rest_url);
 
	$params  = array('session_id' => $session_id);
	$fields  = $dates->crmgetDuplicateConfig($params);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo print_r($fields, true);



3.21. crmgetPermissions

(Version >= 4.5.17365)

Syntax:

array | string <err_msg> crmgetPermissions( array(string $session_id, array $appointment_ids) ) 

Beschreibung:

Gibt ein assoziatives $objects_permissions array mit den Berechtigungen für die Termine mit den gegebenen $appointment_ids zurück.

Setzt eine Lizenz mit Aktivitätenrechten und aktivierte Aktivitätenrechte für dieses Modul voraus.

Eigenschaften von $objects_permissions array:

Type(Length)	   Eigenschaft          Beschreibung
-------------------------------------------------------------------------------
int                Key                  Appointment ID
array		       Value                Array mit $permissions array

Eigenschaften von $permissions array:

Type(Length)	   Key                  Value       
-------------------------------------------------------------------------------
array		   user_perm            Array mit $user_permission arrays
array		   group_perm           Array mit $group_permission arrays

Eigenschaften von $user_permission array:

Type(Length)	   Eigenschaft          Beschreibung
-------------------------------------------------------------------------------
int                Key                  User's ID
array		       Value                read:   1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        write:  1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        delete: 1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert

Eigenschaften von $group_permission array:

Type(Length)	   Eigenschaft          Beschreibung
-------------------------------------------------------------------------------
int                Key                  Group's ID
array		       Value                read:   1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        write:  1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        delete: 1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert

Beispiel:

<?php
 
try {
	include_once 'crm_rest_api.php';
    $rest_url    = 'https://<hostname>/<dirname>/rest/index.php/dates';
    $session_id  = session_id();
    $dates       = new crm_rest_api($rest_url);
 
    $params      = array(
		'session_id'		=> $session_id,
		'appointment_ids'	=> array(15, 20, 100)
	);
    $permissions = $dates->crmgetPermissions($params);
 
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo '<pre>'.print_r($permissions, true).'</pre>';



3.22. crmsetPermissions

(Version >= 4.5.17365)

Syntax:

array | string <err_msg> crmsetPermissions( array(string $session_id, array $permissions) ) 

Beschreibung:

Setzt die Berechtigungen für mehrere Termine

Setzt eine Lizenz mit Aktivitätenrechten und aktivierte Aktivitätenrechte für dieses Modul voraus.

Eigenschaften von $objects_permissions array:

Type(Length)	   Eigenschaft          Beschreibung
-------------------------------------------------------------------------------
int                Key                  Appointment ID
array		       Value                Array mit $permissions array

Eigenschaften von $permissions array:

Type(Length)	   Key                  Value       
-------------------------------------------------------------------------------
array		       users                Array mit $user_permission arrays
array		       groups               Array mit $group_permission arrays

Eigenschaften von $user_permission array:

Type(Length)	   Eigenschaft          Beschreibung
-------------------------------------------------------------------------------
int                Key                  User's ID
array		       Value                read:   1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        write:  1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        delete: 1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert

Eigenschaften von $group_permission array:

Type(Length)	   Eigenschaft          Beschreibung
-------------------------------------------------------------------------------
int                Key                  Group's ID
array		       Value                read:   1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        write:  1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        delete: 1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert

Beispiel:

<?php
 
try {
    include_once 'crm_rest_api.php';
    $rest_url		= 'https://<hostname>/<dirname>/rest/index.php/dates';
    $session_id		= session_id();
    $dates			= new crm_rest_api($rest_url);
    $permissions	= array(
		81941 => array(
			'users'	=> array(
				'56' => array('read' => -1, 'write' => -1, 'delete' => -1) 
			),
			'groups' => array(
				'4'  => array('read' => -1, 'write' => -1, 'delete' => -1) 
			)
		),
		79331 => array(
			'groups' => array( 
				'4'  => array('read' => -1, 'write' => -1, 'delete' => -1) 
			)
		)
	);
 
	$params = array(
		'session_id'	=> $session_id,
		'permissions'	=> $permissions
	);
 
    $dates->crmsetPermissions($params);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
  • No labels