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

Mit der Veröffentlichung von TecArt Version 4.10 wird diese Version des REST Webservice nicht weiterentwickelt, steht aber zu Zwecken der Abwärtskompatibilität weiter zur Verfügung. 

With the release of TecArt version 4.10 this version of REST Webservice will no longer receive further development, yet will stay available for reasons of downward compatibility.

1. Aufruf URL

http://hostname/dirname/rest/index.php/emails

z.B. https://test.tecart-system.de/rest/index.php/emails

2. Klasse

crmemails

3. Methoden

3.1. crmAddPContact

Syntax:

int crmAddPContact( array(string $session_id, array $pcontact) )

Beschreibung:

Hinzufügen eines persönlichen Kontakts.

pcontact ist ein assoziatives Array.

Liefert eine kontakt_id bei Erfolg zurück.

Eigenschaften von pcontact Array:

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
int             $userid            Userid, 0 bedeutet dies ein öffentlicher Kontakt
int             $list              0 => persönlichen Kontakt, 1 => Mailingliste
string(128)     $firstname         Vorname
string(128)     $middlename        zweiter Vorname
string(128)     $lastname          Familienname
string(128)     $displayname       Name, der in Listenansichten erscheint
string(128)     $nickname          Spitzname
string(128)     $spousename        Name des Ehepartners
string(128)     $childrennames     Kinder (Namen)
int             $birthday          Unix-Timestamp des Geburtstags
int             $anniversary       Unix-Timestamp des Jahrestages
string(255)     $emailadr1         Erste E-Mail Adresse
string(255)     $emailadr2         Zweite E-Mail Adresse
string(255)     $emailadr3         Dritte E-Mail Adresse
int             $email_format      Bevorzugtes Format
                                   0 = Text
                                   1 = HTML
string(128)     $screen_name       Erster Screen Name, z.B. Messenger-Account 
string(128)     $screen_name2      Zweiter Screen Name, z.B. Messenger-Account 
string(128)     $screen_name3      Dritter Screen Name, z.B. Messenger-Account 
string(128)     $phone_work        Erste Telefon-Nummer geschäftlich
string(128)     $phone_work2       Zweite Telefon-Nummer geschäftlich
string(128)     $phone_home        Erste Telefon-Nummer privat
string(128)     $phone_home2       Zweite Telefon-Nummer privat
string(128)     $phone_fax         Fax-Nummer
string(128)     $phone_fax_work    Fax-Nummer geschäftlich
string(128)     $phone_pager       Pager-Nummer 
string(128)     $phone_mobil       Mobilnummer
string(128)     $phone_mms         MMS-Nummer
string(128)     $phone_sms         SMS-Nummer
string(128)     $phone_car         Auto Telefonnummer
string(128)     $phone_radio       Radio Telefonnummer
string(128)     $phone_company     Haupttelefonnummer des Unternehmens
string(128)     $phone_assistant   Telefonnummer des Assistenten
string(128)     $home_address1     Private Adresse Zeile 1 
string(128)     $home_address2     Private Adresse Zeile 2 
string(128)     $home_city         Stadt 
string(128)     $home_region       Region 
string(128)     $home_postcode     PLZ
string(128)     $home_country      Land
string(128)     $home_website      Persönliche Website 
string(128)     $work_title        Titel, z.B. CEO 
string(128)     $work_department   Abteilung
string(128)     $work_organisation Organisations- oder Unternehmensname  
string(128)     $work_address1     Geschäftliche Addresse Zeile 1 
string(128)     $work_address2     Geschäftliche Addresse Zeile 2 
string(128)     $work_city         Stadt
string(128)     $work_region       Region 
string(128)     $work_postcode     PLZ 
string(128)     $work_country      Land
string(255)     $work_website      Offizielle Unternehmens-Website
string(255)     $work_location     Bürostandort
string(128)     $other_address1    Andere Adresse Zeile 1 
string(128)     $other_address2    Andere Adresse Zeile 2 
string(128)     $other_city        STadt
string(128)     $other_region      Region 
string(128)     $other_postcode    PLZ
string(128)     $other_country     Land
string(128)     $suffix            Suffix des Kontakts
string(128)     $managername       Manager Name
string(128)     $assistantname     Assistent Name
string(128)     $customer_id       Kunden-ID
string(128)     $gov_id            Regierungs ID
string(128)     $accountname       Account Name 
string(255)     $custom1           Benutzerdefiniertes Feld 1 
string(255)     $custom2           Benutzerdefiniertes Feld 2 
string(255)     $custom3           Benutzerdefiniertes Feld 3 
string(255)     $custom4           Benutzerdefiniertes Feld 4 
string(65535)   $notes             Notizen
string          $picture           Kontakt Bild-Daten (base64-kodiert)

Beispiel :

<?php
 
try {
	include_once 'crm_rest_api.php';
   
	/* @var $emails crmemails */
	$emails		= new crm_rest_api("http://hostname/dirname/rest/index.php/emails");
	$contact	= array(
		'firstname'		=> 'Web',
		'lastname'		=> 'Service',
		'emailadr1'		=> 'test@webservice.com'
	);
 
	$pid = $emails->crmAddPContact(
		array(
			'session_id'	=> $session_id,
			'pcontact'		=> $contact
		)
	);
 
	echo $pid;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.2. crmgetPContactAddrs

Syntax:

array crmgetPContactAddrs( array(string $session_id, int $contact_id, int $timestamp) )

Beschreibung:

Liefert Adress-IDs für eine bestimmte Mailing-Liste.

contact_id ist die ID des persönlichen Kontakts (id der Mailing-Liste).

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

Liefert ein Array von Adress-Objekten

Eigenschaften von address object:

Typ(Länge)      Eigenschaft        Beschreibung
--------------------------------------------------------------------------
int             $id                Adress-ID
int             $mid               Mailing-List-ID ( personal contact id )
int             $cid               contact id von gemeinsamen Kontakten
int             $pid               person id von gemeinsamen Kontakten
int             $uid               user id
int             $pcid              personal contact id
int             $chguser           Userid der letzten Änderung 
int             $chgtime           Unix-Timestamp der letzten Änderung
int             $createuser        Userid der Erstellung
int             $createtime        Unix-Timestamp der Erstellung 
--------------------------------------------------------------------------

Beispiel 1:

<?php
 
try {
	// Get addresses from mailing list
 
	$pcontact_id = 300;
 
	$result = $emails->crmgetPContactAddrs(
		array(
			'session_id'	=> $session_id,
			'contact_id'	=> $pcontact_id,
			'timestamp'		=> 0
		)
	);
 
	foreach($result as $pcontact_addr) {
		echo "MID: {$pcontact_addr->mid}<br>";
		echo "CID: {$pcontact_addr->cid}<br>";
		echo "PID: {$pcontact_addr->pid}<br>";
		echo "UID: {$pcontact_addr->uid}<br>";
		echo "PCID: {$pcontact_addr->pcid}<br><hr/>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}


Beispiel 2:

<?php
 
try {
	// Get addresses from all mailing lists
	$result = $emails->crmgetPContactAddrs(
		array(
			'session_id'	=> $session_id,
			'contact_id'	=> 0,
			'timestamp'		=> 0
		)
	);
 
	foreach($result as $pcontact_addr) {
		echo "MID: {$pcontact_addr->mid}<br>";
		echo "CID: {$pcontact_addr->cid}<br>";
		echo "PID: {$pcontact_addr->pid}<br>";
		echo "UID: {$pcontact_addr->uid}<br>";
		echo "PCID: {$pcontact_addr->pcid}<br><hr/>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.3. crmAddPContactAddrs

Syntax:

int crmAddPContactAddrs( array(string $session_id, array $addresses) )

Beschreibung:

Fügt Adress-IDs zu einer bestimmten Mailing-Liste hinzu.

addresses ist eine Array mit Adress-IDs.

Liefert 1 bei Erfolg zurück.

Eigenschaften von addresses Array:

Typ(Länge)      Eigenschaft                Beschreibung
-----------------------------------------------------------------------------------
array           $addPContactAddrsElements  array mit addPContactAddrsElement Objekte
-----------------------------------------------------------------------------------

Eigenschaften von addPContactAddrsElement:

Typ(Länge)      Eigenschaft                Beschreibung
-----------------------------------------------------------------------------------
int             $mid                       mailing list id ( personal contact id )
int             $cid                       contact id von gemeinsamen Kontakten
int             $pid                       person id von gemeinsamen Kontakten
int             $uid                       user id
int             $pcid                      personal contact id
-----------------------------------------------------------------------------------

Beispiel:

<?php
 
try {
	// Add addresses to mailing list with id 300
	$addresses = array(
		array('mid' => 300, 'cid' => 5149),
		array('mid' => 300, 'pid' => 5887),    
		array('mid' => 300, 'pid' => 5888),    
		array('mid' => 300, 'pid' => 5886)
	);
 
	$success = $emails->crmaddPContactAddrs(
		array(
			'session_id'	=> $session_id,
			'addresses'		=> $addresses
		)
	);
 
	if ($success == 1) {
		echo "Adding addresses success.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.4. crmaddTreeEntry

Syntax:

int crmaddTreeEntry( array(string $session_id, int $parent, string $name) )

Beschreibung:

Fügt einen Ordner zum user tree hinzu.

Gibt eine tree_id des neuen Ordners bei Erfolg zurück.

parent ist die ID des übergeordneten Ordners.

name ist der Ordnername.

Beispiel:

<?php
 
try {
	$params = array(
		'session_id'	=> $session_id,
		'parent'		=> 5011,
		'name'			=> 'Webservices'
	);
	$tree_id = $emails->crmaddTreeEntry($params);
 
	echo $tree_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.5. crmchangeMailItems

Syntax:

int crmchangeMailItems( array(string $session_id, array $items, boolean $common) )

Beschreibung:

Ändert Eigenschaften der gegebenen E-Mails.

items ist ein mehrdimensionales assoziatives Array.

Wenn common auf true gesetzt wird, wird die Eigenschaften der Email geändert, die bei Kontakten, Projekten oder Karten gespeichert ist.

Liefert 1 bei Erfolg zurück.

Hinweis: Wenn ein Fehler auftritt, bricht die Funktion an der Stelle des Fehlers ab und gibt eine Fehlermeldung zurück.

Wenn ein Element nicht existiert wird kein Fehler zurückgegeben.

Hinweis: Es ist auch möglich, MailItems zu Kontakten, Projekten und Tickets zu verschieben, indem man ihnen einen neuen Ordner zuweist, in diesem Fall muss der Ordner ein gemeinsamer Ordner sein.

Eigenschaften von items Array:

Typ(Länge)              Eigenschaft                 
------------------------------------------------
ChangeMailItemsElement  ChangeMailItemsElements

Eigenschaften von ChangeMailItemsElement:

Typ(Länge)      Eigenschaft     Beschreibung
-------------------------------------------------------------------
int             $id             Mail-Id 
int             $folder         Tree-Id 
int             $was_read       E-Mail wurde gelesen 
                                  0 = ungelesen
                                  1 = gelesen
                                > 1 = Unix-Timestamp des Lesens
int             $priority       Priorität 
                                  5 = niedrig
                                  3 = normal
                                  1 = hoch
int             $intern         Interne Nachricht
                                  0 = extern
                                  1 = intern von Nutzer (blau)
                                  2 = intern vom System (grün)
int             $konto          IMAP-Account der E-Mail
                                  0 = POP3 
                                > 0 = IMAP-Account-Id
int             $flag           Nachricht wurde markiert 
                                  0 = nicht markiert
                                  1 = markiert
                                > 1 = Unix-Timestamp des Markierens
int             $answered       Die Nachricht wurde beantwortet
                                  0 = nicht beantwortet
                                  1 = beantwortet
                                > 1 = Unix-Timestamp der Antwort
int             $forwarded      Nachricht wurde weitergeleitet
                                  0 = nicht weitergeleitet
                                  1 = weitergeleitet
                                > 1 = Unix-Timestamp des weiterleitens
string(65535)   $forwarded_to   Empfänger zu dem diese Mail weitergeleitet wurde
string(255)     $forwarded_from Sender der diese Mail weitergeleitet hat
int             $done           Die Nachricht wurde als erledigt gekennzeichnet
                                  0 = nicht erledigt
                                  1 = erledigt
                                > 1 = Unix-Timestamp des Erledigt-Markierens
int             $remember       Benachrichtigung
                                  0 = nicht benachrichtigen
                                > 0 = Unix-Timestamp der Benachrichtigung
string(255)     $answered_from  Wurde von E-Mail Adresse beantwortet 
string(255)     $return_receipt E-Mail-Adresse für den Empfang von Empfangsbestätigungen
string(255)     $disposition_notification 
                                E-Mail Adresse für den Empfang von Lesebestätigung
int             $filtered       Nachricht wurde gefiltert
                                  0 = nicht gefiltert
                                > 0 = Unix-Timestamp des filterns

Beispiel:

<?php
 
try {
	items = array(
		array('id' => 24006, 'was_read' => 0),
		array('id' => 23964, 'was_read' => 0),
		array('id' => 23970, 'was_read' => 0, 'folder' => 4958)
	);
 
	$success = $emails->crmchangeMailItems(
		array(
			'session_id'	=> $session_id,
			'items'			=> $items,
			'common'		=> false
		)
	);
 
	if ($success == 1) {
		echo "Changing Mail-Items success.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.6. crmChangePContact

Syntax:

int crmChangePContact( array(string $session_id, int $pcontact_id, array $pcontact) )

Beschreibung:

Ändert einen persönlichen Kontakt im persönlichen Adressbuch des aktuellen Benutzers.

PContactItem ist ein Kontakt-Objekt oder ein assoziatives Array.

Liefert eine kontakt_id bei Erfolg, 0 im Fehlerfall.

Eigenschaften von pcontact Array:

sind die selben wie für crmAddPContact

Beispiel:

<?php
 
try {
	$params = array(
		'session_id'	=> $session_id,
		'pcontact_id'	=> 3463,
		'pcontact'		=> array('lastname' => 'Service Changed')
	);
 
	$pid = $emails->crmChangePContact($params);
 
	echo $pid;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.7. crmCopyToContact

Syntax:

int crmCopyToContact( array(string $session_id, array $mail_ids, int $contact_id, boolean $common) )

Beschreibung:

Kopiert die ausgewählten E-Mails zum angegebenen Kontakt.

mail_ids ist eine Array mit mail-IDs.

contact_id ist die Kontakt-ID.

Wenn common auf true gesetzt wird, wird die Email kopiert, die bei Kontakten, Projekten oder Ticket gespeichert ist.

Liefert 1 bei Erfolg zurück.

Beispiel:

<?php
 
try {
	$mail_ids	= array(24173, 24170, 25344);
	$success	= $emails->crmCopyToContact(
		array(
			'session_id'	=> $session_id,
			'mail_ids'		=> $mail_ids,
			'contact_id'	=> 344,
			'common'		=> false
		)
	);
 
	if($success == 1) {
		echo "Mails successfully copied";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.8. crmCopyToProject

Syntax:

int crmCopyToProject( array(string $session_id, array $mail_ids, int $project_id, boolean $common) )

Beschreibung:

Kopiert die ausgewählten E-Mails zum angegebenen Projekt.

mail_ids ist ein Array mit den mail_ids.

project_id ist die Projekt ID.

Wenn common auf true gesetzt wird, wird die Email kopiert, die bei Kontakten, Projekten oder Ticket gespeichert ist.

Liefert 1 bei Erfolg zurück.

Beispiel:

<?php
 
try {   
	$mail_ids	= array(24173, 24170, 25344);
	$success	= $emails->crmCopyToProject(
		array(
			'session_id'	=> $session_id,
			'mail_ids'		=> $mail_ids,
			'project_id'	=> 344,
			'common'		=> false
		)
	);
   
	if($success == 1) {
		echo "Mails successfully copied";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.9. crmCopyToTicket

Syntax:

int crmCopyToTicket( array(string $session_id, array $mail_ids, int $ticket_id, boolean $common) )

Beschreibung:

Kopiert die ausgewählten E-Mails zum angegebenen Ticket.

mail_ids ist ein Array mit den mail_ids.

ticket_id ist die Ticket ID.

Wenn common auf true gesetzt wird, wird die Email kopiert, die bei Kontakten, Projekten oder Ticket gespeichert ist.

Liefert 1 bei Erfolg zurück.

Beispiel:

<?php
 
try {
	$mail_ids	= array(24173, 24170, 25344);
	$success	= $emails->crmCopyToTicket(
		array(
			'session_id'	=> $session_id,
			'mail_ids'		=> $mail_ids,
			'ticket_id'		=> 344,
			'common'		=> false
		)
	);
   
	if($success == 1) {
		echo "Mails successfully copied";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.10. crmCopyToUser

Syntax:

int crmCopyToUser( array(string $session_id, array $mail_ids, array $user_ids, boolean $notify, boolean $common) )

Beschreibung:

Kopiert / Forwardet die ausgewählten E-Mails an den/die angegebenen Nutzer. Gibt 1 beim Erfolg zurück

mail_ids ist ein Array den mail_ids.

user_ids ist ein Array mit den user_ids.

Wenn notify auf true gesetzt ist wird eine Lesebestätigung angefordert.

Wenn common auf true gesetzt wird, wird die Email kopiert, die bei Kontakten, Projekten oder Ticket gespeichert ist.

Beispiel:

<?php
 
try {
	$mail_ids	= array(24173, 24170);
	$user_ids	= array(28, 29, 30);
	$success	= $emails->crmCopyToUser(
		array(
			'session_id'	=> $session_id,
			'mail_ids'		=> $mail_ids,
			'user_ids'		=> $user_ids,
			'notify'		=> true,
			'common'		=> false
		)
	);
 
	if ($success == 1) {
		echo "Forwarding mails to users success.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.11. crmcreateNewMail

Syntax:

int crmcreateNewMail( array(string $session_id, array $mail, boolean $gzip) )

Beschreibung:

Erstellt eine E-Mail und kopiert sie in den Postausgangs -Ordner auf dem Server.

mail ist ein mehrdimensionales assoziatives Array.

Wenn gzip auf true gesetzt ist, müssen der Inhalt und die Anhänge gzip-kodiert gesendet werden.

Liefert die mail_id bei Erfolg zurück.

Eigenschaften von mail Array:

Typ(Länge)          Eigenschaft     Beschreibung
-------------------------------------------------------------------
int                 $account_id     Account-Id, verwendet für das Senden von Mails
                                    kann 0 sein, dann wird das Standard-Konto verwendet
string(65535)       $to             An-Addressen Format: Name <info@test.com>; Name2 <info2@test.com> 
string(65535)       $cc             CC-Adressen Format: Name <info@test.com>; Name2 <info2@test.com>
string(65535)       $bcc            BCC-Adressen Format: Name <info@test.com>; Name2 <info2@test.com>
string(255)         $subject        Betreff der Nachricht
binary              $body           base64-kodierter Text der Nachricht (gzip-kodiert), kann entweder HTML oder Text sein
                                    is_html muss gesetzt sein
int                 $priority       Priorität, 5 = niedrig, 3 = normal, 1 = hoch
boolean             $is_html        Inhalt als Text oder HTML
                                    0 = Text 
                                    1 = HTML
boolean             $sign           Nachricht Signieren, ein gültiges S-MIME-Certificate wird benötigt
                                    0 = nicht signieren
                                    1 = signieren
boolean             $encrypt        Nachricht verschlüsseln
                                    0 = nicht verschlüsseln
                                    1 = verschlüsseln
boolean             $return_receipt Empfangsbestätigung
                                    0 = nicht anfordern
                                    1 = anfordern
boolean             $disposition_notification
                                    0 = Lesebestätigung nicht anfordern
                                    1 = Lesebestätigung anfordern
int                 $mail_id        Mail-Id für die Mail der man antwortet/die weitergeleitet wird,
                                    0 for new mail
int                 $kind           0 = Neue Mail
                                    1 = Antwort
                                    2 = Weiterleitung
array              $attachments     Liste der Anhänge 

Eigenschaften von attachments Array:

Typ(Länge)          Eigenschaft     Beschreibung
-------------------------------------------------------------------
string              $name           Name des Anhangs z. B. picture.jpg
binary              $content        Binärer Inhalt des Anhangs, base64 kodiert (gzip kodiert)
string              $cid            Content-ID, nur für multipart / related Inhalt

Beispiel:

<?php
 
try {
	$attachment_file    = "../attachments/bild.jpg";
	$attachment_name    = basename($attachment_file);
	$attachment_content = base64_encode(gzencode(file_get_contents($attachment_file)));
 
	$html_body = 
		'**This is a** //Test// with embedded picture: '.
		'<img src="cid:'.$attachment_name.'@'.md5($attachment_name).'\>';
 
	$email = array(
		'account_id'               => 0,
		'to'                       => 'Christian Friebel <xray@tecart.de>',
		'cc'                       => '',
		'bcc'                      => '',
		'subject'                  => 'Webservice-E-Mail',
		'body'                     => base64_encode(gzencode($html_body)),
		'priority'                 => 5,
		'is_html'                  => 1,
		'sign'                     => 0,
		'encrypt'                  => 0,
		'disposition_notification' => 1,
		'attachments'              => array(
			array(
				'name'     => $attachment_name,
				'content'  => $attachment_content,
				'cid'      => $attachment_name.'@'.md5($attachment_name)
			)
		)
	);
 
	$mail_id = $emails->crmcreateNewMail(
		array(
			'session_id'	=> $session_id,
			'mail'			=> $email
		)
	);
 
	echo $mail_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.12. crmcreateNewDraftMail

(Version >= 4.2.12314)

Syntax:

int crmcreateNewDraftMail( array(string $session_id, array $mail, boolean $gzip) )

Beschreibung:

Erstellt eine E-Mail und kopiert sie in den Entwurf-Ordner auf dem Server.

mail ist ein mehrdimensionales assoziatives Array.

Wenn gzip auf true gesetzt ist, müssen der Inhalt und die Anhänge gzip-kodiert gesendet werden.

Liefert die mail_id bei Erfolg zurück.

Eigenschaften von mail Array:

Typ(Länge)          Eigenschaft     Beschreibung
-------------------------------------------------------------------
int                 $account_id     Account-Id, verwendet für das Senden von Mails
                                    kann 0 sein, dann wird das Standard-Konto verwendet
string(65535)       $to             An-Addressen Format: Name <info@test.com>; Name2 <info2@test.com> 
string(65535)       $cc             CC-Adressen Format: Name <info@test.com>; Name2 <info2@test.com>
string(65535)       $bcc            BCC-Adressen Format: Name <info@test.com>; Name2 <info2@test.com>
string(255)         $subject        Betreff der Nachricht
binary              $body           base64-kodierter Text der Nachricht (gzip-kodiert), kann entweder HTML oder Text sein
                                    is_html muss gesetzt sein
int                 $priority       Priorität, 5 = niedrig, 3 = normal, 1 = hoch
boolean             $is_html        Inhalt als Text oder HTML
                                    0 = Text 
                                    1 = HTML
boolean             $sign           Nachricht Signieren, ein gültiges S-MIME-Certificate wird benötigt
                                    0 = nicht signieren
                                    1 = signieren
boolean             $encrypt        Nachricht verschlüsseln
                                    0 = nicht verschlüsseln
                                    1 = verschlüsseln
boolean             $return_receipt Empfangsbestätigung
                                    0 = nicht anfordern
                                    1 = anfordern
boolean             $disposition_notification
                                    0 = Lesebestätigung nicht anfordern
                                    1 = Lesebestätigung anfordern
int                 $mail_id        Mail-Id für die Mail der man antwortet/die weitergeleitet wird,
                                    0 for new mail
int                 $kind           0 = Neue Mail
                                    1 = Antwort
                                    2 = Weiterleitung
array              $attachments     Liste der Anhänge 

Eigenschaften von attachments Array:

Typ(Länge)          Eigenschaft     Beschreibung
-------------------------------------------------------------------
string              $name           Name des Anhangs z. B. picture.jpg
binary              $content        Binärer Inhalt des Anhangs, base64 kodiert (gzip kodiert)
string              $cid            Content-ID, nur für multipart / related Inhalt

Beispiel:

<?php
 
try {
	$attachment_file    = "../attachments/bild.jpg";
	$attachment_name    = basename($attachment_file);
	$attachment_content = base64_encode(gzencode(file_get_contents($attachment_file)));
 
	$html_body = 
		'**This is a** //Test// draft with embedded picture: '.
		'<img src="cid:'.$attachment_name.'@'.md5($attachment_name).'\>';
 
	$email = array(
		'account_id'               => 0,
		'to'                       => 'Christian Friebel <xray@tecart.de>',
		'cc'                       => '',
		'bcc'                      => '',
		'subject'                  => 'Webservice-E-Mail',
		'body'                     => base64_encode(gzencode($html_body)),
		'priority'                 => 5,
		'is_html'                  => 1,
		'sign'                     => 0,
		'encrypt'                  => 0,
		'disposition_notification' => 1,
		'attachments'              => array(
			array(
				'name'     => $attachment_name,
				'content'  => $attachment_content,
				'cid'      => $attachment_name.'@'.md5($attachment_name)
			)
		)
	);
 
	$mail_id = $emails->crmcreateNewDraftMail(
		array(
			'session_id'	=> $session_id,
			'mail'			=> $email
		)
	);
 
	echo $mail_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.13. crmcreateNewDraftMailFromTemplate

(Version >= 4.6.18540)

Syntax:

int crmcreateNewDraftMailFromTemplate( array(string $session_id, array $mail, boolean $gzip, string $template) )

Beschreibung:

Erstellt eine E-Mail aus einer bestehenden Vorlage und kopiert sie in den Entwurf-Ordner auf dem Server.

mail ist ein mehrdimensionales assoziatives Array.

Wenn gzip auf true gesetzt ist, müssen der Inhalt und die Anhänge gzip-kodiert gesendet werden.

Mit template wird der Name der zu verwendenden Vorlage übergeben.

Liefert die mail_id bei Erfolg zurück.

Eigenschaften von mail Array und attachment Array sind identisch mit crmcreateNewDraftMail:

Beispiel

<?php
try {
    include_once 'crm_rest_api.php';
   
    /* @var $logon crmlogon */
    $logon = new crm_rest_api("http://hostname/dirname/rest/index.php/logon");
    $session_id = $logon->crmLogin(array(
        'username'      => 'login',
        'password'      => 'password',
        'response_type' => 'JSON'
    ));
   
    /* @var $emails crmemails */
    $emails = new crm_rest_api("http://hostname/dirname/rest/index.php/emails");
     
    $attachment_file    = "../attachments/bild.jpg";
    $attachment_name    = basename($attachment_file);
    $attachment_content = base64_encode(gzencode(file_get_contents($attachment_file)));
 
    // define template name which corresponds with the draft-folder name where the 
    // desired email-draft-template is stored
    $template = 'testtemplate';
 
    $email = array(
        'account_id'               => 0,
        'to'                       => 'Christian Friebel <xray@tecart.de>',
        'cc'                       => '',
        'bcc'                      => '',
        'subject'                  => 'Webservice-E-Mail',
        'priority'                 => 5,
        'is_html'                  => 1,
        'sign'                     => 0,
        'encrypt'                  => 0,
        'disposition_notification' => 1,
        'attachments'              => array(
            array(
                'name'    => $attachment_name,
                'content' => $attachment_content,
                'cid'     => $attachment_name.'@'.md5($attachment_name)
            )
        )
    );
     
    $params  = array(
        'session_id' => $session_id,
        'mail'       => $email,
        'gzip'       => false,
        'template'   => $template
    );
    $mail_id = $emails->crmcreateNewDraftMailFromTemplate( $params );
 
    echo $mail_id;
}
catch (Exception $e)
{
    echo 'Exception abgefangen: '.$e->getMessage()."\n";
}



3.14. crmDeletePContact

Syntax:

int crmDeletePContact( array($session_id, int $pcontact_id) )

Beschreibung:

Löscht einen Kontakt vom persönlichen Adressbuch des aktuellen Benutzers.

Liefert 1 bei Erfolg zurück.

Beispiel:

<?php
 
try {
   $success = $emails->crmDeletePContact(
		array(
			'session_id'	=> $session_id,
			'pcontact_id'	=> 5846
		)
	);
 
	if ($success == 1) {
		echo "Deleting contact success.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.15. crmDeletePContacts

Syntax:

int crmDeletePContacts( array(string $session_id, array $pcontact_ids) )

Beschreibung:

Löscht mehrere Kontakte vom persönlichen Adressbuch des aktuellen Benutzers.

pcontact_ids ist ein Array von IDs zum löschen.

Liefert 1 bei Erfolg zurück.

Beispiel:

<?php
 
try {
	$success = $client_email->crmDeletePContacts(
		array(
			'session_id'	=> $session_id,
			'pcontact_ids'	=> array('123,124,999')
		)
	);
 
	if ($success == 1) {
		echo "Deleting contacts success.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}
 



3.16. crmdeleteTreeEntry

Syntax:

int crmdeleteTreeEntry( array(string $session_id, int $tree_id) )

Beschreibung:

Löscht einen POP3-oder IMAP-Ordner.

Liefert 1 bei Erfolg zurück.

Beispiel:

<?php
 
try {
	$success = $emails->crmdeleteTreeEntry(
		array(
			'session_id'	=> $session_id,
			'tree_id'		=>567
		)
	);
   
	if ($success == 1) {
		echo "Delete Folder success";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.17. crmDelPContactAddrs

Syntax:

int crmDelPContactAddrs( array(string $session_id, int $mid, int $id) )

Beschreibung:

Löscht alle oder eine Adress-ID (s) aus einer bestimmten Mailing-Liste.

mid ist die mailing list id ( personal contact id ).

id ist die address id.

Wenn mid gesetzt ist und id 0 ist, werden alle Adressen dieser Mailingliste gelöscht.

Liefert 1 bei Erfolg zurück.

Beispiel:

<?php
 
try {
	// Deletes all addresses from mailing list with id 300
	$success = $emails->crmDelPContactAddrs(
		array(
			'session_id'	=> $session_id,
			'mid'			=> 300,
			'id'			=> 0
		)
	);
 
	if ($success == 1) {
		echo "Deleting addresses success";
	}
}
catch (Exception $e) {
  echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}




3.18. crmEmptyTrash

Syntax:

int crmEmptyTrash( array(string $session_id) )

Beschreibung:

Leert den Papierkorb-Ordner und löscht alle Unterordner darin.

Gibt 1 beim Erfolg zurück.

Beispiel:

<?php
 
try {
	$success = $emails->crmEmptyTrash( array('session_id' => $session_id) );
 
	if ($success == 1) {
		echo "Empty trash success";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.19. crmgetCommonDraftFolder

Syntax:

int crmgetCommonDraftFolder( array(string $session_id, int $type, int $object_id) )

Beschreibung:

Liefert die tree_id des Ordners "Entwürfe" bei Erfolg zurück.

type ist der Typ des Objekts, 0 → Kontakt, 1 → Projekt.

object_id ist die ID des Objekts.

Beispiel:

<?php
 
try {
	$tree_id = $emails->crmgetCommonDraftFolder(
		array(
			'session_id'	=> $session_id,
			'type'			=> 0,
			'object_id'		=> 5214
		)
	);
   
	echo $tree_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.20. crmgetCommonInboxFolder

Syntax:

int crmgetCommonInboxFolder( array(string $session_id, int $type, int $object_id) )

Beschreibung:

Liefert die tree_id des Posteingangsordners bei Erfolg zurück.

type ist der Typ des Objekts, 0 → Kontakt, 1 → Projekt.

object_id ist die ID des Objekts.

Beispiel:

<?php
 
try {
	$tree_id = $emails->crmgetCommonInboxFolder(
		array(
			'session_id'	=> $session_id,
			'type'			=> 1,
			'object_id'		=> 4521
		)
	);
 
	echo $tree_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.21. crmgetCommonJunkFolder

Syntax:

int crmgetCommonJunkFolder( array(string $session_id, int $type, int $object_id) )

Beschreibung:

Liefert die tree_id des Junk-Ordners bei Erfolg zurück.

type ist der Typ des Objekts, 0 → Kontakt, 1 → Projekt.

object_id ist die ID des Objekts.

Beispiel:

<?php
 
try {
	$tree_id = $emails->crmgetCommonJunkFolder(
		array(
			'session_id'	=> $session_id,
			'type'			=> 0,
			'object_id'		=> 3385
		)
	);
 
	echo $tree_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.22. crmgetCommonMailHeaders

Syntax:

array crmgetCommonMailHeaders( array(string $session_id, int $tree_id, int $type, int $object_id, int $timestamp, int $count, int $offset) )

Beschreibung:

Liefert ein Array von E-Mail-Header-Objekten des aktuellen Benutzers.

tree_id ist die ID des Ordners von dem die Mail-Header geholt werden, setzen Sie sie auf 0 um Header aus allen Ordnern zu erhalten.

type ist der Typ des Objekts, 0 = Kontakte, 1 = Projekte, 2 = Tickets.

object_id ist die ID des Objekts.

timestamp ist ein UNIX-Timestamp, falls er größer als 0 ist, werden alle Header zurückgegeben , die seit dieser Zeit verändert wurden.

count ist die Anzahl der Ergebnisse die zurückgeliefert werden soll, 0 bedeutet keine Beschränkung.

offset ist die Offset-Position, von der aus Ergebnisse geliefert werden, wird nicht verwendet werden, wenn count auf 0 gesetzt ist.

Eigenschaften:

sind die selben wie für crmgetMailHeaders

Beispiel :

<?php
 
try { 
	// Returns the first 10 Headers of contact with id 1254 for all contact folders
	$params = array(
		'session_id'	=> $session_id,
		'tree_id'		=> 0,
		'type'			=> 0,
		'object_id'		=> 1254,
		'timestamp'		=> 0, 
		'count'			=> 10,
		'offset'		=> 0
	);
 
	$headers = $emails->crmgetCommonMailHeaders($params);
 
	foreach($headers as $email) {
		echo htmlentities($email->from)." -> ".$email->subject."<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.23. crmgetCommonSentFolder

Syntax:

int crmgetCommonSentFolder( array(string $session_id, int $type, int $object_id) )

Beschreibung:

Liefert die tree_id des Ordners "Gesendet" bei Erfolg zurück.

type ist der Typ des Objekts, 0 → Kontakt, 1 → Projekt.

object_id ist die ID des Objekts.

Beispiel:

<?php
 
try {
	$tree_id = $emails->crmgetCommonSentFolder(
		array(
			'session_id'	=> $session_id,
			'type'			=> 1,
			'object_id'		=> 5581
		)
	);
 
	echo $tree_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.24. crmgetCommonTrashFolder

Syntax:

int crmgetCommonTrashFolder( array(string $session_id, int $type, int $object_id) )

Beschreibung:

Liefert die tree_id des Ordners "Papierkorb" bei Erfolg, 0 im Fehlerfall.

type ist der Typ des Objekts, 0 → Kontakt, 1 → Projekt.

object_id ist die ID des Objekts.

Beispiel:

<?php
 
try {
	$tree_id = $emails->crmgetCommonTrashFolder(
		array(
			'session_id'	=> $session_id,
			'type'			=> 0,
			'object_id'		=> 5532
		)
	);
 
	echo $tree_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.25. crmgetCommonTree

Syntax:

array crmgetCommonTree( array(string $session_id, int $type, int $obj_id) )

Beschreibung:

Liefert den Mailtree für bestimmtes Objekt.

type ist der Typ des Objekts, 0 → Kontakt, 1 → Projekt.

obj_id ist den ID des Objekts.

Liefert ein Array von tree entry Objekten.

Eigenschaften:

sind die selben wie für crmgetTree

Beispiel:

<?php
 
try {
	$result = $emails->crmgetCommonTree(
		array(
			'session_id'	=> $session_id,
			'type'			=> 0,
			'obj_id'		=> 1148
		)
	);
 
	foreach($result as $entry) {
		echo $entry->id." ".$entry->name."<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.26. crmgetDraftFolder

Syntax:

int crmgetDraftFolder( array(string $session_id, int $konto) )

Beschreibung:

Liefert die tree_id des Ordner "Entwürfe" bei Erfolg zurück.

konto ist die POP3-oder IMAP-Account-ID, auf 0 setzen um den Standard Ordner "Entwürfe" zurückzuliefern.

Beispiel:

<?php
 
try {
	$tree_id = $emails->crmgetDraftFolder( array('session_id' => $session_id, 'konto' => 0) );
	echo $tree_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.27. crmgetEmailAccounts

Syntax:

array crmgetEmailAccounts( array(string $session_id) )

Beschreibung:

Liefert ein Array mit E-Mail Konto-Objekten für den aktuellen Benutzer.

Eigenschaften:

Typ(Länge)      Eigenschaft     Beschreibung
-------------------------------------------------------------------
int             $id             Account-Id erforderlich für das Senden von E-Mails
string(255)     $account_name   Account Name 
string(255)     $name           Vollständiger Name des Kontoinhabers
string(255)     $org            Firma oder Organisation 
string(255)     $email          E-Mail-Addresse
string(255)     $reply          Antwort-Addresse
boolean         $def            Account ist der Standardaccount 
                                1 = standard
                                0 = nicht standard
boolean         $sig            Fügen Sie die Signatur an die E-Mail an
                                1 = anfügen
                                0 = nicht anfügen
string(65535)   $signature      Text-Signatur
boolean         $siganswer      Hängen Sie keine Signatur für Antwort und Weiterleitung an
                                0 = anhängen
                                1 = nicht anhängen
boolean         $send           Verwenden Sie dieses Konto für das Senden von E-Mails
                                0 = nicht verwenden
                                1 = verwenden
boolean         $get            Verwenden Sie dieses Konto für den Empfang von E-Mails
                                0 = nicht verwenden
                                1 = verwenden
boolean         $type           Account-Typ 
                                0 = POP3
                                1 = IMAP
int             $inbox          Tree-Id des Posteingangs-Ordners für diesen Account
int             $trash          Tree-Id des Papierkorb-Ordners für diesen Account
int             $sent           Tree-Id des Gesendet-Ordners für diesen Account
int             $draft          Tree-Id des Entwürfe-Ordners für diesen Account
int             $junk           Tree-Id des Spam-Ordners für diesen Account

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

Beispiel:

<?php
 
try {
	$result = $emails->crmgetEmailAccounts( array('session_id' => $session_id) );
 
	foreach ($result as $account) {
		echo $account->id." ".$account->name." ".$account->email."<br>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.28. crmGetERPMail

Syntax:

array crmGetERPMail( array(string $session_id, int $user_id, int $mail_id, boolean $gzip) )

Beschreibung:

Gibt ein Array mit nur einem Element eines E-Mail-Objekts zurück.

mail_id ist die ID vom die Header-Objekt.

user_id ist die User-ID vom Header-Objekt und muss gesetzt werden.

Stellen Sie gzip auf 1, wenn der Inhalt der E-Mail und Anhänge mit GZIP komprimiert werden soll.

Hinweis: Nur Mails mit einer gültigen ERP Referenz werden zurückgegeben.

Eigenschaften (E-Mail):

Typ(Länge)      Eigenschaft     Beschreibung
-------------------------------------------------------------------
int             $id             Mail-Id
string(255)     $subject        Betreff
string(255)     $from           Von-Adresse
string(65535)   $to             An-Adresse (n)
int             $date           Datum an dem die E Mail versendet wurde, häufig das Datum des Absenders, Unix-Timestamp
boolean         $is_html        E-Mail in HTML gesendet (0 = falsch, 1 = true)
binary          $text           Text-Inhalt, base64-kodiert
binary          $html           HTML-Inhalt, base64-kodiert
string(255)     $classref       ERP-Reference Identifier
                                Format: customer:supplier:orderno:article:cas_no:tracking:ordertype:notes 
array           $attachments    Array mit Attachment Objekten

Eigenschaften (Attachment):

Typ(Länge)      Eigenschaft     Beschreibung
-------------------------------------------------------------------
string          $name           Name das Anhangs, z. B. picture.jpg
string          $ctype          Content-Type des Anhangs, z. B. image / jpeg
string          $cid            Content-ID, für multipart / related content , z. B. eingebettete Objekte
int             $size           Größe des Anhangs in Bytes
binary          $content        Binärer Inhalt des Anhangs, base64-kodiert

Beispiel :

<?php
 
try {
	$result = $emails->crmGetERPMail(
		array(
			'session_id'	=> $session_id,
			'user_id'		=> 5,
			'mail_id'		=> 20142,
			'gzip'			=> 0
		)
	);
 
	echo "From: ".$email->from."<br/>";
    echo "Subject: ".$email->subject."<br/>";
    echo "To: ".$email->to."<br/>";
    echo "Date: ".date("d.m.Y - H:i:s", $email->date)."<br/><br/>";
 
    echo $email->is_html ? base64_decode($email->html) : base64_decode($email->text);
 
    foreach ($email->attachments as $attachment) {
 
        echo "Attachment: <a href='{$attachment->name}'>".$attachment->name."</a> (".$attachment->size.")<br/>";
        $fp = fopen($attachment->name, "w");
        fwrite($fp, base64_decode($attachment->content));
        fclose($fp);
    }
 
    echo "";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.29. crmGetERPMailHeaders

Syntax:

array crmGetERPMailHeaders( array(string $session_id, array $search, int $count, int $offset) )

Beschreibung:

Liefert ein Array der E-Mail-Header-Objekten für alle Benutzer je nach search.

search ist ein assoziatives Array.

count ist die Anzahl der Ergebnisse die zurückgeliefert werden soll, 0 bedeutet keine Beschränkung.

offset ist die Offset-Position, von der aus Ergebnisse geliefert werden. Wird nicht verwendet, wenn count auf 0 gesetzt ist .

Eigenschaften von search Array:

Typ(Länge)      Eigenschaft     Beschreibung
-------------------------------------------------------------------
int             $userid         Userid, setzen Sie sie auf 0 um Header für alle Benutzer zu erhalten
string(32)      $article        Artikelnr.
string(32)      $cas            CAS No. 
string(32)      $customer       Kundennr. 
string(255)     $notes          Notizen, oder einen Teil der Notizen
string(32)      $orderno        BestellNr.
string(128)     $ordertype      Bestell-Typ 
string(32)      $supplier       Lieferanten Nr. 
string(32)      $tracking       Tracking-Nr.

Eigenschaften von mail-header object:

Typ(Länge)      Eigenschaft     Beschreibung
-------------------------------------------------------------------
int             $id             Mail-Id 
int             $userid         Userid
int             $folder         Tree-Id 
string(255)     $uidl           Unique-Id, gegeben vom Mailserver
string(65535)   $to             An-Addressen
string(255)     $from           Von-Addresse
string(65535)   $cc             CC-Addressen   
string(65535)   $bcc            BCC-Addressen
string(255)     $reply          Antwort-Adresse
string(255)     $subject        Betreff     
int             $attach         E-Mail hat Anhänge, 0 = keine Anhänge
int             $was_read       E-Mail wurde gelesen
                                  0 = ungelesen
                                  1 = gelesen
                                > 1 = Unix-Timestamp des Lesens
string(64)      $mail_id        Unique Identifier, um die E-Mail im Dateisystem des Servers zu identifizieren 
int             $date           Unix-Timestamp des Zeitpunkts, an dem die E-Mail versendet wurde, häufig die Datum des Sendens
int             $priority       Priorität
                                  5 = niedrig
                                  3 = normal
                                  1 = hoch
int             $intern         Interne Nachricht
                                  0 = extern
                                  1 = intern von Nutzer (blau)
                                  2 = intern vom System (grün)
int             $size           Größe der E-Mail in Byte, einschließlich Anhängen
int             $pid            Project-Id, nur mit gemeinsamen E-Mails verwendet
int             $cid            Contact-Id, nur mit gemeinsamen E-Mails verwendet
int             $konto          IMAP-Account der E-Mail
                                  0 = POP3 
                                > 0 = IMAP-Account-Id
int             $signed         Nachricht ist signiert
                                  0 = nicht signiert
                                  1 = signiert
int             $encrypted      Nachricht ist verschlüsselt
                                  0 = nicht verschlüsselt
                                  1 = verschlüsselt
int             $imap           IMAP Message Sequence Number vom Mailserver
int             $message        Systemnachricht 
                                  0 = normal
                                  1 = system
int             $flag           Nachricht wurde markiert
                                  0 = nicht markiert
                                  1 = markiert
                                > 1 = Unix-Timestamp des Markierens
int             $answered       Nachricht wurde beantwortet
                                  0 = nicht beantwortet
                                  1 = beantwortet
                                > 1 = Unix-Timestamp der Antwort
int             $forwarded      Nachricht wurde weitergeleitet
                                  0 = nicht weitergeleitet
                                  1 = weitergeleitet
                                > 1 = Unix-Timestamp des Weiterleitens
string(65535)   $forwarded_to   Empfänger an den die Mail weitergeleitet wurde
string(255)     $forwarded_from Sender von dem die Mail weitergeleitet wurde
int             $done           Die Nachricht wurde als erledigt gekennzeichnet
                                  0 = nicht erledigt
                                  1 = erledigt
                                > 1 = Unix-Timestamp des erledigt-Markierens
int             $remember       Benachrichtigung an Nutzer
                                  0 = nicht benachrichtigen
                                > 0 = Unix-Timestamp der Benachrichtigung
int             $remuser        Userid, die die Benachrichtigung erhält, nur mit gemeinsamen Mails verwendet
string(255)     $answered_from  Nachricht wurde von E-Mail Adresse beantwortet  
string(255)     $return_receipt E-Mail-Addresse für die Empfangsbestätigung
string(255)     $disposition_notification 
                                E-Mail-Addresse für die Lesebestätigung
string(255)     $classref       ERP-Reference Identifier 
                                Format: customer:supplier:orderno:article:cas_no:tracking:ordertype:notes 
int             $filtered       Nachricht wurde gefiltert
                                  0 = nicht gefiltert
                                > 0 = Unix-Timestamp des Filterns
string(32)      $md5body        MD5 Checksumme des Textinhalts um die Nachricht mit anderen E-Mails zu vergleichen 
int             $tstamp         Unix-Timestamp der letzten Änderung der Header-Daten
string(65535)   $deposition     Derzeit nicht verwendet
int             $received       Unix-Timestamp des Empfangs 

Beispiel 1:

<?php
 
try {
	// Gets all headers for Customer No. 1234567
	$search = array('customer' => '1234567');
 
	$headers = $emails->crmGetERPMailHeaders(
		array(
			'session_id'	=> $session_id,
			'search'		=> $search,
			'count'			=> 0,
			'offset'		=> 0
		)
	);
 
	foreach($headers as $email) {
		echo $email->userid." - ".$email->from." -> ".$email->subject." -> ".$email->classref."<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}

Beispiel 2:

<?php
 
try {
	$search = array('customer' => '1234567', 'ordertype' => 1);
 
	// Gets all headers for Customer No. 1234567 and ordertype = 1
	$headers = $emails->crmGetERPMailHeaders(
		array(
			'session_id'	=> $session_id,
			'search'		=> $search,
			'count'			=> 0,
			'offset'		=> 0
		)
	);
 
	foreach($headers as $email) {
		echo $email->userid." - ".$email->from." -> ".$email->subject." -> ".$email->classref."<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.30. crmgetInboxFolder

Syntax:

int crmgetInboxFolder( array(string $session_id, int $konto) )

Beschreibung:

Liefert die tree_id des des Posteingangsordners bei Erfolg zurück.

konto ist die POP3-oder IMAP-Account-ID, wenn auf 0 gesetzt, wird der Standard-Posteingang zurückgegeben.

Beispiel:

<?php
 
try {
	$tree_id = $emails->crmgetInboxFolder( array('session_id' => $session_id, 'konto' => 0) );
	echo $tree_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.31. crmgetJunkFolder

Syntax:

int crmgetJunkFolder( array(string $session_id, int $konto) )

Beschreibung:

Liefert die tree_id des Spam-Ordners bei Erfolg zurück.

konto ist die POP3-oder IMAP-Account-ID, auf 0 setzen, um den Standard-Spam-Ordner zurückzuliefern.

Beispiel:

<?php
 
try {
	$tree_id = $emails->crmgetJunkFolder( array('session_id' => $session_id, 'konto' => 0) )
	echo $tree_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.32. crmGetMail

Syntax:

array crmGetMail( array(string $session_id, int $mail_id, boolean $common, boolean $attachment, boolean $gzip) )

Beschreibung:

Gibt ein Array mit nur einem Element eines E-Mail-Objekts.

mail_id ist die ID des Header-Objekts.

Wenn common auf true gesetzt wird, wird die Email zurückgegeben, die bei Kontakten, Projekten oder Ticket gespeichert ist.

Stellen Sie Attachment auf true, wenn Sie die Anhänge erhalten möchten.

Stellen Sie gzip auf true, wenn Sie den Inhalt der E-Mail und Anhänge mit GZIP komprimieren möchten.

Eigenschaften (E-Mail):

Typ(Länge)      Eigenschaft     Beschreibung
-------------------------------------------------------------------
int             $id             Mail-Id
string(255)     $subject        Betreff
string(255)     $from           Von-Adresse
string(65535)   $to             An-Adresse (n)
int             $date           Datum der E-Mail, häufig das Datum des Versendens, Unix-Timestamp
boolean         $is_html        E-Mail in HTML gesendet (0 = false, 1 = true)
binary          $text           Text-Inhalt, base64-codiert
binary          $html           HTML-Inhalt, base64-codiert
array           $attachments    Array mit Attachment-Objekten

Eigenschaften (Attachment):

Typ(Länge)      Eigenschaft     Beschreibung
-------------------------------------------------------------------
string          $name           Name des Anhangs, z. B. picture.jpg
string          $ctype          Content-Type des Anhangs, z. B. image/jpeg
string          $cid            Content-ID, für multipart / related Inhalt, z. B. eingebettete Objekte
int             $size           Größe des Anhangs in Byte
binary          $content        Binärer Inhalt des Anhangs, base64-codiert

Beispiel 1:

<?php
 
try {
	$email = $emails->crmGetMail(
		array(
			'session_id'	=> $session_id,
			'mail_id'		=> 24013,
			'common'		=> false,
			'attachment'	=> true,
			'gzip'			=> false
		)
	);
 
    echo "From: ".$email->from."<br/>";
    echo "Subject: ".$email->subject."<br/>";
    echo "To: ".$email->to."<br/>";
    echo "Date: ".date("d.m.Y - H:i:s", $email->date)."<br/><br/>";
 
    echo $email->is_html ? base64_decode($email->html) : base64_decode($email->text);
 
    foreach ($email->attachments as $attachment) {
 
        echo "Attachment: <a href='{$attachment->name}' target=_blank>".$attachment->name."</a> (".$attachment->size.")<br/>";
        $fp = fopen($attachment->name, "w");
        fwrite($fp, base64_decode($attachment->content));
        fclose($fp);
    }
 
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}

Beispiel 2 (common mail with related content, gzipped):

<?php
 
try {
	$email = $emails->crmGetMail(
		array(
			'session_id'	=> $session_id,
			'mail_id'		=> 24013,
			'common'		=> true,
			'attachment'	=> true,
			'gzip'			=> true
		)
	);
 
    echo "From: ".$email->from."<br/>";
    echo "Subject: ".$email->subject."<br/>";
    echo "To: ".$email->to."<br/>";
    echo "Date: ".date("d.m.Y - H:i:s", $email->date)."<br/><br/>";
 
    $content = $email->is_html ? gzdecode(base64_decode($email->html)) : gzdecode(base64_decode($email->text));
 
    foreach ($email->attachments as $attachment) {
     
        $fp = fopen($attachment->name, "w");
        if (!$fp) continue;
        fwrite($fp, gzdecode(base64_decode($attachment->content)));
        fclose($fp); 
 
        if ($attachment->cid && $email->is_html) {
            $content = str_replace('cid:'.$attachment->cid, $attachment->name, $content);
        }
        else {
            echo "Attachment: <a href='{$attachment->name}' target=_blank>".$attachment->name."</a> (".$attachment->size.")<br/>";
        }
    }
 
	echo "<br/>$content";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.33. crmgetMailHeaders

Syntax:

array crmgetMailHeaders( array(string $session_id, int $tree_id, int $timestamp, int $count, int $offset) )

Beschreibung:

Liefert ein Array von E-Mail-Header-Objekten des aktuellen Benutzers.

tree_id ist die ID des Ordners, um Mail-Header zu erhalten.

timestamp ist ein UNIX-Timestamp, falls er größer als 0 ist werden alle Header zurückgegeben , die seit dieser Zeit verändert wurden.

count ist die Anzahl der Ergebnisse die zurückgeliefert werden sollen, 0 bedeutet keine Beschränkung.

offset ist die Offset-Position von der an Ergebnisse zurückgegeben werden, wird nicht verwendet, wenn count auf 0 ist.

Eigenschaften:

Typ(Länge)      Eigenschaft     Beschreibung
-------------------------------------------------------------------
int             $id             Mail-Id 
int             $folder         Tree-Id 
string(255)     $uidl           Unique-Id, gegeben vom Mailserver
string(65535)   $to             An-Addressen
string(255)     $from           Von-Addresse
string(65535)   $cc             CC-Addressen   
string(65535)   $bcc            BCC-Addressen
string(255)     $reply          Antwort-Adresse
string(255)     $subject        Betreff     
int             $attach         E-Mail hat Anhänge, 0 = keine Anhänge
int             $was_read       E-Mail wurde gelesen
                                  0 = ungelesen
                                  1 = gelesen
                                > 1 = Unix-Timestamp des Lesens
string(64)      $mail_id        Unique Identifier um die E-Mail im Dateisystem des Servers
                                zu identifizieren
int             $date           Unix-Timestamp des Zeitpunkts, an dem die E-Mail versendet
                                wurde, oft das Datum des Versendens
int             $priority       Priorität
                                  5 = niedrig
                                  3 = normal
                                  1 = hoch
int             $intern         Interne Nachricht
                                  0 = extern
                                  1 = intern von Nutzer (blau)
                                  2 = intern vom System (grün)
int             $size           Größe der E-Mail in Bytes einschließlich Anhängen
int             $pid            Project-Id, nur mit gemeinsamen E-Mails verwendet
int             $cid            Contact-Id, nur mit gemeinsamen E-Mails verwendet
int             $tid            Ticket-Id, nur mit gemeinsamen E-Mails verwendet (Version >= 3.1.2566)
int             $konto          IMAP-Account of E-Mail
                                  0 = POP3 
                                > 0 = IMAP-Account-Id
int             $signed         Nachricht ist signiert
                                  0 = unsigniert
                                  1 = signiert
int             $encrypted      Nachricht ist verschlüsselt
                                  0 = klartext
                                  1 = verschlüsselt
int             $imap           IMAP Message Sequence Number vom Mailserver
int             $message        System Nachricht
                                  0 = normal
                                  1 = system
int             $flag           Nachricht wurde markiert
                                  0 = nicht markiert
                                  1 = markiert
                                > 1 = Unix-Timestamp des Markierens
int             $answered       Die Nachricht wurde beantwortet
                                  0 = nicht beantwortet
                                  1 = beantwortet
                                > 1 = Unix-Timestamp der Antwort
int             $forwarded      Nachricht wurde weitergeleitet
                                  0 = nicht weitergeleitet
                                  1 = weitergeleitet
                                > 1 = Unix-Timestamp des Weiterleitens
string(65535)   $forwarded_to   Empfänger an den diese E-Mail weitergeleitet wurde
string(255)     $forwarded_from Absender, von dem diese Nachricht weitergeleitet wurde
int             $done           Die Nachricht wurde als erledigt gekennzeichnet
                                  0 = nicht erledigt
                                  1 = erledigt
                                > 1 = Unix-Timestamp des Erledigt-Markierens
int             $remember       Erinnerung an den Nutzer
                                  0 = nicht benachrichtigen
                                > 0 = Unix-Timestamp der Erinnerung
int             $remuser        Userid, die eine Rückmeldung erhält, nur mit gemeinsamen Mails verwendet
string(255)     $answered_from  Nachricht wurde von dieser Adresse geantwortet
string(255)     $return_receipt Empfangsbestätigungen, E-Mail-Adresse für den Empfang von Empfangsbestätigungen
string(255)     $disposition_notification 
                                E-Mail-Adresse für den Empfang der Lesebestätigung
string(255)     $classref       ERP-Reference Identifier 
                                Format: customer:supplier:orderno:article:cas_no:tracking:ordertype:notes 
int             $filtered       Nachricht wurde gefiltert
                                  0 = nicht gefiltert
                                > 0 = Unix-Timestamp des Filterns
string(32)      $md5body        MD5 des Textinhalts, um ihn mit anderen E-Mails zu vergleichen
int             $tstamp         Unix-Timestamp der letzten Änderung der Header-Daten
string(65535)   $deposition     Derzeit nicht verwendet
int             $received       Unix-Timestamp der Empfangszeit

Beispiel 1:

<?php
 
try {
	$inbox	= $emails->crmgetInboxFolder( array('session_id' => $session_id, 'konto' => 0) );
	$params = array(
		'session_id'	=> $session_id,
		'tree_id'		=> $inbox,
		'timestamp'		=> 0,
		'count'			=> 10,
		'offset'		=> 0
	);
 
	$headers = $emails->crmgetMailHeaders($params);
 
	foreach($headers as $email) {
		echo htmlentities($email->from)." -> ".$email->subject."<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}

Beispiel 2:

<?php
 
try {
	$inbox = $emails->crmgetInboxFolder( array('session_id' => $session_id, 'konto' => 0) );
 
	// Returns all headers changed after 2007-05-24
	$params = array(
		'session_id'	=> $session_id,
		'tree_id'		=> $inbox,
		'timestamp'		=> mktime(0, 0, 0, 5, 25, 2007),
		'count'			=> 10,
		'offset'		=> 0
	);
 
	$headers = $emails->crmgetMailHeaders($params);
 
	foreach($headers as $email) {
		echo htmlentities($email->from)." -> ".$email->subject."<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.34. crmgetMailHeadersAll

(Version >= 3.7.8168)

Syntax:

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

Beschreibung:

Liefert ein Array von E-Mail-Header-Objekten von allen Ordnern des aktuellen Benutzers.

timestamp ist ein UNIX-Timestamp, falls er größer als 0 ist werden alle Header zurückgegeben , die seit dieser Zeit verändert wurden.

count ist die Anzahl der Ergebnisse die zurückgeliefert werden sollen, 0 bedeutet keine Beschränkung.

offset ist die Offset-Position von der an Ergebnisse zurückgegeben werden, wird nicht verwendet, wenn count auf 0 ist.

Eigenschaften:

sind die selben wie für crmgetMailHeaders

Beispiel:

<?php
 
try {
	$params = array(
		'session_id'	=> $session_id,
		'timestamp'		=> 0,
		'count'			=> 10,
		'offset'		=> 0
	);
 
	$headers = $emails->crmgetMailHeadersAll($params);
 
	foreach($headers as $email) {
		echo htmlentities($email->from)." -> ".$email->subject."<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.35. crmGetMailIds

Syntax:

array crmGetMailIds( array(string $session_id, int $tree_id, int $timestamp, int $count, int $offset) )

Beschreibung:

Liefert ein Array der E-Mail-IDs des aktuellen Benutzers.

tree_id ist die ID des Ordners, von dem die Mail-Header geholt werden, setzen Sie sie auf 0 um Header aus allen Ordnern( ohne gemeinsame E-Mails ) zu bekommen.

timestamp ist eine UNIX-Timestamp, falls er größer als 0 gesetzt ist werden alle Header zurückgegeben die seit diesem Zeitpunkt verändert wurden.

count ist die Anzahl der Ergebnisse die zurückgeliefert werden soll, 0 bedeutet keine Beschränkung.

offset ist die Offset-Position, von der aus Ergebnisse geliefert werden, wird nicht verwendet werden, wenn count auf 0 gesetzt ist .

Hinweis: Sie erhalten auch gemeinsame mail_ids aus dem Ordner tree_id

Beispiel:

<?php
 
try {
	$inbox	= $emails->crmGetInboxFolder( array('session_id' => $session_id, 'konto' => 0) );
	$params = array(
		'session_id'	=> $session_id,
		'tree_id'		=> $inbox,
		'timestamp'		=> 0,
		'count'			=> 10,
		'offset'		=> 0
	);
 
	$headers = $emails->crmgetMailIds($params);
 
	foreach($headers as $id) {
		echo $id."<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.36. crmGetMailIdsAll

(Version >= 3.7.8168)

Syntax:

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

Beschreibung:

Liefert ein Array der E-Mail-IDs des aktuellen Benutzers.

timestamp ist eine UNIX-Timestamp, falls er größer als 0 gesetzt ist werden alle Header zurückgegeben die seit diesem Zeitpunkt verändert wurden.

count ist die Anzahl der Ergebnisse die zurückgeliefert werden soll, 0 bedeutet keine Beschränkung.

offset ist die Offset-Position, von der aus Ergebnisse geliefert werden, wird nicht verwendet werden, wenn count auf 0 gesetzt ist .

Beispiel:

<?php
 
try {
	$params	= array(
		'session_id'	=> $session_id,
		'timestamp'		=> 0,
		'count'			=> 10,
		'offset'		=> 0
	);
 
	$headers = $emails->crmGetMailIdsAll($params);
	$headers = get_object_vars($headers);
 
	foreach($headers as $id => $folder) {
		echo $id." - ".$folder."<br>\n";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.37. crmGetMailInfo

Syntax:

array crmGetMailInfo( array(string $session_id, int $mail_id, boolean $common) )

Beschreibung:

Liefert eine Array mit nur einem Element eines E-Mail-Info-Objekts.

Wenn common auf true gesetzt wird, wird die Info der Email geliefert, die bei Kontakten, Projekten oder Karten gespeichert ist.

Eigenschaften der zurückgegebenen email-info object:

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
int             $id             Mail-Id
string(255)     $answered       Wer hat diese Mail beantwortet
string(255)     $forwarded      Adressen zu denen die Mail weitergeleitet wurde
string(255)     $tocontact      Mail wurde gespeichert in Kontakt
string(255)     $toproject      Mail wurde gespeichert in Projekt
string(255)     $toticket       Mail wurde gespeichert in Ticket (Version >= 3.1.2566)
string(255)     $done           Mail wurde als erledigt markiert
string(255)     $flag           Mail wurde markiert

Beispiel:

<?php
 
try {
	$mail_info = $emails->crmGetMailInfo(
		array(
			'session_id'	=> $session_id,
			'mail_id'		=> 24480,
			'common'		=> false
		)
	);
 
	echo "Mail-Id:          {$mail_info->id}<br>";
	echo "Answered:         {$mail_info->answered}<br>";
	echo "Forwarded:        {$mail_info->forwarded}<br>";
	echo "Saved to contact: {$mail_info->tocontact}<br>";
	echo "Saved to project: {$mail_info->toproject}<br>";
	echo "Saved to ticket:  {$mail_info->toticket}<br>";
	echo "Done:             {$mail_info->done}<br>";
	echo "Flag:             {$mail_info->flag}<br>";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.38. crmGetMailSource

Syntax:

string crmGetMailSource( array(string $session_id, int $mail_id, boolean $common, boolean $gzip) )

Beschreibung:

Liefert die vollständige Quelle einer E-Mail. Nützlich, wenn Sie die E-Mail in andere Anwendungen importieren wollen.

mail_id ist die ID des Mail-Header-Objekts.

Wenn common auf true gesetzt wird, wird die Quelle einer E-Mail zurückgeliefert, die in Kontakten, Projekten oder Tickets gespeichert ist.

Setzen Sie gzip auf true, wenn Sie wollen, dass der Inhalt mit gzip kodiert wird.

Hinweis: Sie können den Inhalt in einer Datei mit der Endung '. eml' speichern, dann können Sie sie mit Outlook Express oder Mozilla Thunderbird öffnen.

Beispiel:

<?php
 
try {
	$source = $emails->crmGetMailSource(
		array(
			'session_id'	=> $session_id,
			'mail_id'		=> 23988,
			'common'		=> false,
			'gzip'			=> false
		)
	);
 
	echo htmlentities(base64_decode($source));
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.39. crmGetMailText

Syntax:

string crmGetMailText( array(string $session_id, int $mail_id, boolean $common, boolean $gzip) )

Beschreibung:

Liefert nur den base64-kodierten Plain-Text Teil einer E-Mail.

Wenn common auf true gesetzt wird, wird der Text einer E-Mail zurück geliefert, die in Kontakten, Projekten oder Tickets gespeichert ist.

mail_id ist die ID des Mail-Header-Objekt.

Setzen Sie gzip auf true, wenn Sie wollen, dass der Inhalt mit gzip kodiert wird.

Beispiel:

<?php
 
try {
	$result = $emails->crmGetMailText(
		array(
			'session_id'	=> $session_id,
			'mail_id'		=> 24013,
			'common'		=> false,
			'gzip'			=> false
		)
	);
 
	echo base64_decode($result);
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.40. crmgetOutboxFolder

Syntax:

int crmgetOutboxFolder( array(string $session_id) )

Beschreibung:

Liefert die tree_id des Ordners "Postausgang" bei Erfolg zurück.

Beispiel:

<?php
 
try {
	$tree_id = $emails->crmgetOutboxFolder( array('session_id' => $session_id) );
 
	echo $tree_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.41. crmGetPContacts

Syntax:

array crmGetPContacts( array(string $session_id, string $search, int $timestamp, int $count, int $offset) )

Beschreibung:

Liefert ein Array mit Kontakt-Objekten aus dem persönlichen Adressbuch des aktuellen Benutzers zurück.

search ist ein freier Suchbegriff für die Suche in firstname oder lastname oder displayname oder nickname oder emailadr1 oder emailadr2 oder work_organisation

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

count ist die Anzahl der Ergebnisse die zurückgeliefert werden soll, 0 bedeutet keine Beschränkung.

offset ist die Offset-Position, von der aus Ergebnisse geliefert werden, wird nicht verwendet werden, wenn count auf 0 gesetzt ist .

Eigenschaften von contact object:

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
int             $id                Contact Id 
int             $userid            Userid, 0 bedeutet dies ist ein öffentlicher Kontakt
int             $list              0 => persönlichen Kontakt, 1 => Mailingliste
string(128)     $firstname         Vorname
string(128)     $middlename        zweiter Vorname
string(128)     $lastname          Nachname
string(128)     $displayname       Name, der in Listenansichten erscheint
string(128)     $nickname          Spitzname
string(128)     $spousename        Name des Ehepartners
string(128)     $childrennames     Kinder (Namen)
int             $birthday          Unix-Timestamp des Geburtstags
int             $anniversary       Unix-Timestamp des Jahrestages
string(255)     $emailadr1         Erste E-Mail Adresse
string(255)     $emailadr2         Zweite E-Mail Adresse
string(255)     $emailadr3         Dritte E-Mail Adresse
int             $email_format      Bevorzugtes Format
                                   0 = Text
                                   1 = HTML
string(128)     $screen_name       Erster Screen Name, z.B. Messenger-Account 
string(128)     $screen_name2      Zweiter Screen Name, z.B. Messenger-Account 
string(128)     $screen_name3      Dritter Screen Name, z.B. Messenger-Account 
string(128)     $phone_work        Erste Telefonnummer geschäftlich
string(128)     $phone_work2       Zweite Telefonnummer geschäftlich
string(128)     $phone_home        Erste Telefonnummer privat
string(128)     $phone_home2       Zweite Telefonnummer privat
string(128)     $phone_fax         Faxnummer
string(128)     $phone_fax_work    Faxnummer geschäftlich
string(128)     $phone_pager       Pagernummer
string(128)     $phone_mobil       Mobilnummer
string(128)     $phone_mms         MMS-Nummer
string(128)     $phone_sms         SMS-Nummer
string(128)     $phone_car         Autotelefon
string(128)     $phone_radio       Radio-Nummer
string(128)     $phone_company     Haupttelefonnummer des Unternehmens
string(128)     $phone_assistant   Telefonnummer des Assistenten
string(128)     $home_address1     Private Addresse Zeile 1 
string(128)     $home_address2     Private Addresse Zeile 2 
string(128)     $home_city         Stadt
string(128)     $home_region       Region 
string(128)     $home_postcode     PLZ
string(128)     $home_country      Land
string(128)     $home_website      Persönliche Website 
string(128)     $work_title        Titel, z.B. CEO 
string(128)     $work_department   Abteilung 
string(128)     $work_organisation Organisations oder Unternehmensname   
string(128)     $work_address1     Geschäftliche Addresse Zeile 1 
string(128)     $work_address2     Geschäftliche Addresse Zeile 2 
string(128)     $work_city         Stadt 
string(128)     $work_region       Region 
string(128)     $work_postcode     PLZ 
string(128)     $work_country      Land 
string(255)     $work_website      Offizielle Unternehmenswebsite
string(255)     $work_location     Bürostandort
string(128)     $other_address1    Andere Adresszeile 1 
string(128)     $other_address2    Andere Adresszeile 2 
string(128)     $other_city        Andere Stadt
string(128)     $other_region      Andere Region 
string(128)     $other_postcode    Andere PLZ
string(128)     $other_country     Land
string(128)     $suffix            Suffix des Kontakts
string(128)     $managername       Manager Name
string(128)     $assistantname     Assistent Name
string(128)     $customer_id       Kunden-ID
string(128)     $gov_id            Regierungs ID
string(128)     $accountname       Account-Name 
string(255)     $custom1           Benutzerdefiniertes Feld 1 
string(255)     $custom2           Benutzerdefiniertes Feld 2 
string(255)     $custom3           Benutzerdefiniertes Feld 3 
string(255)     $custom4           Benutzerdefiniertes Feld 4 
string(65535)   $notes             Notizen
string          $picture           Kontakt-Bild-Daten - base64-kodiert
int             $chguser           Userid der letzten Änderung
int             $chgtime           Unix-Timestamp der letzten Änderung
int             $createuser        Userid der Erstellung
int             $createtime        Unix-Timestamp der Erstellung

Beispiel:

<?php
 
try {
	$result = $emails->crmGetPContacts(
		array(
			'session_id'	=> $session_id,
			'search'		=> 'friebel',
			'timestamp'		=> 0,
			'count'			=> 0,
			'offset' 		=> 0
		)
	);
 
	foreach($result as $pcontact) {
		echo $pcontact->displayname." ".$pcontact->emailadr1."<br>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.42. crmGetPContact

Syntax:

array crmGetPContact( array(string $session_id , int $pcontact_id) )

Beschreibung:

Liefert ein Kontakt-Objekt aus dem persönlichen Adressbuch des aktuellen Benutzers zurück.

Eigenschaften von contact object:

sind die selben wie für crmGetPContacts

Beispiel:

<?php
 
try {
	$pcontact = $emails->crmGetPContact(
		array(
			'session_id'	=> $session_id,
			'pcontact_id'	=> 4508
		)
	);
 
	echo $pcontact->displayname." ".$pcontact->emailadr1."<br>";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.42.1. crmgetPContactIdByExtId

(Version >= 4.2)

Syntax:

array crmgetPContactIdByExtId( array( string $session_id, int $ext_id ) )

Beschreibung

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

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

Beispiel:

<?php
 
try {
	$result = $emails->crmgetPContactIdByExtId(
		array(
			'session_id'	=> $session_id,
			'ext_id'		=> 12345
		)
	);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
foreach($result as $id) {
	echo $id."<br>  ";
}



3.42.2. crmgetAllPContactExtIds

(Version >= 4.2)

Syntax:

array crmgetAllPContactExtIds( array ( string $session_id ) )

Beschreibung

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

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

Beispiel:

<?php
 
try { 
	$result = $emails->crmgetAllPContactExtIds(array('session_id' => $session_id));
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
foreach($result as $id) {
	echo $id."<br>  ";
}



3.43. crmGetPContactAddrs

Syntax:

array crmGetPContactAddrs( array(string $session_id, int $contact_id, int $timestamp) )

Beschreibung:

Liefert Adress-IDs für eine bestimmte Mailing-Liste.

contact_id ist die ID des persönlichen Kontakts (id der Mailing-Liste).

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

Liefert ein Array von Adress-Objekten

Eigenschaften von address object:

Typ(Länge)      Eigenschaft        Beschreibung
--------------------------------------------------------------------------
int             $id                Adress-ID
int             $mid               Mailing-List-ID ( personal contact id )
int             $cid               contact id von gemeinsamen Kontakten
int             $pid               person id von gemeinsamen Kontakten
int             $uid               user id
int             $pcid              personal contact id
int             $chguser           Userid der letzten Änderung 
int             $chgtime           Unix-Timestamp der letzten Änderung
int             $createuser        Userid der Erstellung
int             $createtime        Unix-Timestamp der Erstellung 

Beispiel 1:

<?php
 
try {
	// Get addresses from mailing list 
	$result = $emails->crmGetPContactAddrs(
		array(
			'session_id'	=> $session_id,
			'contact_id'	=> 300,
			'timestamp'		=> 0
		)
	);
 
	foreach($result as $pcontact_addr) {
		echo "MID: {$pcontact_addr->mid}<br>";
		echo "CID: {$pcontact_addr->cid}<br>";
		echo "PID: {$pcontact_addr->pid}<br>";
		echo "UID: {$pcontact_addr->uid}<br>";
		echo "PCID: {$pcontact_addr->pcid}<br><hr/>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}

Beispiel 2:

<?php
 
try {
	// Get addresses from all mailing lists
	$result = $emails->crmGetPContactAddrs(
		array(
			'session_id'	=> $session_id,
			'contact_id'	=> 0,
			'timestamp'		=> 0
		)
	);
 
	foreach($result as $pcontact_addr) {
		echo "MID: {$pcontact_addr->mid}<br>";
		echo "CID: {$pcontact_addr->cid}<br>";
		echo "PID: {$pcontact_addr->pid}<br>";
		echo "UID: {$pcontact_addr->uid}<br>";
		echo "PCID: {$pcontact_addr->pcid}<br><hr/>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.44. crmGetPContactIds

Syntax:

array crmGetPContactIds( array(string $session_id, string $search, int $timestamp, int $count, int $offset) )

Beschreibung:

Liefert ein Array mit Kontakt-ID aus dem persönlichen Adressbuch des aktuellen Benutzers.

search ist eine freier Suchbegriff für die Suche in firstname oder lastname oder displayname oder nickname oder emailadr1 oder emailadr2 oder work_organisation.

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

count ist die Anzahl der Ergebnisse die zurückgeliefert werden soll, 0 bedeutet keine Beschränkung.

offset ist die Offset-Position, von der aus Ergebnisse geliefert werden, wird nicht verwendet werden, wenn count auf 0 gesetzt ist .

Beispiel:

<?php
 
try {
	$result = $emails->crmGetPContactIds(
		array(
			'session_id'	=> $session_id,
			'search'		=> '',
			'timestamp'		=> 0,
			'count'			=> 0,
			'offset'		=> 0
		)
	);
 
	foreach($result as $id) {
		echo $id."<br>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.45. crmgetSentFolder

Syntax:

int crmgetSentFolder( array(string $session_id, int $konto) )

Beschreibung:

Liefert die tree_id des Ordners "Gesendet" bei Erfolg zurück.

konto ist die POP3-oder IMAP-Account-ID, auf 0 setzen um den Standard Ordner "Gesendet" zurückzuliefern.

Beispiel:

<?php
 
try {
	$tree_id = $emails->crmgetSentFolder( array('session_id' => $session_id, 'konto' => 0) );
	echo $tree_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.46. crmgetSubTree

Syntax:

array crmgetSubTree( array(string $session_id, int $folder) )

Beschreibung:

Liefert alle Unterordner eines Ordners.

folder ist die ID des Ordners.

Eigenschaften von Unterordner object:

sind die selben wie für crmgetTree

Beispiel 1:

<?php
 
try {
	$result = $emails->crmgetSubTree( array('session_id' => $session_id, 'folder' => 351) );

	foreach($result as $folder) {
		echo "Name: {$folder->name}<br>";
		echo "enthält: {$folder->total} Emails, davon {$folder->unread} ungelesen <br>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.47. crmgetTrashFolder

Syntax:

int crmgetTrashFolder( array(string $session_id, int $konto) )

Beschreibung:

Liefert die tree_id des Ordners "Papierkorb" bei Erfolg zurück.

konto ist die POP3-oder IMAP-Account-ID, auf 0 setzen um den Standard Trash zurückzuliefern.

Beispiel:

<?php
 
try {
	$tree_id = $client_email->crmgetTrashFolder(
		array(
			'session_id'	=> $session_id,
			'konto'			=> 0
		)
	);
 
	echo $tree_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.48. crmgetTree

Syntax:

array crmgetTree( array(string $session_id) )

Beschreibung:

Liefert den Mailtree für den aktuellen Benutzer.

Liefert ein Array von tree entry Objekten.

Eigenschaften:

Typ(Länge)    Eigenschaft     Beschreibung
-------------------------------------------------------------------
int           $id             Tree-Id
int           $parent         Id des Eltern-Knoten dieses Eintrags
string(255)   $name           Name des Eintrags 
int           $imap           Imap-Account-Id, 0 = POP3-Folder
int           $cid            Contact ID (Version >= 3.1.2566)
int           $pid            Project ID (Version >= 3.1.2566)
int           $unread         Anzahl der ungelesenen Nachrichten in diesem Ordner
int           $total          Anzahl der Nachrichten in diesem Ordner

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

Beispiel:

<?php
 
try {
	$result = $emails->crmgetTree( array('session_id' => $session_id) );
 
	foreach($result as $folder) {
		echo "Name: {$folder->name}<br>";
		echo "enthält: {$folder->total} Emails, davon {$folder->unread} ungelesen <br>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.49. crmImportMailSource

Syntax:

int crmImportMailSource( array(string $session_id, int $tree_id, string $source) )

Beschreibung:

Importiert base64-kodierten E-Mail-Quellcode in den Ordner tree_id. Nützlich, wenn Sie eine E-Mail Import-Tool zu entwickeln.

Liefert Mail_ID bei Erfolg zurück.

Beispiel:

<?php
 
try {
	$draft		= $emails->crmgetDraftFolder( array('session_id' => $session_id, 'konto' => 0) );
	$mail_id	= $emails->crmImportMailSource(
		array(
			'session_id'	=> $session_id,
			'tree_id'		=> $draft,
			'source'		=> base64_encode($source) 
		)
	);
 
	echo $mail_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.50. crmMoveToContact

Syntax:

int crmMoveToContact( array(string $session_id, string $mail_ids, int $contact_id, boolean $common) )

Beschreibung:

Verschiebt die ausgewählten E-Mails zu einem bestimmten Kontakt.

Wenn common auf true gesetzt wird, wird die Email von Kontakten Projekten oder Tickets zum angegebenem Kontakt verschoben.

mail_ids ist ein Array mit den mail_ids.

cid ist die Kontakt-ID.

Liefert 1 bei Erfolg zurück.

Beispiel:

<?php
 
try {
	$mail_ids	= array(24173, 24170, 25344);
	$success	= $emails->crmMoveToContact(
		array(
			'session_id'	=> $session_id,
			'mail_ids'		=> $mail_ids,
			'contact_id'	=> 344,
			'common'		=> false
		)
	);
 
	if($success == 1) {
		echo "Mails successfully moved";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.51. crmMoveToProject

Syntax:

int crmMoveToProject( array(string $session_id, string $mail_ids, int $project_id, boolean $common) )

Beschreibung:

Verschiebt die ausgewählten E-Mails zum angegebenen Projekt.

Wenn common auf true gesetzt wird, wird die Email von Kontakten Projekten oder Tickets zum angegebenem Projekt verschoben.

mail_ids ist ein Array mit den mail_ids. Format: mail_id1:mail_id2:…:mail_idn.

project_id ist die Projekt ID.

Zurück 1 bei Erfolg.

Beispiel:

<?php
 
try {
	$mail_ids	= array(24173, 24170, 25344);
	$success	= $emails->crmMoveToProject(
		array(
			'session_id'	=> $session_id,
			'mail_ids'		=> $mail_ids,
			'project_id'	=> 344,
			'common'		=> false
		)
	);
 
	if($success == 1) {
		echo "Mails successfully moved";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.52. crmMoveToTicket

Syntax:

int crmMoveToTicket( array(string $session_id, string $mail_ids, int $ticket_id, boolean $common) )

Beschreibung:

Verschiebt die ausgewählten E-Mails zum angegebenen Ticket.

Wenn common auf true gesetzt wird, wird die Email von Kontakten Projekten oder Tickets zum angegebenem Ticket verschoben.

mail_ids ist ein Array mit den mail_ids. Format: mail_id1:mail_id2:…:mail_idn.

ticket_id ist die Ticket ID.

Zurück 1 bei Erfolg.

Beispiel:

<?php
 
try { 
	$mail_ids	= array(24173, 24170, 25344);
	$success	= $emails->crmMoveToTicket(
		array(
			'session_id'	=> $session_id,
			'mail_ids'		=> $mail_ids,
			'ticket_id'		=> 344,
			'common'		=> false
		)
	);
 
	if($success == 1) {
		echo "Mails successfully moved";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.53. crmMoveToUser

Syntax:

int crmMoveToUser( array(string $session_id, string $mail_ids, string $user_ids, boolean $common, boolean $notify) )

Beschreibung:

Bewegt ausgewählte E-Mails zu Nutzer(n). Liefer user_o

Wenn common auf true gesetzt wird, werden die ausgewählte E-Mails von Kontakten Projekten oder Tickets zu Nutzer(n) verschoben.

mail_ids ist ein Array mit den mail_ids.

user_ids ist ein Array mit den user_ids.

Wenn notify auf true gesetzt ist wird eine Lesebestätigung angefordert.

Beispiel:

<?php
 
try {
	$mail_ids	= array(24173, 24170);
	$user_ids	= array(28);
	$success	= $emails->crmMoveToUser(
		array(
			'session_id'	=> $session_id,
			'mail_ids'		=> $mail_ids,
			'user_ids'		=> $user_ids,
			'common'		=> false,
			'notify'		=> true
		)
	);
 
	if ($success == 1) {
		echo "Moving mails to user 28 success.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.54. crmParseMailSource

Syntax:

array crmParseMailSource( array(string $session_id, string $source, boolean $attachments, boolean $gzip) )

Beschreibung:

Liefert eine Array mit nur einem Element eines E-MailObjekts.

source ist die base64-kodiert Mail. Wenn gzip auf 1 gesetzt ist muss die Mail gzencoded sein.

Stellen Sie Attachments auf true, wenn Sie die Anhänge erhalten möchten.

Stellen Sie gzipauf true, wenn Sie den Inhalt der E-Mail und Attachments mit GZIP komprimieren möchten.

Eigenschaften (E-Mail):

Typ(Länge)      Eigenschaft     Beschreibung
-------------------------------------------------------------------
int             $id             Mail-Id
string(255)     $subject        Betreff
string(255)     $from           Von-Addresse
string(65535)   $to             An-Addresse(n)
int             $date           Datum der E-Mail, häufig Datum des Versendens, Unix-Timestamp
boolean         $is_html        E-Mail in HTML gesendet (0 = falsch, 1 = true)
binary          $text           Text-Inhalt, base64-kodiert 
binary          $html           HTML-Inhalt, base64-kodiert
array           $attachments    Array mit Attachment Objekte

Eigenschaften (Attachment):

Typ(Länge)      Eigenschaft     Beschreibung
-------------------------------------------------------------------
string          $name           Name des Anhangs, z. B. picture.jpg
string          $ctype          Content-Type des Anhangs, z. B. image/jpeg
string          $cid            Content-ID, für multipart / related , z. B. eingebettete Objekte
int             $size           Größe des Anhangs in Bytes
binary          $content        Binärer Inhalt des Anhangs, base64-kodiert

Beispiel :

<?php
 
try {
	$source	= base64_encode(gzencode($source_str));
	$email	= $emails->crmParseMailSource( array('session_id' => $session_id, 'source' => $source, 'attachments' => true, 'gzip' => true) );
 
    echo "From: ".$email->from."<br/>";
    echo "Subject: ".$email->subject."<br/>";
    echo "To: ".$email->to."<br/>";
    echo "Date: ".date("d.m.Y - H:i:s", $email->date)."<br/><br/>";
 
    $content = $email->is_html ? gzdecode(base64_decode($email->html)) : gzdecode(base64_decode($email->text));
 
    foreach ($email->attachments as $attachment) {
     
        $fp = fopen($attachment->name, "w");
        if (!$fp) continue;
        fwrite($fp, gzdecode(base64_decode($attachment->content)));
        fclose($fp); 
 
        if ($attachment->cid && $email->is_html) {
            $content = str_replace('cid:'.$attachment->cid, $attachment->name, $content);
        }
        else {
            echo "Attachment: <a href='{$attachment->name}' target=_blank>".$attachment->name."</a> (".$attachment->size.")<br/>";
        }
    }
 
    echo "<br/>";
	echo $content;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.55. crmReceiveMail

Syntax:

int crmReceiveMail( array(string $session_id, int $account_id) )

Beschreibung:

Empfängt Nachrichten von POP3 Server.

Wenn account_id auf 0 gesetzt ist, werden alle Mails aller registrierten Konten des aktuellen Benutzers empfangen.

Liefert die Anzahl der Nachrichten, die empfangen wurde.

Beispiel:

<?php
 
try {
	$get = $emails->crmReceiveMail(
		array(
			'session_id'	=> $session_id,
			'account_id'	=> 0
		)
	);
 
	echo "You have {$get} new Messages.";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.56. crmrenameTreeEntry

Syntax:

int crmrenameTreeEntry( array(string $session_id, int $tree_id, string $new_name) )

Beschreibung:

Benennt einen Ordner um.

Liefert die tree_id bei Erfolg zurück.

tree_id ist die ID des Ordners.

newname ist der neue Ordnername.

Beispiel:

<?php
 
try {
	$tree_id = $emails->crmrenameTreeEntry(
		array(
			'session_id'	=> $session_id,
			'tree_id'		=> $tree_id,
			'new_name'		=> 'Webservice renamed'
		)
	);
 
	echo $tree_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.57. crmSendMail

Syntax:

int crmSendMail( array(string $session_id) )

Beschreibung:

Sendet alle Nachrichten im Postausgang.

Liefert die Anzahl der Nachrichten, die gesendet wurden.

Beispiel:

<?php
 
try { 
	$sent = $emais->crmSendMail( array('session_id' => $session_id) );
	echo "{$sent} Messages was sent.";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.58. crmSendNotification

Syntax:

int crmSendNotification( array(string $session_id, string $to, string $subject, string $body) )

Beschreibung:

Sendet eine interne Benachrichtigung. Diese Nachricht ist eine Text-Nachricht und grün markiert.

to enthält die E-Mail-Adresse, z. B. info@Beispiel.com.

subject ist die Betreffzeile der Nachricht, kann Sonderzeichen enthalten.

body der Text der Nachricht.

Liefert 1 bei Erfolg zurück.

Hinweis: Der to Parameter kann auch den Namen des Empfängers enthalten, z.B. "Christian Friebel xray@tecart.de" .

Beispiel:

<?php
 
try {
	$to      = "Michael Smith <info@Beispiel.com>";
	$subject = "TestWebservice";
	$body    = "This is a Test";
	$success = $emails->crmSendNotification(
		array(
			'session_id'	=> $session_id,
			'to'			=> $to,
			'subject'		=> $subject,
			'body'			=> $body
		)
	);
 
	if ($success == 1) {
		echo "Message was sent successfully.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.59. crmSetNotSpam

Syntax:

boolean crmSetNotSpam( array(string $session_id, array $mail_ids) )

Beschreibung:

Setzt die ausgewählten E-Mails als Nicht Spam und verschiebt Sie sie zurück in den Posteingangsordner.

mail_ids ist ein Array mit mail_ids.

Gibt 1 beim Erfolg zurück.

Beispiel:

<?php
 
try { 
	$mail_ids	= array(24173, 24170);
	$success	= $emails->crmSetNotSpam(
		array(
			'session_id'	=> $session_id,
			'mail_ids'		=> $mail_ids
		)
	);
 
	if ($success == 1) {
		echo "Setting selected mails as not-spam success.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.60. crmSetSpam

Syntax:

int crmSetSpam( array(string $session_id, array $mail_ids) )

Beschreibung:

Setzt die ausgewählte E-Mails als Spam und verschiebt Sie sie in den Spam Ordner.

mail_ids ist ein Array mit mail_ids.

Gibt 1 beim Erfolg zurück.

Beispiel:

<?php
 
try { 
	$mail_ids	= array(24173, 24170);
	$success	= $emails->crmsetSpam(
		array(
			'session_id'	=> $session_id,
			'mail_ids'		=> $mail_ids
		)
	);
 
	if ($success == 1) {
		echo "Setting selected mails as not-spam success.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.61. crmSyncImapMail

Syntax:

int crmSyncImapMail( array(string $session_id) )

Beschreibung:

Synchronisiert Imap-Nachrichten.

Liefert des Anzahl der neuen IMAP-Nachrichten.

Beispiel:

<?php
 
try {
	$get = $emails->crmSyncImapMail( array('session_id' => $session_id) );
	echo "You have {$get} new IMAP-Messages.";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.62. crmsyncTree

Syntax:

int crmsyncTree( array(string $session_id, array $tree) )

Beschreibung:

Synchronisiert den Mailtree für den aktuellen Benutzer.

tree ist ein mehrdimensionales assoziatives Array und muss die vollständige Baumstruktur auf dem Client enthalten.

Liefert 1 bei Erfolg zurück.

Hinweis: Neue Ordner in tree werden hinzugefügt, nicht existierende Ordner entfernt. Die Standard-Ordner "Posteingang", "Postausgang", "Trash", "Junk" und "Entwürfe" können nicht entfernt werden. Es ist auch möglich, einen Ordner zu einem anderen Ordner zu verschieben.

Eigenschaften von tree' Array:

Typ(Länge)    Eigenschaft     Beschreibung
-------------------------------------------------------------------
int           $id             Tree-Id 
int           $imap           Imap-Account-Id, 0 = POP3-Folder
string(255)   $name           Name des Eintrags
int           $parent         Parent-Id des Eintrags

Beispiel :

<?php
 
try {
	$synctree = array(
		array(
			'id'     => 4958, 
			'parent' => 2, 
			'name'   => 'Folder2 synced', 
			'imap'   => 0
		),
 		array(
			'id'     => 3195, 
			'parent' => 1, 
			'name'   => 'WebTest added', 
			'imap'   => 0
		)
	);
 
	$success = $emails->crmsyncTree(
		array(
			'session_id'	=> $session_id,
			'tree'			=> $synctree
		)
	);
 
	if ($success == 1) {
		echo "Sync success";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.63. crmgetPermissions

(Version >= 4.5.17365)

Syntax:

array | string <err_msg> crmgetPermissions( array(string $session_id, array $mail_ids) ) 

Beschreibung:

Gibt ein assoziatives $objects_permissions array mit den Berechtigungen für die E-Mails mit den gegebenen $mail_ids zurück.

Setzt eine Lizenz mit Aktivitätenrechten und aktivierte Aktivitätenrechte für dieses Modul voraus.

Eigenschaften von $objects_permissions array:

Type(Length)	   Eigenschaft          Beschreibung
-------------------------------------------------------------------------------
int                Key                  E-Mail ID
array		       Value                Array mit $permissions array

Eigenschaften von $permissions array:

Type(Length)	   Key                  Value       
-------------------------------------------------------------------------------
array		   user_perm            Array mit $user_permission arrays
array		   group_perm           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 {
    include_once 'crm_rest_api.php';
    $rest_url    = 'https://<hostname>/<dirname>/rest/index.php/emails';
    $session_id  = session_id();
    $emails      = new crm_rest_api($rest_url);
 
    $params      = array('session_id' => $session_id, 'mail_ids' => array(15, 20, 100));
    $permissions = $emails->crmgetPermissions($params);
 
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo '<pre>'.print_r($permissions, true).'</pre>';



3.64. crmsetPermissions

(Version >= 4.5.17365)

Syntax:

array | string <err_msg> crmsetPermissions( array(string $session_id, array $permissions) ) 

Beschreibung:

Setzt die Berechtigungen für mehrere E-Mails

Setzt eine Lizenz mit Aktivitätenrechten und aktivierte Aktivitätenrechte für dieses Modul voraus.

Eigenschaften von $objects_permissions array:

Type(Length)	   Eigenschaft          Beschreibung
-------------------------------------------------------------------------------
int                Key                  E-Mail ID
array		       Value                Array mit $permissions array

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 {
    include_once 'crm_rest_api.php';
    $rest_url    = 'https://<hostname>/<dirname>/rest/index.php/emails';
    $session_id  = session_id();
    $emails      = new crm_rest_api($rest_url);
 
    $permissions  = array(
		81941 => array(
			'users' => array(
				'56' => array('read' => -1, 'write' => -1, 'delete' => -1) 
			),
			'groups' => array(
				'4'  => array('read' => -1, 'write' => -1, 'delete' => -1) 
			)
		),
		79331 => array(
			'groups' => array(
				'4'  => array('read' => -1, 'write' => -1, 'delete' => -1)
			)
		)
	);
 
	$params = array('session_id' => $session_id, 'permissions' => $permissions);
 
	$emails->crmsetPermissions($params);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
  • No labels