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=docs&wsdl

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

2. Methoden

2.1. crmgetTree

Syntax:

array crmgetTree( string $session_id, string $module, string $root_path, int $recursive, int $changed_timestamp, int $user_id, int $object_id, int $get_readable_only)

Beschreibung:

Gibt ein Array der angegebenen Dokument Tree-Objekte (Dokumente und Ordner) oder einen SOAP-Fehler mit Fehler Detailinformationen. Die zurückgegebenen Dokumente müssen durch das TecArt-System zuerst angelegt indiziert werden.

$module (obligatorisch): Diese Variable muss einen der folgenden Strings enthalten:

- offers: Dokumente vom ausgewähltem Angebot (das Setzen der Variable $object_id ist obligatorisch)
- contracts: Dokumente vom ausgewähltem Vertrag (das Setzen der Variable $object_id ist obligatorisch)
- calls: Dokumente vom ausgewähltem Anruf (das Setzen der Variable $object_id ist obligatorisch)
- todo: Dokumente von der ausgewählten Aufgabe (das Setzen der Variable $object_id ist obligatorisch)
- dates: Dokumente vom ausgewähltem Termin (das Setzen der Variable $object_id ist obligatorisch)
- projects: Dokumente vom ausgewähltem Projekt (das Setzen der Variable $object_id ist obligatorisch)
- contacts: Dokumente vom ausgewähltem Kontakt(das Setzen der Variable $object_id ist obligatorisch)
- tickets: Dokumente vom ausgewähltem Ticket(das Setzen der Variable $object_id ist obligatorisch)
- articles: Dokumente vom ausgewähltem Artikel (das Setzen der Variable $object_id ist obligatorisch)
- orders: Dokumente vom ausgewähltem Auftrag (das Setzen der Variable $object_id ist obligatorisch)
- notes: Dokumente vom ausgewählter Notiz (das Setzen der Variable $object_id ist obligatorisch)
- payments: Dokumente vom ausgewählter Zahlung (das Setzen der Variable $object_id ist obligatorisch)
- invoices: Dokumente vom ausgewählter Ausgangsrechnung (das Setzen der Variable $object_id ist obligatorisch)
- purchases: Dokumente vom ausgewählter Eingangsrechnung (das Setzen der Variable $object_id ist obligatorisch)
- ressources: Dokumente vom ausgewählter Ressource (das Setzen der Variable $object_id ist obligatorisch)
- forum: Dokumente vom ausgewähltem Forum-Thema (das Setzen der Variable $object_id ist obligatorisch)
- clientaccounts: Dokumente vom ausgewähltem Rechnungskonto (das Setzen der Variable $object_id ist obligatorisch)
- deliveries: Dokumente vom ausgewähltem Lieferschein (das Setzen der Variable $object_id ist obligatorisch)
- vouchers: Dokumente vom ausgewählter Gutschrift (das Setzen der Variable $object_id ist obligatorisch)
- admonitions: Dokumente vom ausgewählter Mahnung (das Setzen der Variable $object_id ist obligatorisch)
- cashjournals: Dokumente vom ausgewähltem Kassenbuch-Eintrag (das Setzen der Variable $object_id ist obligatorisch)
- user_docs: Dokumente vom ausgewähltem Nutzer (das Setzen der Variable $user_id ist obligatorisch)
- common: Dokumente aus den gemeinsamen Dokumenten
- domaintemplates: domaintemplate Dokumente
- drafts: Dokumenten-Vorlagen
- dashboard: Startbildschirm-Vorlagen
- ticketdrafts: Ticket-Vorlagen
- folderdrafts: Ordner-Vorlagen
- mailtemplates: E-Mail-Vorlagen
- reportingtemplates: Auswertungen-Vorlagen
- billingdrafts: Systemvorlagen für Rechnungs-Module
- billingemaildrafts: E-Mail-Vorlagen für Rechnungs-Module
- ressourcetemplates: ressourcetemplates Dokumente
- contacttemplates: contacttemplates Dokumente
- ordertemplates: persontemplates Dokumente
- persontemplates: persontemplates Dokumente
- projecttemplates: projecttemplates Dokumente
- contracttemplates: contracttemplates Dokumente
- offertemplates: offertemplates Dokumente
- tickettemplates: tickettemplates Dokumente
- articletemplates: articletemplates Dokumente
- invoicetemplates: invoicetemplates Dokumente
- admonitiontemplates: admonitiontemplates Dokumente
- deliverytemplates: deliverytemplates Dokumente
- vouchertemplates: vouchertemplates Dokumente
- client_accounttemplates: client_accounttemplates Dokumente
- paymenttemplates: paymenttemplates Dokumente
- cash_journals_entrytemplates: cash_journals_entrytemplates Dokumente

$root_path (obligatorisch):

- dierelative Basis Pfad zur Wurzel des ausgewählten Moduls oder Objekt

- UTF-8 kodierter String wird erwartet

$recursive (optional):

- kann 0 (gibt nur Dokumente aus der ersten $root_path Ebene) oder 1 (liefert alle Dokumente, rekursiv, beginnend mit dem $root_path Ebene) sein

$changed_timestamp (optional, -1 wenn nicht verwendet):

- Wenn gesetzt (UNIX Timestamp-Format) werden alle nach dem $changed_timestamp geänderten oder erstellten Dokument-Tree-objekte zurückgegeben

- auf -1 setzen, um alle Dokumente zu bekommen

$user_id (optional, -1 wenn nicht verwendet):

- muss festgelegt sein, wenn Sie das "user_docs" Modul verwenden

- Wenn auf 1 gesetzt werden nur Dokumente / Verzeichnisse zurückgeliefert, bei denen der Benutzer Zugriff auf Webservices hat,

$object_id (optional, -1 wenn nicht verwendet):

- muss festgelegt sein, wenn Sie eines der folgenden Module verwenden: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objektes

$get_readable_only (optional, -1 wenn nicht verwendet):

- Wenn auf 1 gesetzt werden nur Dokumente / Verzeichnisse zurückgeliefert, bei denen der Benutzer Zugriff auf Webservices hat,

Eigenschaften der zurückgegebenen crmgetTreeResultElement elements :

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $path                     relativer Pfad zu dem Dokument
string(255)             $title                    Titel des Dokuments
string(255)             $keywords                 Dokument Stichwort
int                     $category                 ID einer einzigen Kategorie
int                     $filesize                 die Dateigröße des Dokuments (0 wenn Verzeichnis)
int                     $dtime                    Unix-Timestamp der Dokumenten- Löschung
int                     $duser                    Userid der Dokumenten- Löschung
int                     $ctime                    Unix-Timestamp der letzten Dokumentenbearbeitung
int                     $cuser                    Userid der letzten Dokumentenbearbeitung
int                     $otime                    Unix-Timestamp des letzte Dokument Downloads / Öffnens
int                     $ouser                    Userid des letzte Dokument Downloads / Öffnens
int                     $etime                    Unix-Timestamp der letzten Dokumentenerstellung
int                     $euser                    Userid der Dokumentenerstellung
int                     $itime                    Unix-Timestamp der letzten Indexierung des Dokuments
int                     $iuser                    Userid der letzten Indexierung des Dokuments
int                     $pid                      Projekt ID
int                     $ext_id                   Externe ID ( ab Version 4.2 )
int                     $edit                     1 wenn das Dokument derzeit in Bearbeitung ist, 0 wenn nicht
int                     $edituser                 Userid des Benutzers der das Dokument bearbeitet
int                     $authuser                 Userid des authentifizierten Nutzers
int                     $version                  Version
int                     $folder                   0 wenn es ein Dokument ist, 1 wenn es ein Ordner ist 
string(255)             $mimetype                 der Mimetyp des Dokuments
string(255)             $modul                    der Name des Moduls 
text                    $content                  base64-kodierter (optional: comprimierter) Dokumenteninhalt, nur in crmgetDocument genutzt
array                   $crmGroupPermissionElements array mit $crmGroupPermissionElement Objekten
array                   $crmUserPermissionElements array mit $crmUserPermissionElement Objekten

Eigenschaften von crmGroupPermissionElement and crmUserPermissionElement :

Type(Length)         Eigenschaft        Beschreibung
---------------------------------------------------------------------------------------------
int                  $id                User - oder Gruppen-ID der crmPermissionItem's Werte
int                  $read              1 = Leseberechtigung, 0 = keine Leseberechtigung, -1 = keine Leseberechtigung und keine Vererbung der Gruppenrechte
int                  $write             1 = Schreibrechte, 0 = keine Schreibrechte, -1 = keine Schreibrechte und kein Vererbung der Gruppenrechte
int                  $delete            1 = Löschrechte, 0 = keine Löschrechte, -1 = keine Löschrechte und keine Vererbung der Gruppenrechte

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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
   /**
    * this example fetches all common documents changed after 01.08.2008
    */
 
	// the TecArt-System module
	$module         = "common";
 	// we want all the docs from the parent directory "new_docs"
   	$base_directory = utf8_encode("new_docs");
	// fetch the complete tree - recursive
	$recursive      = 1;
	// the timestamp for 01.08.2008
	$timestamp      = 1217541600;
	// no user ID needed when using not the own docs
	$userid         = -1;
	// the common docs module needs no object ID
	$objectid       = -1;
	// we want all the documents, not only the read only docs for the current session user
	$readonly_docs  = -1;
	// send the request and fetch the result
	$result = $client_docs->crmgetTree($session_id, $module, $base_directory, $recursive, $timestamp, $userid, $objectid, $readonly_docs);
	// loop through the result set
	foreach ($result as $doc) {
		// handle an Beispiel return value
		// is the current dataset a directory?

		if ($doc->folder == 1) {
			echo $doc->path . " is an DIRECTORY!<br>";
		}
		else {
			echo $doc->path . " is an FILE!<br>";
		}
		// show the user permissions for the current dataset    

		foreach ($doc->crmUserPermissionElements as $perm) {
 			//display the read, write and delete rights for the current user
           echo "User with ID " .$perm->id . ": can read - " . ($perm->read == 1 ? "YES" : "NO");
           echo "User with ID " .$perm->id . ": can write - " . ($perm->write == 1 ? "YES" : "NO");
           echo "User with ID " .$perm->id . ": can delete - " . ($perm->delete == 1 ? "YES" : "NO");
       }
   }
}
catch (SOAPFault $f) {
	print $f->faultstring;
}




2.2. crmgetDocument

Syntax:

array crmgetDocument(string $session_id, string $module, string $root_path, int $user_id, int $object_id, int $compress)

Beschreibung:

Gibt detaillierte Informationen über ein einzelnes Verzeichnis oder Dokument. Wenn ein Dokument angefordert wird, wird der Inhalt dieses Dokuments zurückgegeben (Base64 kodiert und - optional - GZIP komprimiert). Im Falle eines Fehlers wird ein SOAP-Fehler mit Detaillierten Fehlerinformationen zurückgegeben.

$module (obligatorisch): see crmgetTree

$root_path (obligatorisch):

- der relative Pfad des angeforderten Verzeichnisses oder Dokuments

- UTF-8 kodierter String wird erwartet

$user_id (optional, -1 wenn nicht verwendet):

- muss festgelegt sein, wenn Sie das Modul user_docs verwenden

- gibt die Dokumente des TecArt-System Benutzers mit der angegebenen Benutzer-ID

$object_id (optional, -1 wenn nicht verwendet):

- muss festgelegt sein, wenn Sie eines der folgenden Module verwenden: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objektes

$compress (optional, -1 wenn nicht verwendet):

- wenn auf 1 gesetzt wird der Inhalt des Dokuments GZIP-komprimiert (specifications: http://www.faqs.org/rfcs/rfc1952 )

Eigenschaften der zurückgegebenen crmgetDocumentResultElement elements :

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $path                     relativer Pfad zu dem Dokument
string(255)             $title                    Titel des Dokuments
string(255)             $keywords                 Dokument Stichwort
int                     $category                 ID einer einzigen Kategorie
int                     $filesize                 die Dateigröße des Dokuments (0 wenn Verzeichnis)
int                     $dtime                    Unix-Timestamp der Dokumenten- Löschung
int                     $duser                    Userid der Dokumenten- Löschung
int                     $ctime                    Unix-Timestamp der letzten Dokumentenbearbeitung
int                     $cuser                    Userid der letzten Dokumentenbearbeitung
int                     $otime                    Unix-Timestamp des letzte Dokument Downloads / Öffnens
int                     $ouser                    Userid des letzte Dokument Downloads / Öffnens
int                     $etime                    Unix-Timestamp der letzten Dokumentenerstellung
int                     $euser                    Userid der Dokumentenerstellung
int                     $itime                    Unix-Timestamp der letzten Indexierung des Dokuments
int                     $iuser                    Userid der letzten Indexierung des Dokuments
int                     $pid                      Projekt ID
int                     $ext_id                   Externe ID ( ab Version 4.2 )
int                     $edit                     1 wenn das Dokument derzeit verwendet wird, 0 wenn nicht
int                     $edituser                 Userid des Benutzers der das Dokument bearbeitet
int                     $authuser                 Userid des authentifizierten Benutzers
int                     $version                  Version
int                     $folder                   0 wenn es ein Dokument ist, 1 wenn es ein Ordner ist 
string(255)             $mimetype                 der Mimetyp des Dokuments
string(255)             $modul                    der Name des Moduls 
text                    $content                  base 64-kodierter (optional: komprimierter) Dokumenteninhalt, nur mit crmgetDocument genutzt
array                   $crmGroupPermissionElements array mit $crmGroupPermissionElement Objekte
array                   $crmUserPermissionElements array mit $crmUserPermissionElement Objekte

Eigenschaften von crmGroupPermissionElement and crmUserPermissionElement :

Type(Length)         Eigenschaft           Beschreibung
---------------------------------------------------------------------------------------------
int                  $id                User - or group ID of the crmPermissionItem's values
int                  $read              1 = Leseberechtigung, 0 = keine Leseberechtigung, -1 = keine Leseberechtigung und keine Vererbung der Gruppenrechte
int                  $write             1 = Schreibrechte, 0 = keine Schreibrechte, -1 = keine Schreibrechte und kein Vererbung der Gruppenrechte
int                  $delete            1 = Löschrechte, 0 = keine Löschrechte, -1 = keine Löschrechte und keine Vererbung der Gruppenrechte

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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
   /**
    * this example fetches all the information from a document
    * the document is located in the archive of the contact with ID 4978
    */
 
	// the TecArt-System module
	$module         = "contacts";
	// the full path to the document
	$docpath        = utf8_encode("directory/Creek.jpg");
	// no user ID needed when using not the own docs
	$userid         = -1;
	// the contact ID is 4878 
	$objectid       = 4978;
 	// the document should be compressed
	$compress       = 1;
	// send the request and fetch the result   
	$result = $client_docs->crmgetDocument($session_id, $module, $docpath, $userid, $objectid, $compress);
	// handle an example return value
	// is the current dataset a directory?
 
	if ($result[0]->folder == 1) {
		echo $result[0]->path . " is an DIRECTORY!<br>";
	} 
	else {
		echo $result[0]->path . " is an FILE!<br>";
 	}
	// show the user permissions for the current dataset    
 
	foreach ($result[0]->crmUserPermissionElements as $perm) {
       //display the read, write and delete rights for the current user
       echo "User with ID " .$perm->id . ": can read - " . ($perm->read == 1 ? "YES" : "NO");
       echo "User with ID " .$perm->id . ": can write - " . ($perm->write == 1 ? "YES" : "NO");
       echo "User with ID " .$perm->id . ": can delete - " . ($perm->delete == 1 ? "YES" : "NO");
	}
}
catch (SOAPFault $f) {
	print $f->faultstring;
}




2.3. crmgetChangedDocsLimit

(Version >= 4.6.19678)

Syntax:

SoapVar SOAP_ENC_ARRAY crmgetDocument(string $session_id, string $module, int $lastmodified, int $limit, int $offset, int $object_id, boolean $include_folders)

Beschreibung: Liefert ein Array mit Dokument-Objekten zurück, welches mit $limit und $offset für seitenweise Auflistung und $lastmodified eingeschränkt werden kann.

  • Parameter $module ist obligatorisch: siehe crmgetTree

  • Parameter $lastmodified ist ein Unix Timestamp und spezifiziert den Zeitpunkt der letzten Änderung, ab dem Dokumente zurückgegeben werden sollen.

  • Parameter $limit beschränkt Gesamtanzahl der Rückgabe auf ganzzahligen Wert

  • Parameter $offset spezifiziert, wieviele Einträge des Resultsets übersprungen werden sollen

  • Parameter $object_id spezifiziert eine bestimmte Modulobjekt ID, z.B. Kontakt ID oder Aufgaben ID

  • Parameter $include_folders bestimmt, ob auch Ordner in der Rückgabe enthalten sein sollen

Eigenschaften der zurückgegebenen crmgetChangedDocsLimitResultElement Elemente :

Type(Length)            Eigenschaft                  Beschreibung
----------------------------------------------------------------------------------------------
int                     $id                       interne ID des Dokuments
string(255)             $path                     relativer Pfad zu dem Dokument
string(255)             $title                    Titel des Dokuments
string(255)             $filename                 Dateiname des Dokuments
string(255)             $keywords                 Dokument Stichwort
int                     $category                 ID einer einzigen Kategorie
int                     $filesize                 die Dateigröße des Dokuments (0 wenn Verzeichnis)
int                     $dtime                    Unix-Timestamp der Dokumenten- Löschung
int                     $duser                    Userid der Dokumenten- Löschung
int                     $ctime                    Unix-Timestamp der letzten Dokumentenbearbeitung
int                     $cuser                    Userid der letzten Dokumentenbearbeitung
int                     $otime                    Unix-Timestamp des letzte Dokument Downloads / Öffnens
int                     $ouser                    Userid des letzte Dokument Downloads / Öffnens
int                     $etime                    Unix-Timestamp der letzten Dokumentenerstellung
int                     $euser                    Userid der Dokumentenerstellung
int                     $itime                    Unix-Timestamp der letzten Indexierung des Dokuments
int                     $iuser                    Userid der letzten Indexierung des Dokuments
int                     $pid                      Projekt ID
int                     $ext_id                   Externe ID ( ab Version 4.2 )
int                     $edit                     1 wenn das Dokument derzeit verwendet wird, 0 wenn nicht
int                     $edituser                 Userid des Benutzers der das Dokument bearbeitet
int                     $version                  Version
int                     $folder                   0 wenn es ein Dokument ist, 1 wenn es ein Ordner ist 
string(255)             $mimetype                 der Mimetyp des Dokuments
string(255)             $modul                    der Name des Moduls 

Beispiel:

<?php
 
ini_set("soap.wsdl_cache_enabled", "0");
$url = 'http://<mytecartcrm>/soap/index.php?op=';
 
try {
	/* @var $client_logon crmlogon */
	$client_logon = new SOAPClient($url."logon&wsdl");
    $session_id = $client_logon->crmLogin('<login>', '<password>');
    if (!$session_id) {
		die("invalid login");
	}
 
    /* @var $client_docs crmdocs */
    $client_docs = new SOAPClient($url."docs&wsdl");
    $result = $client_docs->crmgetChangedDocsLimit(    
        $session_id,            // session
        'common',               // fetch from common documents
        (time() - (3*86400)),   // only docs modified withing the last 3 days
        50,                     // max. 50 entries
        0,                      // page 1, no offset
        0,                      // no certain module specified, no object ID needed
        true                    // include folders in the resultset
    );
 
    echo '<pre>'.print_r($result,true).'</pre>';
     
}
catch (SOAPFault $f) {
	print $f->faultstring;
}




2.4. crmuploadDocument

Syntax:

int crmuploadDocument(string $session_id, string $module, string $document_path, string $document_content, int $user_id, int $object_id, int $compress, int $ext_id)

Beschreibung:

Läd ein Dokument hoch und gibt 1 für Erfolg zurück oder wirft eine SOAP Fault mit detaillierten Fehlerinformationen.

$module (obligatorisch): siehe crmgetTree

$document_path (obligatorisch):

- der relative Pfad des Dokuments, einschließlich Verzeichnis-und Dateinamen

- der übergebene Pfad wird, sofern teile nicht vorhanden sind, durch den Aufruf erstellt und die Rechte des ersten gefundenen Ordners übernommen

- UTF-8 kodierter String wird erwartet

$document_content (obligatorisch):

- der Inhalt des Dokuments

- ein Base64 kodierter String wird erwartet

- kann vor Base64-Codierung mit GZIP komprimiert werden

$user_id (optional, -1 wenn nicht genutzt):

- muss festgelegt sein, wenn Sie das Modul user_docs verwenden

- legt das hochgeladene Dokument in die eigenen Dokumente des jeweiligen Benutzers

$object_id (optional, -1 wenn nicht genutzt):

- muss festgelegt sein, wenn Sie das Modul zu einem die folgenden Werte setzen: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objektes

$compress (optional, -1 wenn nicht genutzt):

- auf 1 setzen, wenn Sie den Inhalt des Dokuments GZIP komprimiert hochladen (vor der Base64-Codierung)

$ext_id (optional, 0 wenn nicht genutzt):

- Externe ID ( ab Version 4.2 )

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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
	//Uploads a document into the existing directory "temp" of the contacts (ID 4978) document collection:
	$base64_content   = 
		"e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcZGVmbGFuZzEwMzNcZGVmdGFiNzA4e1xmb250dGJse1xmMFxmcm9tYW5cZmNoYXJzZXQwIFRpbWVzIE5l".
		"dyBSb21hbjt9e1xmMVxmbmlsXGZjaGFyc2V0MCBSYWF2aTt9fQ0Ke1xjb2xvcnRibCA7XHJlZDI1NVxncmVlbjBcYmx1ZTA7fQ0Ke1wqXGdlbmVyYXRvciBNc2Z0ZWRpdCA1LjQxLjIxLjI1MDA7".
		"fVx2aWV3a2luZDRcdWMxXHRyb3dkXHRyZ2FwaDcwXHRybGVmdC03MFx0cnJoODg1XHRycGFkZGw3MFx0cnBhZGRyNzBcdHJwYWRkZmwzXHRycGFkZGZyMw0KXGNsYnJkcmxcYnJkcncxNVxicmRy".
		"c1xjbGJyZHJ0XGJyZHJ3MTVcYnJkcnNcY2xicmRyclxicmRydzE1XGJyZHJzXGNsYnJkcmJcYnJkcncxNVxicmRycyBcY2VsbHgzNTMwXGNsYnJkcmxcYnJkcncxNVxicmRyc1xjbGJyZHJ0XGJy".
		"ZHJ3MTVcYnJkcnNcY2xicmRyclxicmRydzE1XGJyZHJzXGNsYnJkcmJcYnJkcncxNVxicmRycyBcY2VsbHg3NjcwXHBhcmRcaW50YmxcbGFuZzEwMzFcZjBcZnMyNCBIYWxsbyBkZFxjZWxsXGYx".
		"XGZzOTYgVHNlXGYwXGZzMjQgdFxjZWxsXHJvd1x0cm93ZFx0cmdhcGg3MFx0cmxlZnQtNzBcdHJyaDEyNDVcdHJwYWRkbDcwXHRycGFkZHI3MFx0cnBhZGRmbDNcdHJwYWRkZnIzDQpcY2xicmRy".
		"bFxicmRydzE1XGJyZHJzXGNsYnJkcnRcYnJkcncxNVxicmRyc1xjbGJyZHJyXGJyZHJ3MTVcYnJkcnNcY2xicmRyYlxicmRydzE1XGJyZHJzIFxjZWxseDM1MzBcY2xicmRybFxicmRydzE1XGJy".
		"ZHJzXGNsYnJkcnRcYnJkcncxNVxicmRyc1xjbGJyZHJyXGJyZHJ3MTVcYnJkcnNcY2xicmRyYlxicmRydzE1XGJyZHJzIFxjZWxseDc2NzBccGFyZFxpbnRibFxjZjFcYiBTZGZzZnNkZlxjZWxs".
		"XGNmMFxiMCBTZnNmZGRzc2Rkc3Nkc2RzZHNkXGNlbGxccm93XHRyb3dkXHRyZ2FwaDcwXHRybGVmdC03MFx0cnJoMjM0MFx0cnBhZGRsNzBcdHJwYWRkcjcwXHRycGFkZGZsM1x0cnBhZGRmcjMN".
		"ClxjbGJyZHJsXGJyZHJ3MTVcYnJkcnNcY2xicmRydFxicmRydzE1XGJyZHJzXGNsYnJkcnJcYnJkcncxNVxicmRyc1xjbGJyZHJiXGJyZHJ3MTVcYnJkcnMgXGNlbGx4MzUzMFxjbGJyZHJsXGJy".
		"ZHJ3MTVcYnJkcnNcY2xicmRydFxicmRydzE1XGJyZHJzXGNsYnJkcnJcYnJkcncxNVxicmRyc1xjbGJyZHJiXGJyZHJ3MTVcYnJkcnMgXGNlbGx4NzY3MFxwYXJkXGludGJsXGNmMVxiIFNmZnNk".
		"ZnNkXHBhcg0KS2xsamtsamtcY2VsbFxjZjBcYjAgRGdmZ2ZkZ2RnXHBhcg0KXGNlbGxccm93XHBhcmRccGFyDQp9DQoA";
 
	$new_doc_full_name	= utf8_encode("/temp/uploaded_document.doc");
	$result            	= $client_docs->crmuploadDocument($session_id, "contacts", $new_doc_full_name, $base64_content, -1, 4978, -1);
	echo $result;
}
catch (SOAPFault $f) {
	print $f->faultstring;
}





2.5. crmcreateDocument

Syntax:

int crmcreateDocument(string $session_id, string $module, string $document_path, string $draft_path, int $user_id, int $object_id, string $draft_contact, int $draft_project, int $ext_id)

Beschreibung:

Erstellt ein Dokument auf einem bestehenden Entwurf und liefert 1 für Erfolg oder einen SOAP-Fehler mit Fehler Detailinformationen.

$module (obligatorisch): siehe crmgetTree

$document_path (obligatorisch):

- der relative Pfad des neuen Dokument, einschließlich Verzeichnis-und Dateinamen

- die eingestellte Verzeichnispfad muss gültig sein, mit crmcreateDocument werden keine Verzeichnisse erstellt

- UTF-8 kodierter String wird erwartet

$draft_path (obligatorisch):

- derrelativePfad zum Entwurf des Dokuments, einschließlich Verzeichnis-und Dateinamen

- UTF-8 kodierter String wird erwartet

$user_id (optional, -1 wenn ungenutzt):

- muss festgelegt sein, wenn Sie das Modul user_docs verwenden

- legt das hochgeladene Dokument in den eigenen Dokumente des jeweiligen Benutzers ab

$object_id (optional, -1 wenn ungenutzt):

- muss festgelegt sein, wenn Sie das Modul zu einem den folgenden Werte setzen: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objektes

$draft_contact (optional, -1 wenn ungenutzt):

- die Kontakt / Person-ID die durch den Entwurf Parser verwendet wird (Kontakt-Platzhalter in dem Entwurf werden mit den Informationen aus des ausgewählten Kontakts / Persons ersetzt)

- Format: Contact-Id:Person-Id

$draft_project (optional, -1 wenn ungenutzt):

- die Projekt-ID die durch den Entwurf Parser verwendet wird (Projekt-Platzhalter in dem Entwurf werden mit den Informationen aus dem ausgewählten Projekt ersetzt)

$ext_id (optional, 0 wenn ungenutzt):

- Externe ID ( ab Version 4.2 )

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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
	//Creates a new document based on a draft for contact 4978:
	$draft_doc_full_name	= utf8_encode("Mappe1.xls");
	$new_doc_full_name   	= utf8_encode("Document.xls");
	$result = $client_docs->crmcreateDocument($session_id, "contacts", $new_doc_full_name, $draft_doc_full_name, -1, 4978, "4978:4829", 362);
	print_r($result);
}
catch (SOAPFault $f) {
	print $f->faultstring;
}




2.6. crmcopyDocument

Syntax:

int crmcopyDocument(string $session_id, string $from_module, string $from_document_path, int $from_user_id, int $from_object_id, string $to_module, string $to_document_path, int $to_user_id, int $to_object_id, int $copy_rights)

Beschreibung:

Kopiert ein Verzeichnis (einschließlich aller Unterverzeichnisse) oder ein einziges Dokument von einem Ort zum anderen und liefert 1 für den Erfolg. Eine Multi-Modul Kopier- Aktion wird unterstützt, die Zugriffsrechte des kopierten Dokuments werden ebenfalls kopiert (optional). Im Falle eines Fehlers wird ein SOAP-Fehler mit Detailinformationen zurückgesandt.

$from_module (obligatorisch): siehe module at crmgetTree

$from_document_path (obligatorisch):

- der relative Pfad des Quell- Dokuments / Verzeichnisses

- UTF-8 kodierter String wird erwartet

$from_user_id (optional, -1 wenn ungenutzt):

- muss festgelegt sein, wenn Sie $from_module auf user_docs setzen

$from_object_id (optional, -1 wenn ungenutzt):

- muss festgelegt sien, wenn Sie $from_module auf einen der folgenden Werte setzen: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objektes

$to_module (obligatorisch): siehe module at crmgetTree

$to_document_path (obligatorisch):

- der relative Pfad des Ziel-Dokuments / Verzeichnisses

- UTF-8 kodierter String wird erwartet

$to_user_id (optional, -1 wenn ungenutzt):

- muss gesetzt sein wenn $to_module auf user_docs gesetzt wird

$to_object_id (optional, -1 wenn ungenutzt):

- muss gesetzt sein wenn $to_module auf einen der folgenden Werte gesetzt wird: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des entsprechenden Objekts

$copy_rights (optional, -1 wenn ungenutzt):

- wenn auf 1 gesetzt werden alle Dokumentenberechtigungen mitkopiert(Benutzer-und Gruppen Berechtigungen werden kopiert)

- wenn auf -1 gesetzt werden Dokumentenberechtigungen aus dem übergeordneten Element des $to_document_path vererbt

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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
	// copy the entire directory directory_a from the contact with the ID 4878 to a new directory in the user docs of user with ID 4
	// keep the permission setting of each file / directory
	$original_doc_full_name = utf8_encode("directory_a");
	$copy_doc_full_name = utf8_encode("directory_b");
	$result = $client_docs->crmcopyDocument(    
		$session_id,
        "contacts",
		$original_doc_full_name,
		-1,
		4978,
		"user_docs",
		$copy_doc_full_name,
		4,
		-1,
		1,
	);
	print_r($result);
}
catch (SOAPFault $f) {
	print $f->faultstring;
}




2.7. crmmoveDocument

Syntax:

int crmmoveDocument(string $session_id, string $from_module, string $from_document_path, int $from_user_id, int $from_object_id, string $to_module, string $to_document_path, int $to_user_id, int $to_object_id, int $copy_rights)

Beschreibung:

Verschiebt ein Verzeichnisses (einschließlich aller Kindelemente) oder ein einzelnes Dokument von einem Ort zum anderen und liefert 1 für Erfolg. Eine Multi-Modul verschieben Aktion wird unterstützt, der Zugriffsrechte der bewegten Dokumente werden erhalten (optional). Im Falle eines Fehlers wird ein SOAP-Fehler mit Detailinformationen zurückgesandt.

$from_module (obligatorisch): siehe module bei crmgetTree

$from_document_path (obligatorisch):

- der relative Pfad der Quell- Dokuments / Verzeichnisses

- UTF-8 kodierter String wird erwartet

$from_user_id (optional, -1 wenn nicht genutzt):

- muss gesetzt werden wenn $from_module auf user_docs gesetzt ist

$from_object_id (optional, -1 wenn nicht genutzt):

- muss gesetzt werden wenn $from_module auf einen der folgenden Werte gesetzt ist: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objektes

$to_module (obligatorisch): siehe module bei crmgetTree

$to_document_path (obligatory):

- der relative Pfad des Ziel-Dokuments / Verzeichnisses

- UTF-8 kodierter String wird erwartet

$to_user_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $to_module auf user_docs gesetzt ist

$to_object_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $to_module auf einen der folgenden Werte gesetzt ist: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objektes

$copy_rights (optional, -1 wenn nicht genutzt):

- wenn auf 1 gesetzt werden alle Dokumentenberechtigungen übernommen (Benutzer-und Gruppen Berechtigungen werden kopiert)

- wenn auf -1 gesetzt werden die Berechtigungen von dem übergeordneten Element des $to_document_path vererbt

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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
	// move the file Document.doc from the contact with the ID 4878 to the file Test.doc in the user docs of user with ID 4
	// keep the permission setting of the moved file
	$original_doc_full_name	= utf8_encode("Document.doc");
	$copy_doc_full_name     = utf8_encode("Test.doc");
	$result = $client_docs->crmmoveDocument(
		$session_id,
		"contacts",
		$original_doc_full_name,
		-1,
		4978,
		"user_docs",
		$copy_doc_full_name,
		4,
		-1,
		true
	);
	print_r($result);
}
catch (SOAPFault $f) {
	print $f->faultstring;
}




2.8. crmdeleteDocument

Syntax:

int crmdeleteDocument(string $session_id, string $module, string $document_path, int $user_id, int $object_id)

Beschreibung:

Löscht ein einzelnes Dokument oder einen ganzen Dateibaum inklusive aller Kindelemente und gibt 1 zurück. Im Falle eines Fehlers wird eine SOAP Fault mit detaillierten Fehlerinformationen zurückgegeben. Das gelöschte Dokument wird in den Papierkorb des authentifizierten Nutzers abgelegt. Hinweis: Dateien mit dem gleichen Namen können nicht zweimal gelöscht werden, stellen Sie also sicher, dass der Benutzer-Papierkorb leer ist, bevor Sie crmdeleteDocument ausführen.

$module (obligatorisch): siehe module bei crmgetTree

$document_path (obligatorisch):

- der relative Pfad des Dokuments / Verzeichnisses, das Sie löschen möchten

- UTF-8 kodierten String wird erwartet

$user_id (optional, -1 wenn ungenutzt):

- muss gesetzt sein, wenn $module auf user_docs gesetzt ist

$object_id (optional, -1 wenn ungenutzt):

- muss festgelegt sein, wenn Sie $module zu einem der folgenden Werte setzen: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objektes

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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
	// delete (move to trash) the directory "temp" including all its childs from the own docs of user 4
	$doc_full_name = utf8_encode("temp");
	$result = $client_docs->crmdeleteDocument($session_id , "user_docs", $doc_full_name, 4, -1);
	print_r($result);
}
catch (SOAPFault $f) {
	print $f->faultstring;
}




2.9. crmemptyTrash

Syntax:

int crmemptyTrash(string $session_id)

Beschreibung:

Leert den Papierkorb des authentifizierten Benutzers und gibt 1 zurück. Im Falle eines Fehlers wird ein SOAP-Fault mit detaillierten Fehlerinformationen 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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
	// empty the trash of the session user
	$result = $client_docs->crmemptyTrash($session_id);
	print_r($result);
}
catch (SOAPFault $f) {
	print $f->faultstring;
}




2.10. crmupdateDocument

Syntax:

int crmupdateDocument(string $session_id, string $module, docPropertyItem $docPropertyItem, int $user_id, int $object_id)

Beschreibung:

Aktualisiert die Dokumenten Metainformationen und Berechtigungen für ein einzelnes Dokument oder ein Verzeichnis und gibt 1 zurück. Im Falle eines Fehlers wird ein SOAP-Fault mit detaillierten Fehlerinformationen zurückgegeben. Der Session Benutzer benötigt Lese-und Schreibrechte auf der Dokumenten Daten und zusätzliche Zugangsberechtigung (also volle Berechtigungen) um die Berechtigungen des Dokuments zu aktualisieren.

$module (obligatorisch): siehe module bei crmgetTree

$user_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $module auf user_docs gesetzt wird

$object_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $module auf einen der folgenden Werte gesetzt wird: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objektes

Eigenschaften von docEigenschaftItem:

Type(Length)            Eigenschaft                      Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $path                            relativer Pfad des Dokuments / Verzeichnisses
int                     $in_process                      1 = Dokument wird derzeit bearbeitet
                                                         0 = Dokument wird derzeit nicht bearbeitet
string(255)             $title                           Titel des Dokuments
string(255)             $keywords                        Keywords des Dokuments
string(255)             $description                     Kurze Beschreibung des Dokuments
int                     $category                        die jeweilige Dokumentenkategorie
int                     $ext_id                          Externe ID ( ab Version 4.2 )
array                   $crmUpdatedGroupPermissionItems  Ein Array mit crmPermissionItem items, umfasst 
                                                         alle aktualisierten Gruppenberechtigungen
array                   $crmRemovedGroupPermissionItems  Ein Array mit crmRemovedPermissionItem items, 
                                                         enthält die IDs der Gruppen, die aus den 
                                                         Dokumentenberechtigungen entfernt werden sollen
array                   $crmUpdatedUserPermissionItems   Ein Array mit crmPermissionItem items, umfasst 
                                                         alle aktualisierten Benutzerberechtigungen
array                   $crmRemovedUserPermissionItems   Ein Array mit crmRemovedPermissionItem items, 
                                                         enthält die IDs der Nutzer, die aus den 
                                                         Dokumentenberechtigungen entfernt werden sollen

Eigenschaften von crmPermissionItem:

Type(Length)            Eigenschaft                      Beschreibung
---------------------------------------------------------------------------------------------
int                     $id                              Die Nutzer- oder Gruppen-ID
int                     $read                            Leseberechtigung: 
                                                             -1 = keine Berechtigung und keine Erbe der Gruppeberechtigungen
                                                              0 = keine Berechtigung
                                                              1 = Genehmigung erteilt
int                     $write                           Schreibberechtigung:
                                                             -1 = keine Berechtigung und keine Erbe der Gruppeberechtigungen
                                                              0 = keine Berechtigung
                                                              1 = Genehmigung erteilt
int                     $delete                          Löschberechtigung: 
                                                             -1 = keine Berechtigung und keine Erbe der Gruppeberechtigungen
                                                              0 = keine Berechtigung
                                                              1 = Genehmigung erteilt

Eigenschaften von crmRemovedPermissionItem:

Type(Length)            Eigenschaft                      Beschreibung
---------------------------------------------------------------------------------------------
int                     $id                              Benutzer - oder Gruppen-ID des Benutzers / der Gruppe, 
                                                         die Sie von den Berechtigungen entfernen möchten

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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
	// Update the metadata the directory "temp2" from the contact documents of contact ID 4978
	$document_properties= array(   
		"path"								=> utf8_encode("temp2"),
		"title"								=> utf8_encode("new title"),
		"keywords"							=> utf8_encode("keyword_1, keyword_2"),
		"description"						=> utf8_encode("this is a short document description"),
		"category"							=> 5,
		"crmUpdatedGroupPermissionItems"    => array (
			array("id" => 1, "read"	=> 1, "write" => 1, "delete" => 0),
			array("id" => 14, "read" => 1, "write" => 1, "delete" => 0)
		),
		"crmRemovedGroupPermissionItems"    => array (array( "id" => 4) ),
		"crmUpdatedUserPermissionItems"     => array (
			array( "id" => 5, "read" => 1, "write" => 1, "delete" => 0),
			array( "id" => 4, "read" => 1, "write" => 1, "delete" => 0)
		),
		"crmRemovedUserPermissionItems"     => array (  array( "id" => 20))
	);
	$result = $client_docs->crmupdateDocument($session_id, "contacts",  $document_properties, -1, 4978);
	print_r($result);
}
catch (SOAPFault $f) {
	print $f->faultstring;
}




2.11. crmcreateDirectory

Syntax:

int crmcreateDirectory(string $session_id, string $module, string $directory_path, int $user_id, int $object_id, int $ext_id)

Beschreibung:

Erstellt ein neues Verzeichnis( recursive ) in dem gegenebem Pfad ($directory_path) und gibt 1 zurück. Im Falle eines Fehlers wird eine SOAP Fault mit detaillierten Fehlerinformation zurückgegeben.

$module (obligatorisch): siehe module bei crmgetTree

$directory_path (obligatorisch):

- Der relative Pfad des neuen Verzeichnisses, das erstellt werden soll

- UTF-8 kodierter String wird erwartet

$user_id (optional, -1 wenn ungenutzt):

- muss gesetzt sein wenn $module auf user_docs gesetzt wird

$object_id (optional, -1 wenn ungenutzt):

- muss gesetzt sein wenn $module auf einen der folgenden Werte gesetzt wird: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objektes

$ext_id (optional, 0 wenn ungenutzt):

- Externe ID ( ab Version 4.2 )

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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
	// creates a new directory "newdir" in the root path of the contact documents from contact ID 4978
	$new_directory = utf8_encode("newdir");
	$result = $client_docs->crmcreateDirectory($session_id , "contacts",  $new_directory, -1, 4978);
	print_r($result);
}
catch (SOAPFault $f) {
	print $f->faultstring;
}




2.12. crmrenameDocument

Syntax:

int crmrenameDocument(string $session_id, string $module, string $from_name, string $to_name, int $user_id, int $object_id)

Beschreibung:

Benennt ein Dokument oder ein Verzeichnis um und gibt 1 zurück. Im Falle eines Fehlers wird ein SOAP-Fehler mit detaillierten Fehlerinformationen zurückgegeben.

$module (obligatorisch): siehe module bei crmgetTree

$from_path (obligatorisch):

- der relativer Pfad des Dokuments oder Verzeichnisses , welches Sie umbenennen möchten

- UTF-8 kodierter String wird erwartet

$to_path (obligatorisch):

- der relativer Pfad des umbenannten Dokuments oder Verzeichnisses

- UTF-8 kodierter String wird erwartet

$user_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein, wenn $module auf user_docs gesetzt wird

$object_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein, wenn $module auf einen der folgenden Werte geändert wird: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objektes

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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
	// renames the directory "newdir" into "newdir_renamed" from contact ID 4978
	$from_doc_name	= utf8_encode("newdir");
	$to_doc_name	= utf8_encode("newdir_renamed");
	$result = $client_docs->crmrenameDocument($session_id , "contacts",  $from_doc_name, $to_doc_name, -1, 4978);
	print_r($result);
}
catch (SOAPFault $f) {
	print $f->faultstring;
}




2.13. crmaddTree

Syntax:

int crmaddTree(string $session_id, string $module, crmFileTree $crmFileTree, int $user_id, int $object_id, int $ext_id)

Beschreibung:

Erstellt oder läd einen ganzen Dateibaum hoch. Gibt 1 für ein voller Erfolg oder 0 für einen teilweise Erfolg zurück. Im Falle eines Fehlers wird eine SOAP Fault mit detaillierten Fehlerinformationen zurückgegeben. crmaddTree hört nicht auf, falls Fehler auftreten (z.B. einige Teile der neuen Struktur bereits vorhanden sind), sondern gibt einen Fehler-Code 0 zurück.

$module (obligatorisch): siehe module bei crmgetTree

crmFileTree (obligatorisch):

- enthält ein crmFileTree Objekt

$user_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $module auf user_docs gesetzt wird

$object_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $module auf einen der folgenden Werte gesetzt wird: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objektes

$ext_id (optional, 0 wenn nicht genutzt):

- Externe ID ( ab Version 4.2 )

Eigenschaften von crmFileTree:

Type(Length)            Eigenschaft                      Beschreibung
---------------------------------------------------------------------------------------------
array                   $crm_filetree_items              Array mit $crmFileTreeItem Objekte

Eigenschaften von crmFileTreeItem:

Type(Length)            Eigenschaft                      Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $path                            relativer Pfad des neuen Dokuments / Verzeichnisses
text                    $content                         Base64-kodierter (optional: komprimierter) Dokumenteninhalt
int                     $is_path                         auf 0 gesetzt, wenn der Pfad ein Dokument enthält
                                                         auf 1 gesetzt, wenn der Pfad ein Verzeichnis enthält
int                     $is_compressed                   auf 1 gesetzt, wenn der Inhalt mit GZIP komprimiert wurde 
                                                         (Inhalt muss nach dem Komprimieren Base64-kodiert werden!)

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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
	/**
		- in this Beispiel three directory trees are created and two documents will be created
		- the document object "new_document_a" contains an uncompressed, Base64 encoded string
		- the document object "new_document_b" contains an GZIP / Base64 encoded string
		- Hint: all directories will be created recursive
	**/
 
	// first create an crmFileTreeItem class definition
 
	class crmFileTreeItem {
		public $path;
		public $content;
		public $is_path = 0;
		public $is_compressed = 0;
	}
   
	// setup two directory and two document Objekte, based on the crmFileTreeItem instances
 
	$new_document_a            = new crmFileTreeItem();
	$new_document_a->path      = utf8_encode("/new_path/inner_path/new_document_a.doc");
	$new_document_a->content   = 
		"e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcZGVmbGFuZzEwMzNcZGVmdGFiNzA4e1xmb250dGJse1xmMFxmcm9tYW5cZmNoYXJzZXQwIFRpb".
		"WVzIE5ldyBSb21hbjt9e1xmMVxmbmlsXGZjaGFyc2V0MCBSYWF2aTt9fQ0Ke1xjb2xvcnRibCA7XHJlZDI1NVxncmVlbjBcYmx1ZTA7fQ0Ke1wqXGdlbmVyYXRvciBNc2Z0ZWRpdCA1LjQxLjIx".
		"LjI1MDA7fVx2aWV3a2luZDRcdWMxXHRyb3dkXHRyZ2FwaDcwXHRybGVmdC03MFx0cnJoODg1XHRycGFkZGw3MFx0cnBhZGRyNzBcdHJwYWRkZmwzXHRycGFkZGZyMw0KXGNsYnJkcmxcYnJkcnc".
		"xNVxicmRyc1xjbGJyZHJ0XGJyZHJ3MTVcYnJkcnNcY2xicmRyclxicmRydzE1XGJyZHJzXGNsYnJkcmJcYnJkcncxNVxicmRycyBcY2VsbHgzNTMwXGNsYnJkcmxcYnJkcncxNVxicmRyc1xjbG".
		"JyZHJ0XGJyZHJ3MTVcYnJkcnNcY2xicmRyclxicmRydzE1XGJyZHJzXGNsYnJkcmJcYnJkcncxNVxicmRycyBcY2VsbHg3NjcwXHBhcmRcaW50YmxcbGFuZzEwMzFcZjBcZnMyNCBIYWxsbyBkZ".
		"FxjZWxsXGYxXGZzOTYgVHNlXGYwXGZzMjQgdFxjZWxsXHJvd1x0cm93ZFx0cmdhcGg3MFx0cmxlZnQtNzBcdHJyaDEyNDVcdHJwYWRkbDcwXHRycGFkZHI3MFx0cnBhZGRmbDNcdHJwYWRkZnIz".
		"DQpcY2xicmRybFxicmRydzE1XGJyZHJzXGNsYnJkcnRcYnJkcncxNVxicmRyc1xjbGJyZHJyXGJyZHJ3MTVcYnJkcnNcY2xicmRyYlxicmRydzE1XGJyZHJzIFxjZWxseDM1MzBcY2xicmRybFx".
		"icmRydzE1XGJyZHJzXGNsYnJkcnRcYnJkcncxNVxicmRyc1xjbGJyZHJyXGJyZHJ3MTVcYnJkcnNcY2xicmRyYlxicmRydzE1XGJyZHJzIFxjZWxseDc2NzBccGFyZFxpbnRibFxjZjFcYiBTZG".
		"ZzZnNkZlxjZWxsXGNmMFxiMCBTZnNmZGRzc2Rkc3Nkc2RzZHNkXGNlbGxccm93XHRyb3dkXHRyZ2FwaDcwXHRybGVmdC03MFx0cnJoMjM0MFx0cnBhZGRsNzBcdHJwYWRkcjcwXHRycGFkZGZsM".
		"1x0cnBhZGRmcjMNClxjbGJyZHJsXGJyZHJ3MTVcYnJkcnNcY2xicmRydFxicmRydzE1XGJyZHJzXGNsYnJkcnJcYnJkcncxNVxicmRyc1xjbGJyZHJiXGJyZHJ3MTVcYnJkcnMgXGNlbGx4MzUz".
		"MFxjbGJyZHJsXGJyZHJ3MTVcYnJkcnNcY2xicmRydFxicmRydzE1XGJyZHJzXGNsYnJkcnJcYnJkcncxNVxicmRyc1xjbGJyZHJiXGJyZHJ3MTVcYnJkcnMgXGNlbGx4NzY3MFxwYXJkXGludGJ".
		"sXGNmMVxiIFNmZnNkZnNkXHBhcg0KS2xsamtsamtcY2VsbFxjZjBcYjAgRGdmZ2ZkZ2RnXHBhcg0KXGNlbGxccm93XHBhcmRccGFyDQp9DQoA";
 
	$new_document_b            = new crmFileTreeItem();
	$new_document_b->path      = utf8_encode("/new_path/inner_path/inner_path2/test.txt");
	$new_document_b->content   = "H4sIAAAAAAAAA3NJLFbILC5RSM3MUwhJLS4BAIufOksQAAAA";
	$new_document_b->is_compressed = 1;
   
	$new_path_a                = new crmFileTreeItem();
	$new_path_a->path          = utf8_encode("/new_path_a/emty_path");
	$new_path_a->is_path       = 1;
   
	$new_path_b                = new crmFileTreeItem();
	$new_path_b->path          = utf8_encode("new_path_b/emty_path/inner_path");
	$new_path_b->is_path       = 1;  
   
	// create the crmFileTreeItems object (a collection of crmFileTreeItem items)
 
	$filetree                  = array("crmFileTreeItems" => array ($new_document_a, $new_document_b, $new_path_a, $new_path_b));
 
	// send the request and fetch the result
	// $result = 0 => partially errors, z.B. if a part of the new created structure already exists
	// $result = 1 => no errors
 
	$result = $client_docs->crmaddTree($session_id, "contacts", $filetree, -1, 4978);
 
}
catch (SOAPFault $f) {
 
	// any real errors will produce an SOAP error with a detailed error Beschreibung
 
	print $f->faultstring;
}



2.14. crmSearchDocument

(Version >= 3.1.1869)

Syntax:

array crmSearchDocument( string $session_id, string $searchterm, string $module, string $path, int $fulltext )

Beschreibung:

Gibt ein Array mit indizierten document Objekten welche den Suchbegriff enthalten oder wirft eine SOAP Fault mit detaillierten Fehlerinformationen.

$searchterm (obligatorisch):

- der durchsuchte Inhalt des Dokuments

$module (obligatorisch): siehe crmgetTree

$path (optional, "" wenn ungenutzt):

- Der relative Pfad zur Wurzel des ausgewählten Moduls

- UTF-8 kodierter String wird erwartet

$fulltext (obligatorisch):

- 0 = keine Volltextsuche, 1 = Volltextsuche

Eigenschaften der zurückgegebenen crmSearchDocumentResultElement elements :

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $path                     relativer Pfad zu dem Dokument
string(255)             $title                    Titel des Dokuments
string(255)             $keywords                 Dokument Keyword
int                     $category                 ID einer einzigen Kategorie
int                     $filesize                 die Dateigröße des Dokument (0 wenn Verzeichnis)
int                     $dtime                    Unix-Timestamp der Dokumenten- Löschung
int                     $duser                    Userid der Dokumenten- Löschung
int                     $ctime                    Unix-Timestamp der letzten Dokumentenbearbeitung
int                     $cuser                    Userid der letzten Dokumentenbearbeitung
int                     $otime                    Unix-Timestamp des letzte Dokument Downloads / Öffnens
int                     $ouser                    Userid des letzte Dokument Downloads / Öffnens
int                     $etime                    Unix-Timestamp der letzten Dokumentenerstellung
int                     $euser                    Userid der Dokumentenerstellung
int                     $itime                    Unix-Timestamp der letzten Indexierung des Dokuments
int                     $iuser                    Userid der letzten Indexierung des Dokuments
int                     $pid                      Projekt ID
int                     $ext_id                   Externe ID ( ab Version 4.2 )
int                     $edit                     1 wenn das Dokument derzeit in Bearbeitung ist, 0 wenn nicht
int                     $edituser                 Userid des Benutzers, der das Dokument gerade bearbeitet
int                     $authuser                 Userid des authentifizierten Nutzers
int                     $version                  Dokumentenversion
int                     $folder                   0 wenn das Dokument ein Dokument ist, 1 wenn das Dokument ein Ordner ist
string(255)             $mimetype                 Der MIME-Type des Dokuments
string(255)             $modul                    Der Name des Moduls
int                     $read_permission          1 = Leseberechtigung
                                                  0 = keine Leseberechtigung
                                                  -1 = keine Leseberechtigung und keine Vererbung von Gruppenrechten
int                     $write_permission         1 = Schreibberechtigung
                                                  0 = keine Schreibberechtigung
                                                  -1 = keine Schreibberechtigung und keine Vererbung von Gruppenrechten
int                     $delete_permission        1 = Löschberechtigung
                                                  0 = keine Löschberechtigung
                                                  -1 = keine Löschberechtigung und keine Vererbung von Gruppenrechten

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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
	// search all common documents containing "testterm"
	$result = $client_docs->crmSearchDocument($session_id, "testterm", "common", "", 1);
	print_r($result);
}
catch (SOAPFault $f) {
	print $f->faultstring;
}




2.15. crmdocumentExists

(Version >= 3.4.5146)

Syntax:

int crmdocumentExists( string $session_id, string $module, string $path )

Beschreibung:

Gibt 1 zurück, wenn das Dokument oder das Verzeichnis existiert. Gibt 0 zurück, wenn nicht.

Beim Fehler wird ein SOAP Fault mit detaillierten Fehlerinformationen geworfen.

$module (obligatorisch): siehe crmgetTree

$path ist der Pfad zu dem Dokument oder dem Verzeichnis.

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_docs = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=docs&wsdl");
 
	// Check folder 
	$result = $client_docs->crmdocumentExists($session_id, "common", "/folder/sub_folder/");
 
	if($result == 1) {
		echo 'Folder exists';
	else {
       echo 'Folder does not exist';
	}
	// Check document 
	$result = $client_docs->crmdocumentExists($session_id, "common", "/folder/sub_folder/document.doc");
 
	if($result == 1) {
		echo 'Document exists';
	else {
		echo 'Document does not exist';
	}
}
catch (SOAPFault $f) {
	print $f->faultstring;
}




2.16. crmgetPathByExtId

(Version >= 4.2)

Syntax:

array crmgetPathByExtId( string $session_id, string $external_id )

Beschreibung

Liefert Pfade von Dokumenten mit der übergebenen externen ID zurück.

Eigenschaften der zurückgegebenen document Objekte:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int			            $path			      Document-Path

Beispiel:

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




2.17. crmgetAllExtIds

(Version >= 4.2)

Syntax:

array crmgetAllExtIds( string $session_id )

Beschreibung

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

Eigenschaften der zurückgegebenen document Objekte:

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

Beispiel:

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




2.18. crmgetsearchfilteredDocuments

(Version v4.7.20011)

Syntax:

array crmgetsearchfilteredDocuments( string $session_id, int $filter_id, string $search, int $count, int $offset, string $fields )

Beschreibung

Gibt ein Array mit Dokument-Objekten zurück, die dem angegebenen Suchfilter und Suchbegriff entsprechen, limitiert von count und offset.

Parameter filter_id ist eine Pflichtangabe, die entspricht der ganzzahligen ID eines im adressierten CRM und für die Dokumentenverwaltung existierenden Suchfilter. Fehlerhafte Angaben zur Suchfilter ID resultieren in einer Fehlermeldung.

Der Parameter search repräsentiert die Eingabe im Suchfeld im CRM (Platzhalter <#search_field#> in Filterbedingungen)

Über den Parameter fields können die zurückgegeben Felder eingeschränkt werden („“ = alle Felder)

Im Falle eines Fehlers wird eine entsprechende Meldung zurückgegeben.

Hinweis: Es werden nur Dokumente und Felder zurückgegeben, für die der authentifizierte Nutzer Leseberechtigungen hat.

Eigenschaften der zurückgegebenen Dokument-Objekte sind identisch mit crmgetDocument, abhängig von eventuellen Beschränkungen der Felderrückgabe.

Beispiel:

<?php
 
try { 
    /* @var $client_logon crmlogon */
    $client_logon = new SOAPClient('http://domain/of/crm/soap/index.php?op=logon&wsdl');
     
    $session_id = $client_logon->crmLogin('testusr', 'testpass');
    if (!$session_id) die("invalid login");
 
    $client_docs = new SOAPClient('http://domain/of/crm/soap/index.php?op=docs&wsdl');
    $filter_id   = 7;
    $search      = 'my document';
    $count       = 20;
    $offset      = 0;
    $fields      = 'title,path,etime';
    $result      = $client_docs->crmgetsearchfilteredDocuments($session_id, $filter_id, $search, $count, $offset, $fields);
}
catch (SOAPFault $f) {
    print $f->faultstring;
}
 
echo '<pre>'.print_r($result, true).'</pre>';
  • No labels