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

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

1. Methods

1.1. Kontakte & Personen

1.1.1. addContact

Syntax:

int addContact( array $contact )

Beschreibung:

Gibt eine contact id zurück.

Wirft eine CRMException im Fehlerfall.

$contact ist ein assoziatives Array.

Eigenschaften von $contact array:

Type(Length)EigenschaftBeschreibung
string(128)$companyFirma
string(255)$departmentAbteilung
string(100)$streetAdresse
string(20)$postcodePostleitzahl
string(100)$cityStadt
string(255)$emailE-Mail
string(255)$email2E-Mail 2
string(255)$email3E-Mail 3
int$email_statusE-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)$phoneTelefon
string(50)$faxFax
string(100)$regionRegion
string(255)$countryLand
string(255)$acc_holderKontoinhaber
string(20)$acc_nrKontonummer
string(20)$bankcodeBankleitzahl
string(255)$banknameName der Bank
string(100)$swiftBIC/SWIFT
string(100)$ibanIBAN
string(255)$branchBranchen, Format: Branch1:Branch2: …
string(255)$categoryKategorien, Format: Category1:Category2: …
string(50)$codeCode für Schnellsuche
string(65535)$notesNotizen
string(50)$numberNummer
string(255)$superiorSuperior, Format: Contact-Id:Person-Id
string(255)$typeTyp
int$useridVerantwortlich
string(50)$ustnrSteuernummer
string(255)$websiteWebsite
string(64)$passwordPasswort (ab Version V3.1.2291 )
int$ext_idExterne ID ( ab Version 4.2 )
string(255)$user27Benutzerdefiniertes Feld Nr. 27
string(255)$user28Benutzerdefiniertes Feld Nr. 28
:::
string(255)$user81Benutzerdefiniertes Feld Nr. 81


Beispiel:

<?php
 
try {
    $contact = array(
		'company'     => 'API Test-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'      => '',
		'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'    => '',
		'ustnr'       => '',
		'user27'      => 'Test 27',
		'user28'      => 'Test 28',
		'user29'      => 'Test 29',
		'user30'      => 'Test 30'
	);
 
    $crmapi_contacts = crmapi::contacts();
    $contact_id      = $crmapi_contacts->addContact($contact);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $contact_id;



1.1.2. changeContact

Syntax:

int changeContact( array $contact ) 

Beschreibung:

Gibt eine contact_id zurück.

Wirft eine CRMException im Fehlerfall.

Eigenschaften von $contact array: die gleichen wie von addContact

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
 
    $contact = array(
		'id'    => 1234,
		'email' => 'xray@tecart.de'
	);
 
    $contact_id = $crmapi_contacts->changeContact($contact);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $contact_id;



1.1.3. addPerson

Syntax:

int addPerson( array $person ) 

Beschreibung:

Fügt eine Person zu einem existierenden Kontakt hinzu.

Gibt eine person_id zurück.

Wirft eine CRMException im Fehlerfall.

$person ist ein assoziatives Array.

Properties:

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 als 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                 Faxnummer 
string(100)       $mobile              Mobilnummer
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:

<?php
try {
    $crmapi_contacts = crmapi::contacts();
 
    $person = array(
		'cid'        => $contact_id,
		'salutation' => 'Herr',
		'firstname'  => 'Christian',
		'lastname'   => 'Friebel',
		'phone'      => '+49 361 3801001'
	);
 
    $crmapi_contacts = crmapi::contacts();
    $person_id       = $crmapi_contacts->addPerson($person);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $person_id;



1.1.4. changePerson

Syntax:

int changePerson( array $person )

Beschreibung:

Ändert eine existierende Person.

Gibt eine person_id zurück.

Wirft eine CRMException im Fehlerfall.

Eigenschaften: die gleichen wie für addPerson

Beispiel:

<?php
try {
    $crmapi_contacts = crmapi::contacts();
 
    $person = array(
		'id'         => '123',
		'position'   => 'CEO',
		'phone'      => '123456'
	);
 
    $crmapi_contacts = crmapi::contacts();
    $person_id       = $crmapi_contacts->changePerson($person);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $person_id;



1.1.5. getContactIds

Syntax:

array getContactIds( int $timestamp ) 

Beschreibung:

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

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

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
    $contact_ids = $crmapi_contacts->getContactIds(time() - 86400);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $contact_ids as $id ) {
    echo $id . "<br/>\n";
}



1.1.6. countContacts

Syntax:

int countContacts( ) 

Beschreibung:

Gibt die Gesamtanzahl der Kontakte zurück.

Wirft eine CRMException im Fehlerfall.

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
    $contact_count = $crmapi_contacts->countContacts();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $contact_count;



1.1.7. countPersons

Syntax:

int countPersons( ) 

Beschreibung:

Gibt die Gesamtanzahl der Personen zurück.

Wirft eine CRMException im Fehlerfall.

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
    $person_count = $crmapi_contacts->countPersons();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $person_count;



1.1.8. searchContacts

Diese Funktion ist schon veraltet, wenn möglich bitte die Funktion searchContact() benutzen

Syntax:

array searchContacts( string $search, string $branch, string $category, int $count ) 

Beschreibung:

Gibt ein Array mit $contact results zurück.

Wirft eine CRMException im Fehlerfall.

$search ist ein freier Suchtext.

$branch ist die Branche des Kontakts, deaktiviert wenn auf -1 gesetzt

$category ist die Kategorie des Kontakts, deaktiviert wenn auf -1 gesetzt

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

Eigenschaften der zurückgegebenen Array:

Type(Length)      Eigenschaft             Beschreibung
-------------------------------------------------------------------
int               $array-key              Kontakt- & Person-ID in dem Format (cid:pid)
string            $company                Firmenname
string(255)       $lastname               Nachname
string(100)       $firstname              Vorname

Beispiel:

<?php
 
try {
	$crmapi_contacts = crmapi::contacts();
 
    $result = $crmapi_contacts->searchContacts("tecart", -1, -1, 20);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $cid => $contact) {
    echo "{$cid}, {$contact['lastname']}, {$contact['firstname']}, {$contact['company']}<br/>\n";
}


1.1.9. searchContact

Syntax:

array searchContact(array $items, int $count, int $offset, boolean $full_search = false, string $sort_name = '', boolean $or = false, array $get_fields = false) 

Beschreibung:

Gibt ein Array mit contact ids, oder ganze Kontaktinformation zurück.

$items ist ein assoziatives Array, bei dem der key das Feld zum Suchen und der value der Suchstring ist. Sie können ein %-Zeichen am Anfang und/oder Ende der Zeichenfolge als Platzhalter verwenden.

$count ist die maximale Anzahl an Ids, die zurückgegeben wird.

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

$full_search : Ist full_search auf true gesetzt, werden die vollständige Info der Kontakte (nicht nur IDs) zurückgegeben.

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

Nur mit Version >= 3.4.5223 geht es mit folgenden Parameters

$or ist der SQL-Operator. Ist or auf true gesetzt, werden die Suchbegriffe mit OR verknüpft.

$get_fields is ein Array mit Felder, die zurückgegeben werden sollen. Wenn dieses Parameter nicht gesetzt ist, werden alle Felder wie für getSingleContact zurück geliefert.

Beispiel 1: nur Kontakt ID zurück

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
     
    $search = array(
		'company'  => 'tec%',
		'city'     => '%furt%'
	);
 
    $contact_ids  = $crmapi_contacts->searchContact($search, 10, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($contact_ids as $contact_id) {
    echo "Id: $contact_id<br/>\n";
}


Beispiel 2: ganze Kontaktinformation zurück

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
     
    $search = array(
		'company'  => 'tec%',
		'city'     => '%furt%'
	);
 
    // Get the first 10 contacts with full contacts information, the result is sorted ascending by company name
    $contacts  = $crmapi_contacts->searchContact($search, 10, 0, true, 'ASC');
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($contacts as $contact) {
    echo "Name: $contact['company'] <br/>\n";
    echo "Ort: $contact['city'] <br/>\n";
}


Beispiel 3: Komplexe Suche

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
 
    // Example 1: Get the first 10 contacts with company name like "tecart" OR like "crm" OR like "groupware"
    $search = array( 'company'  => array('tecart', 'crm', 'groupware') );
 
    $contacts  = $crmapi_contacts->searchContact($search, 10, 0, true, 'ASC');
 
 
    // Example 2: Get the first 10 contacts with company name like "tecart" OR like "crm" AND city like "erfurt"
    $search = array( 'company'  => array('tecart', 'crm'),
                     'city'     => 'erfurt' );
 
    $contacts  = $crmapi_contacts->searchContact($search, 10, 0, true, 'ASC');
 
 
    // Example 3: Get the first 10 contacts with company name like "tecart" OR city like "erfurt"
    $search = array( 'company'  => 'tecart',
                     'city'     => 'erfurt' );
 
    $contacts  = $crmapi_contacts->searchContact($search, 10, 0, true, 'ASC', true);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($contacts as $contact) {
    echo "Name: $contact['company'] <br/>\n";
    echo "Ort: $contact['city'] <br/>\n";
}


Beispiel 4: Hole nur bestimmte Felder

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
 
    // Get the first 10 contacts with name LIKE 'TecArt'
    $search = array( 'company'  => 'TecArt');
 
    // Only company name and city are needed.
    $get_fields = array( 'company', 'city' );
 
    $contacts  = $crmapi_contacts->searchContact($search, 10, 0, true, 'ASC', false, $get_fields);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($contacts as $contact) {
    echo "Name: $contact['company'] <br/>\n";
    echo "Ort: $contact['city'] <br/>\n";
}



1.1.10. getContact

Syntax:

array getContact(int|string $cid, int $pid = 0) 

Beschreibung:

Gibt ein assoziatives $contact array zurück.

Wirft eine CRMException im Fehlerfall.

$cid ist die Contact-Id.

$pid ist die Person-Id, gibt keine Personendaten zurück, wenn auf 0

Hinweis: Sie können die Contact-Id als Integer oder String im Format 'contact_id:person_id' geben

Eigenschaften der zurückgegebenen contact:

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 die Schnellsuche
string(65535)     $contact_notes         Kontakt Notizen
string(50)        $contact_number        Kontakt Nummer
string(255)       $contact_superior      Kontakt Superior, Format: Contact-Id:Person-Id 
string(255)       $contact_type          Kontakt Typ 
int               $contact_userid        Kontakt Verantwortlich 
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 Kontaktänderung 
int               $contact_chguser       Userid der letzten  Kontaktänderung
int               $contact_createtime    Unix-Timestamp der Kontakterstellung
int               $contact_createuser    Userid der Kontakterstellung
 
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 als 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               $person_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 Faxnummer 
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 Personenänderung
int               $person_chguser        Userid der letzten Personenänderung
int               $person_createtime     Unix-Timestamp der Personenerstellung
int               $person_createuser     Userid der Personenerstellung

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
 
    $contact   = $crmapi_contacts->getContact("13:37");
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($contact as $key => $val) {
    echo "$key => $val<br/>\n";
}



1.1.11. getSingleContact

Syntax:

array getSingleContact(int $cid, boolean $format = false) 

Beschreibung:

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

Wirft eine CRMException im Fehlerfall.

$cid ist die Contact-Id.

Mit der Version (>=3.4.4827) gibt es eine Möglichkeit, die Daten als formatiert zurück zu haben, indem das Param $format auf true gesetzt ist.

Eigenschaften der zurückgegebenen contact:

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 die Schnellsuche 
string(65535)     $notes               Notizen 
string(50)        $number              Nr.
string(255)       $superior            Superior, Format: Contact-Id:Person-Id 
string(255)       $type                Typ 
int               $userid              Verantwortlich 
string(50)        $ustnr               Steuernummer
string(255)       $website             Website
int               $ext_id              Externe ID ( ab Version 4.2 )

int               $chgtime             Unix-Timestamp der letzten Kontaktänderung 
int               $chguser             Userid der letzten Kontaktänderung
int               $createtime          Unix-Timestamp der Kontakterstellung 
int               $createuser          Userid der Kontakterstellung 

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

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
   
    $contact  = $crmapi_contacts->getSingleContact(15);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($contact as $key => $val) {
    echo "$key => $val<br/>\n";
}



1.1.12. getSinglePerson

Syntax:

array getSinglePerson(int $pid, boolean $format = false) 

Beschreibung:

Gibt ein Array mit person arrays mit nur einem Element zurück.

Wirft eine CRMException im Fehlerfall.

$pid ist die person id

Mit der Version (>=3.4.4827) gibt es eine Möglichkeit, die Daten als formatiert zurück zu haben, indem das Param $format auf true gesetzt ist.

Eigenschaften der zurückgegebenen array:

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

int               $pid                 Person-Id 
int               $cid                 Contact-Id 

string(50)        $salutation          Anrede 
string(100)       $firstname           Vorname 
string(100)       $lastname            Nachname 
int               $birthday            Geburtstag als 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                 Faxnummer 
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               $ext_id              Externe ID ( ab Version 4.2 )
 
int               $chgtime             Unix-Timestamp der letzten Personenänderung 
int               $chguser             Userid der letzten Personenänderung 
int               $createtime          Unix-Timestamp der Personenerstellung
int               $createuser          Userid der Personenerstellung

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

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
 
    $person = $crmapi_contacts->getSinglePerson(37);
   
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($contact as $key => $val) {
    echo "$key => $val<br/>\n";
}

1.1.13. searchPersons

(Version >= 3.4.5223)

Syntax:

array searchPersons(array $items, int $count, int $offset, string $sort_name = "", boolean $or = false, array $get_fields = null) 

Beschreibung:

Gibt ein Array mit Personinformation zurück.

$items ist ein assoziatives Array, bei dem der key das Feld zum Suchen und der value der Suchstring ist. Sie können ein %-Zeichen am Anfang und/oder Ende der Zeichenfolge als Platzhalter verwenden.

$count ist die maximale Anzahl an Ids, die zurückgegeben wird.

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

$sort_name ist die Sortierung, wie die Nachname sortiert werden sollen.

$or ist der SQL-Operator. Ist or auf true gesetzt, werden die Suchbegriffe mit OR verknüpft.

$get_fields is ein Array mit Felder, die zurückgegeben werden sollen. Wenn dieses Parameter nicht gesetzt ist, werden alle Felder wie unten geschrieben zurück geliefert.

Eigenschaften des zurückgegebenen Array: die gleichen wie für getSinglePerson mit dem zusätzlichen Variable company

Type(Length) Eigenschaft Beschreibung


array $company Information der Firma

Eigenschaften des $company Array:

die gleichen wie für getContact

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
     
    // Get the first 10 Persons with firstname like 'John' AND lastname like 'Smith'
    $search = array(
		'firstname'  => 'John',
		'lastname'   => 'Smith'
	);
 
    $persons  = $crmapi_contacts->searchPersons($search, 10, 0, 'ASC');
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($persons as $person) {
    echo 'Name: '. $person['firstname'] . ' ' . $person['lastname'] ."<br>";
    echo 'Firma: ' . $person['company']['name'] ."<br>";
    echo '<br>';
}

Beispiel 2: Komplexe Suche

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
 
    // Get the first 10 Persons with firstname like 'John' OR like 'Peter' OR like 'David'
    $search = array( 'firstname'  => array('John', 'Peter', 'David') );
 
    $persons  = $crmapi_contacts->searchPersons($search, 10, 0, 'ASC');
 
 
    // Get the first 10 Persons with firstname like 'John' AND lastname like 'Smith'
    $search = array(
		'firstname'  => 'John',
		'lastname'   => 'Smith'
	);
 
    $persons  = $crmapi_contacts->searchPersons($search, 10, 0, 'ASC');
 
 
    // Get the first 10 Persons with firstname like 'John OR lastname like 'Smith'
    $search = array(
		'firstname'  => 'John',
		'lastname'   => 'Smith'
	);
 
    $persons  = $crmapi_contacts->searchPersons($search, 10, 0, 'ASC', true);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($persons as $person) {
    echo 'Name: '. $person['firstname'] . ' ' . $person['lastname'] ."<br>";
    echo 'Firma: ' . $person['company']['name'] ."<br>";
    echo '<br>';
}

Beispiel 3: Nur bestimmte Felder holen

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
 
    // Get the first 10 Persons with firstname like 'John' 
    $search = array( 'firstname' => 'John' );
 
    // Need only fields 'firstname' and 'lastname' and Array with company's information back.
    $get_fields = array( 'firstname', 'lastname', 'company' );
 
    $persons  = $crmapi_contacts->searchPersons($search, 10, 0, 'ASC', false, $get_fields);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($persons as $person) {
    echo 'Name: '. $person['firstname'] . ' ' . $person['lastname'] ."<br>";
    echo 'Firma: ' . $person['company']['name'] ."<br>";
    echo '<br>';
}


1.1.14. getChangedContacts

Syntax:

array getChangedContacts( int $timestamp ) 

Beschreibung:

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

Wirft eine CRMException im Fehlerfall.

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

Beispiel:

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



1.1.15. getChangedContactsLimit

Syntax:

array getChangedContactsLimit( int $timestamp, int $count = 0, int $offset = 0) 

Beschreibung:

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

Wirft eine CRMException im Fehlerfall.

$count ist die maximale Anzahl an Ergebnissen, die zurückgegeben werden soll. Wenn auf 0 gesetzt, wird ein Array ohne Größenlimit zurückgegeben.

$offset ist die Offset Position der Ergebnisse, die zurückgegeben werden sollen. Diese Variable hat keinen Effekt, wenn $count nicht gesetzt ist.

Beispiel:

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



1.1.16. getChangedPersons

Syntax:

array getChangedPersons( int $timestamp ) 

Beschreibung:

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

Wirft eine CRMException im Fehlerfall.

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

Beispiel:

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



1.1.17. getChangedPersonsLimit

Syntax:

array getChangedPersonsLimit(int $timestamp, int $count = 0, int $offset = 0) 

Beschreibung:

Gibt ein Array von Personen zurück, die seit timestamp geändert wurden.

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

$count ist die maximale Anzahl an Ergebnissen, die zurückgegeben werden soll. Wenn auf 0 gesetzt, wird ein Array ohne Größenlimit zurückgegeben..

$offset ist die Offset Position der Ergebnisse, die zurückgegeben werden sollen. Diese Variable hat keinen Effekt, wenn $count nicht gesetzt ist..

Beispiel:

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



1.1.18. getPersonIds

Syntax:

array getPersonIds( int $timestamp ) 

Beschreibung:

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

Wirft eine CRMException im Fehlerfall.

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

Beispiel:

<?php
try {
    $crmapi_contacts = crmapi::contacts();
 
    // Get person ids, which have been changed since the last 10 days.
    $person_ids = $crmapi_contacts->getPersonIds(time()-3600*24*10);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($person_ids as $person_id) {
    echo "$person_id<br/>\n";
}



1.1.19. getContactPermission

Syntax:

array getContactPermission( int $contact_id ) 

Beschreibung:

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

Wirft eine CRMException im Fehlerfall.

Eigenschaften von $permissions array:

Type(Length) Key Value


array users Array mit $user_permission arrays array groups Array mit $group_permission arrays

Eigenschaften von $user_permission array:

Type(Length)	   Eigenschaft             Beschreibung
-------------------------------------------------------------------------------
int                Key                  User's ID
array		   Value                read:   1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        write:  1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        delete: 1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert

Eigenschaften von $group_permission array:

Type(Length)	   Eigenschaft             Beschreibung
-------------------------------------------------------------------------------
int                Key                  Group's ID
array		   Value                read:   1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        write:  1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        delete: 1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert

Beispiel:

<?php
try {
    $crmapi_contacts = crmapi::contacts();
 
    $permissions = $crmapi_contacts->getContactPermission('123');
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($permissions as $type => $permission) {
 
    echo "Type: $type<br/>\n";
 
    foreach($permission as $single_id => $single_permissions) {
 
        echo "User id/Group id: $single_id<br/>\n";
 
        foreach($single_permission as $permission_type => $permission_set) {
            echo "$permission_type => $permission_set<br/>\n";
        }
    }
}



1.1.20. setContactPermission

Syntax:

boolean setContactPermission( array $permission) 

Beschreibung:

Setzt die Berechtigungen für einen einzelnen Kontakt.

Gibt true bei Erfolg zurück.

Wirft eine CRMException im Fehlerfall.

Eigenschaften von $permissions array:

Type(Length) Key Value


array users Array mit $user_permission arrays array groups Array mit $group_permission arrays

Eigenschaften von $user_permission array:

Type(Length)	   Eigenschaft             Beschreibung
-------------------------------------------------------------------------------
int                Key                  User's ID
array		   Value                read:   1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        write:  1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        delete: 1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert

Eigenschaften von $group_permission array:

Type(Length)	   Eigenschaft             Beschreibung
-------------------------------------------------------------------------------
int                Key                  Group's ID
array		   Value                read:   1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        write:  1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert
                                        delete: 1 = gesetzt, 0 = nicht gesetzt, -1 = verweigert

Beispiel:

<?php
try {
    $crmapi_contacts = crmapi::contacts();
 
    $permission = array(
		'cid'    => 1234,
		'users'  => array(
			'55' => array('read' => -1, 'write' => -1, 'delete' => -1) 
		),
 		'groups' => array(
			'33' => array('read' => -1, 'write' => -1, 'delete' => -1)
		)
	);
 
    $success = $crmapi_contacts->setContactPermission($permission);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $success;



1.1.21. getContactByRealNumber

Wird ab (Version >= 3.3.4353) NICHT mehr unterstützt

Syntax:

array getContactByRealNumber( string|array $realnumbers ) 

Beschreibung:

Gibt ein contacts array mit den real numbers als Key zurück.

$real_number kann entweder ein Array mit real numbers oder ein String mit verketteten real numbers im Format "realnumber1:realnumber2:…" sein

Hinweis: $real_number ist die angzeigte Kontaktnummer, nicht die Kontakt-Id. Der Key für diese Eigenschaft im $contact_array und $single_contact_result ist 'number', der Key in einem $contact_result array ist 'contact_number'

Beispiel:

<?php
try {
    $crmapi_contacts = crmapi::contacts();
  
    $contacts = $crmapi_contacts->getContactByRealNumber(12345);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $contacts as $contact) {
    foreach( $contact as $key => $val) {
        echo "$key => $val";
    }
}


1.1.22. deleteContact

Syntax:

void deleteContact( int $contact_id ) 

Beschreibung:

Löscht einen Kontakt

Wirft eine CRMException im Fehlerfall.

Beispiel:

<?php
try {
    $crmapi_contacts = crmapi::contacts();
  
    $crmapi_contacts->deleteContact(1234);
}
catch (CRMException $e) {
    echo $e->getMessage();
}


1.1.23. deletePerson

Syntax:

void deletePerson( int $person_id ) 

Beschreibung:

Löscht eine Person

Wirft eine CRMException im Fehlerfall.

Beispiel:

<?php
try {
    $crmapi_contacts = crmapi::contacts();
  
    $crmapi_contacts->deletePerson(1234);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.1.24. getContactUserFields

(Version >= 3.3.4005)

Syntax:

array getContactUserFields( int $contact_id ) 

Beschreibung:

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

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

Eigenschaften von ContactUserField array:

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

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
  
    $user_fields = $crmapi_contacts->getContactUserFields(423);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $user_fields as $key => $val) {
    echo "$key => $val<br/>\n";
}



1.1.25. getPersonUserFields

(Version >= 3.3.4005)

Syntax:

array getPersonUserFields( int $person_id ) 

Beschreibung:

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

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

Eigenschaften von PersonUserField array:

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

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
  
    $user_fields = $crmapi_contacts->getPersonUserFields(4273);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $user_fields as $key => $val) {
    echo "$key => $val<br/>\n";
}



1.1.26. getPersonsByContactIDs

(Version >= 3.3.4005)

Syntax:

array getPersonsByContactIDs( array $cids ) 

Beschreibung:

Gibt ein Array mit allen Personen zurück, die zu den gegebenen Kontakt-IDs gehören.

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

Eigenschaften von zurückgegebenen array:

Typ(Länge)              Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string(255)             Key                       Kontakt ID
string(255)             Value                     Personen Array

Eigenschaften von Personen Array:

sind die selben wie für getSinglePerson.

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
  
    $result = $crmapi_contacts->getPersonsByContactIDs(array(1234, 1235));
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $result as $cid => $persons ) {
    echo "Kontakt ID: ". $cid. "<br>";
 
    foreach( $persons as $key => $value ) {
        echo "$key => $value<br/>\n";
    }
}



1.1.27. getPicture

(Version >= 3.3.3650)

Syntax:

array getPicture ( int $cid )

Beschreibung:

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

cid ist die Kontakt-ID.

Eigenschaften von zurückgegebenen Array:

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

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
   
    $result = $crmapi_contacts->getPicture( 1235 );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
$small_pic_data = base64_decode($result['picture_small']);
$big_pic_data   = base64_decode($result['picture_big']);
 
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';
}



1.1.28. setPicture

(Version >= 3.3.3650)

Syntax:

boolean setPicture ( 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).

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
   
    $file    = "../fotos/bild.jpg";
    $foto_content = base64_encode(file_get_contents($file));
 
    $success = $crmapi_contacts->setPicture( 1235, $foto_content );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
if($success) {
    echo 'Picture uploaded successfully.';
}



1.1.29. getPersonPicture

(Version >= 3.4.5086)

Syntax:

array getPersonPicture ( int $pid )

Beschreibung:

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

pid ist die Person-ID.

Eigenschaften von zurückgegebenen Array:

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

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
   
    $result = $crmapi_contacts->getPersonPicture( 1235 );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
$small_pic_data = base64_decode($result['picture_small']);
$big_pic_data   = base64_decode($result['picture_big']);
 
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';
}



1.1.30. setPersonPicture

(Version >= 3.4.5086)

Syntax:

boolean setPersonPicture ( 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).

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
   
    $file    = "../fotos/bild.jpg";
    $foto_content = base64_encode(file_get_contents($file));
 
    $success = $crmapi_contacts->setPersonPicture( 1235, $foto_content );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
if($success) {
    echo 'Picture uploaded successfully.';
}



1.1.31. getContactFields

(Version >= 3.3.4005)

Syntax:

array getContactFields()

Beschreibung:

Gibt ein Array mit Information der Feldern für Kontakte zurück. Die Info enthält die Felder in der Datenbank, die angezeigte Namen und die Typen der Felder.

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

Eigenschaften von zurückgegebenen array:

Typ(Länge)              Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string(255)             Key                       Name des Feldes in der Datenbank
array(255)              Value                     Array mit 
                                                  label: der angezeigte Name des Feldes
                                                  field: Name des Feldes in der Datenbank
                                                  type:  Typ des Feldes

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
  
    $fields = $crmapi_contacts->getContactFields();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $fields as $key => $val) {
    echo $key " => ". $val['label'] ."<br/>";
}



1.1.32. getPersonFields

(Version >= 3.3.4005)

Syntax:

array getPersonFields()

Beschreibung:

Gibt ein Array mit Information der Feldern für Personen zurück. Die Info enthält die Felder in der Datenbank, die angezeigte Namen und die Typen der Felder.

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

Eigenschaften von zurückgegebenen array:

Typ(Länge)              Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string(255)             Key                       Name des Feldes in der Datenbank
array(255)              Value                     Array mit 
                                                  label: der angezeigte Name des Feldes
                                                  field: Name des Feldes in der Datenbank
                                                  type:  Typ des Feldes

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
  
    $fields = $crmapi_contacts->getPersonFields();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $fields as $key => $val) {
    echo $key " => ". $val['label'] ."<br/>";
}



1.1.33. getContactsArray

(Version >= 3.4.5005)

Syntax:

array getContactsArray(array $cidpids) 

Beschreibung:

Gibt ein Array mit Information von Kontakten und Personen zurück.

Element des $cidpids Arrays hat der Format 'cid:pid' oder 'cid'.

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

Eigenschaften von zurückgegebenen array: die gleichen wie für getContact

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
     
    // Get contact with ID = 7, person with ID = 8 AND contact with ID = 9
    $results = $crmapi_contacts->getContactsArray(array('7:8', '9'));
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $results as $val) {
    echo $val['contact_company'] ."<br/>";
 
    if (isset($val['person_firstname'])) {
        echo  ". $val['person_firstname'] ."<br/>";
	}
}



1.1.34. getContactIdByExtId

(Version >= 4.2)

Syntax:

array getContactIdByExtId( string $external_id ) 

Beschreibung

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

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

Eigenschaften des zurückgegebenen contact ids array:

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

Beispiel:

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



1.1.35. getAllContactExtIds

(Version >= 4.2)

Syntax:

array getAllContactExtIds()

Beschreibung

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

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

Eigenschaften des zurückgegebenen contact ids array:

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

Beispiel:

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



1.1.36. getPersonIdByExtId

(Version >= 4.2)

Syntax:

array getPersonIdByExtId( string $external_id ) 

Beschreibung

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

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

Eigenschaften des zurückgegebenen person ids array:

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

Beispiel:

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



1.1.37. getAllPersonExtIds

(Version >= 4.2)

Syntax:

array getAllPersonExtIds() 

Beschreibung

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

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

Eigenschaften des zurückgegebenen person ids array:

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

Beispiel:

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



1.1.38. addRelation

(Version >= 4.2)

Syntax:

int addRelation( 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 CRMException 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 Konstanten zur Verfügung:

MODULE_CONTACTS ⇒ Kontakte

MODULE_CONTRACTS ⇒ Verträge

MODULE_OFFERS ⇒ Angebote

MODULE_ORDERS ⇒ Aufträge

MODULE_PROJECTS ⇒ Projekte

MODULE_TICKETS ⇒ Tickets

MODULE_ARTICLES ⇒ Artikel

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

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

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



1.1.39. deleteRelation

(Version >= 4.2)

Syntax:

void deleteRelation( int $relation_id ) 

Beschreibung

Löscht eine Verknüpfung.

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

Beispiel:

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



1.1.40. getRelations

(Version >= 4.2)

Syntax:

array getRelations( 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 CRMException 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üfungen, die ermittelt werden sollten. Für den Typ stehen folgende Konstanten zur Verfügung:

MODULE_CONTACTS ⇒ Kontakte

MODULE_CONTRACTS ⇒ Verträge

MODULE_OFFERS ⇒ Angebote

MODULE_ORDERS ⇒ Aufträge

MODULE_PROJECTS ⇒ Projekte

MODULE_TICKETS ⇒ Tickets

MODULE_ARTICLES ⇒ Artikel

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

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



1.1.41. setDuplicatecheckConfig

(Version >= 4.5.17704)

Syntax:

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

Beschreibung:

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

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

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

Ab Version 4.5.17704 kann als optionaler 2. Parameter $context angegeben werden, ob die Dublettenprüfungsfelder für "contact" (Standard) oder "person" überschrieben werden sollen. Parameter $context ist eine Zeichenkette mit entweder "contact" oder "person".

Beispiel:

<?php
 
try {
	$api     = crmapi::contacts();
	$fields  = array('email', 'realnumber');
	// adding a contact with identical values in fields "email" and "realnumber" will result in 
	// an "object already exists" trigger
	// not necessary to give 2nd parameter when using default "contact", it's done here for tutoring purposes
	$success = $api->setDuplicatecheckConfig($fields, 'contact');
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo ($success === true ? 'override successful' : $success);



1.1.42. getDuplicatecheckConfig

(Version >= 4.5.17704)

Syntax:

array | string CRMException message getDuplicatecheckConfig($context = "contact")

Beschreibung:

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

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

Ab Version 4.5.17704 kann mit optionalem Parameter $context entschieden werden, ob die Feldkonfiguration von Kontakten ("contact" default) oder Personen ("person") gelesen wird

Beispiel:

<?php
 
try { 
	$api    = crmapi::contacts();
	// fetch duplicate check field config for persons
	$fields = $api->getDuplicatecheckConfig('person');
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo print_r($fields, true);


1.1.43. getsearchfilteredContacts

(Version >= 4.5.16680)

Syntax:

array getsearchfilteredContacts(int $filter_id, string $search = "", int $count = 0, int $offset = 0, array $fields = false)

Beschreibung:

Gibt ein Array mit Kontakten 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 (false = 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.

Properties:

sind die selben wie für getSingleContact, evtl eingeschränkt nach Parameter fields

Beispiel:

<?php
 
try {   
	$crmapi_contacts = crmapi::contacts();
   
	// Liefert die Felder Nummer, Firma, PLZ und Ort der ersten 10 Kontakte, die dem Suchfilter 11 ohne eingegebenen Suchbegriff entsprechen
	$result = $crmapi_contacts->getsearchfilteredContacts(11, //, 10, 0, array('realnumber', 'company', 'postcode', 'city'));//
 
	// Liefert alle Felder aller Kontakte, die dem Suchfilter 11 mit eingegebenen Suchbegriff "test" entsprechen
	$result = $crmapi_contacts->getsearchfilteredContacts(11, 'test', 0, 0, false);
 
	print_r($result);
}
catch (CRMException $e) {
	echo $e->getMessage();
}



1.1.44. getContactsByPhoneNumber

(Version >= 4.8)

Syntax:

array crmgetContactsByPhoneNumber( string $phone )

Beschreibung:

Gibt ein Array mit Kontakt- und Personen-Objekten zurück, bei denen die angegebene Telefonnummer eingetragen wurde.

Der Parameter phone ist die Telefonnummer, nach welcher gesucht werden soll.

Rückgabe:

Das Ergebnis ist ein Array mit den Schlüssel 'contacts' (für Kontakte) und 'persons' (für Personen). Diese enthalten jeweils numerische Arrays, welche jeweils 0 oder mehr Objekte des entsprechenden Types enthalten können. Die Eigenschaften einzelner Kontakte sind in der Methode getSingleContact beschrieben und für Personen in getSinglePerson.

Beispiel:

<?php
 
try {   
   $crmapi_contacts = crmapi::contacts();
   
   // Liefert alle Kontakte und Personen mit der Nummer 0361 58439602 zurück.
   $result = $crmapi_contacts->getContactByPhoneNumber('+49 361 58439602');
 
   foreach ($params['persons'] as $person) {
       print_r($person);
   }
   foreach ($params['contacts'] as $contact) {
       print_r($contact);
   }
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.2. Rechnungskonten

1.2.1. addClientAccount

(Version >= 4.1)

Syntax:

int addClientAccount(int $contact_id) 

Beschreibung:

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

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

Beispiel:

<?php
 
try {
	$crmapi_contacts = crmapi::contacts();
     
    // Add client account to contact with ID = 10
    $result = $crmapi_contacts->addClientAccount(10);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo "New client account id: $result<br/>";



1.2.2. copyClientAccountDataFromContact

(Version >= 4.1)

Syntax:

array copyClientAccountDataFromContact(int $account_id, int $contact_id) 

Beschreibung:

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

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

Eigenschaften von zurückgegebenen array: die gleichen wie für getClientAccount

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
     
    // Copy data from contact with ID = 10 to client account with ID = 1
    $results = $crmapi_contacts->copyClientAccountDataFromContact(1, 10);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $results as $key => $val) {
    echo $key.'=>'.$val;
}



1.2.3. getClientAccountsByContactID

(Version >= 4.1)

Syntax:

array getClientAccountsByContactID(int $contact_id) 

Beschreibung:

Liefert alle Rechnungskonten eines Kontaktes zurück.

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

Eigenschaften von zurückgegebenen array: die gleichen wie für getClientAccount

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
     
    // Get client accounts from contact with ID = 10
    $results = $crmapi_contacts->getClientAccountsByContactID(10);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $results as $result) {
    foreach( $result as $key => $val) {
        echo $key.'=>'.$val;
    }
}



1.2.4. getClientAccount

(Version >= 4.1)

Syntax:

array getClientAccount(int $account_id) 

Beschreibung:

Liefert das Rechnungskonto mit der ID $account_id.

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

Eigenschaften 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 {
    $crmapi_contacts = crmapi::contacts();
     
    // Get client account with ID = 1
    $result = $crmapi_contacts->getClientAccount(1);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $result as $key => $val) {
    echo $key.'=>'.$val;
}



1.2.5. getInvoicesByClientAccount

(Version >= 4.1)

Syntax:

array getInvoicesByClientAccount(int $account_id) 

Beschreibung:

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

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

Eigenschaften der Elemente von zurückgegebenen array:

Type(Length)	  Eigenschaft				Beschreibung
---------------------------------------------------------------------------------
int		  $id					Rechnungs-ID
int		  $cid					Kontakt-ID
int               $ext_id                               Externe ID ( ab Version 4.2 )
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				Rabat
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 {
    $crmapi_contacts = crmapi::contacts();
     
    // Get client account with ID = 1
    $results = $crmapi_contacts->getInvoicesByClientAccount(1);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $results as $result) {
    foreach( $result as $key => $val) {
        echo $key.'=>'.$val;
    }
}



1.2.6. addClientAccountDetail

(Version >= 4.1.11595)

Syntax:

int addClientAccountDetail(array $account_data) 

Beschreibung:

Erzeugt ein neues Rechnungskonto mit den übergebenen Daten.

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

Eigenschaften von $account_data 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
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

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

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
     
    $account_data = array(
        'name'            => 'API-Test addClientAccountDetail',
        'notes'           => 'This is a test...',
        'debitor_number'  => '10001',
        'kreditor_number' => '11001',
        'online_billing'  => 1
    );
 
    $result = $crmapi_contacts->addClientAccountDetail($account_data);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo "Client account id: $result<br/>";



1.2.7. changeClientAccount

(Version >= 4.1.11595)

Syntax:

int changeClientAccount(int $account_id, array $account_data) 

Beschreibung:

Ändert Informationen des Rechnungskontos mit der übergebenenen ID.

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

Eigenschaften von $account_data array: die gleichen wie für addClientAccountDetail

Beispiel:

<?php
 
try {
    $crmapi_contacts = crmapi::contacts();
     
    $account_data = array(
        'credit'             => 25000,
        'bank_account_owner' => 'Test KG',
        'bank_account_iban'  => 'DE341234500789000',
        'bank_account_bic'   => 'HELADEF000'
    );
 
    $result = $crmapi_contacts->changeClientAccount(10, $account_data);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo "Client account id: $result<br/>";



1.2.8. getClientAccountIdByExtId

(Version >= 4.2)

Syntax:

array getClientAccountIdByExtId( string $external_id ) 

Beschreibung

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

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

Eigenschaften des zurückgegebenen client account ids array:

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

Beispiel:

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



1.2.9. getAllClientAccountExtIds

(Version >= 4.2)

Syntax:

array getAllClientAccountExtIds() 

Beschreibung

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

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

Eigenschaften des zurückgegebenen client account ids array:

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

Beispiel:

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



1.3. Kontaktbeziehungen

Diese Funktionen sind nicht zu verwechseln mit addRelation, deleteRelation, getRelations, 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.

1.3.1. addContactRelation

(Version >= 4.4)

Syntax:

int addContactRelation( array $params )

Beschreibung:

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

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

Wirft im Fehlerfall folgende CRMExceptions:

  • Invalid datatype: array required

  • Insufficient data

  • Missing mandatory parameter <cid>/<vid>/<category>

Pflichtfelder sind cid, vid, category

Eigenschaften des zu übergebenden Array params

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
try {   
    $crmapi_contacts = crmapi::contacts();
   
    $params = array(
        'cid'        => '1589',
        'vid'        => '564:7215',
        'category'   => 'Tochtergesellschaft',
        'autocreate' => 0
    );
    $rel_id = $crmapi_contacts->addContactRelation($params)
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo 'Beziehungs ID: '.$id.'';



1.3.2. changeContactRelation

(Version >= 4.4)

Syntax:

boolean changeContactRelation ( array $params )

Beschreibung:

Modifiziert eine bestehende Kontaktbeziehung.

Gibt bei Erfolg TRUE zurück, andernfalls FALSE.

Wirft im Fehlerfall folgende CRMExceptions:

  • Invalid datatype: array required

  • Invalid relation ID

  • Missing parameter `cid` or invalid value, `cid` is mandatory

  • Missing parameter `vid` or invalid value, `vid` is mandatory

Pflichtfelder sind id, cid, vid

Eigenschaften des zu übergebenden Array params

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"

Beispiel:

<?php
try { 
    $crmapi_contacts = crmapi::contacts();
    $params = array(
         'id'       => 1337,
         'cid'      => '1589',
         'vid'      => '564:7215',
         'category' => 'Partner'
    );
    // modify the category of contact:contact relation with ID 1337
    $success = $crmapi_contacts->changeContactRelation($params)
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo 'Änderung '.($success ? 'erfolgreich' : 'fehlgeschlagen').'';


1.3.3. getContactRelation

(Version >= 4.4)

Syntax:

array getRelation( int $relation_id )

Beschreibung:

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

Wirft im Fehlerfall folgende CRMExceptions:

  • Relation with ID <relation_id> not found

Eigenschaften des zurückgegebenen Array

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
try { 
    $crmapi_contacts = crmapi::contacts();
    // fetch contact:contact relation with ID 1337
    $relation = $crmapi_contacts->getContactRelation(1337);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo print_r($relation, true);



1.3.4. getContactRelations

(Version >= 4.4)

Syntax:

array getContactRelations(int $timestamp, int $count = 500, int $offset = 0)

Beschreibung:

Gibt ein Array mit einem oder mehreren Beziehungsobjekten (als assoziative Arrays) zurück, optional eingeschränkt nach Zeitpunkt der letzten Änderung und limitierter Rückgabe.

  • 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 Beziehungsobjekte sind identisch mit getContactRelation

Beispiel:

<?php
try { 
    $crmapi_contacts = crmapi::contacts();
    $timestamp = (time()-(3*86400));    // all relations that have been modified during the last 3 days
    $count     = 500;                   // limit the return to 500 entries
 
    $relations = $crmapi_contacts->getContactRelations($timestamp, $count);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo print_r($relations, true);



1.3.5. getContactRelationsByContactId

(Version >= 4.4)

Syntax:

array getContactRelationsByContactId( int|string $cid )

Beschreibung:

Liefert ein Array mit Beziehungsobjekten (als assoziative Arrays) zurück, die einem mit cid spezifizierten Kontakt zugeordnet sind.

Wirft im Fehlerfall folgende CRMException:

  • Invalid contact ID

Eigenschaften der zurückgegebenen Beziehungsobjekte sind identisch mit getContactRelation

Beispiel:

<?php
try { 
    $crmapi_contacts = crmapi::contacts();
    $relations = $crmapi_contacts->getContactRelationsByContactId(1589);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo print_r($relations, true);



1.3.6. deleteContactRelation

(Version >= 4.4)

Syntax:

boolean deleteContactRelation( int $relation_id )

Beschreibung:

Löscht die mit relation_id spezifizierte Kontakt:Kontakt- Beziehung.

TRUE bei Erfolg, FALSE bei Fehlschlag.

Wirft folgende CRMExceptions:

  • Invalid relation ID

  • Relation with ID <relation_id> not found

Beispiel:

<?php
try { 
    $crmapi_contacts = crmapi::contacts();
    // delete contact:contact relation with ID 1337
    $success = $crmapi_contacts->deleteContactRelations(1337);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo 'Löschung '.($success ? 'erfolgreich' : 'fehlgeschlagen');
  • No labels