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

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

2. Methoden

Achtung: seit Version 4.4 sind die Methoden, die seit Version 4.1 zur Verfügung stehen, den Namenskonventionen der Schnittstellen und Webservices angepasst worden. Methodennamen des REST Objektes, die in Ihrem Code noch in underscore_case geschrieben sind (bspw. crmget_notes() ), sollten in camelCase geändert werden.

2.1. crmgetNote

(Version >= 4.1.x)

Syntax:

array | string <err_msg> crmgetNote( array('session_id' => string <session_id>, 'note_id' => int <note_id>) )

Beschreibung:

Gibt ein Array mit Daten der angefragten Notiz ID zurück.

Bei Fehlschlägen oder aufgefangenen Ausnahmen wird eine entsprechende Fehlermeldung zurückgegeben.

Eigenschaften des zurückgegebenen Note- Array:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
int                     id                       Note-Id
int                     ext_id                   Externe ID ( ab Version 4.2 )
string(255)             cid                      Contact-Id (Format: Contact-Id:Person-Id;Contact-Id2:Person-Id2;...) 
int                     date                     Datum und Uhrzeit (Unix-Timestamp)
string(255)             subject                  Betreff der Notiz
string(4000)            note_text                Notiztext
string(255)             userid                   Userids (Format: User-Id1:User-Id2
array                   seen                     Userids aller Benutzer, die Notiz Objekt min. einmal geöffnet haben
int                     chguser                  Userid der letzten Änderung
int                     chgtime                  Unix-Timestamp der letzten Änderung
int                     pid                      Project-Id 
int                     ttid                     Ticket-Id
int                     orderid                  Auftrag-Id ( ab Version 4.2 )
int                     createuser               Userid der Notizerstellung
int                     createtime               Unix-Timestamp der Notizerstellung
string(255)             category                 Kategorien, Format: Category1; Category2; ... 
int                     rem                      Wiedervorlage (1: Erinnerung an Notiz, and 0: keine Erinnerung)
int                     remtime                  Unix-Timestamp der Notiz- Wiedervorlage
int                     private                  Private Notiz (1: der Notiz ist privat, 0: Notiz ist öffentlich) 
array                   note_contacts            Array von "note_contacts"
array                   note_projects            Array von "note_projects"

Eigenschaften von Unterarray note_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 Arbeit
string(128)             phone_pager               Pager Nummer 
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, z.B. CEO 
string(128)             work_department           Abteilung
string(128)             work_organisation         Organisations- oder Firmenname  
string(128)             work_address1             Adresszeile geschöftlich 1 
string(128)             work_address2             Adresszeile geschöftlich 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

Eigenschaften von Unterarray note_projects:

Type(Length)      Eigenschaft             Beschreibung
-------------------------------------------------------------------
int               pid                     Project-Id 
int               ext_id                  Externe ID ( ab Version 4.2 )
string(255)       name                    Projektname 
string(50)        number                  Projektnummer 
string(255)       url                     URL des Projekts (Website) 
int               start                   Startdatum & Zeit als Unix-Timestamp 
int               stop                    Stopdatum & Zeit als Unix-Timestamp 
int               done                    Fertigstellung in Prozent
double            budget                  Projektbudget
string(65535)     notes                   Projektnotizen
int               leader                  Projektleiter Userid  
int               substitute              Stellv. Projektleiter Userid 
string(65535)     shortnotes              Projekt Kurzbeschreibung
int               invoice                 Rechnung erstellt? Mögliche Werte: 0, 1
int               priority                Priorität, Mögliche Werte: -1 = niedrig, 0 = normal, 1 = hoch
string(255)       category                Projektkategorien, Format: Category1:Category2:... 
int               chguser                 Userid der letzten Änderung
int               chgtime                 Unix-Timestamp der letzten Änderung 
int               createuser              Userid der Erstellung
int               createtime              Unix-Timestamp der Erstellung
string(255)       user19                  Benutzerdefiniertes Feld Nr. 19
string(255)       user20                  Benutzerdefiniertes Feld Nr. 20
   :                  :                               :
string(255)       user80                  Benutzerdefiniertes Feld Nr. 80 

Beispiel:

<?php
 
try {
	include_once 'crm_rest_api.php';
 
	$logon	= new crm_rest_api("https://<hostname>/<dirname>/rest/index.php/logon");
	$params = array('username' => '<usr>', 'password' => '<pwd>');
	// Aufruf zur crmLogin Method.
	$session_id  = $logon->crmLogin($params);
	$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/notes';
	$notes       = new crm_rest_api($rest_url);
 
	// get all Notes for 21.02.2014:
	$params = array(
		'session_id'    => $session_id,
		'userid'        => 0,
		'day'           => 21,
		'month'         => 2,
		'year'          => 2014
	);
 
	$result = $notes->crmgetNote($params);
	if (is_array($result) ) {
		foreach($result as $note_id => $note) {
			foreach($note as $key => $val) {
				echo "$key => $val<br>";
				if (is_array($val)) {
					echo serialize($val);
				}
			}
		}
	}
	else {
		echo 'Error occured: '.$result;
	}
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



2.2. crmaddNote

Syntax:

int | string <err_msg> crmaddNote( array('session_id' => string <session_id>, 'crm_note_item' => array <crm_note_item>) )

Beschreibung:

Fügt eine neue Notiz hinzu.

Gibt die note_id bei Erfolg zurück.

Parameter crm_note_item ist ein assoziatives Array.

Um Kontakte zuzuweisen, müssen Sie die Contact-IDs oder einige Eigenschaften des Kontakts aus 'note_contacts' angeben, das System erledigt den Rest.

Eigenschaften von Parameter crm_note_item:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
string(255)             cid                          Contact-Id (Format: Contact-Id:Person-Id;Contact-Id2:Person-Id2;...) 
int                     date                         Datum und Uhrzeit (Unix-Timestamp)
string(255)             subject                      Betreff der Notiz
string(4000)            note_text                    Notiztext
string(255)             userid                       Userids (Format: User-Id1:User-Id2), -1 for NO userid
int                     pid                          Project-Id
int                     ttid                         Ticket-Id
int                     orderid                      Auftrag-Id ( ab Version 4.2 )
string(255)             category                     Kategorien, Format: Category1; Category2; ... 
int                     rem                          Wiedervorlage (1: wenn Sie eine Erinnerung möchten und 0 wenn nicht)
int                     remtime                      Unix-Timestamp für die Erinnerung
int                     private                      Private Notiz (1: Notiz ist privat, and 0: Notiz ist öffentlich)
array                   note_contacts                Array von 'note_contacts'
int                     ext_id                       Externe ID ( ab Version 4.2 )

Eigenschaften von Parameter Unterarray note_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 Arbeit
string(128)             phone_pager                  Pager Nummer 
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
 
include_once 'crm_rest_api.php';
$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/notes';
$session_id  = session_id();
$notes       = new crm_rest_api($rest_url);
 
try {
	$note_item = array(
		'cid'           => '',
		'pid'           => 0,
		'orderid'       => 1234,
		'date'          => date(),
		'subject'       => 'Note Test',
		'note_text'     => 'Content of the test note',
		'category'      => 'miscellaneous',
		'rem'           => 1,
		'remtime'       => time()+86400,
		'note_contacts' => array(
			array(
				'firstname' => 'John',
				'lastname'  => 'Smith',
				'emailadr1' => 'johnsmith@trash-mail.com'
			),
			array(
				'firstname' => 'Ethel',
				'lastname'  => 'Jones',
				'emailadr1' => 'ejones@trash-mail.com'
			)
		)
	);
 
	$params = array(
		'session_id'    => $session_id,
		'crm_note_item' => $note_item
	);
 
	$note_id = $notes->crmaddNote( $params );
 
	echo $note_id."<br>";
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



2.3. crmupdateNote

Syntax:

int | string <err_msg> crmupdateNote( array('session_id' => string <session_id>, 'note_id' => int <note_id>, 'crm_note_item' => array <crm_note_item>) )

Beschreibung:

Ändert Eigenschaften einer vorhandenen Notiz.

Liefert die note_id bei Erfolg.

Gibt Fehlermeldung bei Fehlschlag oder aufgefangenen Ausnahmen zurück.

Parameter crm_note_item ist ein assoziatives Array.

Eigenschaften von Unterarray crm_note_item:

sind identisch mit crmaddNote

Beispiel:

<?php
 
include_once 'crm_rest_api.php';
$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/notes';
$session_id  = session_id();
$notes       = new crm_rest_api($rest_url);
 
try {
	// Change Note with ID 9228:
 
	$note	= array('subject' => utf8_encode('changed test note'));
	$params = array(
		'session_id'	=> $session_id,
		'note_id'		=> 9228,
		'crm_note_item' => $note
	);
 
	$note_id = $notes->crmupdateNote($params);
 
	echo $note_id."<br>\n";
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



2.4. crmdeleteNote

Syntax:

int | string <err_msg> crmdeleteNote( array('session_id' => string $session_id, 'note_id' => int <note_id>) )

Beschreibung:

Löscht eine Notiz mit übergebener ID. Liefert 1 bei Erfolg.

Gibt Fehlermeldung zurück bei Fehlschlag oder aufgefangener Ausnahme.

Beispiel:

<?php
 
include_once 'crm_rest_api.php';
$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/notes';
$session_id  = session_id();
$notes       = new crm_rest_api($rest_url);
 
try {
	$note_id	= 9233;
	$success	= $notes->crmdeleteNote(
		array(
			'session_id'	=> $session_id,
			'note_id'		=> $note_id
		)
	);
	if ($success == 1) {
		echo 'Note successfully deleted.';
	}
	else {
		echo 'Failure to delete Note, return: '.$success;
	}
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



2.5. crmgetNotes

Syntax:

array | string <err_msg> crmgetNotes( array('session_id' => string <session_id>, 'userid' => int <userid>, 'day' => int <day>, 'month' => int <month>, 'year' => int <year>) )

Beschreibung:

Gibt ein Array mit Note- Objekten zurück.

WICHTIG: alle Parameter sind Pflicht, d.h. userid, day, month, year sind eventuell mit 0 zu initialisieren

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

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

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

Wenn year > 0, werden nur Notizen von diesem Jahr zurückgegeben. Setzen Sie ihn auf 0, um alle Jahr zu bekommen.

Eigenschaften der zurückgegebenen Note- Objekte:

sind identisch mit crmgetNote

Beispiel:

<?php
 
include_once 'crm_rest_api.php';
$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/notes';
$session_id  = session_id();
$notes       = new crm_rest_api($rest_url);
 
try { 
	// get all Notes for date 21.02.2014:
	$params = array(
		'session_id'	=> $session_id,
		'userid'		=> 0,
		'day'			=> 21,
		'month'			=> 2,
		'year'			=> 2014
	);
 
	$result = $notes->crmgetNotes($params);
 
	if (is_array($result)) {
		foreach($result as $note_id => $note) {
 			foreach($note as $key => $val) {
				echo "$key => $val<br>";
				if (is_array($val)) {
					echo serialize($val);
				}
			}
		}
	}
	else {
		echo 'Failure to fetch Notes, return: '.$result;
	}
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



2.6. crmgetNotesList

(Version >= 4.4)

Syntax:

array | string <err_msg> crmgetNotesList( array('session_id' => string <session_id>, ['timestamp' => int <Unix-Timestamp>]) )

Beschreibung:

Gibt ein Array mit allen Notizen zurück, die ab dem gegebenen Datum angelegt worden sind und als persönliche Notizen des angemeldeten Anwenders gelten.

Notizen gelten als persönliche Notiz, wenn das Objekt keine Zuordnung zu einem Projekt, Ticket, Auftrag oder Kontakt besitzt und der angemeldete Anwender in der Liste der betreffenden Benutzer eingetragen ist.

Parameter $timestamp ist ein Unix-Timestamp. Wenn übergeben, werden nur persönliche Notizen zurückgegeben, die seit dem gegebenen Zeitstempel angelegt worden sind.

Eigenschaften der zurückgegebenen $notes array:

sind identisch mit crmget_notes

Beispiel:

<?php
 
include_once 'crm_rest_api.php';
$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/notes';
$session_id  = session_id();
$notes       = new crm_rest_api($rest_url);
 
try {
	// get all personal Notes for date 21.02.2014:
	$timestamp	= mktime(0, 0, 0, 2, 21, 2014);
	$params		= array(
		'session_id'	=> $session_id,
		'timestamp'		=> $timestamp
	);
 
	$result = $notes->crmgetNotesList($params);
 
	if (is_array($result)) {
		foreach($result as $note_id => $note) {
			foreach($note as $key => $val) {
				echo "$key => $val<br>";
				if (is_array($val)) {
					echo serialize($val);
				}
			}
		}
	}
	else {
		echo 'Failure to fetch Notes, return: '.$result;
	}
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



2.7. crmaddNotes

Syntax:

int | string <err_msg> crmaddNote( array('session_id' => string <session_id>, 'crm_note_items' => array <crm_note_item>) )

Beschreibung:

Fügt mehrere neue Notizen hinzu.

Gibt die Anzahl eingefügter Datensätze bei Erfolg zurück. Bei Fehlschlag oder aufgefangenen Ausnahmen wird Fehlermeldung zurückgegeben.

Parameter crm_note_items ist ein iteratives Array, wobei jedes enthaltene Element ein assoziatives Array identisch mit Parameter crm_note_item aus crmaddNote ist.

Um Kontakte zuzuweisen, müssen Sie die Contact-IDs oder einige Eigenschaften des Kontakts aus 'note_contacts' angeben, das System erledigt den Rest.

Beispiel:

<?php
 
include_once 'crm_rest_api.php';
$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/notes';
$session_id  = session_id();
$notes       = new crm_rest_api($rest_url);
 
try { 
	$note_items = array(
		array(
			'cid'           => '',
			'pid'           => 0,
			'date'          => time(),
			'subject'       => 'Note Test 1',
			'note_text'     => 'Content of test note #1',
			'category'      => 'miscellaneous',
			'rem'           => 1,
			'remtime'       => time()+86400,
			'note_contacts' => array(
				array(
					'firstname' => 'John',
					'lastname'  => 'Smith',
					'emailadr1' => 'johnsmith@trash-mail.com'
				)
			)
		),
		array(
			'cid'           => '',
			'pid'           => 0,
			'date'          => time(),
			'subject'       => 'Note Test 2',
			'note_text'     => 'Content of test note #2',
			'category'      => 'miscellaneous',
			'note_contacts' => array(
				array(
					'firstname' => 'Michael',
					'lastname'  => 'Fiedler',
					'emailadr1' => 'michael.fiedler@tecart.de'
				)
			)
		)
	);
	$params = array(
		'session_id'     => $session_id,
		'crm_note_items' => $note_items
	);
 
	$added_rows = $notes->crmaddNote( $params );
	echo $added_rows." successfully added<br>";
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



2.8. crmupdateNotes

Syntax:

int | string <err_msg> crmupdateNotes( array('session_id' => string <session_id>, 'crm_note_items' => array <crm_note_item>) )

Beschreibung:

Ändert Eigenschaften mehrerer vorhandenen Notizen.

Liefert die Anzahl geänderter Datensätze bei Erfolg.

Gibt Fehlermeldung bei Fehlschlag oder aufgefangenen Ausnahmen zurück.

Parameter crm_note_items ist ein Array mit ganzzahliger Note-ID als Schlüssel und assoziativem Array als Wert.

Eigenschaften von Unterarray crm_note_items[note_id][]:

sind identisch mit crmaddNote

Beispiel:

<?php
 
include_once 'crm_rest_api.php';
$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/notes';
$session_id  = session_id();
$notes       = new crm_rest_api($rest_url);
 
try { 
	// Change Note with ID 9228:
 
	$note = array(
		9228 => array('subject' => utf8_encode('changed test note'))
	);
 
	$params = array('session_id'  => $session_id, 'crm_note_items' => $note);
	$ucount = $notes->crmupdateNotes($params);
 
	echo $ucount." successfully modified \n";
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



2.9. crmdeleteNotes

Syntax:

int | string <err_msg> crmdeleteNotes( array('session_id' => string $session_id, 'note_ids' => array <note_id>) )

Beschreibung:

Löscht mehrere Notizen. Liefert Anzahl erfolgreicher Löschungen bei Erfolg.

Gibt Fehlermeldung zurück bei Fehlschlag oder aufgefangener Ausnahme.

Beispiel:

<?php
 
include_once 'crm_rest_api.php';
$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/notes';
$session_id  = session_id();
$notes       = new crm_rest_api($rest_url);
 
try {
	$note_ids	= array(9233, 8572, 42, 10);
	$uccess		= $notes->crmdeleteNotes(
		array(
			'session_id'	=> $session_id,
			'note_ids'		=> $note_ids
		)
	);
	if ($success >= 1) {
		echo $success.' Note(s) successfully deleted.';
	}
	else {
		echo 'Failure to delete Notes, return: '.$success;
	}
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



2.10. crmgetNoteIds

Syntax:

array | string <err_msg> crmgetNoteIds( array('session_id' => string <session_id>, 'userid' => int <userid>, 'timestamp' => int <timestamp>) )

Beschreibung:

Gibt ein Array mit Note IDs zurück, die seit Parameter timestamp geändert wurden.

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

Eigenschaften der zurückgegebenen ArrayNote IDs:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int                     id                           Note-Id

Beispiel:

<?php
 
include_once 'crm_rest_api.php';
$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/notes';
$session_id  = session_id();
$notes       = new crm_rest_api($rest_url);
 
try {
	$result = $notes->crmgetNoteIds(
		array(
			'session_id'	=> $session_id,
			'userid'		=> 0,
			'timestamp'		=> 0
		)
	);
 
	if (is_array($result)) {
		foreach($result as $id) {
			echo $id."<br>";
		}
	}
	else {
		echo 'Failure to fetch Notes, return: '.$result;
	}
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



2.11. crmgetNotesFrom

Syntax:

array | string <err_msg> crmgetNotesFrom( array('session_id' => string <session_id>, 'userid' => int <userid>, 'day' => int <day>, 'month' => int <month>, 'year' => int <year>) )

Beschreibung:

Gibt ein Array mit Note-Objekten vom gegebenen Datum an bis zum aktuell gültigen Unix Timestamp Maximum zurück (Stand Feb. 2014 max Unix timestamp: 12/31/2037).

WICHTIG: alle Parameter sind Pflicht ! userid, day, month, year sind ggf. mit 0 zu initialisieren.

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

Wenn day > 0, werden nur Notizen von diesem Tag zurückgegeben. Auf 0 gesetzt werden alle Tage zurückgegeben.

Wenn month > 0, werden nur Notizen von diesem Monat zurückgegeben. Auf 0 gesetzt werden alle Monate zurückgegeben.

Wenn year > 0, werden nur Notizen von diesem Jahr zurückgegeben. Auf 0 gesetzt werden alle Jahre zurückgegeben.

Eigenschaften der zurückgegebenen Note- Objekte:

sind identisch mit crmgetNotes

Beispiel:

<?php
 
include_once 'crm_rest_api.php';
$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/notes';
$session_id  = session_id();
$notes       = new crm_rest_api($rest_url);
 
try { 
	// get all Notes later then 21.02.2014:
	$params = array(
		'session_id'	=> $session_id,
		'userid'		=> 0,
		'day'			=> 21,
		'month'			=> 2,
		'year'			=> 2014
	);
 
	$result = $notes->crmgetNotesFrom($params);
 
	if (is_array($result)) {
		foreach($result as $note_id => $note) {
			foreach($note as $key => $val) {
				echo "$key => $val<br>";
				if (is_array($val)) {
					echo serialize($val);
				}
			}
		}
	}
	else {
		echo 'Failure to fetch Notes, return: '.$result;
	}
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



2.12. crmgetChangedNotes

Syntax:

array | string <err_msg> crmgetChangedNotes( array('session_id' => string <session_id>, 'userid' => int <userid>, 'timestamp' => int <timestamp>, 'personal_only' => boolean) )

Beschreibung:

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

WICHTIG: alle Parameter außer personal_only sind Pflicht, userid, timestamp müssen ggf. mit 0 initialisiert werden.

Wenn userid > 0, werden Notizen für den User nur zurückgegeben, wenn der authentifizierte Benutzer Leseberechtigungen hat. Wenn userid = 0, werden alle Notizen für den authentifizierten Nutzer zurückgegeben.

Parameter personal_only bewirkt die Rückgabe ausschließlich dem angemeldeten Benutzer zugehöriger Notizen, einschließlich der als privat markierten. Dabei wird Parameter userid ignoriert.

Eigenschaften der Note- Objekte:

sind identisch mit crmgetNotes

Beispiel:

<?php
 
include_once 'crm_rest_api.php';
$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/notes';
$session_id  = session_id();
$notes       = new crm_rest_api($rest_url);
 
try {
	// get all notes that have been modified within the last 30 days:
	$params = array(
		'session_id'	=> $session_id,
		'userid'		=> 0,
		'timestamp'		=> time() - (86400 * 30)
	);
 
	$result = $notes->crmgetChangedNotes($params);
 
	if (is_array($result)) {
		foreach($result as $note_id => $note) {
			foreach($note as $key => $val) {
				echo "$key => $val<br>";
				if (is_array($val)) {
					echo serialize($val);
				}
			}
		}
	}
	else {
		echo 'Failure to fetch Notes, return: '.$result;
	}
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



2.13. crmgetChangedNotesLimit

Syntax:

array crmgetChangedNotesLimit( array('session_id' => string <session_id>, 'userid' => int <userid>, 'timestamp' => int <timestamp>, 'count' => int <count>, 'offset' => int <offset>, 'personal_only' => boolean) )

Beschreibung:

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

WICHTIG: alle Parameter außer personal_only sind Pflicht, userid, timestamp, count, offset sind ggf. mit 0 zu initialisieren.

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

Parameter personal_only bewirkt die Rückgabe ausschließlich dem angemeldeten Benutzer zugehöriger Notizen, einschließlich der als privat markierten. Dabei wird Parameter userid ignoriert.

Eigenschaften von returned Note- Objekte:

sind identisch mit crmgetNotes

Beispiel:

<?php
 
include_once 'crm_rest_api.php';
$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/notes';
$session_id  = session_id();
$notes       = new crm_rest_api($rest_url);
 
try { 
	// get the 5 last notes modified within the last 30 days:
	$params = array(
		'session_id'    => $session_id,
		'userid'        => 0,
		'timestamp'     => time() - (86400 * 30),
		'count'         => 5,
		'offset'        => 0
	);
 
	$result = $notes->crmgetChangedNotesLimit($params);
 
	if (is_array($result)) {
		foreach($result as $note_id => $note) {
			foreach($note as $key => $val) {
				echo "$key => $val<br>";
				if (is_array($val)) {
					echo serialize($val);
				}
			}
		}
	}
	else {
		echo 'Failure to fetch Notes, return: '.$result;
	}
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



2.14. crmgetIdByExtId

(Version >= 4.2)

Syntax:

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

Beschreibung

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

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

Beispiel:

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



2.15. crmgetAllExtIds

(Version >= 4.2)

Syntax:

array crmgetAllExtIds( array ( string $session_id ) )

Beschreibung

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

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

Beispiel:

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



2.16. crmsetReadFlag

(Version >= 4.4)

Syntax:

boolean | string <err_msg> crmsetReadFlag( array('session_id' => string <session_id>, 'note_id' => int, ['user_id' => int]) )

Beschreibung:

Fügt eine User ID der "gelesen" Liste eines Notiz Objektes hinzu.

Parameter $note_id muß immer eine ID eines Notiz Objektes sein.

Mit optionalem Parameter $user_id kann eine User ID spezifiziert werden. Wird $user_id ausgelassen oder mit $user_id = 0 übergeben, wird die ID des angemeldeten Anwenders verwendet.

Beispiel:

<?php
 
try { 
	// mark note with ID 1337 as "seen" with ID of logged-in user
	$success = $notes->crmsetReadFlag(
		array(
			'session_id'	=> $session_id,
			'note_id'		=> 1337
		)
	);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo ($success ? 'note marked as seen' : 'failed to mark note');



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



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



2.19. crmgetPermissions

(Version >= 4.5.17365)

Syntax:

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

Beschreibung:

Gibt ein assoziatives $objects_permissions array mit den Berechtigungen für die Notizen mit den gegebenen $note_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                  Note 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/notes';
    $session_id  = session_id();
    $notes       = new crm_rest_api($rest_url);
 
    $params      = array('session_id' => $session_id, 'note_ids' => array(15, 20, 100));
    $permissions = $notes->crmgetPermissions($params);
 
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo '<pre>'.print_r($permissions, true).'</pre>';



2.20. crmsetPermissions

(Version >= 4.5.17365)

Syntax:

array | string <err_msg> crmsetPermissions( array $objects_permissions ) 

Beschreibung:

Setzt die Berechtigungen für mehrere Notizen

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                  Note 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/notes';
    $session_id  = session_id();
    $notes       = 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);
 
	$notes->crmsetPermissions($params);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
  • No labels