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

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

1. Methods

1.1. addArticleToList

(Version >= 4.1)

Syntax:

array addArticleToList($contract_id, $article_id)

Beschreibung:

Fügt den Artikel mit der übergebenen ID zu einem Vertrag hinzu. Im Erfolgsfall wird 1 zurückgegeben.

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

Beispiel:

<?php
 
try {
	$success = $crmapi_contracts->addArticleToList($contract_id, 10);    
	echo $success;
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.2. addContract

Syntax:

int addContract( array $contract )

Beschreibung:

Fügt einen Vertrag hinzu

Gibt eine contract-ID zurück.

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

Eigenschaften von $contract array:

Type(Length)            Property                  Description
---------------------------------------------------------------------------------------------
int                     $realnumber               RealNumber des Vertrags
string(255)             $shortdesc                Kurzbeschreibung des Vertrags
string(255)             $cid                      Contact-Id, Format: Contact-Id:Person-Id
string(255)             $category                 Kategorie des Vertrags
double                  $eurnetto                 Auszahlungsbetrag des Vertrages in €
double                  $eurnetto2                Intervallzahlung des Vertrages in €
int                     $tax                      Steuer des Vertrages in Prozent
int                     $cdate                    Unix-Timestamp des Abschlussdatums
int                     $start                    Unix-Timestamp des Vertragsstarts
int                     $stop                     Unix-Timestamp des Vertragsendes
int                     $maturity                 Vertragsfälligkeit
                                                  0 = nicht wiederkehrend
                                                  1 = monatlich
                                                  2 = vierteljährlich
                                                  3 = jährlich
                                                  4 = keine
int                     $duration                 Vertragsdauer
                                                  0 =  1 Tag
                                                  1 =  1 Woche
                                                  2 =  1 Monat
                                                  3 =  3 Monate
                                                  4 =  6 Monate
                                                  5 = 12 Monate
                                                  6 = 24 Monate
                                                  7 = 36 Monate
                                                  8 = unbegrenzt
                                                  9 = keine
int                     $pid                      Project-Id
int                     $ext_id                   Externe ID ( ab Version 4.2 )
string(65535)           $notes                    Notizen
int                     $bankcollection           Bankeinzug (0 = Nein, 1 = Ja)
int                     $cancellationperiod       Kündigungsfrist des Vertrages
                                                  0 =  1 Tag
                                                  1 =  1 Woche
                                                  2 =  1 Monat
                                                  3 =  3 Monate
                                                  4 =  6 Monate
                                                  5 = 12 Monate
                                                  6 = 24 Monate
                                                  7 = keine
int                     $cancellation             Vertrag gekündigt (0 = Nein, 1 = Ja)
int                     $cancellationdays         Unix-Timestamp der Vertragskündigung
string(255)             $cancellationreason       Grund der Vertragskündigung

string(255)             $user20                   Benutzerdefiniertes Feld Nr. 20
string(255)             $user21                   Benutzerdefiniertes Feld Nr. 21
   :                       :                                   :
string(255)             $user80                   Benutzerdefiniertes Feld Nr. 80

Beispiel:

<?php
 
try {
	$crmapi_contracts = crmapi::contracts();
 
    $contract = array(
		'shortdesc'              => 'API Test Development',
		'payoff'                 => 899.50,
		'tax'                    => 19,
		'cdate'                  => mktime(0,0,0, 6,19,2008),
		'start'                  => mktime(0,0,0, 6,19,2008),
		'maturity'               => mktime(0,0,0, 6,30,2008),
		'duration'               => 6,
		'notes'                  => 'important',
		'cancellationperiod'     => 3,
		'pid'                    => 360,
		'cid'                    => '5485:5336'
	);
 
    $contract_id = $crmapi_contracts->addContract($contract);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $contract_id;



1.3. addGrouplineToList

(Version >= 4.1)

Syntax:

bool addGrouplineToList($contract_id, $crmBillingItem)

Beschreibung:

Fügt eine Gruppenzeile zu einem Vertrag hinzu. Im Erfolgsfall wird 1 zurückgegeben.

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

crmBillingItem kann ein assoziatives Array oder ein Objekt sein.

Eigenschaften:

Typ             Eigenschaft                          Beschreibung
---------------------------------------------------------------------------------------------
int             $quantity                             Menge
string          $name                                 Bezeichnung
int             $taxrate                              Steuersatz-Index
double          $discount                             Rabatt
int             $interval                             Abrechnungszeitraum-Index
string          $description                          Beschreibung
int             $ext_id                               Externe ID ( ab Version 4.2 )

Beispiel:

<?php
 
try {
    $data = array(
        'quantity'    => 3,
        'name'        => 'API Groupline',
        'description' => 'API Groupline',
        'taxrate'     => 19,
        'discount'    => 100,
        'interval'    => 1
	);
 
    $success = $crmapi_contracts->addGrouplineToList($contract_id, $data);
    echo $success;
 
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.4. addMultipleToList

(Version >= 4.1)

Syntax:

bool addMultipleToList($contract_id, $crmMultipleListItems)

Beschreibung:

Fügt der Artikelliste des Vertrages mehrere Artikel, Texte und/oder Gruppenzeilen hinzu. Im Erfolgsfall wird 1 zurückgegeben.

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

crmMultipleListItems ist ein Array von Artikeln, die Eigenschaften sind die selben wie addArticleToList, addTextToList, addSpecialToList und addGrouplineToList. Die Unterscheidung erfolgt über das Feld "type".

Eigenschaften:

Typ             Eigenschaft                          Beschreibung
---------------------------------------------------------------------------------------------
array           $crmMultipleListItems                Artikelliste

Beispiel:

<?php
 
try {
 
	$items = array();
 
    $items[] = array('type' => 'article', 'id' => 10);
    $items[] = array('type' => 'text','text' => 'API-AddMultiple Text');
 
    $specialItem = array(
        'quantity'    => 10,
        'realnumber'  => '100001',
        'name'        => 'API Special Article',
        'description' => 'API Special Article',
        'taxrate'     => 19,
        'discount'    => 100,
        'interval'    => 1,
        'type'        => 'special'
        );    
    $items[] = $specialItem;
 
    $data = array(
        'name'        => 'API Groupline',
        'description' => 'API Groupline',
        'taxrate'     => 19,
        'discount'    => 100,
        'interval'    => 1,
        'type'        => 'groupline'
        );
    $items[] = $specialItem;
   
 
    $success = $crmapi_contracts->addMultipleToList($contract_id, $items);
 
    echo $success;
 
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.5. addRelation

(Version >= 4.2)

Syntax:

int addRelation( int $contract_id , int $type , int $oid ) 

Beschreibung

Verknüpft ein Objekt eines bestimmten Typs mit einem Vertrag.

Gibt die ID der angelegten Verknüpfung zurück.

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

$contract_id ist interne ID des Vertrages, für den die Verknüpfung erstellt werden soll.

$type ist der Typ der Verknüfung, die erstellt werden soll. Für den Typ stehen folgende Konstanten zur Verfügung:

MODULE_CONTACTS ⇒ Kontakte

MODULE_CONTRACTS ⇒ Verträge

MODULE_OFFERS ⇒ Angebote

MODULE_ORDERS ⇒ Aufträge

MODULE_PROJECTS ⇒ Projekte

MODULE_TICKETS ⇒ Tickets

MODULE_ARTICLES ⇒ Artikel

$oid ist interne ID des Objektes vom Typ $type, das mit dem Vertrag verknüpft werden soll.

Beispiel: Verknüpft das Projekt mit der ID 20 mit dem Vertrag mit der ID 99

<?php
 
try {   
    $crmapi_contracts = crmapi::contracts();
   
    $result = $crmapi_contracts->addRelation(99, MODULE_PROJECTS, 20);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $result;



1.6. addSpecialToList

(Version >= 4.1)

Syntax:

bool addSpecialToList($contract_id, $crmBillingItem)

Beschreibung:

Fügt einen Sonderartikel zu einem Vertrag hinzu. Im Erfolgsfall wird 1 zurückgegeben.

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

crmBillingItem kann ein assoziatives Array oder ein Objekt sein.

Eigenschaften:

Typ             Eigenschaft                          Beschreibung
---------------------------------------------------------------------------------------------
int             $quantity                            Menge
string          $realnumber                          Artikelnummer
string          $name                                Bezeichnung
int             $taxrate                             Steuersatz-Index
double          $discount                            Rabatt
int             $interval                            Abrechnungszeitraum-Index
string          $description                         Beschreibung
int             $ext_id                              Externe ID ( ab Version 4.2 )

Beispiel:

<?php
 
try {
    $data = array(
        'quantity'     => 10,
        'realnumber'   => '100001',
        'name'         => 'API Special Article',
        'description'  => 'API Special Article',
        'taxrate'      => 19,
        'discount'     => 100,
        'interval'     => 1
        );
 
    $success = $crmapi_contracts->addSpecialToList($contract_id, $data);
    echo $success;
 
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.7. addTextToList

(Version >= 4.1)

Syntax:

bool addTextToList($contract_id, $text)

Beschreibung:

Fügt einen Artikel-Text zu einem Vertrag hinzu. Im Erfolgsfall wird 1 zurückgegeben.

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

Beispiel:

<?php
 
try {
	$success = $crmapi_contracts->addTextToList($contract_id, 'Das ist ein Text');
	echo $success;
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.8. changeArticleInList

Syntax:

int changeArticleInList( int $object_id, $position, $object_data )

Beschreibung: Überschreibt den Artikel an Position $position in der Artikelliste des Vertrages $object_id mit den Daten aus $object_data. Gibt true zurück bei Erfolg. Im Fehlerfall wird eine CRMException geworfen.


1.9. changeContract

Syntax:

int changeContract( int $contract_id, array $contract ) 

Beschreibung:

Ändert die Eigentschaften eines existierenden Vertrages.

Gibt die contract_id zurück.

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

Eigenschaften von contract array

die selben wie für addContract

Beispiel:

<?php
try {
    $crmapi_contracts = crmapi::contracts();
 
    $contract = array( 'shortdesc' => 'Changed Contract');
 
    $contract_id = $crmapi_contracts->changeContract( 1234, $contract );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $contract_id;



1.10. createFollowUp

(Version >= 4.1)

Syntax:

int createFollowUp($contract_id, $article_list_ids = false) 

Beschreibung:

Erzeugt einen Folgevertrag aus einem bestehenden Angebot und gibt bei Erfolg dessen ID zurück.

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

$contract_id ist die ID des Vertrags, aus dem ein Folgevertrag erzeugt werden soll.

$article_list_ids ist ein Array von Artikel-IDs aus der Artikelliste eines Vertrags. (optional)

Beispiel:

<?php
 
try {
    $result = $crmapi_contracts->createFollowUp($contract_id);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo "ID des Folgevertrag ist $result";



1.11. deleteContract

Syntax:

void deleteContract( int $contract_id ) 

Beschreibung:

Löscht eine Vertrag.

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

Beispiel:

<?php
 
try {
    $crmapi_contracts = crmapi::contracts();
 
    $return_val = $crmapi_contracts->deleteContract($contract_id);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.12. deleteRelation

(Version >= 4.2)

Syntax:

void deleteRelation( int $relation_id )

Beschreibung

Löscht eine Verknüpfung.

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

Beispiel:

<?php
 
try {   
    $crmapi_contracts = crmapi::contracts();
   
    $result = $crmapi_contracts->deleteRelation(1234);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.13. getAllExtIds

(Version >= 4.2)

Syntax:

array getAllExtIds( string $external_id )

Beschreibung

Liefert eine Liste aller externen IDs in Verträgen zurück.

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

Eigenschaften des zurückgegebenen contract ids array:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int			$id			      externe Task-Id 

Beispiel:

<?php
 
try {   
    $crmapi_contracts = crmapi::contracts();
   
    $result = $crmapi_contracts->getAllExtIds();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $id) {
    echo $id."<br>  ";
}



1.14. getArticles

(Version >= 4.1)

Syntax:

array getArticles($contract_id)

Beschreibung:

Gibt Artikelliste des Vertrages zurück.

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

Beispiel:

<?php
 
try {
    $articles = $crmapi_contracts->getArticles($contract_id);
	foreach($articles as $article) {
		foreach($article as $key => $val) {
			echo "$key => $val<br>\n";
		}
	}
    echo "<hr/>";
}
 
catch (CRMException $e) {
    echo $e->getMessage();
}



1.15. getChangedContracts

Syntax:

array getChangedContracts( int $timestamp ) 

Beschreibung:

Gibt ein Array mit Verträgen zurück die seit timestamp geändert wurden.

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

Eigenschaften von contracts array:

die selben wie für getContract

Beispiel:

<?php
try {
    $crmapi_contracts = crmapi::contracts();
   
    // Get contracts, which have been changed since the last 10 days
    $contracts = $crmapi_contracts->getChangedContracts( time() - 3600*24*10 );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $contracts as $contract) {
    foreach( $contract as $key => $val) {
        echo "$key => $val<br/>\n";
    }
} 



1.16. getChangedContractsLimit

Syntax:

array getChangedContractsLimit( int $timestamp, int $count, int $offset ) 

Beschreibung:

Gibt ein Array mit Verträgen zurück, die seit timestamp geändert wurden, eingeschränkt von count und offset.

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

Eigenschaften von contracts array:

die selben wie für getContract

Beispiel:

<?php
try {
    $crmapi_contracts = crmapi::contracts();
   
    // Get 10 contracts, which have been changed since the last 10 days
    $contracts = $crmapi_contracts->getChangedContractsLimit( time() - 3600*24*10, 10, 0 );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $contracts as $contract) {
    foreach( $contract as $key => $val) {
        echo "$key => $val<br/>\n";
    }
} 



1.17. getChangedContractsUserFields

Syntax:

array getChangedContractsUserFields( int $timestamp ) 

Beschreibung:

Gibt ein Array mit benutzerdefinierten Feldern zurück, die seit $timestamp geändert wurden.

Wirft eine CRMException im Fehlerfall.

Eigenschaften von ContractUserField:

die selben wie für das ContractUserField-Objekt in getContractUserFields

Beispiel:

<?php
try {
    $crmapi_contracts = crmapi::contracts();
     
    // Get contract user fields, which have been changed since the last 10 days.
    $contracts = $crmapi_contracts->getChangedContractsUserFields( time() - 3600*24*10 );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $contracts as $contract) {
    echo $contract['id'] . "<br />\n";
 
    foreach( $contract['user_fields'] as $key => $val) {
        echo "$key => $val<br/>\n";
    }
} 



1.18. getChangedContractsUserFieldsLimit

Syntax:

array getChangedContractsUserFieldsLimit( int $timestamp, int $count, int $offset )

Beschreibung:

Gibt ein Array mit benutzerdefinierten Feldern aus Verträgen zurück, die seit $timestamp geändert wurden, eingeschränkt von $count und $offset.

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

Beispiel:

<?php
try {
    $crmapi_contracts = crmapi::contracts();
 
    // Get only 10 contract user fields, which have been changed since the last 10 days.
    $contracts = $crmapi_contracts->getChangedContractsUserFieldsLimit( time() - 86400, 10, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $contracts as $contract) {
    echo $contract['id'] . "<br />\n";
 
    foreach( $contract['user_fields'] as $key => $val) {
        echo "$key => $val<br/>\n";
    }
} 



1.19. getContract

Syntax:

array getContract( int $contract_id ) 

Beschreibung:

Gibt ein Array mit contract results zurück.

contract_id ist die Contract-ID

Eigenschaften vom zurückgegebenen contract array:

Type(Length)            Property                  Description
---------------------------------------------------------------------------------------------
int                     $id                       Contract-Id 
int                     $ext_id                   Externe ID ( ab Version 4.2 )
int                     $number                   RealNumber des Vertrags
string(255)             $shortdesc                Kurzbeschreibung des Vertrags
string(255)             $cid                      Contact-Id, Format: Contact-Id:Person-Id
string(255)             $cname                    Kontakt-Name
string(255)             $category                 Kategorie des Vertrags
double                  $payoff                   Auszahlungsbetrag des Vertrages in €
double                  $payment_interval         Intervallzahlung des Vertrages in €
int                     $tax                      Steuer des Vertrages in Prozent
int                     $cdate                    Unix-Timestamp der Abschlussdatums
int                     $start                    Unix-Timestamp des Vertragsstarts
int                     $stop                     Unix-Timestamp des Vertragsendes
int                     $maturity                 Vertragsfälligkeit
                                                  0 = nicht wiederkehrend
                                                  1 = monatlich
                                                  2 = vierteljährlich
                                                  3 = jährlich
                                                  4 = keine
int                     $duration                 Vertragsdauer
                                                  0 =  1 Tag
                                                  1 =  1 Woche
                                                  2 =  1 Monat
                                                  3 =  3 Monate
                                                  4 =  6 Monate
                                                  5 = 12 Monate
                                                  6 = 24 Monate
                                                  7 = 36 Monate
                                                  8 = unbegrenzt
                                                  9 = keine
int                     $pid                      Project-Id
string(255)             $pname                    Projekt-Name
string(65535)           $notes                    Notizen
int                     $bankcollection           Bankeinzug (0 = Nein, 1 = Ja)
int                     $cancellationperiod       Kündigungsfrist des Vertrages
                                                  0 =  1 Tag
                                                  1 =  1 Woche
                                                  2 =  1 Monat
                                                  3 =  3 Monate
                                                  4 =  6 Monate
                                                  5 = 12 Monate
                                                  6 = 24 Monate
                                                  7 = keine
int                     $cancellation             Vertrag gekündigt (0 = Nein, 1 = Ja)
int                     $cancellationdays         Unix-Timestamp der Vertragskündigung
string(255)             $cancellationreason       Grund der Vertragskündigung

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)             $user20                   Benutzerdefiniertes Feld Nr. 20
string(255)             $user21                   Benutzerdefiniertes Feld Nr. 21
   :                       :                                   :
string(255)             $user80                   Benutzerdefiniertes Feld Nr. 80

Beispiel:

<?php
 
try {
    $crmapi_contracts = crmapi::contracts();
 
    $contract = $crmapi_contracts->getContract(12345);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $contract as $key => $val) {
    echo "$key => $val<br/>\n";
}



1.20. getContractFields

(Version >= 3.5)

Syntax:

array getContractFields() 

Beschreibung:

Gibt ein Array mit Information der Feldern für Vertrag 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 {
    $fields = $crmapi_contracts->getContractFields();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $fields as $key => $val) {
    echo $key ." => ". $val['label'] ."<br/>";
}



1.21. getContractIds

Syntax:

array getContractIds( int $timestamp ) 

Beschreibung:

Gibt ein Array mit Vertrags-IDs von Verträgen zurück, die seit timestamp geändert wurden (0 für alle).

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

Hinweis: Es werden nur IDs für Verträge geliefert, für die der authentifizierte Nutzer Leseberechtigungen hat.

Beispiel:

<?php
try {
    $crmapi_contracts = crmapi::contracts();
  
    // Get all contract ids, which have been modified since the last 10 days.
    $contract_ids = $crmapi_contracts->getContractIds( time() - 3600*24*10 );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $contract_ids as $id) {
    echo "$id<br/>\n";
}



1.22. getContractsFrom

Syntax:

array getContractsFrom( int $month, int $year ) 

Beschreibung:

Gibt ein Array mit Verträgen seit dem gegebenem Datum zurück.

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

Wenn month gesetzt ist werden nur Verträge aus diesem Monat zurückgegeben. Ist month auf 0 gesetzt werden Verträge für alle Monate zurückgegeben.

Wenn year gesetzt ist werden nur Verträge aus diesem Jahr zurückgegeben. Ist year auf 0 gesetzt werden Verträge für alle Jahr zurückgegeben.

Eigenschaften von contracts array:

die selben wie für getContract

Beispiel:

<?php
 
try {
    $crmapi_contracts = crmapi::contracts();
 
    $contracts = $crmapi_contracts->getContractsFrom(6, 2008);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $contracts as $contract) {
    foreach( $contract as $key => $val) {
        echo "$key => $val<br/>\n";
    }
} 



1.23. getContractUserFields

Syntax:

array getContractUserFields( int $contract_id ) 

Beschreibung:

Gibt ein Array mit allen benutzerdefinierten Feldern des Vertrags mit der gegebenen contract_id.

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

Eignenschaften von ContractUserField array:

Typ(Länge)              Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string(255)             Key                       Name des benutzerdefinierten Vertragsfeldes
string(255)             Value                     Wert des benutzerdefinierten Vertragsfeldes

Beispiel:

<?php
try {
	$crmapi_contracts = crmapi::contracts();
  
    $user_fields = $crmapi_contracts->getContractUserFields(12345);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
foreach( $user_fields as $key => $val) {
    echo "$key => $val<br/>\n";
}



1.24. getDuplicatecheckConfig

(Version >= 4.4)

Syntax:

array | string CRMException message getDuplicatecheckConfig( )

Beschreibung:

Gibt Array mit aktueller Feldkonfiguration der Dublettenprüfung zurück.

Sollte aktuell keine temporäre Überschreibung der Feldkonfiguration aktiv sein (siehe setDuplicatecheckConfig), wird die durch die Administration konfigurierte Feldliste als Array zurückgegeben.

Beispiel:

<?php
 
try { 
    $api    = crmapi::contracts();
    $fields = $api->getDuplicatecheckConfig();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo print_r($fields, true);



1.25. getIdByExtId

(Version >= 4.2)

Syntax:

array getIdByExtId( string $external_id )

Beschreibung

Liefert interne ID(s) von Verträgen mit der übergebenen externen ID zurück.

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

Eigenschaften des zurückgegebenen contract ids array:

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

Beispiel:

<?php
 
try {   
    $crmapi_contracts = crmapi::contracts();
   
    $result = $crmapi_contracts->getIdByExtId(12345);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $id) {
    echo $id."<br>  ";
}



1.26. getPermission

(Version >= 4.2.12362)

Syntax:

array getPermission( int $contract_id )

Beschreibung:

Gibt ein assoziatives $permissions array mit den Berechtigungen für den Vertrag mit der gegebenen $contract_id zurück.

Wirft eine CRMException im Fehlerfall.

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 {
	$crmapi_contracts = crmapi::contracts();
 
    $permissions = $crmapi_contracts->getPermission('123');
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($permissions as $type => $permission) {
 
    echo "Type: $type<br/>\n";
 
    foreach($permission as $single_id => $single_permissions) {
 
        echo "User id/Group id: $single_id<br/>\n";
 
		foreach($single_permission as $permission_type => $permission_set) {
			echo "$permission_type => $permission_set<br/>\n";
		}
    }
}



1.27. getRelations

(Version >= 4.2)

Syntax:

array getRelations( int $contract_id , int $type )

Beschreibung

Liefert eine Liste aller mit dem Vertrag verknüpften Objekte eines bestimmten Typs.

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

$contract_id ist interne ID des Vertrages, für den die Verknüpfungen ermittelt werden sollen.

$type ist der Typ der Verknüfungen, die ermittelt werden sollten. Für den Typ stehen folgende Konstanten zur Verfügung:

MODULE_CONTACTS ⇒ Kontakte

MODULE_CONTRACTS ⇒ Verträge

MODULE_OFFERS ⇒ Angebote

MODULE_ORDERS ⇒ Aufträge

MODULE_PROJECTS ⇒ Projekte

MODULE_TICKETS ⇒ Tickets

MODULE_ARTICLES ⇒ Artikel

Beispiel: Liefert alle mit dem Vertrag mit der ID 99 verknüpften Projekte

<?php
 
try {   
    $crmapi_contracts = crmapi::contracts();
   
    $result = $crmapi_contacts->getRelations(99, MODULE_PROJECTS);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
print_r($result);

1.28. gotoNextFlowStatus

(Version >= 4.1)

Syntax:

void gotoNextFlowStatus($contract_id) 

Beschreibung:

Setzt den Bearbeitungsstand des angegebenen Vertrags um eine Stufe nach oben.

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

Beispiel:

<?php
 
try {
    $crmapi_contracts->gotoNextFlowStatus($contract_id);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.29. removeArticleFromList

(Version >= 4.1)

Syntax:

array removeArticleFromList($contract_id, $article_id)

Beschreibung:

Löscht den Artikel mit der angegeben ID aus der Artikelliste des Vertrages. Im Erfolgsfall wird 1 zurückgegeben.

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

Beispiel:

<?php
 
try {
	$success = $crmapi_contracts->removeArticleFromList($contract_id, 11);
   
	echo $success;
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.30. searchContracts

(Version >= 3.4.4704)

Syntax:

array searchContracts(array $search_term, int $timestamp = false, int $count = false, int $offset = 0, array $sort = false) 

Beschreibung:

Gibt ein Array mit Verträgeinformationen zurück.

$search_term ist ein assoziatives Array, 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.

$timestamp ist die Unix-Zeit, wann der Vertrag geändert wurde.

$count ist die maximale Anzahl an Verträge, die zurückgegeben wird.

$offset ist die Offset Position der Ergebnisse, die zurückgegeben werden sollen.

Ab Version > 3.5 gibt's das Parameter $sort, um das Ergebnis zu sortieren.

Eigenschaften des $sort Array:

key            value                  Beschreibung
---------------------------------------------------------------------------------------------
cdate          ASC|DESC               Abschlussdatum sortieren

Eigenschaften des zurückgegebenen Array: die gleichen wie für getContract

Beispiel:

<?php
 
try {
    $crmapi_contracts = crmapi::contracts();
 
    //Example 1: Get the first 10 contracts with subject like '%CRM%' AND expiration date is 30.11.2011 AND have changed since 01.11.2011
    $search = array( 'subject'  => '%CRM%', 'cdate' => '1322607600' );
 
    $contracts  = $crmapi_contracts->searchContracts($search, 1320102000, 10, 0);
 
    //Example 2: Get the first 5 contracts with name like "tecart" OR like "crm" AND expiration date is 30.11.2011 AND have changed since 01.11.2011
    $search = array( 'subject'   => array('tecart', 'crm'),
                     'cdate'     => '1322607600' );
 
    $contracts  = $crmapi_contracts->searchContracts($search, 1320102000, 5, 0);
 
    //Example 1: Get all contracts and order by cdate DESC
    $search = array( 'subject'  => '%' );
 
    $contracts  = $crmapi_contracts->searchContracts($search, 1320102000, 0, 0, array('cdate' => 'DESC'));
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $contracts as $key => $val) {
    echo "$key => $val<br/>\n";
}



1.31. setDuplicatecheckConfig

(Version >= 4.4)

Syntax:

boolean|string CRMException message setDuplicatecheckConfig( [array( [string <fieldname>, string <fieldname>...]) | NULL] )

Beschreibung:

Ermöglicht eine temporäre Überschreibung der Dublettenprüfungsfelder für die Laufzeit der angemeldeten Session.

Standardübergabe ist ein leeres Array, was gleichbedeutend mit einer nicht stattfindenden Dublettenprüfung ist.

Zurückgesetzt werden kann die temporäre Dublettenprüfung Feldkonfiguration, wenn NULL anstatt eines Array übergeben wird.

Beispiel:

try {   
    $api     = crmapi::contracts();
    $fields  = array('subject', 'realnumber');
    // adding a contract will execute an exists-check looking for identical values in fields "subject" and "realnumber" 
    // and will result in an "object already exists" trigger
    $success = $api->setDuplicatecheckConfig($fields);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo ($success === true ? 'override successful' : $success);



1.32. setPermission

(Version >= 4.2.12362)

Syntax:

boolean setPermission( array $permission)

Beschreibung:

Setzt die Berechtigungen für einen einzelnen Vertrag.

Gibt true bei Erfolg zurück.

Wirft eine CRMException im Fehlerfall.

Eigenschaften von $permissions array:

Type(Length) Key Value


int cid Contract-ID 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 {
    $crmapi_contracts = crmapi::contracts();
 
    $permission = array(
		'cid'    => 1234,
		'users'  => array(
			'55' => array('read' => -1, 'write' => -1, 'delete' => -1)
		),
 		'groups' => array(
			'33' => array('read' => -1, 'write' => -1, 'delete' => -1)
		),
	);
 
    $success = $crmapi_contracts->setPermission($permission);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $success;



1.33. unlockContract

(Version >= 4.1)

Syntax:

int unlockContract(int $contract_id)

Beschreibung:

Gibt einen Vertrag zur Bearbeitung wieder frei. Gibt im Erfolgsfall 1 zurück.

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

Beispiel:

<?php
 
try {
    $result = $crmapi_contracts->unlockContract($contract_id);
 
    echo $result;
 
}
catch (CRMException $e) {
    echo $e->getMessage();
}
  • No labels