Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
webservices:soap_webservices:documents [2018/01/26 11:08]
clemens [crmuploadDocument]
webservices:soap_webservices:documents [2020/05/06 14:01] (aktuell)
d0dge
Zeile 1: Zeile 1:
 ====== Documents ====== ====== Documents ======
  
-===== WSDL-URI ====== +Bitte besuchen Sie unsere neue Entwickler-Dokumentation unter [[https://​docs.tecart.de/​display/​public/​WIKI/Documents+SOAP]]
- +
- +
-<​code>​http://​hostname/​dirname/​soap/​index.php?​op=docs&​wsdl</​code>​ +
- +
-z.B. [[https://test.tecart-system.de/​soap/​index.php?​op=docs&​wsdl|https://​test.tecart-system.de/​soap/​index.php?​op=docs&​wsdl]] +
- +
- +
-===== Methoden ====== +
- +
- +
-==== 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):​  +
- +
-- die//​relative//​ 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**:​ +
-<sxh php> +
- +
-<?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 Beispiel 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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== 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**:​ +
-<sxh php> +
- +
-<?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 Beispiel 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 Beispiel 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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
-==== 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**:​ +
-<sxh php> +
- +
-<?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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
-==== 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**:​ +
-<sxh php> +
- +
-<?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<​br> ​                          ​dyBSb21hbjt9e1xmMVxmbmlsXGZjaGFyc2V0MCBSYWF2aTt9fQ0Ke1xjb2xvcnRibCA7XHJlZDI1NVxncmVlbjBcYmx1ZTA7fQ0Ke1wqXGdlbmVyYXRvciBNc2Z0ZWRpdCA1LjQxLjIxLjI1MDA7<​br> ​                          ​fVx2aWV3a2luZDRcdWMxXHRyb3dkXHRyZ2FwaDcwXHRybGVmdC03MFx0cnJoODg1XHRycGFkZGw3MFx0cnBhZGRyNzBcdHJwYWRkZmwzXHRycGFkZGZyMw0KXGNsYnJkcmxcYnJkcncxNVxicmRy<​br> ​                          ​c1xjbGJyZHJ0XGJyZHJ3MTVcYnJkcnNcY2xicmRyclxicmRydzE1XGJyZHJzXGNsYnJkcmJcYnJkcncxNVxicmRycyBcY2VsbHgzNTMwXGNsYnJkcmxcYnJkcncxNVxicmRyc1xjbGJyZHJ0XGJy<​br> ​                          ​ZHJ3MTVcYnJkcnNcY2xicmRyclxicmRydzE1XGJyZHJzXGNsYnJkcmJcYnJkcncxNVxicmRycyBcY2VsbHg3NjcwXHBhcmRcaW50YmxcbGFuZzEwMzFcZjBcZnMyNCBIYWxsbyBkZFxjZWxsXGYx<​br> ​                          ​XGZzOTYgVHNlXGYwXGZzMjQgdFxjZWxsXHJvd1x0cm93ZFx0cmdhcGg3MFx0cmxlZnQtNzBcdHJyaDEyNDVcdHJwYWRkbDcwXHRycGFkZHI3MFx0cnBhZGRmbDNcdHJwYWRkZnIzDQpcY2xicmRy<​br> ​                          ​bFxicmRydzE1XGJyZHJzXGNsYnJkcnRcYnJkcncxNVxicmRyc1xjbGJyZHJyXGJyZHJ3MTVcYnJkcnNcY2xicmRyYlxicmRydzE1XGJyZHJzIFxjZWxseDM1MzBcY2xicmRybFxicmRydzE1XGJy<​br> ​                          ​ZHJzXGNsYnJkcnRcYnJkcncxNVxicmRyc1xjbGJyZHJyXGJyZHJ3MTVcYnJkcnNcY2xicmRyYlxicmRydzE1XGJyZHJzIFxjZWxseDc2NzBccGFyZFxpbnRibFxjZjFcYiBTZGZzZnNkZlxjZWxs<​br> ​                          ​XGNmMFxiMCBTZnNmZGRzc2Rkc3Nkc2RzZHNkXGNlbGxccm93XHRyb3dkXHRyZ2FwaDcwXHRybGVmdC03MFx0cnJoMjM0MFx0cnBhZGRsNzBcdHJwYWRkcjcwXHRycGFkZGZsM1x0cnBhZGRmcjMN<​br> ​                          ​ClxjbGJyZHJsXGJyZHJ3MTVcYnJkcnNcY2xicmRydFxicmRydzE1XGJyZHJzXGNsYnJkcnJcYnJkcncxNVxicmRyc1xjbGJyZHJiXGJyZHJ3MTVcYnJkcnMgXGNlbGx4MzUzMFxjbGJyZHJsXGJy<​br> ​                          ​ZHJ3MTVcYnJkcnNcY2xicmRydFxicmRydzE1XGJyZHJzXGNsYnJkcnJcYnJkcncxNVxicmRyc1xjbGJyZHJiXGJyZHJ3MTVcYnJkcnMgXGNlbGx4NzY3MFxwYXJkXGludGJsXGNmMVxiIFNmZnNk<​br> ​                          ​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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== 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):​  +
- +
-- der//​relative//​Pfad 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**:​ +
-<sxh php> +
- +
-<?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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== 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**:​ +
-<sxh php> +
- +
-<?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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== 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**:​ +
-<sxh php> +
- +
-<?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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== 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**:​ +
-<sxh php> +
- +
-<?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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== 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**:​ +
-<sxh php> +
- +
-<?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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== crmupdateDocument ===== +
- +
-**Syntax**:​ +
-  int crmupdateDocument(string $session_id,​ string $module, docEigenschaftItem $docEigenschaftItem,​ 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) ​            ​$Beschreibung ​                   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**:​ +
-<sxh php> +
- +
-<?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( ​  "​patth" ​     => utf8_encode("​temp2"​) +
-                                , "​title" ​     => utf8_encode("​new title"​) +
-                                , "​keywords" ​  => utf8_encode("​keyword_1,​ keyword_2"​) +
-                                , "​Beschreibung"​=>​ utf8_encode("​this is a short document Beschreibung"​) +
-                                , "​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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== 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**:​ +
-<sxh php> +
- +
-<?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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== 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**:​ +
-<sxh php> +
- +
-<?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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== 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**:​ +
-<sxh php> +
- +
-<?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<​br> ​                                ​WVzIE5ldyBSb21hbjt9e1xmMVxmbmlsXGZjaGFyc2V0MCBSYWF2aTt9fQ0Ke1xjb2xvcnRibCA7XHJlZDI1NVxncmVlbjBcYmx1ZTA7fQ0Ke1wqXGdlbmVyYXRvciBNc2Z0ZWRpdCA1LjQxLjIx<​br> ​                                ​LjI1MDA7fVx2aWV3a2luZDRcdWMxXHRyb3dkXHRyZ2FwaDcwXHRybGVmdC03MFx0cnJoODg1XHRycGFkZGw3MFx0cnBhZGRyNzBcdHJwYWRkZmwzXHRycGFkZGZyMw0KXGNsYnJkcmxcYnJkcnc<​br> ​                                ​xNVxicmRyc1xjbGJyZHJ0XGJyZHJ3MTVcYnJkcnNcY2xicmRyclxicmRydzE1XGJyZHJzXGNsYnJkcmJcYnJkcncxNVxicmRycyBcY2VsbHgzNTMwXGNsYnJkcmxcYnJkcncxNVxicmRyc1xjbG<​br> ​                                ​JyZHJ0XGJyZHJ3MTVcYnJkcnNcY2xicmRyclxicmRydzE1XGJyZHJzXGNsYnJkcmJcYnJkcncxNVxicmRycyBcY2VsbHg3NjcwXHBhcmRcaW50YmxcbGFuZzEwMzFcZjBcZnMyNCBIYWxsbyBkZ<​br> ​                                ​FxjZWxsXGYxXGZzOTYgVHNlXGYwXGZzMjQgdFxjZWxsXHJvd1x0cm93ZFx0cmdhcGg3MFx0cmxlZnQtNzBcdHJyaDEyNDVcdHJwYWRkbDcwXHRycGFkZHI3MFx0cnBhZGRmbDNcdHJwYWRkZnIz<​br> ​                                ​DQpcY2xicmRybFxicmRydzE1XGJyZHJzXGNsYnJkcnRcYnJkcncxNVxicmRyc1xjbGJyZHJyXGJyZHJ3MTVcYnJkcnNcY2xicmRyYlxicmRydzE1XGJyZHJzIFxjZWxseDM1MzBcY2xicmRybFx<​br> ​                                ​icmRydzE1XGJyZHJzXGNsYnJkcnRcYnJkcncxNVxicmRyc1xjbGJyZHJyXGJyZHJ3MTVcYnJkcnNcY2xicmRyYlxicmRydzE1XGJyZHJzIFxjZWxseDc2NzBccGFyZFxpbnRibFxjZjFcYiBTZG<​br> ​                                ​ZzZnNkZlxjZWxsXGNmMFxiMCBTZnNmZGRzc2Rkc3Nkc2RzZHNkXGNlbGxccm93XHRyb3dkXHRyZ2FwaDcwXHRybGVmdC03MFx0cnJoMjM0MFx0cnBhZGRsNzBcdHJwYWRkcjcwXHRycGFkZGZsM<​br> ​                                ​1x0cnBhZGRmcjMNClxjbGJyZHJsXGJyZHJ3MTVcYnJkcnNcY2xicmRydFxicmRydzE1XGJyZHJzXGNsYnJkcnJcYnJkcncxNVxicmRyc1xjbGJyZHJiXGJyZHJ3MTVcYnJkcnMgXGNlbGx4MzUz<​br> ​                                ​MFxjbGJyZHJsXGJyZHJ3MTVcYnJkcnNcY2xicmRydFxicmRydzE1XGJyZHJzXGNsYnJkcnJcYnJkcncxNVxicmRyc1xjbGJyZHJiXGJyZHJ3MTVcYnJkcnMgXGNlbGx4NzY3MFxwYXJkXGludGJ<​br> ​                                ​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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== 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**:​ +
-<sxh php> +
- +
-<?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;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
--------- +
- +
- +
-==== 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**:​ +
-<sxh php> +
- +
-<?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 exists// +
-';// +
- +
-   // 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 exists// +
-';// +
-+
-catch (SOAPFault $f) { +
-  print $f->​faultstring;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
------ +
- +
- +
-==== 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:​** +
-<sxh php> +
- +
-<?php +
- +
-try { +
-  $result = $client_docs->​crmgetPathByExtId($session_id,​ 12345); +
-+
-catch (SOAPFault $f) { +
-  print $f->​faultstring;​ +
-+
- +
-foreach($result as $path) { +
-   +
-     echo $path."<​br> ​ "; +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
-------- +
- +
- +
-==== 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:​** +
-<sxh php> +
- +
-<?php +
- +
-try {  +
-  $result = $client_docs->​crmgetAllExtIds($session_id);​ +
-+
-catch (SOAPFault $f) { +
-  print $f->​faultstring;​ +
-+
- +
-foreach($result as $id) { +
-   +
-     echo $id."<​br> ​ "; +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
-------- +
- +
-==== 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:​** +
- +
-<sxh php> +
- +
-<?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>';​ +
-?> +
- +
-</​sxh>​ +
- +
-------- +