API Projects – TecArt-CRM Developer-Wiki

API Projects

Aus TecArt-CRM Developer-Wiki

Wechseln zu: Navigation, Suche

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:

<?php
 
try {
    $crmapi_projects = crmapi::projects();
 
    // Get Project with id 258
    $project = $crmapi_projects->getProject(258);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($project as $key=>$value) {
    echo $key.": ".$value."<br/>";
}
 
?>

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:

<?php
 
try {
 
    $project = array();
    $project['name'] = 'API-Projekt changed';
 
    $crmapi_projects = crmapi::projects();
 
    // Get Project with id 258
    $project = $crmapi_projects->changeProject(258, $project);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $project_id;
 
?>

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:

<?php
 
try {
 
    $crmapi_projects = crmapi::projects();
 
    $result = $crmapi_projects->countProjects();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $result;
 
?>

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:

<?php
 
try {
 
    $crmapi_projects = crmapi::projects();
 
    // Get all project ids
    $result = $crmapi_projects->getProjectIds(0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $id) {
    echo $id."<br/>";
}
 
?>

deleteProject

Syntax:

void deleteProject( int $project_id )


Beschreibung:

Löscht ein Projekt.

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

Beispiel:

<?php
 
try {
 
    $crmapi_projects = crmapi::projects();
 
    $success = $crmapi_projects->deleteProject(123);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
?>

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:

<?php
 
try {
    $crmapi_projects = crmapi::projects();
 
    $fields = $crmapi_projects->getProjectFields();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $fields as $key => $val) {
    echo $key " => ". $val['label'] ."<br/>";
}
 
?>

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:

<?php
 
try {
    $crmapi_projects = crmapi::projects();
 
    $members = $crmapi_projects->getProjectMembers(7);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $members as $key => $val) {
    echo $val['name'] ."<br/>";
}
 
?>