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

Bitte beachten Sie, dass seit TecArt Version 4.10 und aufwärts der SOAP Webservice nicht mehr weiterentwickelt wird. Ab der TecArt Version 5.1 ist der SOAP Webservice nicht mehr unterstützt.

Please note: with the release of TecArt version 4.10 onwards SOAP Webservice will no longer be updated or expanded. With the release of TecArt version 5.1, the soap webservice will be deprecated.

1. WSDL-URI

http://hostname/dirname/soap/index.php?op=contracts&wsdl

z.B. https://test.tecart-system.de/soap/index.php?op=contracts&wsdl

2. Methoden

2.1. crmgetContract

Syntax:

array crmgetContract( string $session_id, int $contract_id )

Beschreibung:

Gibt ein Array von Contract-Objekten mit nur einem Element zurück.

contract_id ist die Contract-ID.

Eigenschaften der zurückgegebenen contract Objekte:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
int                     $id                       Contract-Id 
int                     $ext_id                   Externe ID ( ab Version 4.2 )
int                     $number                   RealNumber des Vertrags
int                     $realnumber               RealNumber des Vertrags ( Alias $number, ab Version 4.2 )
string(255)             $shortdesc                Kurze Beschreibung des Vertrags
string(255)             $subject                  Kurze Beschreibung des Vertrags ( Alias $shortdesc, ab Version 4.2 )
string(255)             $cid                      Contact-Id, Format: Contact-Id:Person-Id
string(255)             $cname                    Kontakt-Name
string(255)             $category                 Kategorie des Vertrags
double                  $payoff                   Payoff Betrag des Auftrags in €
double                  $eurnetto                 Payoff Betrag des Auftrags in € ( Alias $payoff, ab Version 4.2 )
double                  $payment_interval         Zahlungsintervallbetrag des Vertrags in €
double                  $eurnetto2                Zahlungsintervallbetrag des Vertrags in € ( Alias $payment_interval, ab Version 4.2 )
int                     $tax                      Steuer des Vertrags in Prozent
int                     $date                     Unix-Timestamp der Vertragserstellung
int                     $cdate                    Unix-Timestamp der Vertragserstellung ( Alias $date, ab Version 4.2 )
int                     $start                    Unix-Timestamp des Vertragsbeginns
int                     $stop                     Unix-Timestamp des Vertragsendes
int                     $maturity                 Fälligkeit
                                                  0 = einmalig
                                                  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 des Vertragsrücktritts
string(255)             $cancellationreason       Grund des Vertragsrücktritts

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
string(255)             $user100                  Benutzerdefiniertes Feld Nr. 100 ( ab Version 4.2 )

Beispiel:

<?php
 
// Get contract with ID 91
 
ini_set("soap.wsdl_cache_enabled", "0");
 
try 
{
  	$client_logon = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=logon&wsdl");
    $session_id = $client_logon->crmLogin('test', 'test');
    if (!$session_id) {
		die("invalid login");
	}
 
   	$client_contracts = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=contracts&wsdl");
 
   	$result = $client_contracts->crmgetContract($session_id, 91);
}
catch (SOAPFault $f) {
  	print $f->faultstring;
}
 
foreach($result as $contract) {
  	foreach($contract as $key => $val) {
  		echo $key." => ".$val."<br>  \n";
        if (is_array($val)) {
			echo serialize($val);
		}
	}
}

2.2. crmgetContractsFrom

Syntax:

array crmgetContractsFrom( string $session_id, int $month, int $year )

Beschreibung:

Gibt ein Array mit Contract-Objekten vom angegebenen Datum an zurück.

Wenn month gesetzt ist werden nur Verträge dieses Monats zurückgegeben. Wenn month auf 0 gesetzt ist werden Verträge für alle Monate zurückgegeben.

Wenn year gesetzt ist werden nur Verträge dieses Jahres zurückgegeben. Wenn year auf 0 gesetzt ist werden Verträge für alle Jahre zurückgegeben.

Eigenschaften der zurückgegebenen contract Objekte:

sind die selben wie für crmgetContract

Beispiel:

<?php
 
// Get all contracts
 
$result = $client_contracts->crmgetContractsFrom($session_id, 0, 0);
 
foreach($result as $contract) {
	foreach($contract as $key => $val) {
        echo $key." => ".$val."<br>  \n";
        if (is_array($val)) {
			echo serialize($val);
		}
     }
     echo "<hr/>";
}



2.3. crmgetChangedContracts

Syntax:

array crmgetChangedContracts( string $session_id, int $timestamp )

Beschreibung:

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

Eigenschaften der zurückgegebenen contract Objekte:

sind die selben wie für crmgetContract

Beispiel:

<?php
 
// Get contracts modified in the last 30 days
 
$result = $client_contracts->crmgetChangedContracts($session_id, time() - 60 * 60 * 24 * 30);
 
foreach($result as $contract) {
  	foreach($contract as $key => $val) {
		echo "$key => $val<br>  \n";
        if (is_array($val)) {
			echo serialize($val);
		}
    }
    echo "<hr/>";
}

2.4. crmgetChangedContractsLimit

(Version >= 3.0.1549)

Syntax:

array crmgetChangedContractsLimit( string $session_id, int $timestamp, int $count, int $offset )

Beschreibung:

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

Eigenschaften der zurückgegebenen contract Objekte:

sind die selben wie für crmgetContract

Beispiel:

<?php
 
// Get first 10 contracts modified in the last 30 days
 
$result = $client_contracts->crmgetChangedContractsLimit($session_id, time() - 60 * 60 * 24 * 30, 10, 0);
 
foreach($result as $contract) {
  	foreach($contract as $key => $val) {
   		echo "$key => $val<br>  \n";
        if (is_array($val)) {
			echo serialize($val);
		}
    }
    echo "<hr/>";
}

2.5. crmgetContractIds

Syntax:

array crmgetContractIds( string $session_id, int $timestamp )

Beschreibung:

Gibt ein Array mit Contract Ids für Verträge zurück, die seit timestamp geändert wurden (0 für alle).

Hinweis: Es werden nur Verträge zurückgegeben, für die der authentifizierte Benutzer die Leseberechtigungen hat.

Properties:

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

Beispiel:

<?php
 
// Get all contract ids
 
$result = $client_contracts->crmgetContractIds($session_id, 0);
 
foreach($result as $contract) {
	echo $contract->id."<br>  ";
}

2.6. crmgetContractIdsString

(Version >= 3.0.1549)

Syntax:

string crmgetContractIdsString( string $session_id, int $timestamp )

Beschreibung:

Gibt eine Liste mit Contract Ids, deren Verträge seit timestamp geändert wurden(0 für alle), als Doppelpunkt-getrennten String zurück.

Hinweis: Es werden nur Verträge zurückgegeben, für die der authentifizierte Benutzer die Leseberechtigungen hat.

Beispiel:

<?php
 
// Get all contract ids
 
$result = $client_contracts->crmgetContractIdsString($session_id, 0);
 
$contract_ids = explode(":", $result);
 
foreach($contract_ids as $contract_id) {
  echo $contract_id."<br>  ";
}




2.7. crmaddContract

Syntax:

int crmaddContract( string $session_id, crmContractItem $crmContractItem )

Beschreibung:

Gibt eine contract_id bei Erfolg zurück, 0 bei einem Fehler.

Eigenschaften von crmContractItem:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int                     $number                   RealNumber des Vertrags
int                     $realnumber               RealNumber des Vertrags ( Alias $number, ab Version 4.2 )
int                     $ext_id                   Externe ID ( ab Version 4.2 )
string(255)             $shortdesc                Kurze Beschreibung des Vertrags
string(255)             $subject                  Kurze Beschreibung des Vertrags ( Alias $shortdesc, ab Version 4.2 )
string(255)             $cid                      Contact-Id, Format: Contact-Id:Person-Id
string(255)             $category                 Kategorie des Vertrags
double                  $payoff                   Payoff Betrag des Auftrags in €
double                  $eurnetto                 Payoff Betrag des Auftrags in € ( Alias $payoff, ab Version 4.2 )
double                  $payment_interval         Zahlungsintervallbetrag des Vertrags in €
double                  $eurnetto2                Zahlungsintervallbetrag des Vertrags in € ( Alias $payment_interval, ab Version 4.2 )
int                     $tax                      Steuer des Vertrags in Prozent
int                     $date                     Unix-Timestamp der Vertragserstellung
int                     $cdate                    Unix-Timestamp der Vertragserstellung ( Alias $date, ab Version 4.2 )
int                     $start                    Unix-Timestamp des Vertragsbeginns
int                     $stop                     Unix-Timestamp des Vertragsendes
int                     $maturity                 Fälligkeit
                                                  0 = einmalig
                                                  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(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 Kündigung
string(255)             $cancellationreason       Grund der Kündigung

string(255)             $user20                   Benutzerdefiniertes Feld Nr. 20
string(255)             $user21                   Benutzerdefiniertes Feld Nr. 21
   :                       :                                   :
string(255)             $user80                   Benutzerdefiniertes Feld Nr. 80
string(255)             $user100                  Benutzerdefiniertes Feld Nr. 100 ( ab Version 4.2 )

Beispiel:

<?php
 
// Add new contract
 
class contract 
{
  public $id;
     public $number;
     public $cid;
     public $pid;
     public $shortdesc;
     public $payoff;
     public $payment_interval;
     public $tax;
     public $date;
     public $start;
     public $stop;
     public $maturity;
     public $duration;
     public $category;
     public $notes;
     public $bankcollection;
     public $cancellationperiod;
     public $cancellation;
     public $cancellationdays;
     public $cancellationreason;
     public $user20;
     public $user21;
}
 
$contract = new contract();
$contract->shortdesc			= 'Webservice Development';
$contract->payoff    			= 899.50;
$contract->payment_interval 	= 89.95;
$contract->tax       			= 19;
$contract->date    				= mktime(0,0,0, 6,19,2008);
$contract->start     			= mktime(0,0,0, 6,19,2008);
$contract->maturity    			= mktime(0,0,0, 6,30,2008);
$contract->duration    			= 6;
$contract->notes   				= 'wichtig';
$contract->cancellationperiod  	= 3;
$contract->pid     				= 360;
$contract->cid     				= '5485:5336';
 
$contract_id = $client_contracts->crmaddContract($session_id, $contract);
echo $contract_id;

2.8. crmaddContracts

Syntax:

boolean crmaddContracts( string $session_id, crmContractItems $crmContractItems )

Beschreibung:

Fügt mehrere Verträge mti einem Webservice-Methoden-Aufruf hinzu.

Gibt 1 bei Erfolg, 0 bei einem Fehler zurück.

Eigenschaften von crmContractItems:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
crmContractItems        $crmContractItems         Array mit crmContractItems Objekten

Beispiel:

<?php
 
// Add multiple contracts
 
$contract1 = new contract();
$contract1->shortdesc    		= 'Webservice Development';
$contract1->payoff     			= 899.50;
$contract1->payment_interval   	= 89.95;
$contract1->tax    				= 19;
$contract1->date     			= mktime(0,0,0, 6,19,2008);
$contract1->start    			= mktime(0,0,0, 6,19,2008);
$contract1->maturity    		= mktime(0,0,0, 6,30,2008);
$contract1->pid      			= 360;
 
$contract2 = new contract();
$contract2->shortdesc	= 'Webservice update';
$contract2->payoff     	= 199.00;
$contract2->tax    		= 19;
$contract2->date     	= mktime(0,0,0, 6,19,2008);
$contract2->start    	= mktime(0,0,0, 6,19,2008);
$contract2->maturity    = mktime(0,0,0, 6,30,2008);
 
$contracts = array('crmContractItems' => array($contract1, $contract2));
 
$success = $client_contracts->crmaddContracts($session_id, $contracts);
if ($success === false) {
	echo "Error adding contracts.";
}

2.9. crmchangeContract

Syntax:

int crmchangeContract( string $session_id, int $contract_id, crmContractItem $crmContractItem )

Beschreibung:

Ändert Eigenschaften eines bestehenden Vertrages.

Gibt die contract_id bei Erfolg, 0 bei einem Fehler zurück.

Eigenschaften von crmContractItem:

sind die selben wie für crmaddContract

Beispiel:

<?php
 
// Change short Beschreibung of contract with ID 91
 
$contract = new contract();
$contract->shortdesc = 'New Webservice Development';
 
$contract_id = $client_contracts->crmchangeContract($session_id, 91, $contract);
echo $contract_id;

2.10. crmchangeContracts

Syntax:

boolean crmchangeContracts ( string $session_id, crmContractItems $crmContractItems )

Beschreibung:

Ändert Eigenschaften bestehender Verträge.

Gibt 1 bei Erfolg, 0 bei einem Fehler zurück.

Eigenschaften von crmContractItems:

sind die selben wie für crmaddContracts

Beispiel:

<?php
 
$contract1 = array(
	'id'		=> 102,
    'shortdesc' => 'Webservice Contracts - Development'
);
 
$contract2 = array(
	'id'           		=> 91,
	'payment_interval'	=> 10.00,
	'cancellation' 		=> 1
);
 
$contracts = array('crmContractItems' => array($contract1, $contract2));
 
$success = $client_contracts->crmchangeContracts($session_id, $contracts);
if ($success === false) {
	echo "Error editing contracts.";
}

2.11. crmdeleteContract

Syntax:

boolean crmdeleteContract( string $session_id, int $contract_id )

Beschreibung:

Löscht einen Vertrag. Gibt 1 bei Erfolg, 0 bei einem Fehler zurück.

Beispiel:

<?php
 
// Delete contract with ID 91
 
$success = $client_contracts->crmdeleteContract($session_id, 91);
if (!$success) {
	echo "Unable to delete contract.";
}

2.12. crmdeleteContracts

Syntax:

boolean crmdeleteContracts( string $session_id, string $contract_ids )

Beschreibung:

Löscht mehrere Verträge. Gibt 1 bei Erfolg, 0 bei einem Fehler zurück.

contract_ids ist eine Doppelpunkt getrennte Zeichenfolge mit Contract-IDs.

Beispiel:

<?php
 
//Delete multiple contracts with ID 91, 92 and 101
 
$contract_ids = "91:92:101";
    
$success = $client_contracts->crmdeleteContracts($session_id, $contract_ids);
   
if (!$success) {
	echo "Unable to delete contracts.";
}
else {
	echo "Success!<br>";
}

2.13. crmgetContractUserFields

(Version >= 3.1.3280)

Syntax:

array crmgetContractUserFields( string $session_id, int $contract_id )

Beschreibung:

Gibt ein Array mit Benutzerdefinierten Feldern für Verträge zurück.

contract_id is the Contract-ID.

Eigenschaften der zurückgegebenen contract userfields Objekte:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
array                   $ContractUserFields       Array mit ContractUserField Objekte - Feldnamen und deren Werte

Eigenschaften von ContractUserField:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $name                     Name des benutzerdefinierten Vertrags-Feldes
string(255)             $value                    Wert des benutzerdefinierten Vertrags-Feldes

Beispiel:

<?php
 
// Get userdefined fields of contract with ID 100
    
$result = $client_contracts->crmgetContractUserFields($session_id, 100);
 
foreach($result[0]->ContractUserFields as $field) {
	echo $field->name." => ".utf8_decode($field->value)."<br>  \n";
}

2.14. crmgetChangedContractsUserFields

(Version >= 3.1.3280)

Syntax:

array crmgetChangedContractsUserFields( string $session_id, int $timestamp )

Beschreibung:

Gibt ein Array mit Benutzerdefinierten Vertragsfeldern zurück, die seit $timestamp geändert wurden

Eigenschaften der zurückgegebenen contract userfields Objekte:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int                     $id                       Contract-Id 
array                   $ContractUserFields       Array mit ContractUserField Objekte - Feldnamen und deren Werte

Eigenschaften von ContractUserField:

sind die selben wie für ContractUserField object in crmgetContractUserFields

Beispiel:

<?php
 
// Get userdefined fields of contracts modified in the last 30 days
    
$result = $client_contracts->crmgetChangedContractsUserFields($session_id, time() - 60 * 60 * 24 * 30);
 
foreach ($result as $contract) {
	echo "Contract-ID: ".$contract->id."<br>  <br>  \n";
   
  	foreach($contract->ContractUserFields as $field) {
  		echo $field->name." => ".utf8_decode($field->value)."<br>\n";
  	}
  	echo "<hr>\n";
}

2.15. crmgetChangedContractsUserFieldsLimit

(Version >= 3.1.3280)

Syntax:

array crmgetChangedContractsUserFieldsLimit( string $session_id, int $timestamp, int $count, int $offset )

Beschreibung:

Gibt ein Array mit Benutzerdefinierten Vertragsfeldern zurück, die seit $timestamp geändert wurden, limitiert von $count und $offset.

Eigenschaften der zurückgegebenen contract userfields Objekte:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
int                     $id                       Contract-Id 
array                   $ContractUserFields       Array mit ContractUserField Objekte - Feldnamen und deren Werte

Eigenschaften von ContractUserField:

sind die selben wie für ContractUserField object in crmgetContractUserFields

Beispiel:

<?php
 
// Get userdefined fields of first 10 contracts modified in the last 30 days
    
$result = $client_contracts->crmgetChangedContractsUserFieldsLimit($session_id, time() - 60 * 60 * 24 * 30, 10, 0);
 
foreach ($result as $contract) {
   
	echo "Contract-ID: ".$contract->id."<br>  <br>  \n";
   
	foreach($contract->ContractUserFields as $field) {
  		echo $field->name." => ".utf8_decode($field->value)."<br>\n";
  	}
  	echo "<hr>\n";
}

2.16. crmsearchContracts

(Version >= 3.4.5398)

Syntax:

array crmsearchContracts ( string $session_id, crmsearchContractsItems $crmsearchContractsItems, int $timestamp, int $count, int $offset )

Beschreibung:

Liefert ein Array mit Verträge-Objekten.

crmsearchContractsItems ist ein Objekt mit Suchparametern.

count ist die maximale Anzahl an Ergebnissen, die zurückgegeben werden soll.

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

timestamp Unix-Timestamp der letzten Änderung.

Elemente von crmsearchContractsItems werden mit 'AND' verknüpft.

Elemente von crmsearchContractsItemValues werden mit 'OR' verknüpft.

Eigenschaften von crmsearchContractsItems:

Type(Length)      Eigenschaft                             Beschreibung
------------------------------------------------------------------------------------------- 
string(255)       $field                                  Feldname
string(255)       $crmsearchContractsItemValues           Objekt mit Suchvariable. 

Eigenschaften von crmsearchContractsItemValues:

Type(Length)      Eigenschaft                             Beschreibung
------------------------------------------------------------------------------------------- 
string(255)       $value                                  Suchvariable

Eigenschaften der zurückgegebenen array:

sind die selben wie für crmgetContract

Beispiel :

<?php
 
//Example 1:  Get 5 contracts with shortdesc LIKE 'tecart' AND notes LIKE '%crm%'.
$search['crmsearchContractsItems'] = array(
	array(
		'field' 						=> 'shortdesc', 
		'crmsearchContractsItemValues' 	=> array(
			array('value' => 'tecart')
		)
	), 
  	array(
		'field' 						=> 'notes',
		'crmsearchContractsItemValues' 	=> array(
			array('value' => '%crm%')
		)
	) 
);
 
//Example 2:  Get 5 contracts with shortdesc LIKE '%crm%' OR LIKE 'tecart'
$search['crmsearchContractsItems'] = array( 
	array(
		'field' 						=> 'shortdesc', 
		'crmsearchContractsItemValues' 	=> array(
			array('value' => '%crm%'),
  			array('value' => 'tecart')
		)
	)
);
 
$result = $client_contracts->crmsearchContracts($session_id, $search, false, false, 0);
 
foreach($result as $contract) {
	print_r($contract);
}

2.17. crmgetContractFields

(Version >= 3.5)

Syntax:

array crmgetContractFields( string $session_id )

Beschreibung:

Gibt ein Array mit Information der Feldern für Contract 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                       Fortlaufende Nummer
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 = $client_contracts→crmgetContractFields($session_id); } catch (CRMException $e) {
	echo $e->getMessage();
}

foreach( $fields as $val) {
  	echo $val->field ."<br/>";
}



2.18. crmCreateFollowUp

(Version >= 4.1)

Syntax:

int crmCreateFollowUp($session_id, $contract_id, $article_list_ids = false)

Beschreibung:

Erzeugt einen Folgevertrag aus einem bestehenden Vertrag 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 eine Doppelpunkt-getrennte Liste von Artikel-IDs aus der Artikelliste eines Angebotes. (optional)

Beispiel:

<?php

try {
	$result = $client_contracts->crmCreateFollowUp($session_id, $contract_id);
} 
catch (CRMException $e) {
  	echo $e->getMessage();
}

echo "ID des Folgevertrag ist $result";



2.19. crmGotoNextFlowStatus

(Version >= 4.1)

Syntax:

void crmGotoNextFlowStatus($session_id, $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 {
	$client_contracts->crmGotoNextFlowStatus($session_id, $contract_id);
} 
catch (CRMException $e) {
  	echo $e->getMessage();
}




2.20. crmUnlockContract

(Version >= 4.1)

Syntax:

void crmUnlockContract($session_id, $contract_id)

Beschreibung:

Gibt einen Vertrag zur Bearbeitung wieder frei. Gibt im Erfolgsfall die ID des Vertrags zurück.

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

Beispiel:

<?php
 
try {
  	$client_contracts->crmUnlockContract($session_id, $contract_id);
}
catch (SOAPFault $f) {
  	print $f->faultstring;
}

2.21. crmgetIdByExtId

(Version >= 4.2)

Syntax:

array crmgetIdByExtId( string $session_id, int $ext_id )

Beschreibung

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

Eigenschaften der zurückgegebenen contract Objekte:

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

Beispiel:

<?php
 
try {
  	$result = $client_contracts->crmgetIdByExtId($session_id, 12345);
}
catch (SOAPFault $f) {
  	print $f->faultstring;
}
 
foreach($result as $id) {
    echo $id."<br>  ";
}

2.22. crmgetAllExtIds

(Version >= 4.2)

Syntax:

array crmgetAllExtIds( string $session_id )

Beschreibung

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

Eigenschaften der zurückgegebenen contract Objekte:

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

Beispiel:

<?php
 
try { 
  	$result = $client_contracts->crmgetAllExtIds($session_id);
}
catch (SOAPFault $f) {
  	print $f->faultstring;
}
 
foreach($result as $id) {
    echo $id."<br>  ";
}

2.23. crmgetPermission

(Version >= 4.2.12362)

Syntax:

array crmgetPermission ( string $session_id, int $contract_id )

Beschreibung:

Gibt ein Array mit einem Element des Typs crmgetPermissionResult zurück.

Eigenschaften von crmgetPermissionResult:

Type(Length)      Eigenschaft                     Beschreibung
---------------------------------------------------------------------------------------
array             $crmUserPermissionElements   Array mit crmUserPermissionElement Objekte
array             $crmGroupPermissionElements  Array mit crmGroupPermissionElement Objekte

Eigenschaften von crmUserPermissionElement:

Type(Length)      Eigenschaft                     Beschreibung
---------------------------------------------------------------------------------------
int               $id                          Userid
int               $read                        1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
int               $write                       1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
int               $delete                      1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert

Eigenschaften von crmGroupPermissionElement:

Type(Length)      Eigenschaft                     Beschreibung
---------------------------------------------------------------------------------------
int               $id                          Groupid
int               $read                        1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
int               $write                       1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
int               $delete                      1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert 

Beispiel:

<?php
 
$result = $client_contracts->crmgetPermission($session_id, 4742);
 
$permission = $result[0];
 
echo "Users:<br>";
 
foreach($permission->crmUserPermissionElements as $userperm) {
     
    echo "Userid: {$userperm->id}<br>  ";
    echo "Read:   {$userperm->read}<br>  ";
    echo "Write:  {$userperm->write}<br>  ";
    echo "Delete: {$userperm->delete}<br>  ";
}

2.24. crmsetPermission

(Version >= 4.2.12362)

Syntax:

boolean crmsetPermission ( string $session_id, crmPermission $crmPermission )

Beschreibung:

Setzt die Berechtigungen eines einzelnen Kontakts.

Eigenschaften von crmPermission:

Type(Length)      Eigenschaft                     Beschreibung
---------------------------------------------------------------------------------------
int               $cid                         Contract Id
array             $crmUserPermissionElements   Array mit crmUserPermissionElement Objekte
array             $crmGroupPermissionElements  Array mit crmGroupPermissionElement Objekte

Eigenschaften von crmUserPermissionElement:

Type(Length)      Eigenschaft                     Beschreibung
---------------------------------------------------------------------------------------
int               $id                          Userid
int               $read                        1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
int               $write                       1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
int               $delete                      1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert 

Eigenschaften von crmGroupPermissionElement:

Type(Length)      Eigenschaft                     Beschreibung
---------------------------------------------------------------------------------------
int               $id                          Userid
int               $read                        1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
int               $write                       1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
int               $delete                      1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert 

Beispiel:

<?php
 
class user_permission {
     
     public $id;
     public $read;
     public $write;
     public $delete;
       
     function __construct($id, $r, $w, $x)
     {
       $this->id = $id;
      $this->read = $r;
      $this->write = $w;
      $this->delete = $x;
     }
}
 
$crmPermission = array('cid' => 4742, 'crmUserPermissionElements' => array(new user_permission(4, 1, 1, -1)));
$result = $client_contracts->crmsetPermission($session_id, $crmPermission);
 



2.25. crmaddRelation

(Version >= 4.2)

Syntax:

int crmaddRelation( string $session_id, 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 SOAPFault 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 Werte zur Verfügung:

1 ⇒ Kontakte

3 ⇒ Projekte

4 ⇒ Verträge

5 ⇒ Angebote

6 ⇒ Tickets

12 ⇒ Artikel

20 ⇒ Aufträge

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

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

<?php
 
try {
  $result = $client_contracts->crmaddRelation($session_id, 99, 4, 20);
}
catch (SOAPFault $f) {
  print $f->faultstring;
}
 
echo $result;



2.26. crmdeleteRelation

(Version >= 4.2)

Syntax:

void crmdeleteRelation( string $session_id, int $relation_id )

Beschreibung

Löscht eine Verknüpfung.

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

Beispiel:

<?php
 
try {
  $result = $client_contracts->crmdeleteRelation($session_id, 1234);
}
catch (SOAPFault $f) {
  print $f->faultstring;
}

2.27. crmgetRelations

(Version >= 4.2)

Syntax:

array crmgetRelations( string $session_id, 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 SOAPFault 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 Werte zur Verfügung:

1 ⇒ Kontakte

3 ⇒ Projekte

4 ⇒ Verträge

5 ⇒ Angebote

6 ⇒ Tickets

12 ⇒ Artikel

20 ⇒ Aufträge

Beispiel: Liefert alle mit dem Vertrag mit der ID 99 verknüpften Verträge

<?php
 
try {
  $result = $client_contracts->crmgetRelations($session_id, 99, 4);
}
catch (SOAPFault $f) {
  print $f->faultstring;
}
 
print_r($result);

2.28. crmGetArticles

(Version >= 4.1)

Syntax:

array crmGetArticles($session_id, $contract_id)

Beschreibung:

Gibt Artikelliste des Vertrages zurück.

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

Beispiel:

<?php
 
try {
  $articles = $client_contracts->crmGetArticles($session_id, $contract_id);
   
     foreach($articles as $article) {
       foreach($article as $key => $val) {
  echo "$key => $val<br>\n";
  }
     }
     echo "<hr/>";
 
}
catch (SOAPFault $f) {
  print $f->faultstring;
}

2.29. crmAddArticleToList

(Version >= 4.1)

Syntax:

array crmAddArticleToList($session_id, $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 = $client_contracts->crmAddArticleToList($session_id, $contract_id, 10);    
     echo $success;
 
}
catch (SOAPFault $f) {
  print $f->faultstring;
}
 

2.30. crmAddTextToList

(Version >= 4.1)

Syntax:

array crmAddTextToList($session_id, $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 = $client_contracts->crmAddTextToList($session_id, $contract_id, 'Das ist ein Text');
     echo $success;
 
}
catch (SOAPFault $f) {
  print $f->faultstring;
}

2.31. crmAddSpecialToList

(Version >= 4.1)

Syntax:

array crmAddSpecialToList($session_id, $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 = $client_contracts->crmAddSpecialToList($session_id, $contract_id, $data);
   echo $success;
 
}
catch (SOAPFault $f) {
  print $f->faultstring;
}

2.32. crmAddGrouplineToList

(Version >= 4.1)

Syntax:

array crmAddGrouplineToList($session_id, $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 = $client_contracts->crmAddGrouplineToList($session_id, $contract_id, $data);
   echo $success;
 
}
catch (SOAPFault $f) {
  print $f->faultstring;
}

2.33. crmAddMultipleToList

(Version >= 4.1)

Syntax:

array crmAddMultipleToList($session_id, $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 crmAddArticleToList, crmAddTextToList, crmAddSpecialToList und crmAddGrouplineToList. Die Unterscheidung erfolgt über das Feld "type".

Eigenschaften:

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

Beispiel:

<?php
 
try {
 
   $items = array();
 
   $items['crmMultipleListItems'][] = array('type' => 'article', 'id' => 10);
   $items['crmMultipleListItems'][] = 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['crmMultipleListItems'][] = $specialItem;
 
   $data = array(
     'quantity' => 3,
     'name'   => 'API Groupline',
     'description'  => 'API Groupline',
     'taxrate'    => 19,
     'discount' => 100,
     'interval' => 1,
     'type'   => 'groupline'
   );
   $items['crmMultipleListItems'][] = $specialItem;
   
 
   $success = $client_contracts->crmAddMultipleToList($session_id, $contract_id, $items);
 
   echo $success;
 
}
catch (SOAPFault $f) {
  print $f->faultstring;
}

2.34. crmRemoveArticleFromList

(Version >= 4.1)

Syntax:

array crmRemoveArticleFromList($session_id, $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 = $client_contracts->crmRemoveArticleFromList($session_id, $contract_id, 11);
   
     echo $success;
 
}
catch (SOAPFault $f) {
  print $f->faultstring;
}

2.35. crmsetDuplicateConfig

(Version >= 4.4)

Syntax:

int | string <errormessage> crmDuplicateConfig( string $session_id, crmDuplicatecheckFields $crmDuplicatecheckFields )

Beschreibung:

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

Eigenschaften des zu übergebenden crmDuplicatecheckFields Objektes:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
string			        $fields			     implodiertes Array ( implode(',', $myFields) ) mit gewünschten Feldern, 
						                     auf die eine Dublettenprüfung angewendet werden soll;
						                     wenn Eigenschaft auf NULL gesetzt wird, wird Override zurückgesetzt

Beispiel:

<?php
 
ini_set("soap.wsdl_cache_enabled", "0");
 
try {
  $client_logon = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=logon&wsdl");
     $session_id = $client_logon->crmLogin('test', 'test');
     if (!$session_id) die("invalid login");
 
   $client_contracts = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=contracts&wsdl");
 
   $fields  = array('fields' => implode(',', array('subject', 'realnumber')) );
   $success = $client_contracts->crmsetDuplicateConfig($session_id, $fields);
}
catch (SOAPFault $f) {
  print $f->faultstring;
}
 
echo ($success == 1 ? 'override successful' : $success);



2.36. crmgetDuplicateConfig

(Version >= 4.4)

Syntax:

string crmgetDuplicateConfig( string $session_id )

Beschreibung:

Gibt implodiertes Array als Zeichenkette 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
 
ini_set("soap.wsdl_cache_enabled", "0");
 
try {
  $client_logon = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=logon&wsdl");
     $session_id = $client_logon->crmLogin('test', 'test');
     if (!$session_id) die("invalid login");
 
   $client_contracts = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=contracts&wsdl");
 
   $fields = $client_contracts->crmgetDuplicateConfig($session_id);
}
catch (SOAPFault $f) {
  print $f->faultstring;
}
 
$fields = explode(',', $fields);
echo print_r($fields, true);
 
  • No labels