API Projects
Aus TecArt-CRM Developer-Wiki
Inhaltsverzeichnis |
Hinweis
API Klassen und deren Funktionen können nur mit CRM System mit Version >= 3.2 genutzt werden
Methods
addProject
Syntax:
int addProject( array $project )
Beschreibung:
Fügt ein Projekt hinzu
Gibt eine project_id zurück.
Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.
Eigenschaften von project array:
Type(Length) Eigenschaft Beschreibung ------------------------------------------------------------------- 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:... string(255) $user19 Benutzerdefiniertes Feld Nr. 19 string(255) $user20 Benutzerdefiniertes Feld Nr. 20 : : : string(255) $user80 Benutzerdefiniertes Feld Nr. 80
Beispiel:
<?php $project = array('name' => 'API-Projekt', 'url' => 'http://www.tecart.de', 'start' => mktime(0, 0, 0, 5, 11, 2007), 'stop' => mktime(0, 0, 0, 5, 31, 2007), 'done' => 30, 'budget' => 120000, 'notes' => 'Notizen hier', 'leader' => 5, 'user21' => "333"); try { $crmapi_projects = crmapi::projects(); $project_id = $crmapi_projects->addOffer($project); } catch (CRMException $e) { echo $e->getMessage(); } echo $project_id;
getProject
Syntax:
array getProject( int $pid )
Beschreibung:
Gibt ein Array mit einem Projekt zurück.
pid ist die Project-Id
Properties:
Type(Length) Eigenschaft Beschreibung ------------------------------------------------------------------- int $pid Project-Id 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:
changeProject
Syntax:
int changeProject( int $project_id, array $project )
Beschreibung:
Ändert Eigenschaften eines existierenden Projekts.
Gibt die project_id zurück.
Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.
Eigenschaften von project array:
die selben wie für #addProject
Beispiel:
getChangedProjects
Syntax:
array getChangedProjects( int $timestamp )
Beschreibung:
Gibt ein Array mit Projekten zurück, die seit timestamp geändert wurden.
Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.
Hinweis: Es werden nur Projekte zurückgegeben, für die der authentifizierte Nutzer Leseberechtigungen hat.
Properties:
sind die selben wie für #getProject
Beispiel:
<?php try { $project = array(); $project['name'] = 'API-Projekt changed'; $crmapi_projects = crmapi::projects(); // Get changed project since 12.10.2010 $result = $crmapi_projects->getChangedProjects( mktime(0, 0, 0, 12, 10, 2010) ); } catch (CRMException $e) { echo $e->getMessage(); } foreach($result as $project) { foreach($project as $key => $val) { echo $key." => ".$val."<br/>\n"; } echo "<hr/>"; } ?>
getChangedProjectsLimit
Syntax:
array getChangedProjectsLimit( int $timestamp, int $count, int $offset )
Beschreibung:
Gibt ein Array mit Projekten zurück, die seit timestamp geändert wurden, limitiert von count und offset.
Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.
Hinweis: Es werden nur Projekte zurückgegeben, für die der authentifizierte Nutzer Leseberechtigungen hat.
Properties:
sind die selben wie für #getProject
Beispiel:
<?php try { $project = array(); $project['name'] = 'API-Projekt changed'; $crmapi_projects = crmapi::projects(); // Get only 10 projects, which have been changed since 12.10.2010 $result = $crmapi_projects->getChangedProjectsLimit( mktime(0, 0, 0, 12, 10, 2010), 10, 0); } catch (CRMException $e) { echo $e->getMessage(); } foreach($result as $project) { foreach($project as $key => $val) { echo $key." => ".$val."<br/>\n"; } echo "<hr/>"; } ?>
countProjects
Syntax:
int countProjects()
Beschreibung:
Gibt die Gesamtanzahl an Projekten zurück.
Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.
Beispiel:
searchProjects
Syntax:
array searchProjects( string/array $search, string $category, int $count, int $offset, string $sort_name )
Beschreibung:
Gibt ein Array mit Projekten zurück.
Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.
search ist ein Suchtext(es wird nur nach Projektname wird gesucht)
Mit der Version (>=3.4.4788) kann search auch ein assoziatives Array sein, bei dem der key das Feld zum Suchen und der value der Suchstring ist. Sie können ein %-Zeichen am Anfang und/oder Ende der Zeichenfolge als Platzhalter verwenden.
category ist die Kategorie des Projekts, hat keinen Einfluss wenn auf -1 gesetzt.
count ist die maximale Anzahl an Ergebnissen die zurückgegeben werde soll.
offset ist die Offset Position der Ergebnisse, die zurückgegeben werden sollen. (Nur mit der Version >=3.4.5331)
sort_name ist die Sortierung, wie die Projektnamen sortiert werden sollen. 'ASC' => Projektname aufsteigend Sortieren 'DESC' => Projektname absteigend Sortieren. (Nur mit der Version >=3.4.5331)
Eigenschaften:
sind die selben wie für #getProject
Beispiel 1: Such nach Projektname:
<?php try { $crmapi_projects = crmapi::projects(); // Get 5 projects with name LIKE '%crm%' $result = $crmapi_projects->searchProjects('crm', -1, 5); } catch (CRMException $e) { echo $e->getMessage(); } foreach($result as $project) { foreach($project as $key => $val) { echo $key." => ".$val."<br/>\n"; } echo "<hr/>"; } ?>
Beispiel 2: Komplexe Suche:
<?php try { $crmapi_projects = crmapi::projects(); //Example 1: Get 5 projects with name LIKE '%crm%' AND budget LIKE '2000' $search = array('name' => '%crm%', 'budget' => '2000'); //Example 2: Get the first 5 projects with name like "tecart" OR like "crm" AND budget LIKE '2000' $search = array( 'name' => array('tecart', 'crm'), 'budget' => 'erfurt' ); $result = $crmapi_projects->searchProjects($search, -1, 5); } catch (CRMException $e) { echo $e->getMessage(); } foreach($result as $project) { foreach($project as $key => $val) { echo $key." => ".$val."<br/>\n"; } echo "<hr/>"; } ?>
getProjectIds
Syntax:
array getProjectIds( int $timestamp )
Beschreibung:
Gibt ein Array der Projekte zurück, die seit timestamp geändert wurden.
Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.
Hinweis: Es werden nur Projekte zurückgegeben, für die der authentifizierte Nutzer Leseberechtigungen hat.
Eigenschaften:
Type(Length) Eigenschaft Beschreibung ------------------------------------------------------------------- int $id Project-Id
Beispiel:
deleteProject
Syntax:
void deleteProject( int $project_id )
Beschreibung:
Löscht ein Projekt.
Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.
Beispiel:
getProjectFields
(CRM >= 3.4.5334)
Syntax:
array getProjectFields()
Beschreibung:
Gibt ein Array mit Information der Feldern für Projekt zurück. Die Info enthält die Felder in der Datenbank, die angezeigte Namen und die Typen der Felder.
Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.
Eignenschaften von zurückgegebenen array:
Typ(Länge) Eigenschaft Beschreibung
---------------------------------------------------------------------------------------------
string(255) Key Name des Feldes in der Datenbank
array(255) Value Array mit
label: der angezeigte Name des Feldes
field: Name des Feldes in der Datenbank
type: Typ des Feldes
Beispiel:
getProjectMembers
(CRM >= 3.4.5347)
Syntax:
array getProjectMembers( int $pid )
Beschreibung:
Gibt ein Array mit Information aller Mitglieder von einem Projekt zurück.
Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.
Eignenschaften von zurückgegebenen array:
Type(Length) Eigenschaft Beschreibung
-------------------------------------------------------------------
string $type Type des Mitgliedes : 'contact' oder 'user'
int $cid Kontakt ID mit dem Format 'cid:pid'
int $uid User ID in CRM
string $name Der Kontaktname, wenn das Mitglied ein Kontakt ist.
Vorname Nachname, wenn das Mitglied ein Person oder ein CRM Benutzer ist.
string $email Die Emailaddresse
string $phone Telefon
string $mobile Mobile nummer
string $fax Telefax
Beispiel:
