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

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

2. Methoden

2.1. Kontakte & Personen

2.1.1. crmcountContacts

Syntax:

int crmcountContacts ( string $session_id )

Beschreibung:

Liefert die Gesamtzahl an Kontakten.

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_contacts = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=contacts&wsdl");
 
   echo $client_contacts->crmcountContacts($session_id);
}
catch (SOAPFault $f) {
  print $f->faultstring;
}

2.1.2. crmcountPersons

(Version > 3.4.5135)

Syntax:

int crmcountPersons ( string $session_id )

Beschreibung:

Liefert die Gesamtzahl an Personen.

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_contacts = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=contacts&wsdl");
 
   echo $client_contacts->crmcountPersons($session_id);
}
catch (SOAPFault $f) {
  print $f->faultstring;
}

2.1.3. crmsearchContacts

Syntax:

array crmsearchContacts ( string $session_id, string $search, string $branch, string $category, int $count )

Beschreibung:

Liefert ein Array mit contact Objekte.

search ist ein freier Suchtext.

branch ist die Branche des Kontakts, unwirksam, wenn auf -1 gesetzt.

category ist die Kategorie des Kontakts, unwirksam, wenn auf -1 gesetzt.

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

Eigenschaften:

Type(Length)  Eigenschaft     Beschreibung
-------------------------------------------------------------------
string(128)   $cid            Contact-Id, Format: Contact-Id:Person-Id 
string(128)   $company        Unternehmen 
string(100)   $firstname      Vorname 
string(100)   $lastname       Nachname 

Beispiel:

<?php
 
$result = $client_contacts->crmsearchContacts($session_id, 'tecart', -1, -1, 10);
 
foreach($result as $contact) {
  echo "{$contact->cid}, {$contact->lastname}, {$contact->firstname}, {$contact->company}<br>  \n";
}

2.1.4. crmsearchContact

(Version >= 3.1.2290)

Syntax:

array crmsearchContact ( string $session_id, crmsearchContactItems $crmsearchContactItems, int $count, int offset )

Beschreibung:

Liefert ein Array mit Objekten mit cid.

crmsearchContactItems ist ein Objekt mit Suchparametern.

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

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

Eigenschaften von crmsearchContactItems:

Type(Length)      Eigenschaft                             Beschreibung
------------------------------------------------------------------------------------------- 
string(255)       $field                                  Feldname
string(255)       $value                                  Suchvalue

Eigenschaften der zurückgegebenen array:

Type(Length)  Eigenschaft     Beschreibung
-------------------------------------------------------------------
string(128)   $cid            Contact-Id

Beispiel 1:

<?php
 
$search['crmsearchContactItems'] = array(array('field' => 'company', 'value' => '%xatec%'), 
  array('field' => 'city',    'value' => 'erf%'));
 
$result = $client_contacts->crmsearchContact($session_id, $search, 10, 0);
 
foreach($result as $contact) {
  print_r($contact);
}

Beispiel 2:

<?php
 
class searchItems {
     
     public $crmsearchContactItems = array();
       
     public function add($field, $value)
     {
         $this->crmsearchContactItems[] = array('field' => $field, 'value' => $value);
     }
       
}
 
$search = new searchItems();
$search->add('company', '%tecart%');
$search->add('city', 'Erfurt');
 
$result = $client_contacts->crmsearchContact($session_id, $search, 0, 0);
 
foreach($result as $contact) {
  print_r($contact);
}



2.1.5. crmsearchContactFull

(Version >= 3.3)

Syntax:

array crmsearchContactFull ( string $session_id, crmsearchContactFullItems $crmsearchContactFullItems, int $count, int offset, string $sort_name )

Beschreibung:

Liefert ein Array mit Kontakt-Objekten.

crmsearchContactFullItems ist ein Objekt mit Suchparametern.

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

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

sort_name ist die Sortierung, wie die Kontaktnamen sortiert werden sollen.

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

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

Eigenschaften von crmsearchContactFullItems:

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

Eigenschaften von crmsearchContactFullItemValues:

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

Eigenschaften der zurückgegebenen array:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
int               $cid                 Contact-Id 
string(128)       $company             Unternehmen
string(255)       $department          Abteilung
string(100)       $street              Addresse
string(20)        $postcode            Postleitzahl 
string(100)       $city                Stadt
string(255)       $email               E-Mail 
string(255)       $email2              E-Mail 2
string(255)       $email3              E-Mail 3
int               $email_status        E-Mail Status für Serien- E-Mail Funktion, bezieht sich auf Feld ''email'' ( ab Version 4.5 )
                                             Zustände:
                                               0 => "nicht freigeschaltet"
                                               1 => "freigeschaltet"
                                               2 => "nicht erreichbar"
                                               3 => "freigeschaltet / nicht erreichbar"
                                               4 => "blockiert"
                                               6 => "abgemeldet"
string(50)        $phone               Telefon 
string(50)        $fax                 Fax 
string(100)       $region              Region 
string(255)       $country             Land
string(255)       $acc_holder          Kontoinhaber
string(20)        $acc_nr              Kontonummer
string(20)        $bankcode            Bankleitzahl
string(255)       $bankname            Name der Bank 
string(100)       $swift               BIC/SWIFT  
string(100)       $iban                IBAN 
string(255)       $branch              Branchen, Format: Branch1:Branch2: ... 
string(255)       $category            Kategorien, Format: Category1:Category2: ... 
string(50)        $code                Code für Schnellsuche 
string(65535)     $notes               Notizen
string(50)        $number              Nummer
string(255)       $superior            Vorgesetzter, Format: Contact-Id:Person-Id 
string(255)       $type                Typ
int               $userid              Verantwortlicher
string(50)        $ustnr               Steuernummer
string(255)       $website             WebSite 

int               $chgtime             Unix-Timestamp der letzten Änderung
int               $chguser             Userid der letzten Änderung
int               $createtime          Unix-Timestamp der Erstellung
int               $createuser          Userid der Erstellung

string(255)       $user27              Benutzerdefiniertes Feld Nr. 27
string(255)       $user28              Benutzerdefiniertes Feld Nr. 28
   :                 :                          :
string(255)       $user81              Benutzerdefiniertes Feld Nr. 81

Beispiel 1:

<?php
 
// Suche nach Kontakten, welche im Firmennamen 'tecart' ODER 'test company' enthalten, sortiert nach Firmenname aufsteigend
$search_term['crmsearchContactFullItems'] = array();
$search_term['crmsearchContactFullItems'][] = array( 'field' => 'company', 'crmsearchContactFullItemValues' => array(array('value' => '%tecart%'), 
  array('value' => '%test company%')) );
$result = $client_contacts->crmsearchContactFull($session_id, $search_term, 10, 0, 'ASC');
 
foreach($result as $contact) {
  print_r($contact);
}

Beispiel 2:

<?php
 
// Suche nach Kontakten, welche im Firmennamen 'tecart' UND 'test company' enthalten, sortiert nach Firmenname aufsteigend
$search_term['crmsearchContactFullItems'] = array();
$search_term['crmsearchContactFullItems'][] = array( 'field' => 'company', 'crmsearchContactFullItemValues' => array(array('value' => '%tecart%')) );
$search_term['crmsearchContactFullItems'][] = array( 'field' => 'company', 'crmsearchContactFullItemValues' => array(array('value' => '%test company%')) );
 
$result = $client_contacts->crmsearchContactFull($session_id, $search_term, 10, 0, 'ASC');
 
foreach($result as $contact) {
  print_r($contact);
}




2.1.6. crmgetContact

Syntax:

array crmgetContact ( string $session_id, string $cid, int $pid )

Beschreibung:

Gibt ein Array mit contact Objekte mit nur einem Element zurück.

cid ist die Contact-Id.

pid ist die Person-Id, wenn auf 0 gesetzt werden keine Personendaten zurückgegeben.

Hinweis: Die Kontakt-ID kann als Integer oder String im Format "contact_id:person_id" geliefert werden.

Eigenschaften:

Type(Length)      Eigenschaft             Beschreibung
-------------------------------------------------------------------
int               $cid                   Contact-Id 
string(128)       $contact_company       Kontakt Unternehmen
string(255)       $contact_department    Kontakt Abteilung
string(100)       $contact_street        Kontakt Addresse
string(20)        $contact_postcode      Kontakt Postleitzahl 
string(100)       $contact_city          Kontakt Stadt
string(255)       $contact_email         Kontakt E-Mail 
int               $contact_email_status  E-Mail Status für Serien- E-Mail Funktion, bezieht sich auf die Adresse in ''contact_email'' ( ab Version 4.5 )
                                             Zustände:
                                               0 => "nicht freigeschaltet"
                                               1 => "freigeschaltet"
                                               2 => "nicht erreichbar"
                                               3 => "freigeschaltet / nicht erreichbar"
                                               4 => "blockiert"
                                               6 => "abgemeldet"
string(50)        $contact_phone       Kontakt Telefon
string(50)        $contact_fax         Kontakt Fax 
string(100)       $contact_region      Kontakt Region 
string(255)       $contact_country     Kontakt Land
string(255)       $contact_acc_holder  Kontakt Kontoinhaber
string(20)        $contact_acc_nr      Kontakt Kontonummer
string(20)        $contact_bankcode    Kontakt Bankleitzahl
string(255)       $contact_bankname    Kontakt Name der Bank 
string(100)       $contact_swift       Kontakt BIC/SWIFT  
string(100)       $contact_iban        Kontakt IBAN 
string(255)       $contact_branch      Kontakt Branchen, Format: Branch1:Branch2: ... 
string(255)       $contact_category    Kontakt Kategorien, Format: Category1:Category2: ... 
string(50)        $contact_code        Kontakt Code für Schnellsuche 
string(65535)     $contact_notes       Kontakt Notizen
string(50)        $contact_number      Kontakt Nummer
string(255)       $contact_superior    Kontakt Vorgesetzter, Format: Contact-Id:Person-Id 
string(255)       $contact_type        Kontakt Typ
int               $contact_userid      Kontakt Verantwortlicher 
string(50)        $contact_ustnr       Kontakt Steuernummer
string(255)       $contact_website     Kontakt WebSite 
int               $contact_extid       Kontakt Externe ID ( ab Version 4.2 )

int               $contact_chgtime     Unix-Timestamp der letzten Änderung
int               $contact_chguser     Userid der letzten Änderung
int               $contact_createtime  Unix-Timestamp der Erstellung
int               $contact_createuser  Userid der Erstellung
 
int               $pid                 Person-Id 
string(50)        $person_salutation   Person Anrede
string(100)       $person_firstname    Person Vorname
string(100)       $person_lastname     Person Nachname
int               $person_birthday     Person Geburtstag ( Unix-Timestamp - kann negativ sein )
string(100)       $person_city         Person Stadt
string(100)       $person_country      Person Land
string(255)       $person_email        Person E-Mail 
int               $email_status        E-Mail Status für Serien- E-Mail Funktion, bezieht sich auf die Adresse in ''person_email'' ( ab Version 4.5 )
                                             Zustände:
                                               0 => "nicht freigeschaltet"
                                               1 => "freigeschaltet"
                                               2 => "nicht erreichbar"
                                               3 => "freigeschaltet / nicht erreichbar"
                                               4 => "blockiert"
                                               6 => "abgemeldet"
string(100)       $person_fax          Person Fax-Nummer 
string(100)       $person_mobile       Person Mobilnumber
string(65535)     $person_notes        Person Notizen
string(50)        $person_number       Person Nr. 
string(100)       $person_phone        Person Telefon
string(100)       $person_position     Person Position z.B. CEO 
string(100)       $person_postcode     Person Postleitzahl
string(100)       $person_region       Person Region
string(100)       $person_street       Person Addresse 
string(255)       $person_type         Person Typ
int               $person_extid        Person Externe ID ( ab Version 4.2 )
 
int               $person_chgtime      Unix-Timestamp der letzten Änderung
int               $person_chguser      Userid der letzten Änderung
int               $person_createtime   Unix-Timestamp der Erstellung
int               $person_createuser   Userid der Erstellung

Beispiel:

<?php
 
$result  = $client_contacts->crmgetContact($session_id, '4742:4593', 0);
$contact = $result[0];
 
foreach($contact as $key => $val) echo "$key => $val<br>\n";
 
echo $contact->contact_company." ".$contact->person_lastname;

2.1.7. crmgetSingleContact

Syntax:

array crmgetSingleContact ( string $session_id, int $cid )

Beschreibung:

Gibt ein Array mit Kontakt Objekten mit nur einem Element zurück.

cid ist die Contact-Id.

Eigenschaften:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
int               $cid                 Contact-Id
int               $ext_id              Externe ID ( ab Version 4.2 )
string(128)       $company             Unternehmen
string(255)       $department          Abteilung
string(100)       $street              Addresse
string(20)        $postcode            Postleitzahl 
string(100)       $city                Stadt
string(255)       $email               E-Mail 
string(255)       $email2              E-Mail 2
string(255)       $email3              E-Mail 3
int               $email_status        E-Mail Status für Serien- E-Mail Funktion, bezieht sich auf Feld ''email'' ( ab Version 4.5 )
                                             Zustände:
                                               0 => "nicht freigeschaltet"
                                               1 => "freigeschaltet"
                                               2 => "nicht erreichbar"
                                               3 => "freigeschaltet / nicht erreichbar"
                                               4 => "blockiert"
                                               6 => "abgemeldet"
string(50)        $phone               Telefon 
string(50)        $fax                 Fax 
string(100)       $region              Region 
string(255)       $country             Land
string(255)       $acc_holder          Kontoinhaber
string(20)        $acc_nr              Kontonummer
string(20)        $bankcode            Bankleitzahl
string(255)       $bankname            Name der Bank 
string(100)       $swift               BIC/SWIFT  
string(100)       $iban                IBAN 
string(255)       $branch              Branchen, Format: Branch1:Branch2: ... 
string(255)       $category            Kategorien, Format: Category1:Category2: ... 
string(50)        $code                Code für Schnellsuche 
string(65535)     $notes               Notizen
string(50)        $number              Nummer
string(255)       $superior            Vorgesetzter, Format: Contact-Id:Person-Id 
string(255)       $type                Typ
int               $userid              Verantwortlicher
string(50)        $ustnr               Steuernummer
string(255)       $website             WebSite 

int               $chgtime             Unix-Timestamp der letzten Änderung
int               $chguser             Userid der letzten Änderung
int               $createtime          Unix-Timestamp der Erstellung
int               $createuser          Userid der Erstellung

string(255)       $user27              Benutzerdefiniertes Feld Nr. 27
string(255)       $user28              Benutzerdefiniertes Feld Nr. 28
   :                 :                          :
string(255)       $user81              Benutzerdefiniertes Feld Nr. 81

Beispiel:

<?php
 
$result = $client_contacts->crmgetSingleContact($session_id, 4742);
$contact = $result[0];
 
foreach($contact as $key => $val) {
    echo "$key => $val<br>\n";
}

2.1.8. crmgetSinglePerson

Syntax:

array crmgetSinglePerson ( string $session_id, int $pid )

Beschreibung:

Liefert ein Array mit person Objekte mit nur einem Element.

pid = Person-Id.

Eigenschaften:

Type(Length)      Eigenschaft             Beschreibung
-------------------------------------------------------------------

int               $pid                 Person-Id 
int               $cid                 Contact-Id 
int               $ext_id              Externe ID ( ab Version 4.2 )
string(50)        $salutation          Anrede
string(100)       $firstname           Vorname 
string(100)       $lastname            Nachname 
int               $birthday            Geburtstag ( Unix-Timestamp - Kann negativ sein ) 
string(100)       $city                Stadt
string(100)       $country             Land 
string(255)       $email               E-Mail 
string(255)       $email2              E-Mail 2
string(255)       $email3              E-Mail 3
int               $email_status        E-Mail Status für Serien- E-Mail Funktion, bezieht sich auf Feld ''email'' ( ab Version 4.5 )
                                             Zustände:
                                               0 => "nicht freigeschaltet"
                                               1 => "freigeschaltet"
                                               2 => "nicht erreichbar"
                                               3 => "freigeschaltet / nicht erreichbar"
                                               4 => "blockiert"
                                               6 => "abgemeldet"
string(100)       $fax                 Fax-Nummer 
string(100)       $mobile              Mobilnumber
string(65535)     $notes               Notizen
string(50)        $number              Nr. 
string(100)       $phone               Telefon
string(100)       $position            Position z.B. CEO 
string(100)       $postcode            Postleitzahl
string(100)       $region              Region
string(100)       $street              Addresse
string(255)       $type                Typ
 
int               $chgtime             Unix-Timestamp der letzten Änderung
int               $chguser             Userid der letzten Änderung
int               $createtime          Unix-Timestamp der Erstellung
int               $createuser          Userid der Erstellung

string(255)       $user18              Benutzerdefiniertes Feld Nr. 18
string(255)       $user19              Benutzerdefiniertes Feld Nr. 19
   :                 :                            :
string(255)       $user65              Benutzerdefiniertes Feld Nr. 65 

Beispiel:

<?php
 
$result = $client_contacts->crmgetSinglePerson($session_id, 4742);
$person = $result[0];
 
foreach($person as $key => $val) {
    echo "$key => $val<br>\n";
}
 
echo $person->salutation." ".$person->lastname;

2.1.9. crmgetChangedContacts

Syntax:

array crmgetChangedContacts ( string $session_id, int $timestamp )

Beschreibung:

Gibt ein Array mit contact Objekte zurück, die seit timestamp geändert wurden.

Hinweis: Es werden nur Kontakte zurückgegeben, für die der Authentifizierte Nutzer Leseberechtigungen hat.

Eigenschaften:

sind die selben wie für crmgetSingleContact

Beispiel:

<?php
 
$result = $client_contacts->crmgetChangedContacts($session_id, 1176304358);
 
foreach($result as $contact) {
  foreach($contact as $key => $val) echo "$key => $val<br>  \n";
}

2.1.10. crmgetChangedContactsLimit

Syntax:

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

Beschreibung:

Liefert ein Array mit contact Objekten.

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

timestamp ist ein UNIX-Timestamp, ist er größer als 0 werden alle Kontakte zurückgegeben, die seit diesem Zeitpunkt geändert wurden.

count ist die Anzahl der Ergebnisse, die zurückgegeben werden soll, 0 bedeutet kein Limit.

offset ist die Offset-Position von der Ergebnisse zurückgegeben werden, unwirksam wenn count auf 0 gesetzt ist.

Eigenschaften:

sind die selben wie für crmgetSingleContact

Beispiel:

<?php
 
$result = $client_contacts->crmgetChangedContactsLimit($session_id, 1176304358, 100, 300);
 
foreach($result as $contact) {
  foreach($contact as $key => $val) echo "$key => $val<br>  \n";
}



2.1.11. crmgetChangedPersons

Syntax:

array crmgetChangedPersons ( string $session_id, int $timestamp )

Beschreibung:

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

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

Eigenschaften:

sind die selben wie für crmgetSinglePerson

Beispiel:

<?php
 
$result = $client_contacts->crmgetChangedPersons($session_id, 1176304358);
 
foreach($result as $person) {
  foreach($person as $key => $val) echo "$key => $val<br>  \n";
}
 
echo $person->firstname." ".$person->lastname;

2.1.12. crmgetChangedPersonsLimit

Syntax:

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

Beschreibung:

Gibt ein Array mit person Objekte zurück.

Hinweis: Es werden nur Personen zurückgegeben, für die der Authentifizierte Nutzer Leseberechtigungen hat.

timestamp ist ein UNIX-Timestamp, ist er größer als 0 werden alle Kontakte zurückgegeben, die seit diesem Zeitpunkt geändert wurden.

count ist die Anzahl der Ergebnisse, die zurückgegeben werden soll, 0 bedeutet kein Limit.

offset ist die Offset-Position von der Ergebnisse zurückgegeben werden, unwirksam wenn count auf 0 gesetzt ist.

Eigenschaften:

sind die selben wie für crmgetSinglePerson

Beispiel:

<?php
 
$result = $client_contacts->crmgetChangedPersonsLimit($session_id, 1176304358, 100, 0);
 
foreach($result as $person) {
  foreach($person as $key => $val) echo "$key => $val<br>  \n";
}
 
echo $person->firstname." ".$person->lastname;

2.1.13. crmaddContact

Syntax:

int crmaddContact ( string $session_id, array $crmContactItem )

Beschreibung:

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

crmContactItem kann ein assoziatives Array oder ein Objekt sein.

Eigenschaften von crmContactItem:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
string(128)       $company             Unternehmen
string(255)       $department          Abteilung
string(100)       $street              Addresse
string(20)        $postcode            Postleitzahl
string(100)       $city                Stadt
string(255)       $email               E-Mail 
string(255)       $email2              E-Mail 2
string(255)       $email3              E-Mail 3
int               $email_status        E-Mail Status für Serien- E-Mail Funktion, bezieht sich auf Feld ''email'' ( ab Version 4.5 )
                                             Zustände:
                                               0 => "nicht freigeschaltet"
                                               1 => "freigeschaltet"
                                               2 => "nicht erreichbar"
                                               3 => "freigeschaltet / nicht erreichbar"
                                               4 => "blockiert"
                                               6 => "abgemeldet"
string(50)        $phone               Telefon 
string(50)        $fax                 Fax 
string(100)       $region              Region 
string(255)       $country             Land
string(255)       $acc_holder          Kontoinhaber
string(20)        $acc_nr              Kontonummer
string(20)        $bankcode            Bankleitzahl
string(255)       $bankname            Name der Bank 
string(100)       $swift               BIC/SWIFT  
string(100)       $iban                IBAN 
string(255)       $branch              Branchen, Format: Branch1:Branch2: ... 
string(255)       $category            Kategorien, Format: Category1:Category2: ... 
string(50)        $code                Code für Quicksearch 
string(65535)     $notes               Notizen
string(50)        $number              Nummer
string(255)       $superior            Vorgesetzter, Format: Contact-Id:Person-Id 
string(255)       $type                Typ 
int               $userid              Verantwortlicher
string(50)        $ustnr               Steuernummer
string(255)       $website             WebSite 
string(64)        $password            Passwort // seit Version V3.1.2291
int               $ext_id              Externe ID ( ab Version 4.2 )
string(255)       $user27              Benutzerdefiniertes Feld Nr. 27
string(255)       $user28              Benutzerdefiniertes Feld Nr. 28
   :                 :                          :
string(255)       $user81              Benutzerdefiniertes Feld Nr. 81

Beispiel 1:

<?php
 
$contact = array(
  'company'     => 'WebService-Company',
  'department'  => 'Development',
  'street'      => 'FischereiMarkt 5',
  'postcode'    => '99084',
  'city'        => 'Erfurt',
  'region'      => utf8_encode('Thüringen'),
  'country'     => 'Deutschland',
  'email'       => 'info@xatec.de',
  'phone'       => '+49 361 3801001',
  'fax'         => '+49 361 3801000',
  'notes'       => 'This is a WebServiceTest',
  'number'      => 'ABCD',
  'website'     => 'http://www.xatec.de',
  'acc_holder'  => 'Christian Friebel - Xatec',
  'acc_nr'      => '1234567890',
  'bankcode'    => '82070024',
  'bankname'    => 'Deutsche Bank 24',
  'swift'       => 'DEUTDEDBERF',
  'iban'        => 'DE3459084359048594',
  'category'    => 'Kunde:Lieferant',
  'branch'      => 'Industrie:IT/Computer',
  'userid'      => 5,
  'code'        => '',
  'type'        => utf8_encode('geschäftlich'),
  'superior'    => '2:1'
  'ustnr'       => '',
  'user27'      => 'Test 27',
  'user28'      => 'Test 28',
  'user29'      => 'Test 29',
  'user30'      => 'Test 30'
);
 
$contact_id = $client_contacts->crmaddContact($session_id, $contact);
echo $contact_id;



Beispiel 2:

<?php
 
class contact {
   
     public $company;
     public $department;
     public $street;
     public $postcode;
     public $city;
 
}
 
$contact = new contact();
$contact->company    = 'WebService-Company';
$contact->department = 'Development';
$contact->street     = 'FischereiMarkt 5';
$contact->postcode   = '99084';
$contact->city       = 'Erfurt';
 
$contact_id = $client_contacts->crmaddContact($session_id, $contact);
echo $contact_id;

2.1.14. crmChangeContact

Syntax:

int crmChangeContact ( string $session_id, int $contact_id, array $crmContactItem)

Beschreibung:

Liefert die contact_id bei Erfolg, 0 bei einem Fehler.

crmContactItem kann ein assoziatives Array oder ein Objekt sein.

Eigenschaften: sind die selben wie für crmaddContact

Beispiel:

<?php
 
$contact['company'] = 'WebService-Company Changed';
$contact_id = $client_contacts->crmChangeContact($session_id, $contact_id, $contact);
echo $contact_id;

2.1.15. crmdeleteContact

Syntax:

boolean crmdeleteContact ( string $session_id, int $contact_id )

Beschreibung:

Löscht einen Kontakt. Liefert 1 bei Erfolg, 0 im Fehlerfall.

Beispiel:

<?php
 
$success = $client_contacts->crmdeleteContact($session_id, $contact_id);
if (!$success) {
    echo "Unable to delete contact.";
}

2.1.16. crmaddPerson

Syntax:

int crmaddPerson ( string $session_id, array $crmPersonItem )

Beschreibung:

Fügt eine Person zu einem vorhandenen Kontakt hinzu. Liefert eine person_id bei Erfolg, 0 im Fehlerfall.

crmPersonItem kann ein assoziatives Array oder ein Objekt sein.

Eigenschaften:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------

int               $cid                 Contact-Id 
int               $ext_id              Externe ID ( ab Version 4.2 )

string(50)        $salutation          Anrede 
string(100)       $firstname           Vorname 
string(100)       $lastname            Nachname 
int               $birthday            Geburtstag ( Unix-Timestamp - kann negativ sein ) 
string(100)       $city                Stadt
string(100)       $country             Land 
string(255)       $email               E-Mail 
string(255)       $email2              E-Mail 2
string(255)       $email3              E-Mail 3
int               $email_status        E-Mail Status für Serien- E-Mail Funktion, bezieht sich auf Feld ''email'' ( ab Version 4.5 )
                                             Zustände:
                                               0 => "nicht freigeschaltet"
                                               1 => "freigeschaltet"
                                               2 => "nicht erreichbar"
                                               3 => "freigeschaltet / nicht erreichbar"
                                               4 => "blockiert"
                                               6 => "abgemeldet"
string(100)       $fax                 Fax-Nummer 
string(100)       $mobile              Mobilnumber
string(65535)     $notes               Notizen
string(50)        $number              Nr. 
string(100)       $phone               Telefon
string(100)       $position            Position z.B. CEO 
string(100)       $postcode            Postleitzahl
string(100)       $region              Region
string(100)       $street              Addresse
string(255)       $type                Typ
 
string(255)       $user18              Benutzerdefiniertes Feld Nr. 18
string(255)       $user19              Benutzerdefiniertes Feld Nr. 19
   :                 :                            :
string(255)       $user65              Benutzerdefiniertes Feld Nr. 65 

Beispiel 1:

<?php
 
$person = array(
  'cid'        => $contact_id,
  'salutation' => 'Herr',
  'firstname'  => 'Christian',
  'lastname'   => 'Friebel',
  'phone'      => '+49 361 3801001'
);
 
$person_id = $client_contacts->crmAddPerson($session_id, $person);
echo $person_id;

Beispiel 2:

<?php
 
class person {
   
     public $cid;
     public $salutation;
     public $firstname;
     public $lastname;
     public $phone;
 
}
 
$person = new person();
 
$person->cid         = 4336;
$person->salutation  = 'Herr';
$person->firstname   = 'Christian';
$person->lastname    = 'Friebel';
$person->phone       = '+49 361 3801001';
 
$person_id = $client_contacts->crmaddPerson($session_id, $person);
echo $person_id;

2.1.17. crmChangePerson

Syntax:

int crmChangePerson ( string $session_id, int $person_id, array $crmPersonItem )

Beschreibung:

Ändert eine existierende Person anhand ihrer Id.

Liefert eine person_id bei Erfolg, 0 im Fehlerfall.

crmPersonItem kann ein assoziatives Array oder ein Objekt sein.

Eigenschaften: sind die selben wie für crmaddPerson

Beispiel:

<?php
 
$person['position'] = 'CEO';
$person['phone']    = '123456';
 
$person_id = $client_contacts->crmChangePerson($session_id, $person_id, $person);
echo $person_id;

2.1.18. crmdeletePerson

Syntax:

boolean crmdeletePerson ( string $session_id, int $person_id )

Beschreibung:

Löscht eine Person. Liefert 1 bei Erfolg, 0 im Fehlerfall.

Beispiel:

1
2
3
4
5
6

<?php
 
$success = $client_contacts->crmdeletePerson($session_id, $person_id);
if (!$success) echo "Unable to delete person.";
 
?>



2.1.19. crmgetContactIds

Syntax:

array crmgetContactIds ( string $session_id, int $timestamp )

Beschreibung:

Gibt ein Array mit contact Objekte zurück, die seit timestamp geändert wurden.

Hinweis: Es werden nur Kontakte zurückgegeben, für die der Authentifizierte Nutzer Leseberechtigungen hat.

Eigenschaften:

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

Beispiel:

<?php
 
$result = $client_contacts->crmgetContactIds($session_id, 0);
 
foreach($result as $contact) {
  echo $contact->id."<br>  ";
}

2.1.20. crmgetContactIdsString

(Version >= 3.0.1549)

Syntax:

string crmgetContactIdsString( string $session_id, int $timestamp )

Beschreibung:

Gibt eine Liste mit contact ids die seit timestamp geändert wurden als Doppelpunkt-getrennten String zurück.

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

Beispiel:

<?php
 
$result = $client_contacts->crmgetContactIdsString($session_id, 0);
 
$contact_ids = explode(":", $result);
 
foreach($contact_ids as $contact_id) {
  echo $contact_id."<br>  ";
}

2.1.21. crmgetPersonIds

Syntax:

array crmgetPersonIds ( string $session_id, int $timestamp )

Beschreibung:

Liefert ein Array mit person Objekte die seit timestamp geändert wurden.

Hinweis: Es werden nur Personen zurückgegeben, für die der Authentifizierte Nutzer Leseberechtigungen hat.

Eigenschaften:

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

Beispiel:

<?php
 
$result = $client_contacts->crmgetPersonIds($session_id, 1176304358);
 
foreach($result as $person) {
  echo $person->id."
  "; 
}

2.1.22. crmgetPersonIdsString

(Version >= 3.0.1549)

Syntax:

string crmgetPersonIdsString ( string $session_id, int $timestamp )

Beschreibung:

Gibt eine Liste mit person ids die seit timestamp geändert wurden als Doppelpunkt-getrennten String zurück.

Hinweis: Es werden nur Personen zurückgegeben, für die der Authentifizierte Nutzer Leseberechtigungen hat.

Beispiel:

<?php
 
$result = $client_contacts->crmgetPersonIdsString($session_id, 1176304358);
 
$person_ids = explode(":", $result);
 
foreach($person_ids as $person_id) {
  echo $person_id."
  "; 
}

2.1.23. crmgetContactPermission

Syntax:

array crmgetContactPermission ( string $session_id, int $contact_id )

Beschreibung:

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

Eigenschaften von crmgetContactPermissionResult:

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

Eigenschaften von crmUserPermissionElement:

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

Eigenschaften von crmGroupPermissionElement:

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

Beispiel:

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

2.1.24. crmsetContactPermission

Syntax:

boolean crmsetContactPermission ( string $session_id, crmContactPermission $crmContactPermission )

Beschreibung:

Setzt die Berechtigungen eines einzelnen Kontakts.

Eigenschaften von crmContactPermission:

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

Eigenschaften von crmUserPermissionElement:

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

Eigenschaften von crmGroupPermissionElement:

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

Beispiel:

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

2.1.25. crmgetContactByRealNumber

 

Diese Methode wird in aktuellen Versionen nicht mehr unterstützt!


(Version >= 3.2.3285) 

Syntax:

array crmgetContactByRealNumber ( string $session_id, $real_number )

Beschreibung:

Gibt ein Array mit contact Objekte mit nur einem Element zurück, basierend auf der RealNumber.

real_number ist die angezeigte Kontaktnummer (nicht die Kontakt-ID).

Eigenschaften:

Type(Length)      Eigenschaft                     Beschreibung
---------------------------------------------------------------------------------------
int               $cid                            Kontakt-Id
string(128)       $contact_company                Kontakt Unternehmen
string(255) $contact_department Kontakt Abteilung
string(100) $contact_street Kontakt Addresse
string(20) $contact_postcode Kontakt Postleitzahl
string(100) $contact_city Kontakt Stadt
string(255) $contact_email Kontakt E-Mail
int $contact_email_status E-Mail Status für Serien- E-Mail Funktion, bezieht sich auf die Adresse in contact_email ( ab Version 4.5 )
Zustände: 0 => "nicht freigeschaltet"
1 => "freigeschaltet"
2 => "nicht erreichbar"
3 => "freigeschaltet / nicht erreichbar"
4 => "blockiert"
6 => "abgemeldet"
string(50) $contact_phone Kontakt Telefon
string(50) $contact_fax Kontakt Fax
string(100) $contact_region Kontakt Region
string(255) $contact_country Kontakt Land
string(255) $contact_acc_holder Kontakt Kontoinhaber
string(20) $contact_acc_nr Kontakt Kontonummer
string(20) $contact_bankcode Kontakt Bankleitzahl
string(255) $contact_bankname Kontakt Name der Bank
string(100) $contact_swift Kontakt BIC/SWIFT
string(100) $contact_iban Kontakt IBAN
string(255) $contact_branch Kontakt Branchen, Format: Branch1:Branch2: …
string(255) $contact_category Kontakt Kategorien, Format: Category1:Category2: …
string(50) $contact_code Kontakt Code für Schnellsuche
string(65535) $contact_notes Kontakt Notizen
string(50) $contact_number Kontakt Nummer
string(255) $contact_superior Kontakt Vorgesetzter, Format: Contact-Id:Person-Id
string(255) $contact_type Kontakt Typ
int $contact_userid Kontakt Verantwortlicher
string(50) $contact_ustnr Kontakt Steuernummer
string(255) $contact_website Kontakt WebSite
int $contact_chgtime Unix-Timestamp der letzten Änderung
int $contact_chguser Userid der letzten Änderung
int $contact_createtime Unix-Timestamp der Erstellung
int $contact_createuser Userid der Erstellung

 Beispiel:

1
2
3
4
5
6
7
8
9
10

<?php
 
$result  = $client_contacts->crmgetContactByRealNumber($session_id, '10000');
$contact = $result[0];
 
foreach($contact as $key => $val) echo "$key => $val<br>\n";
 
echo $contact->contact_company;
 
?>



2.1.26. crmsetPicture

(Version >= 3.3.3650)

Syntax:

boolean crmsetPicture ( string $session_id, int $cid, string $picture_data )

Beschreibung:

Läd ein Bild zu einem Kontakt hoch.

cid ist die Kontakt-ID.

picture_data ist Binärer Inhalt des Bildes (base64-kodiert).

Gib 1 beim Erfolg zurück.

Beispiel:

<?php
 
try {
  $file    = "../fotos/bild.jpg";
     $foto_content = base64_encode(file_get_contents($file));
 
   $success  = $client_contacts->crmsetPicture($session_id, 10000, $foto_content);
 
   echo $success;
}
catch (SOAPFault $f) {
  print $f->faultstring;
}

2.1.27. crmsetPersonPicture

(Version >= 3.4.5135)

Syntax:

boolean crmsetPersonPicture ( string $session_id, int $pid, string $picture_data )

Beschreibung:

Läd ein Bild zu einem Person hoch.

pid ist die Person-ID.

picture_data ist Binärer Inhalt des Bildes (base64-kodiert).

Gib 1 beim Erfolg zurück.

Beispiel:

<?php
 
try {
  $file    = "../fotos/bild.jpg";
     $foto_content = base64_encode(file_get_contents($file));
 
   $success  = $client_contacts->crmsetPersonPicture($session_id, 10000, $foto_content);
 
   echo $success;
}
catch (SOAPFault $f) {
  print $f->faultstring;
}

2.1.28. crmgetPicture

(Version >= 3.3.3650)

Syntax:

array crmgetPicture ( string $session_id, int $cid )

Beschreibung:

Gib den Binärer Inhalt des Bildes von einem Kontakt zurück.

cid ist die Kontakt-ID.

Eigenschaften von crmgetPictureResult:

Type(Length)      Eigenschaft                     Beschreibung
---------------------------------------------------------------------------------------
string            $big_picture                    String mit Binärer Inhalt des Bildes (base64 kodiert)
string            $small_picture                  String mit Binärer Inhalt des Bildes (base64 kodiert)

Beispiel:

<?php
 
try {
 
   $picture_data   = $client_contacts->crmgetPicture($session_id, 10000);
   $small_pic_data = base64_decode($picture_data->small_picture);
   $big_pic_data   = base64_decode($picture_data->big_picture);
 
   if( file_put_contents("../fotos/small_picture.jpg", $small_pic_data) ) {
       echo 'Small picture created successfully';
   }
   else {
       echo 'Error by creating small picture';
   }
 
   if( file_put_contents("../fotos/big_picture.jpg", $big_pic_data) ) {
       echo 'Big picture created successfully';
   }
   else {
       echo 'Error by creating big picture';
   }
}
catch (SOAPFault $f) {
   print $f->faultstring;
}

2.1.29. crmgetPersonPicture

(Version >= 3.4.5135)

Syntax:

array crmgetPersonPicture ( string $session_id, int $pid )

Beschreibung:

Gib den Binärer Inhalt des Bildes von einem Person zurück.

pid ist die Person-ID.

Eigenschaften von crmgetPictureResult:

Type(Length)      Eigenschaft                     Beschreibung
---------------------------------------------------------------------------------------
string            $big_picture                    String mit Binärer Inhalt des Bildes (base64 kodiert)
string            $small_picture                  String mit Binärer Inhalt des Bildes (base64 kodiert)

Beispiel:

<?php
 
try {
 
   $picture_data   = $client_contacts->crmgetPersonPicture($session_id, 10000);
   $small_pic_data = base64_decode($picture_data->small_picture);
   $big_pic_data   = base64_decode($picture_data->big_picture);
 
   if( file_put_contents("../fotos/small_picture.jpg", $small_pic_data) ) {
       echo 'Small picture created successfully';
   }
   else {
       echo 'Error by creating small picture';
   }
 
   if( file_put_contents("../fotos/big_picture.jpg", $big_pic_data) ) {
       echo 'Big picture created successfully';
   }
   else {
       echo 'Error by creating big picture';
   }
}
catch (SOAPFault $f) {
   print $f->faultstring;
}

2.1.30. crmgetContactUserFields

(Version >= 3.3.4005)

Syntax:

array crmgetContactUserFields( string $session_id, int $contact_id )

Beschreibung:

Gibt ein Array mit benutzerdefinierten Feldern des mit contact_id angegebenen Kontaktes zurück.

Eigenschaften der zurückgegebenen contact userfields Objekte:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
array                   $ContactUserFields        Array mit ContactUserField Objekten - Feldnamen und deren Werte

Eigenschaften von ContactUserField:

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

Beispiel:

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



2.1.31. crmgetPersonUserFields

(Version >= 3.3.4005)

Syntax:

array crmgetPersonUserFields( string $session_id, int $persont_id )

Beschreibung:

Gibt ein Array mit benutzerdefinierten Feldern der mit person_id angegebenen Person zurück.

Eigenschaften der zurückgegebenen person userfields Objekte:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
array                   $ContactUserFields        Array mit ContactUserField Objekten - Feldnamen und deren Werte

Eigenschaften von ContactUserField:

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

Beispiel:

<?php
 
// Get userdefined fields of person with ID 200
    
$result = $client_contacts->crmgetPersonUserFields($session_id, 200);
 
foreach($result[0]->ContactUserFields as $field) {
    echo $field->name." => ".utf8_decode($field->value)."<br>  \n";
}

2.1.32. crmgetContactFields

(Version >= 3.3.4005)

Syntax:

array crmgetContactFields( string $session_id)

Beschreibung:

Gibt ein Array mit alle Feldern von Kontakt zurück.

Eigenschaften der zurückgegebenen contact field Objekte:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string                  label                     Der angezeigte Name des Feldes
string                  field                     Name des Feldes in der Datenbank
int                     type                      Typ des Feldes
                                                  1: Text
                                                  2: Nummer
                                                  3: Datum
                                                  4: Kontrollkätschen
                                                  5: Dropdown-Liste
                                                  6: Dropdown-Liste Mehrfachauswahl
                                                  6: Dropdown-Liste Mehrfachauswahl
                                                  7: Währung
                                                  10: Button

Beispiel:

<?php
 
try {
    
  $result = $client_contacts->crmgetContactFields($session_id);
 
   foreach($result as $field) {
       echo $field->field." => ".utf8_decode($field->label)."<br>\n";
   }
}
catch (SOAPFault $f) {
    print $f->faultstring;
}

2.1.33. crmgetPersonFields

(Version >= 3.3.4005)

Syntax:

array crmgetPersonFields( string $session_id)

Beschreibung:

Gibt ein Array mit alle Feldern von Person zurück.

Eigenschaften der zurückgegebenen person field Objekte:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string                  label                     Der angezeigte Name des Feldes
string                  field                     Name des Feldes in der Datenbank
int                     type                      Typ des Feldes
                                                  1: Text
                                                  2: Nummer
                                                  3: Datum
                                                  4: Kontrollkätschen
                                                  5: Dropdown-Liste
                                                  6: Dropdown-Liste Mehrfachauswahl
                                                  6: Dropdown-Liste Mehrfachauswahl
                                                  7: Währung
                                                  10: Button

Beispiel:

<?php
 
try {
    
  $result = $client_contacts->crmgetPersonFields($session_id);
 
   foreach($result as $field) {
       echo $field->field." => ".utf8_decode($field->label)."<br>\n";
   }
}
catch (SOAPFault $f) {
    print $f->faultstring;
}




2.1.34. crmgetPersonsByContactIDs

(Version >= 3.3)

Syntax:

array crmgetPersonsByContactIDs ( string $session_id, string $cids )

Beschreibung:

Gib die Personen zurück, die zu den gegebenen Kontakt-IDs gehören .

cids ist die Kontakt-IDs, mit ':' getrennt.

Eigenschaften des zurückgegebenen Objekts:

sind die selben wie für crmgetSinglePerson.

Beispiel:

<?php
 
$persons = $this->crmcontacts->crmgetPersonsByContactIDs($session_id, '4798:4799');
 
foreach($persons as $person) {
	print ($person->firstname.' '.$person->lastname);
}

2.1.35. crmsearchPersons

(Version >= 3.4.5396)

Syntax:

array crmsearchPersons ( string $session_id, crmsearchPersonsItems $crmsearchPersonsItems, int $count, int offset, string $sort_name )

Beschreibung:

Liefert ein Array mit Person-Objekten.

crmsearchPersonsItems ist ein Objekt mit Suchparametern.

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

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

sort_name ist die Sortierung, wie die Kontaktnamen sortiert werden sollen.

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

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

Eigenschaften von crmsearchPersonsItems:

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

Eigenschaften von crmsearchPersonsItemValues:

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

Eigenschaften der zurückgegebenen array:

sind die selben wie für crmgetSinglePerson.

Beispiel 1:

<?php
 
// Hol 10 Personen, welche im Vornamen 'Michael' ODER '%Daniel%' enthalten, sortiert nach Vornamen aufsteigend
$search_term['crmsearchPersonsItems'] = array();
$search_term['crmsearchPersonsItems'][] = array( 
	'field' 						=> 'firstname', 
	'crmsearchPersonsItemValues' 	=> array(
		array('value' => 'Michael'), 
  		array('value' => '%Daniel%')
	) 
);
$result = $client_contacts->crmsearchPersons($session_id, $search_term, 10, 0, 'ASC');
 
foreach($result as $person) {
	print_r($person);
}

Beispiel 2:

<?php
 
// Hol 5 Personen, welche im Vornamen 'Michael' UND im Nachname '%Müller%' enthalten, sortiert nach Vornamen absteigend
$search_term['crmsearchPersonsItems'] = array();
$search_term['crmsearchPersonsItems'][] = array( 'field' => 'firstname', 'crmsearchPersonsItemValues' => array(array('value' => 'Michael')) );
$search_term['crmsearchPersonsItems'][] = array( 'field' => 'lastname',  'crmsearchPersonsItemValues' => array(array('value' => '%Müller%')) );
 
$result = $client_contacts->crmsearchPersons($session_id, $search_term, 5, 0, 'DESC');
 
foreach($result as $person) {
	print_r($person);
}



2.1.36. crmgetContactIdByExtId

(Version >= 4.2)

Syntax:

array crmgetContactIdByExtId( string $session_id, int $ext_id )

Beschreibung

Liefert interne ID(s) von Kontakten mit der übergebenen externen ID zurück.

Eigenschaften der zurückgegebenen contact Objekte:

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

Beispiel:

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

2.1.37. crmgetAllContactExtIds

(Version >= 4.2)

Syntax:

array crmgetAllContactExtIds( string $session_id )

Beschreibung

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

Eigenschaften der zurückgegebenen contact Objekte:

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

Beispiel:

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

2.1.38. crmgetPersonIdByExtId

(Version >= 4.2)

Syntax:

array crmgetPersonIdByExtId( string $session_id, int $ext_id )

Beschreibung

Liefert interne ID(s) von Personen mit der übergebenen externen ID zurück.

Eigenschaften der zurückgegebenen person Objekte:

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

Beispiel:

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

2.1.39. crmgetAllPersonExtIds

(Version >= 4.2)

Syntax:

array crmgetAllPersonExtIds( string $session_id )

Beschreibung

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

Eigenschaften der zurückgegebenen person Objekte:

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

Beispiel:

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

2.1.40. crmaddRelation

(Version >= 4.2)

Syntax:

int crmaddRelation( string $session_id, int $contact_id , int $type , int $oid )

Beschreibung

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

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

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

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

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

1 ⇒ Kontakte

3 ⇒ Projekte

4 ⇒ Verträge

5 ⇒ Angebote

6 ⇒ Tickets

12 ⇒ Artikel

20 ⇒ Aufträge

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

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

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

2.1.41. crmdeleteRelation

(Version >= 4.2)

Syntax:

void crmdeleteRelation( string $session_id, int $relation_id )

Beschreibung

Löscht eine Verknüpfung.

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

Beispiel:

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




2.1.42. crmgetRelations

(Version >= 4.2)

Syntax:

array crmgetRelations( string $session_id, int $contact_id , int $type )

Beschreibung

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

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

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

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

1 ⇒ Kontakte

3 ⇒ Projekte

4 ⇒ Verträge

5 ⇒ Angebote

6 ⇒ Tickets

12 ⇒ Artikel

20 ⇒ Aufträge

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

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

2.1.43. crmsetDuplicateConfig

(Version >= 4.4)

Syntax:

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

(Version >= 4.5.17704)

Syntax:

int | string <errormessage> crmDuplicateConfig( string $session_id, crmDuplicatecheckFields $crmDuplicatecheckFields [, string <context "contact">])

Beschreibung:

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

Ab Version 4.5.17704 kann mit optionalem Parameter $contact zwischen Feldkonfigurationen für Kontakte ("contact" default) oder Personen ("person") unterschieden werden.

Eigenschaften des zu übergebenden crmDuplicatecheckFields Objektes:

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

Beispiel:

<?php
 
ini_set("soap.wsdl_cache_enabled", "0");
 
try {
	$client_logon	= new SOAPClient("https://test.tecart-system.de/soap/index.php?op=logon&wsdl");
    $session_id 	= $client_logon->crmLogin('test', 'test');
    if (!$session_id) {
		die("invalid login");
 	}
   	$client_contacts = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=contacts&wsdl");
 
   	$fields  = array('fields' => implode(',', array('realnumber', 'email')) );
   	// 3rd parameter isn't really necessary in case of "contact" context but is noted for tutoring purposes
   	$success = $client_contacts->crmsetDuplicateConfig($session_id, $fields, 'contact');
}
catch (SOAPFault $f) {
  	print $f->faultstring;
}
 
echo ($success == 1 ? 'override successful' : $success);

2.1.44. crmgetDuplicateConfig

(Version >= 4.4)

Syntax:

string crmgetDuplicateConfig( string $session_id )

(Version >= 4.5.17704)

Syntax:

string crmgetDuplicateConfig( string $session_id [, string <context "contact">])

Beschreibung:

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

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

Ab Version 4.5.17704 kann mit optionalem Parameter $context zwischen Feldkonfigurationen für Kontakte ("contact" default) und Personen ("person") unterschieden 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_contacts = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=contacts&wsdl");
   	// fetch duplicate check field configuration for module PERSONS instead of CONTACTS !
   	$fields = $client_contacts->crmgetDuplicateConfig($session_id, 'person');
}
catch (SOAPFault $f) {
  	print $f->faultstring;
}
 
$fields = explode(',', $fields);
echo ''.print_r($fields, true);

2.1.45. crmgetsearchfilteredContacts

(Version >= 4.5.16680)

Syntax:

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

Beschreibung:

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

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 CRMException mit mehr Fehlerdetails geworfen.

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

Eigenschaften der zurückgegebenen Kontakt-Objekte:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
int                     $cid                      Kontakt-ID
array                   $ContactFields            Array mit ContactField Objekten - Feldnamen und deren Werte

Eigenschaften von ContactField:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $field                    Name des Kontakt-Feldes
string(255)             $value                    Wert des Kontakt-Feldes

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");
   	$client_contacts = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=contacts&wsdl");
   	$session_id      = $client_logon->crmLogin('test', 'test');
 
   	if (!$session_id) {
		 die("invalid login");
	}
   	// Liefert die Felder Nummer, Firma, PLZ und Ort der ersten 10 Kontakte, die dem Suchfilter 11 ohne eingegebenen Suchbegriff entsprechen
   	$result = $client_contacts->crmgetsearchfilteredContacts($session_id, 11, //, 10, 0, 'realnumber, company, postcode, city');//
 
   	// Liefert alle Felder aller Kontakte, die dem Suchfilter 11 mit eingegebenen Suchbegriff "test" entsprechen
   	$result = $client_contacts->crmgetsearchfilteredContacts($session_id, 11, 'test', 0, 0, //);//
 
   	print_r($result);
}
catch (SOAPFault $f) {
  	print $f->faultstring;
}

2.2. Rechnungskonten

2.2.1. crmaddClientAccount

(Version >= 4.1)

Syntax:

int crmaddClientAccount(string $session_id, int $contact_id)

Beschreibung:

Erzeugt ein neues Rechnungskonto aus den Daten des Kontaktes mit der übergebenen ID.

Beispiel:

<?php

try {

  // Add client account to contact with ID = 10
  $result = $client_contacts->crmaddClientAccount($session_id, 10);
} catch (SOAPFault $f) {

  print $f->faultstring;
}

echo "New client account id: $result<br/>";

?>

2.2.2. crmcopyClientAccountDataFromContact

(Version >= 4.1)

Syntax:

array crmcopyClientAccountDataFromContact(string $session_id, int $account_id, int $contact_id)

Beschreibung:

Kopiert die Daten des Kontaktes mit der ID $contact_id zum Rechnungskonto mit der ID $account_id.

Eignenschaften von zurückgegebenen array: die gleichen wie für crmgetClientAccount

Beispiel:

<?php

try {

  // Copy data from contact with ID = 10 to client account with ID = 1
  $results = $client_contacts->crmcopyClientAccountDataFromContact($session_id, 1, 10);
} catch (SOAPFault $f) {

  print $f->faultstring;
}

foreach( $results as $key ⇒ $val) {

  echo $key.'=>'.$val;
}

?>



2.2.3. crmgetClientAccountsByContactID

(Version >= 4.1)

Syntax:

array crmgetClientAccountsByContactID(string $session_id, int $contact_id)

Beschreibung:

Liefert alle Rechnungskonten eines Kontaktes zurück.

Eignenschaften von zurückgegebenen array: die gleichen wie für crmgetClientAccount

Beispiel:

<?php

try {

  // Get client accounts from contact with ID = 10
  $results = $client_contacts->crmgetClientAccountsByContactID($session_id, 10);
} catch (SOAPFault $f) {

  print $f->faultstring;
}

foreach( $results as $result) {

foreach( $result as $key => $val) {
    echo $key.'=>'.$val;
}
}

?>



2.2.4. crmgetClientAccount

(Version >= 4.1)

Syntax:

array crmgetClientAccount(string $session_id, int $account_id)

Beschreibung:

Liefert das Rechnungskonto mit der ID $account_id.

Eignenschaften von zurückgegebenen array:

Type(Length)      Eigenschaft             Beschreibung
-------------------------------------------------------------------
int		          $id			          Rechnungskonto-ID
int               $ext_id                 Externe ID ( ab Version 4.2 )
string		      $name			          Rechnungskonto-Name
string		      $realnumber		      Rechnungskonto-Nummer
string		      $notes			      Notizen
int		          $cid			          Rechnungskonto-Kontakt
bool		      $merge_activities	      Zusammenführen
int		          $debitor_number		  Debitor
int		          $kreditor_number	      Kreditor
double		      $saldo			      Saldo
string		      $billing_name_1		  alternat. Rechnungsempänger 1
string		      $billing_name_2		  alternat. Rechnungsempänger 2
string		      $billing_name_3		  alternat. Rechnungsempänger 3
string		      $billing_address_1	  alternat. Rechnungsadresse 4
string		      $billing_address_2	  alternat. Rechnungsadresse 5
string		      $billing_postcode	      alternat. Rechnungs-PLZ
string		      $billing_city		      alternat. Rechnungsort
string		      $billing_country	      alternat. Rechnungsland
bool		      $online_billing		  Online-Rechnung
string		      $email			      E-Mail-Adresse
string		      $ust_id			      Umsatzsteuer.ID
int		          $payment_target		  Zahlungsziel
string		      $skonto			      Konto
string		      $skontodays		      Kontotage
string		      $fees			          Gebühren
string		      $shipping_name_1	      alternat. Lieferungssempänger 1
string		      $shipping_name_2	      alternat. Lieferungssempänger 2
string		      $shipping_name_3	      alternat. Lieferungssempänger 3
string		      $shipping_address_1     alternat. Lieferungssadresse 4
string		      $shipping_address_2	  alternat. Lieferungssadresse 5
string		      $shipping_postcode	  alternat. Lieferungss-PLZ
string		      $shipping_city		  alternat. Lieferungssort
string		      $shipping_country	      alternat. Lieferungssland
string		      $payment_type		      Zahlungstyp
string		      $bank_account_owner	  Bank-Konto-Inhaber
string		      $bank_account_iban	  IBAN
string		      $bank_account_bic	      BIC
string		      $bank_account_number	  Kontonummer
string		      $bank_account_code	  BLZ
string		      $bank_account_name	  Name des Kreditinstitus
double		      $credit			      Kreditrahmen
int		          $billing_stop		      Zahlungsstop bis
int		          $delivery_stop		  Lieferstop bis
int		          $admonition_stop	      Mahnungsstop bis
bool		      $deleted		          Status: Rechnungskonto gelöscht
int		          $chgtime    		      Unix-Timestamp der letzten Rechnungskontoänderung 
int		          $chguser     		      Userid der letzten  Rechnungskontoänderung
int		          $createtime  		      Unix-Timestamp der Rechnungskontoerstellung
int		          $createuser  		      Userid der Rechnungskontoerstellung

string(255)	      $user18			      Benutzerdefiniertes Feld Nr. 18
string(255)	      $user19			      Benutzerdefiniertes Feld Nr. 19
   :                 :                            :
string(255)	      $user65			      Benutzerdefiniertes Feld Nr. 65 

Beispiel:

<?php

try {

  // Get client account with ID = 1
  $result = $client_contacts->crmgetClientAccount($session_id, 1);
} catch (SOAPFault $f) {

  print $f->faultstring;
}

foreach( $result as $key ⇒ $val) {

    echo $key.'=>'.$val;
}

?>



2.2.5. crmgetInvoicesByClientAccount

(Version >= 4.1)

Syntax:

array crmgetInvoicesByClientAccount(string $session_id, int $account_id)

Beschreibung:

Liefert alle Rechnungen des Rechnungskontos mit der ID $account_id zurück.

Eignenschaften der Elemente von zurückgegebenen array:

Type(Length)	  Eigenschaft				Beschreibung
---------------------------------------------------------------------------------
int		      $id					    Rechnungs-ID
int           $ext_id                   Externe ID ( ab Version 4.2 )
int		      $cid					    Kontakt-ID
int		      $client_account_id		Rechnungskonto-ID
int		      $project_id				Projekt-ID
int		      $contract_id				Vertrags-ID
string		  $realnumber				Belegnummer
int		      $date					    Datum als Unit-Timestamp
int		      $printed				    Druckdatum als Unit-Timestamp
string		  $text					    Text
string		  $notes				    Notizen
int		      $reversed				    zurückgerufen
string		  $name					    Name
string		  $ust_id				    USt-ID
double		  $total_netto				Gesamt - netto
double		  $tax_value				USt-Betrag
double		  $total_brutto				Gesamt - brutto
double		  $ops_value				Betrag offener Posten
double		  $payed				    Betrag gezahlt
int		      $is_payed				    Bezahlt-Datum als Unit-Timestamp
int		      $flow_status				Status
bool		  $is_deposit				Ist Rechnung Abschlagsrechnung
string		  $skonto				    Skonto
string		  $skontodays				Skonto-Tage
int		      $skonto_appointed			Skonto-Stichtag als Unit-Timestamp
string		  $payment_target			Zahlungsziel
int		      $payment_appointed		Zahlungsstichtag als Unit-Timestamp
double		  $discount				    Rabatt
string		  $fees					    Gebühren
string		  $billing_postcode			Rechnung: PLZ
string		  $billing_city				Rechnung: Ort
string		  $billing_name_1			Rechnung: Name 1
string		  $billing_name_2			Rechnung: Name 2
string		  $billing_name_3			Rechnung: Name 3
string		  $billing_address_1		Rechnung: Adresse 1
string		  $billing_address_2		Rechnung: Adresse 2
string		  $shipping_postcode		Lieferschein: PLZ
string		  $shipping_city			Lieferschein: Ort
string		  $shipping_county			Lieferschein: Land
string		  $shipping_name_1			Lieferschein: Name 1
string		  $shipping_name_2			Lieferschein: Name 2
string		  $shipping_name_3			Lieferschein: Name 3
string		  $shipping_address_1		Lieferschein: Adresse 1
string		  $shipping_address_2		Lieferschein: Adresse 2
string		  $shipping_address_2		Lieferschein: Adresse 2
array		  $crmOriginalContactElements		Original-Daten des Kontaktes
array		  $crmOriginalClientAccountElements	Original-Daten des Rechnungskontos
int		      $createuser	        	Benutzer-ID, der Buchung erzeugt hat
int		      $createtime	        	Zeitstempel, an dem Buchung erzeugt wurde
int		      $chguser	        		Benutzer-ID, der Buchung zuletzt geändert hat
int		      $chgtime	        		Zeitstempel, an dem zuletzt geändert wurde

string		  $user29				    Benutzerdefiniertes Feld Nr. 29
string		  $user30				    Benutzerdefiniertes Feld Nr. 30
   :                 :                                            :
string		  $user80				    Benutzerdefiniertes Feld Nr. 80

Beispiel:

<?php

try {

  // Get client account with ID = 1
  $results = $client_contacts->crmgetInvoicesByClientAccount($session_id, 1);
} catch (SOAPFault $f) {

  print $f->faultstring;
}

foreach( $results as $result) {

foreach( $result as $key => $val) {
    echo $key.'=>'.$val;
}
}

?>



2.2.6. crmAddClientAccountDetail

(Version >= 4.1)

Syntax:

int crmAddClientAccountDetail(string $session_id, array $crmClientAccountItem)

Beschreibung:

Erzeugt ein neues Rechnungskonto mit übergebenen Daten.

Eigenschaften von $crmClientAccountItem array:

Type(Length)      Eigenschaft             Beschreibung
-------------------------------------------------------------------
string		$name			    Rechnungskonto-Name
string		$realnumber		    Rechnungskonto-Nummer
string		$notes			    Notizen
int		    $cid			    Rechnungskonto-Kontakt
int         $ext_id             Externe ID ( ab Version 4.2 )
bool		$merge_activities	Zusammenführen
int		    $debitor_number		Debitor
int		    $kreditor_number	Kreditor
double		$saldo			    Saldo
string		$billing_name_1		alternat. Rechnungsempänger 1
string		$billing_name_2		alternat. Rechnungsempänger 2
string		$billing_name_3		alternat. Rechnungsempänger 3
string		$billing_address_1	alternat. Rechnungsadresse 4
string		$billing_address_2	alternat. Rechnungsadresse 5
string		$billing_postcode	alternat. Rechnungs-PLZ
string		$billing_city		alternat. Rechnungsort
string		$billing_country	alternat. Rechnungsland
bool		$online_billing		Online-Rechnung
string		$email			    E-Mail-Adresse
string		$ust_id			    Umsatzsteuer.ID
int		    $payment_target		Zahlungsziel
string		$skonto			    Konto
string		$skontodays		    Kontotage
string		$fees			    Gebühren
string		$shipping_name_1	alternat. Lieferungssempänger 1
string		$shipping_name_2	alternat. Lieferungssempänger 2
string		$shipping_name_3	alternat. Lieferungssempänger 3
string		$shipping_address_1	alternat. Lieferungssadresse 4
string		$shipping_address_2	alternat. Lieferungssadresse 5
string		$shipping_postcode	alternat. Lieferungss-PLZ
string		$shipping_city		alternat. Lieferungssort
string		$shipping_country	alternat. Lieferungssland
string		$payment_type		Zahlungstyp
string		$bank_account_owner	Bank-Konto-Inhaber
string		$bank_account_iban	IBAN
string		$bank_account_bic	BIC
string		$bank_account_number	Kontonummer
string		$bank_account_code	BLZ
string		$bank_account_name	Name des Kreditinstituts
double		$credit			    Kreditrahmen
int		    $billing_stop		Zahlungsstop bis
int		    $delivery_stop		Lieferstop bis
int		    $admonition_stop	Mahnungsstop bis

string(255)	$user18			   Benutzerdefiniertes Feld Nr. 18
string(255)	$user19			   Benutzerdefiniertes Feld Nr. 19
   :                 :                            :
string(255)	$user65			   Benutzerdefiniertes Feld Nr. 65 

Beispiel:

<?php

try {

  $crmClientAccountItem = array(
    'name'		=> 'SOAP-Test crmAddClientAccountDetail',
    'notes'		=> 'This is a test...',
    'debitor_number'	=> '10001',
    'kreditor_number'	=> '11001',
    'online_billing'	=> 1
  );
  $result = $client_contacts->crmAddClientAccountDetail($session_id, $crmClientAccountItem);
} catch (SOAPFault $f) {

  print $f->faultstring;
}

echo "Client account id: $result<br/>";

?>



2.2.7. crmchangeClientAccount

(Version >= 4.1)

Syntax:

int crmchangeClientAccount($session_id, int $account_id, array $crmClientAccountItem)

Beschreibung:

Ändert Informationen des Rechnungskontos mit der übergebenenen ID.

Eigenschaften von $crmClientAccountItem array: die gleichen wie für crmaddClientAccountDetail

Beispiel:

<?php

try {

  $crmClientAccountItem = array(
    'credit'			=> 25000,
    'bank_account_owner'	=> 'SPOAP-Test KG',
    'bank_account_iban'	=> 'DE341234500789000',
    'bank_account_bic'	=> 'HELADEF000'
  );
  // Change client account with ID 10
  $result = $client_contacts->crmchangeClientAccount(10, $crmClientAccountItem);
} catch (SOAPFault $f) {

  print $f->faultstring;
}

echo "Client account id: $result<br/>";

?>



2.2.8. crmgetClientAccountIdByExtId

(Version >= 4.2)

Syntax:

array crmgetClientAccountIdByExtId( string $session_id, int $ext_id )

Beschreibung

Liefert interne ID(s) von Rechnungskonten mit der übergebenen externen ID zurück.

Eigenschaften der zurückgegebenen client_account Objekte:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int			            $id			                 Client Account-Id 

Beispiel:

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

2.2.9. crmgetAllClientAccountExtIds

(Version >= 4.2)

Syntax:

array crmgetAllClientAccountExtIds( string $session_id )

Beschreibung

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

Eigenschaften der zurückgegebenen client_account Objekte:

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

Beispiel:

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

2.3. Kontaktbeziehungen

Diese Funktionen sind nicht zu verwechseln mit crmaddRelation, crmdeleteRelation, crmgetRelations, welche eine Beziehung zu anderen Modulobjekten wie z.B. Verträgen herstellen. Die nachfolgenden Methoden behandeln spezifische Kontakt-zu-Kontakt Beziehungen, die im geöffneten Kontakt unter Registerkarte "Beziehungen" aufgelistet werden.

2.3.1. crmaddContactRelation

(Version >= 4.4)

Syntax:

int|string <CRMException message> crmaddContactRelation( string $session_id, ContactRelation $relation)

Beschreibung:

Fügt eine neue Kontakt:Kontakt(+Person)- Beziehung hinzu.

Bei Erfolg wird die neue Beziehungs ID zurückgegeben, andernfalls 0.

Pflichtangaben sind cid, vid, category

Eigenschaften des zu übergebenden Objektes ContactRelation

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int|string		        $cid			     Kontakt ID (Format <int>contact ID[:<int>person ID]),
						                     an den die Beziehung geknüpft werden soll
int|string		        $vid			     Kontakt ID (Format <int>contact ID[:<int>person ID]),
						                     auf den sich bezogen werden soll. Dieser Kontakt wird 
						                     dann in der Beziehungsliste des Kontakts $cid angezeigt.
string(255)		        $category		     Kategorieangabe aus Systemliste "Kontaktbeziehungsarten"
string(4096)		    $notes			     Optionale Beschreibung der Beziehung
int			            $autocreate		     Automatische Erzeugung einer Gegenbeziehung "$vid:$cid"
						                     0 = Nein, 1 = Ja
string(255)		        $reversecategory	 Kategorie der Gegenbeziehung aus Systemliste 
						                     "Kontaktbeziehungsarten"

Beispiel:

<?php class myContactRelation {

public $cid;		// mandatory
public $vid;		// mandatory
public $category;	// mandatory
public $notes;
public $autocreate;
public $reversecategory;
}

ini_set('soap.wsdl_cache_enabled', '0'); $soap_url = 'https://test.tecart-system.de/soap/index.php?op=';

try {

$client_logon	= new SOAPClient($soap_url.'logon&wsdl');
$session_id	= $client_logon->crmLogin('test', 'test');
if (!$session_id) {
	die('invalid login');
}
$new_relation			= new myContactRelation();
$new_relation->cid		= '1589';	// contact ID where the relation is to be displayed
$new_relation->vid		= '457:3586';	// contact[:person] ID where it relates to
$new_relation->category		= 'Partner';	// category value picked from system list "Contact Relation Categories"
$new_relation->autocreate	= 0;
$client_contacts	= new SOAPClient($soap_url.'contacts&wsdl');
$relation_id		= $client_contacts->crmaddContactRelation($session_id, $new_relation);
echo 'new contact:contact relation created with ID: '.$relation_id;
} catch (SOAPFault $f) {

print $f->faultstring;
}

?>



2.3.2. crmchangeContactRelation

(Version >= 4.4)

Syntax:

boolean|string <CRMException message> crmchangeContactRelation( string $session_id, int $relation_id, ContactRelation $relation)

Beschreibung:

Modifiziert eine bestehende Kontaktbeziehung.

Gibt bei Erfolg '1' zurück, andernfalls '0', welche entsprechend in ihre booleschen Äquivalente zu parsen sind.

Eigenschaften des zu übergebenden ContactRelation Objektes sind identisch mit denen in crmaddContactRelation

Beispiel:

<?php class myContactRelation {

public $cid;		// mandatory
public $vid;		// mandatory
public $category;
public $notes;
public $autocreate;
public $reversecategory;
}

ini_set('soap.wsdl_cache_enabled', '0'); $soap_url = 'https://test.tecart-system.de/soap/index.php?op=';

try {

$client_logon	= new SOAPClient($soap_url.'logon&wsdl');
$session_id	= $client_logon->crmLogin('test', 'test');
$relation_id	= 1337;
if (!$session_id) {
	die('invalid login');
}
// modify the category
$new_relation			= new myContactRelation();
$new_relation->cid		= '1589';	// contact ID where the relation is to be displayed
$new_relation->vid		= '457';	// contact[:person] ID where it relates to
$new_relation->category		= 'Tochtergesellschaft';
$new_relation->notes		= 'just modified';
$client_contacts	= new SOAPClient($soap_url.'contacts&wsdl');
$success		= $client_contacts->crmchangeContactRelation($session_id, $relation_id, $new_relation);
echo ($success == '1' ? 'contact:contact relation with ID '.$relation_id.' successful' : 'unable to modify');
} catch (SOAPFault $f) {

print $f->faultstring;
}

?>



2.3.3. crmgetContactRelation

(Version >= 4.4)

Syntax:

ContactRelation|string <CRMException message> crmgetContactRelation( string $session_id, int $relation_id )

Beschreibung:

Gibt bei Erfolg ein ContactRelation Objekt mit den Eigenschaften der angefragten Kontakt:Kontakt- Beziehung zurück.

Eigenschaften des zurückgegebenen ContactRelation Objektes

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int			    $id			         interne ID der Beziehung
int|string		$cid			     Kontakt ID (Format <int>contact ID[:<int>person ID]),
						             an den die Beziehung geknüpft werden soll
int|string		$vid			     Kontakt ID (Format <int>contact ID[:<int>person ID]),
						             auf den sich bezogen werden soll. Dieser Kontakt wird 
						             dann in der Beziehungsliste des Kontakts $cid angezeigt.
string(255)		$category		     Kategorieangabe aus Systemliste "Kontaktbeziehungsarten"
string(4096)	$notes			     Optionale Beschreibung der Beziehung
int			    $autocreate		     Automatische Erzeugung einer Gegenbeziehung "$vid:$cid"
						             0 = Nein, 1 = Ja
string(255)		$reversecategory	 Kategorie der Gegenbeziehung aus Systemliste 
						             "Kontaktbeziehungsarten"
int			    $chgtime		     Unix- Timestamp der letzten Änderung
int			    $chguser		     User-ID des Benutzers, der die letzte Änderung vorgenommen hat
int			    $createtime		     Unix- Timestamp der Erstellung der Beziehung
int			    $createuser		     User-ID des Erstellers

Beispiel:

<?php

ini_set('soap.wsdl_cache_enabled', '0'); $soap_url = 'https://test.tecart-system.de/soap/index.php?op=';

try {

$client_logon	= new SOAPClient($soap_url.'logon&wsdl');
$session_id	= $client_logon->crmLogin('test', 'test');
$relation_id	= 1337;
if (!$session_id) {
	die('invalid login');
}
$client_contacts	= new SOAPClient($soap_url.'contacts&wsdl');
$relation		= $client_contacts->crmgetContactRelation($session_id, $relation_id);
$relation		= get_object_vars($relation);
echo '<pre>'.print_r($relation, true).'</pre>';
} catch (SOAPFault $f) {

print $f->faultstring;
}

?>



2.3.4. crmgetContactRelations

(Version >= 4.4)

Syntax:

array|string <CRMException message> crmgetContactRelations( string $session_id, [int $timestamp, int $count = 500, int $offset] )

Beschreibung:

Gibt bei Erfolg ein SOAP_ENC_ARRAY enkodiertes Array mit ContactRelation Objekten zurück.

  • timestamp: Unix- Timestamp ab welchem Datum der letzten Änderung zurückgegeben werden soll

  • count: Limitierung der zurückgegebenen Einträge (default = 500)

  • offset: definiert, wieviele Einträge von der originalen (ggf. limitierten) Rückgabe übersprungen werden sollen

Eigenschaften der zurückgegebenen ContactRelation Objekte sind identisch mit denen in crmgetContactRelation

Beispiel:

<?php

ini_set('soap.wsdl_cache_enabled', '0'); $soap_url = 'https://test.tecart-system.de/soap/index.php?op=';

try {

$client_logon	= new SOAPClient($soap_url.'logon&wsdl');
$session_id	= $client_logon->crmLogin('test', 'test');
$relation_id	= 1337;
$timestamp	= (time()-(3*86400));	// relations modified during the last 3 days
$count		= 100;			// the first 100 results
if (!$session_id) {
	die('invalid login');
}
$client_contacts	= new SOAPClient($soap_url.'contacts&wsdl');
$relations		= $client_contacts->crmgetContactRelation($session_id, $timestamp, $count);
echo '<pre>'.print_r($relations, true).'</pre>';
} catch (SOAPFault $f) {

print $f->faultstring;
}

?>



2.3.5. crmgetContactRelationsByContactId

(Version >= 4.4)

Syntax:

array|string <CRMException message> crmgetContactRelationsByContactId( string $session_id, int|string $cid)

Beschreibung:

Gibt bei Erfolg ein SOAP_ENC_ARRAY enkodiertes Array mit ContactRelation Objekten zurück, welche dem mit cid spezifizierten Kontakt zugehörig sind.

  • cid: Kontakt ID

Eigenschaften der zurückgegebenen ContactRelation Objekte sind identisch mit denen in crmgetContactRelation

Beispiel:

<?php

ini_set('soap.wsdl_cache_enabled', '0'); $soap_url = 'https://test.tecart-system.de/soap/index.php?op=';

try {

$client_logon	= new SOAPClient($soap_url.'logon&wsdl');
$session_id	= $client_logon->crmLogin('test', 'test');
$count		= '1589';	// all relations belonging to contact ID 1589
if (!$session_id) {
	die('invalid login');
}
$client_contacts	= new SOAPClient($soap_url.'contacts&wsdl');
$relations		= $client_contacts->crmgetContactRelationByContactId($session_id, $cid);
echo '<pre>'.print_r($relations, true).'</pre>';
} catch (SOAPFault $f) {

print $f->faultstring;
}

?>



2.3.6. crmdeleteContactRelation

(Version >= 4.4)

Syntax:

boolean|string <CRMException message> crmdeleteContactRelation( string $session, int $relation_id )

Beschreibung:

Löscht eine Kontakt:Kontakt- Beziehung mit spezifizierter ID.

Gibt '1' bei Erfolg, '0' bei Fehlschlag zurück, welche in ihre booleschen Äquivalente konvertiert werden sollten.

  • relation_id: interne ID der Beziehung

Beispiel:

<?php

ini_set('soap.wsdl_cache_enabled', '0'); $soap_url = 'https://test.tecart-system.de/soap/index.php?op=';

try {

$client_logon	= new SOAPClient($soap_url.'logon&wsdl');
$session_id	= $client_logon->crmLogin('test', 'test');
if (!$session_id) {
	die('invalid login');
}
$client_contacts	= new SOAPClient($soap_url.'contacts&wsdl');
// delete relation with ID 1337
$success		= $client_contacts->crmdeleteContactRelationByContactId($session_id, 1337);
echo 'Löschung '.($success == '1' ? 'erfolgreich' : 'fehlgeschlagen').'<br />';
} catch (SOAPFault $f) {

print $f->faultstring;
}

?>
  • No labels