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

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

1. Methods

1.1. getTree

Syntax:

array getTree()

Beschreibung:

Ruft den E-Mail-Baum des authentifizierten Nutzers auf.

Gibt ein Array mit mail tree Einträgen zurück.

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

Eigenschaften von mail tree array:

Typ(Länge)    Eigenschaft        Beschreibung
-------------------------------------------------------------------
int           $id             Tree-Id
int           $parent         Id des übergeordneten Knotens 
string(255)   $name           Name des Eintrags
int           $imap           Imap-Account-Id, 0 = POP3-Ordner
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          Gesamtzahl der Nachrichten in diesem Ordner

int           $chgtime        Unix-Timestamp der letzten Modifikation
int           $chguser        Userid der letzten Modifikation

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails(); 
    $result			= $crmapi_emails->getTree();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $entry) {
    foreach($entry as $key => $value) {
        echo $key." => ".$value."<br>  \n";
    }
   
    echo'<hr>';
}



1.2. getCommonTree

Syntax:

array getCommonTree( int $type, int $obj_id )

Beschreibung:

Ruft den E-Mail-Baum für das gegebene Objekt auf.

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

obj_id ist die Objekt-ID

Gibt ein Array mit tree entries zurück.

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

Properties:

sind die selben wie für getTree

Beispiel:

<?php
 
try {
    $crmapi_emails = crmapi::emails();
 
    // Get email tree for the contact with id: 1148
    $result = $crmapi_emails->getCommonTree(0, 1148);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $entry) {
    foreach($entry as $key => $value) {
        echo $key." => ".$value."<br>  \n";
    }
   
    echo'<hr>';
}



1.3. addTreeEntry

Syntax:

int addTreeEntry( int $parent, string $name )

Beschreibung:

Fügt einen Ordner zum Usertree hinzu.

parent ist die des übergeordneten Ordners.

name ist der Ordnername.

Gibt die tree_id des neuen Ordners zurück.

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

Beispiel:

<?php
 
try {
    $crmapi_emails = crmapi::emails();
 
    // Add a tree entry into the tree with id: 5011
    $tree_id = $crmapi_emails->addTreeEntry(5011, 'API-Test');
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $tree_id;



1.4. getEmailAccounts

Syntax:

array getEmailAccounts()

Beschreibung:

Gibt ein Array mit email accounts des authentifizierten Users zurück.

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

Eigenschaften von email accounts array:

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
int             $id             Account-Id (benötigt für das Senden von E-Mails)
string(255)     $account_name   Accountname 
string(255)     $name           Vollständiger Name des Besitzers des Kontos
string(255)     $org            Firma oder Organisation
string(255)     $email          E-Mail-Addresse
string(255)     $reply          Antwort-Addresse 
boolean         $def            Wenn 1, ist der Account der Standardaccount
boolean         $sig            Signatur an die E-Mail anhängen
                                1 = anhängen
                                0 = nicht anhängen
string(65535)   $signature      Text-Signatur
boolean         $siganswer      Signatur an Antworten und Forwardings anhängen
                                0 = anhängen
                                1 = nicht anhängen
boolean         $send           Diesen Account zum E-Mail-Versand nutzen
                                0 = nicht nutzen
                                1 = nutzen
boolean         $get            Diesen Account zum E-Mail-Empfang nutzen
                                0 = nicht nuzten
                                1 = nutzen
boolean         $type           Account-Typ 
                                0 = POP3
                                1 = IMAP
int             $inbox          Tree-Id des Eingangs-Ordners für diesen Account
int             $trash          Tree-Id des Trash-Ordners für diesen Account 
int             $sent           Tree-Id des Gesendet-Ordners für diesen Account
int             $draft          Tree-Id des Entwurfs-Ordners für diesen Account 
int             $junk           Tree-Id des Junk-Ordners für diesen Account

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

Beispiel:

<?php
 
try {
	$crmapi_emails	= crmapi::emails(); 
	$result			= $crmapi_emails->getEmailAccounts();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $entry) {
    foreach($entry as $key => $value) {
        echo $key." => ".$value."<br>  \n";
    }   
    echo '<hr>';
}



1.5. getInboxFolder

Syntax:

int getInboxFolder( int $konto = false )

Beschreibung:

Gibt die tree_id des Posteingangs-Ordners zurück.

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

konto ist die POP3 oder IMAP-Account-ID, ist sie auf 0 gesetzt, wird die standard-Inbox zurückgegeben.

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $inbox			= $crmapi_emails->getInboxFolder(0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $inbox;



1.6. getSubTree

Syntax:

array getSubTree( int $tree_id )

Beschreibung:

Gibt ein Array mit tree entries zurück, welche Unterelemente zu tree_id sind und dem authentifizierten Nutzer gehören.

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

$tree_id ist die ID des Elternelements.

Beispiel:

<?php
 
try {
    $crmapi_emails = crmapi::emails();
 
    // Get all tree entries, which belong to tree id: 1234
    $result = $crmapi_emails->getSubTree(1234);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $entry) {
    foreach($entry as $key => $value) {
        echo $key." => ".$value."<br>  \n";
    }
   
    echo'<hr>';
}



1.7. renameTreeEntry

Syntax:

int renameTreeEntry(int $tree_id, string $newname)

Beschreibung:

Benennt einen Ordner um.

Gibt die tree_id zurück.

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

tree_id ist die ID des Ordners.

newname ist der neue Ordnername.

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $tree_id		= $crmapi_emails->renameTreeEntry( 1224, 'API renamed');
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $tree_id;



1.8. deleteTreeEntry

Syntax:

void deleteTreeEntry( int $tree_id )

Beschreibung:

Löscht einen POP3 oder IMAP-Ordner.

Gibt 1 zurück.

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

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $success		= $crmapi_emails->deleteTreeEntry(1234);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.9. syncTree

Syntax:

void syncTree( array $tree_item )

Beschreibung:

Synchronisiert den Mailtree den aktuell authentifizierten Nutzer.

$tree_item ist ein multidimensionales assoziatives Array und muss die komplette Baum-Struktur des Clients enthalten.

Gibt 1 zurück.

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

Hinweis: Neue Ordner in $tree_item werden hinzugefügt, nicht existente Ordner gelöscht. Die Standardordner 'Posteingang', 'Postausgang', 'Papierkorb', 'Spam', 'Entwürfe' können nicht gelöscht werden. Es ist möglich, Ordnern neue Elternelemente zu geben.

Eigenschaften:

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

Beispiel:

<?php
 
$synctree = array(
	array(
		'id'     => 4958, 
		'parent' => 2, 
		'name'   => 'Folder2 synced', 
		'imap'   => 0
	),
 	array(
		'id'     => 3195, 
		'parent' => 1, 
		'name'   => 'WebTest added', 
		'imap'   => 0
	),
 	array(
		'id'     => 3882, 
		'parent' => 3195, 
		'name'   => 'New Folder', 
		'imap'   => 0
	)
);
 
try {
    $crmapi_emails	= crmapi::emails();
    $success		= $crmapi_emails->syncTree($synctree);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
if (!$success) {
	echo "Sync failed";
}



1.10. getCommonInboxFolder

Syntax:

int crmgetCommonInboxFolder( int $type, int $obj_id )

Beschreibung:

Gibt die tree_id des Posteingangs zurück.

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

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

obj_id ist die ID des Objekts.

Beispiel:

<?php
 
try {
    $crmapi_emails = crmapi::emails();
 
    // Get inbox folder for project with id:4521
    $inbox = $crmapi_emails->getCommonInboxFolder($session_id, 1, 4521);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $inbox;



1.11. getOutboxFolder

Syntax:

int getOutboxFolder()

Beschreibung:

Gibt die tree_id des Postausgangs zurück.

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

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $outbox			= $crmapi_emails->getOutboxFolder();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $outbox;



1.12. getTrashFolder

Syntax:

int crmgetTrashFolder(int $konto = false)

Beschreibung:

Gibt die tree_id des Papierkorbs zurück.

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

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

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $trash			= $crmapi_emails->getTrashFolder(0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $trash;



1.13. getCommonTrashFolder

Syntax:

int getCommonTrashFolder( int $type, int $obj_id )

Beschreibung:

Gibt die tree_id des Papierkorbs zurück.

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

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

obj_id ist die ID des Objekts.

Beispiel:

<?php
 
try {
    $crmapi_emails = crmapi::emails();
 
    // Get trash folder for contact with id: 5532
    $trash = $crmapi_emails->getCommonTrashFolder(0, 5532);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $trash;
 



1.14. getSentFolder

Syntax:

int getSentFolder(int $konto = false)

Beschreibung:

Gibt die tree_id des Gesendet Ordners zurück.

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

konto ist die POP3 oder IMAP-Account-ID, wenn auf 0 gesetzt wird die ID des standard Gesendet Ordners zurückgegeben.

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $sent			= $crmapi_emails->getSentFolder(0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $sent;



1.15. getCommonSentFolder

Syntax:

int getCommonSentFolder( int $type, int $obj_id )

Beschreibung:

Gibt die tree_id des Gesendet Ordners zurück.

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

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

obj_id ist die ID des Objekts.

Beispiel:

<?php
 
try {
    $crmapi_emails = crmapi::emails();
 
    // Get send folder for project with id: 5581
    $sent = $crmapi_emails->getCommonSentFolder(1, 5581);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $sent;



1.16. getDraftFolder

Syntax:

int getDraftFolder(int $konto = false)

Beschreibung:

Gibt die tree_id des Entwurfsordners zurück.

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

konto ist die POP3 oder IMAP-Account-ID, wenn auf 0 gesetzt wird die ID des standard Entwurfsordners zurückgegeben.

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $drafts			= $crmapi_emails->getDraftFolder(0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $drafts;



1.17. getCommonDraftFolder

Syntax:

int getCommonDraftFolder( int $type, int $obj_id )

Beschreibung:

Gibt die tree_id des Entwurfsordners zurück.

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

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

obj_id ist die ID des Objekts.

Beispiel:

<?php
 
try {
    $crmapi_emails = crmapi::emails();
 
    // Get drafts folder for contact with id: 5214
    $drafts = $crmapi_emails->getCommonDraftFolder(0, 5214);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $drafts;



1.18. getJunkFolder

Syntax:

int getJunkFolder(int $konto = false)

Beschreibung:

Gibt die tree_id des Spamordners zurück.

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

konto ist die POP3 oder IMAP-Account-ID, wenn auf 0 gesetzt wird die ID des standard Spamordners zurückgegeben.

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $junk			= $crmapi_emails->getJunkFolder(0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $junk;



1.19. getCommonJunkFolder

Syntax:

int getCommonJunkFolder( int $type, int $obj_id )

Beschreibung:

Gibt die tree_id des Spamordners zurück.

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

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

obj_id ist die ID des Objekts.

Beispiel:

<?php
 
try {
    $crmapi_emails = crmapi::emails();
 
    // Get junk folder for contact with id:3385
    $junk = $crmapi_emails->getCommonJunkFolder(0, 3385);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $junk;



1.20. createNewMail

Syntax:

int createNewMail(array $email, boolean $gzip = false)

Beschreibung:

Erstellt eine neue E-Mail und kopiert sie zum Postausgang des Servers.

Gibt die mail_id zurück.

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

Wenn gzip auf true gesetzt ist, müssen Mail-Body und Anhänge GZIP-Codiert sein.

$email ist ein multidimensionales assoziatives Array.

Eigenschaften von $email array:

Typ(Länge)          Eigenschaft        Beschreibung
-------------------------------------------------------------------
int                 $account_id     Account-Id die genutzt wird um die Mail zu senden, 
                                    kann 0 sein, dann wird der Standardaccount genutzt 
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-codierter Nachrichtentext (GZ-Codiert), entweder HTML oder Text
                                    is_html muss gesetzt sein
int                 $priority       Priorität, 5 = niedrig, 3 = normal, 1 = hoch
boolean             $is_html        Text- oder HTML-Nachrichtentext
                                    0 = Text 
                                    1 = HTML
boolean             $sign           Nachricht signieren, es wird ein gültiges S-MIME-Certificate 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 = keine Empfangsbestätigung anfordern
                                    1 = Empfangsbestätigung anfordern
boolean             $disposition_notification
                                    0 = keine Lesebestätigung anfordern
                                    1 = Lesebestätigung anfordern 
int                 $mail_id        Mail Id der Mail der geantwortet/die weitergeleitet wird, 0 für neue Mail
int                 $kind           0 = Neue Mail
                                    1 = Antwort
                                    2 = Weiterleitung
array               $attachments    Liste der Anhänge

Eigenschaften von $attachments array:

Typ(Länge)              Eigenschaft                 
------------------------------------------------
array                   attachment_element

Eigenschaften von $attachment_element array:

Typ(Länge)          Eigenschaft        Beschreibung
-------------------------------------------------------------------
string              $name           Name des Anhangs z.B. picture.jpg 
binary              $content        Binarärer Inhalt des Anhangs, Base64-Codiert (GZ Codiert)
string              $cid            Content-Id, nur für multipart/related content

Beispiel:

<?php
 
$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)
		)
	)
);
 
try {
    $crmapi_emails	= crmapi::emails();
    $mail_id		= $crmapi_emails->createNewMail($email, true);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $mail_id;



1.21. createNewDraftMail

(Version >= 4.2.12314)

Syntax:

int createNewDraftMail( array $email, boolean $gzip = false, mixed $template = false)

Beschreibung:

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

Gibt die mail_id zurück.

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

gzip (optional) Wenn gzip auf true gesetzt ist, müssen Mail-Body und Anhänge GZIP-Codiert sein.

template (optional, ab version 4.4.15269) Für die Mail-Erstellung zu verwendende Vorlage (false = kein Template, "" = Standard-Template des Kontos, "Templatename" = Template Templatename verwenden)

$email ist ein multidimensionales assoziatives Array.

Eigenschaften von $email array:

Typ(Länge)          Eigenschaft        Beschreibung
-------------------------------------------------------------------
int                 $account_id     Account-Id die genutzt wird um die Mail zu senden, 
                                    kann 0 sein, dann wird der Standardaccount genutzt 
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-codierter Nachrichtentext (GZ-Codiert), entweder HTML oder Text
                                    is_html muss gesetzt sein
int                 $priority       Priorität, 5 = niedrig, 3 = normal, 1 = hoch
boolean             $is_html        Text- oder HTML-Nachrichtentext
                                    0 = Text 
                                    1 = HTML
boolean             $sign           Nachricht signieren, es wird ein gültiges S-MIME-Certificate 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 = keine Empfangsbestätigung anfordern
                                    1 = Empfangsbestätigung anfordern
boolean             $disposition_notification
                                    0 = keine Lesebestätigung anfordern
                                    1 = Lesebestätigung anfordern 
int                 $mail_id        Mail Id der Mail der geantwortet/die weitergeleitet wird, 0 für neue Mail
int                 $kind           0 = Neue Mail
                                    1 = Antwort
                                    2 = Weiterleitung
array               $attachments    Liste der Anhänge

Eigenschaften von $attachments array:

Typ(Länge)              Eigenschaft                 
------------------------------------------------
array                   attachment_element

Eigenschaften von $attachment_element array:

Typ(Länge)          Eigenschaft        Beschreibung
-------------------------------------------------------------------
string              $name           Name des Anhangs z.B. picture.jpg 
binary              $content        Binarärer Inhalt des Anhangs, Base64-Codiert (GZ Codiert)
string              $cid            Content-Id, nur für multipart/related content

Beispiel:

<?php
 
$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)
		)
	)
);
 
try {
    $crmapi_emails	= crmapi::emails();
    $mail_id		= $crmapi_emails->createNewDraftMail($email, true);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $mail_id;



1.22. changeMailItems

Syntax:

void changeMailItems( array $mail )

Beschreibung:

Ändert die Eigenschaften von Mails.

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

Es ist möglich, $mail zu Kontakten, Projekten, Tickets zu verschieben, indem man einen neuen Ordner definiert. Dieser Ordner muss ein Gemeinsamer Ordner sein.

Eigenschaften von $mail array:

Typ(Länge)              Eigenschaft                 
------------------------------------------------
array                   mail_element

Eigenschaften von $mail_element array:

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 der Markierung
int             $answered       Nachricht wurde beantwortet
                                  0 = nicht beantwortet
                                  1 = beantwortet
                                > 1 = Unix-Timestamp der Antwort
int             $forwarded      Nachricht wurde weitergeleitet
                                  0 = nich weitergeleitet
                                  1 = weitergeleitet
                                > 1 = Unix-Timestamp des Weiterleitens
string(65535)   $forwarded_to   Empfänger zu denen die Mail weitergeleitet wurde
string(255)     $forwarded_from Sender, der die Mail weitergeleitet hat
int             $done           Nachricht wurde als erledigt markiert
                                  0 = nicht erledigt
                                  1 = erledigt
                                > 1 = Unix-Timestamp an dem die Nachricht als erledigt markiert wurde
int             $remember       Benachrichtigung an den Nutzer
                                  0 = nicht benachrichtigen
                                > 0 = Unix-Timestamp der Benachrichtigung
string(255)     $answered_from  Nachricht wurde von dieser E-Mail-Address geantwortet
string(255)     $return_receipt Empfangsbestätigung, E-Mail-Addresse für die Empfangsbestätigung
string(255)     $disposition_notification 
                                E-Mail-Addresse für Lesebestätigung
int             $filtered       Nachricht wurde gefiltert
                                  0 = nicht gefiltert
                                > 0 = Unix-Timestamp des Filterns

Beispiel:

<?php
 
$mails = array(
	array('id' => 24006, 'was_read' => 0),
	array('id' => 23964, 'was_read' => 0),
	array('id' => 23970, 'was_read' => 0, 'folder' => 4958)
);
 
try {
    $crmapi_emails	= crmapi::emails();
    $mail_id		= $crmapi_emails->changeMailItems($mails);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.23. getMailHeaders

Syntax:

array getMailHeaders(int $tree_id, int $timestamp, int $count, int $offset = 0)

Beschreibung:

Gibt ein Array mit Mail-headers des aktuellen Nutzers zurück.

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

tree_id ist die ID des Ordners von dem die Mail-Headers geholt werden.

timestamp ist ein UNIX-Timestamp, wenn auf einen Wert größer 0 gesetzt, werden Headers die seit timestamp geändert wurden zurückgegeben.

count ist die Anzahl der Ergebnisse, die zurückgegeben werden sollen. Wenn auf 0 wird kein Limit gesetzt.

offset ist das Offset von dem die Ergebnisse zurückgegeben werden. Wirkungslos, wenn count auf 0 gesetzt ist.

Eigenschaften des zurückgegebenen Arrays:

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
int             $id             Mail-Id 
int             $folder         Tree-Id 
string(255)     $uidl           Unique-Id, vom Mailserver gegeben
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 Mail im Dateisystem des Servers zu identifizieren 
int             $date           Unix-Timestamp des Datums der E-Mail, meistens das des Absendens
int             $priority       Priorität
                                  5 = niedrig
                                  3 = normal
                                  1 = hoch
int             $intern         Interne Nachrich
                                  0 = extern
                                  1 = intern von Nutzer (blau)
                                  2 = intern vom System (grün)
int             $size           Größe der E-Mail in Bytes, inklusive Anhänge
int             $pid            Project-Id, nur bei gemeinsamen E-Mails verwendet
int             $cid            Contact-Id, nur bei gemeinsamen E-Mails verwendet
int             $tid            Ticket-Id, nur bei gemeinsamen E-Mails verwendet (Version >= 3.1.2566)
int             $konto          IMAP-Account der 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 Nachrichtennummer 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      Message wurde weitergeleitet
                                  0 = nicht weitergeleitet
                                  1 = weitergeleitet
                                > 1 = Unix-Timestamp des Weiterleitens
string(65535)   $forwarded_to   Empfänger, an die die E-Mail weitergeleitet wurde
string(255)     $forwarded_from Sender, von dem die E-Mail weitergeleitet wurde
int             $done           Nachricht wurde als erledigt markiert
                                  0 = nicht erledigt
                                  1 = erledigt
                                > 1 = Unix-Timestamp des Erledigt-Setzens
int             $remember       Benachrichtigung an den Nutzer
                                  0 = nicht benachrichtigen
                                > 0 = Unix-Timestamp der Benachrichtigung
int             $remuser        Userid für den Nutzer, der die Benachrichtigung bekommt, nur relevant mit gemeinsamen Mails
string(255)     $answered_from  E-Mail-Addresse, von der die Nachricht beantwortet wurde
string(255)     $return_receipt Empfangsbestätigung, E-Mail-Addresse für Empfangsbestätigung
string(255)     $disposition_notification 
                                E-Mail-Addresse für Lesebestätigungsmeldungen
string(255)     $classref       ERP-Reference Identifier 
                                Format: customer:supplier:orderno:article:cas_no:tracking:ordertype:notes 
int             $filtered       Message wurde gefiltert
                                  0 = nicht gefiltert
                                > 0 = Unix-Timestamp des Filterns
string(32)      $md5body        MD5-Checksumme des Text-Inhalts um die Mail mit anderen Mails zu vergleichen 
int             $tstamp         Unix-Timestamp der letzten Änderung der Header-Daten
string(65535)   $deposition     Zur Zeit nicht genutzt
int             $received       Unix-Timestamp des Empfangs

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $inbox			= $crmapi_emails->getInboxFolder(0);
 
    // Returns all headers changed after 20010-10-25
    $headers = $crmapi_emails->getMailHeaders($inbox, mktime(0, 0, 0, 10, 25, 2010), 0, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($headers as $email) {
    echo htmlentities($email['from'])." -> ".$email['subject']."<br>  \n";
}



1.24. getMailHeadersAll

(Version >= 3.7.8168)

Syntax:

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

Beschreibung:

Gibt ein Array mit Mail-Headern für alle Ordner des aktuellen Nutzers zurück.

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

timestamp ist ein UNIX-Timestamp, wenn auf einen Wert größer 0 gesetzt, werden Headers die seit timestamp geändert wurden zurückgegeben.

count ist die Anzahl der Ergebnisse, die zurückgegeben werden sollen. Wenn auf 0 wird kein Limit gesetzt.

offset ist das Offset von dem die Ergebnisse zurückgegeben werden. Wirkungslos, wenn count auf 0 gesetzt ist.

Eigenschaften des zurückgegebenen Arrays:

sind die selben wie für getMailHeaders

Beispiel:

<?php
 
try {
    $crmapi_emails = crmapi::emails();
 
    // Returns all headers changed after 20010-10-25
    $headers = $crmapi_emails->getMailHeadersAll(mktime(0, 0, 0, 10, 25, 2012), 0, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($headers as $email) {
    echo htmlentities($email['from'])." -> ".$email['subject']."<br>  \n";
}
 



1.25. getMailIds

Syntax:

array getMailIds(int $tree_id, int $timestamp, int $count, int $offset = 0)

Beschreibung:

Gibt ein Array von mail-ids des aktuellen Nutzers zurück.

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

tree_id ist die ID des Ordners, aus dem Mail-Headers geholt werden.

timestamp ist ein UNIX-Timestamp, wenn timestamp größer 0 ist, werden alle Mail-Headers die seit dieser Zeit geändert wurden zurückgegeben.

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

offset ist das Offset von dem Ergebnisse zurückgegeben werden. Bleibt ohne Wirkung, wenn count auf 0 gesetzt ist.

Eigenschaften der zurückgegebenen array:

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
int             $id             Mail-Id

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $inbox			= $crmapi_emails->getInboxFolder(0);
    $result			= $crmapi_emails->getMailIds($inbox, 0, 10, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $mail_id) {
    echo $mail_id."<br>  \n";
}



1.26. getMailIdsAll

(Version >= 3.7.8168)

Syntax:

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

Beschreibung:

Gibt ein Array von mail-ids in allen Ordnern des aktuellen Nutzers zurück.

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

timestamp ist ein UNIX-Timestamp, wenn timestamp größer 0 ist, werden alle Mail-Headers die seit dieser Zeit geändert wurden zurückgegeben.

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

offset ist das Offset von dem Ergebnisse zurückgegeben werden. Bleibt ohne Wirkung, wenn count auf 0 gesetzt ist.

Eigenschaften des zurückgegebenen Array:

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
int             $key               Mail-Id
int             $value             Folder

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $result			= $crmapi_emails->getMailIdsAll(0, 10, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $mail_id => $folder) {
    echo $mail_id." -> ".$folder."<br>  \n";
}



1.27. copyToContact

Syntax:

void copyToContact(array $mail_ids, int $cid)

Beschreibung:

Kopiert ausgewählte E-Mails zu einem Kontakt.

mail_ids ist ein Array mit mail_ids.

cid ist die contact-id.

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

Beispiel:

<?php
 
try { 
    $mail_ids		= array(24173,24170,25344);
    $crmapi_emails	= crmapi::emails();
 
    $result = $crmapi_emails->copyToContact($mail_ids, 344);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.28. getCommonMailHeaders

Syntax:

array getCommonMailHeaders(int $tree_id, int $type, int $obj_id, int $timestamp, int $count, int $offset = 0)

Beschreibung:

Gibt ein Array mit mail-headers des momentan authentifizierten Nutzers zurück.

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

tree_id ist die ID des Ordners, von dem die Mail-Headers geholt werden. Auf 0 gesetzt werden Headers von allen Ordnern zurückgegeben.

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

obj_id ist die ID des Objekts

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

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

offset ist das Offset von dem Ergebnisse zurückgegeben werden. Wirkungslos wenn count auf 0 gesetzt ist.

Properties:

sind die selben wie für getMailHeaders

Beispiel 1:

<?php
 
try {
    $crmapi_emails = crmapi::emails();
 
    // Returns the first 10 Headers of contact with id 1254 for all contact folders
    $headers = $crmapi_emails->getCommonMailHeaders(0, 0, 1254, 0, 10, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($headers as $email) {
    echo htmlentities($email['from'])." -> ".$email['subject']."<br>  \n";
}



1.29. getMail

Syntax:

array getMail(int $mail_id, boolean $common, boolean $attachments, boolean $gzip = false)

Beschreibung:

Gibt ein Array mit einem E-mail-Element zurück.

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

mail_id ist die ID vom Mail-Header.

Ist common auf true gesetzt, werden Gemeinsame E-Mails zurückgegeben.

Ist attachments auf true gesetzt, werden Anhänge zurückgegeben.

Ist gzip auf true gesetzt, werden Inhalt und Anhänge mit GZIP komprimiert.

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)
string(65535)   $cc             CC-Addresse(n)
string(65535)   $bcc            BCC-Addresse(n)
string(255)     $reply          Reply-Addresse
int             $was_read       Gelesen / Ungelesen
int             $priority       -1, 0, 1 - Low, Normal, High
int             $tstamp         Zuletzt geändert
int             $size           Größe  
int             $date           Datum der E-Mail, häufig Datum des Sendens. Unix-Timestamp
boolean         $is_html        E-Mail wurde in HTML versendet (0 = false, 1 = true)
binary          $text           Klartextinhalt, Base64-Codiert 
binary          $html           HTML-Inhalt, Base64-Codiert
array           $attachments    Array der Anhänge
int             $flag           Ab V4.4 - Zur Nachverfolgung - 0, 1 oder Timestamp
int             $done           Ab V4.4 - Erledigt, 0, 1, oder Timestamp

Eigenschaften (Attachment):

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

Beispiel 1:

<?php
 
try {
	$crmapi_emails	= crmapi::emails();
	$email			= $crmapi_emails->getMail(24013, false, true, false);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
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);
}


Beispiel 2 (related content, gzipped):

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $email			= $crmapi_emails->getMail(24013, false, true, true);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
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 $content;



1.30. getMailByTemplate

Syntax:

array getMailByTemplate(array $mailinfo, boolean $gzip = false)

Beschreibung:

Generiert aus einem Template ein E-Mail-Element und gibt dieses zurück. Es erfolgt eine Personalisierung, sofern Zieladressen angegeben wurden.

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

mailinfo ist ein assoziatives Array, welches die Informationen für die Mailerstellung beinhaltet. Dies ist im Detail weiter unten beschrieben. Damit eine nahtlose Verwendung möglich ist, können weitere Eigenschaften angegeben werden, welche bei Rückgabe definiert sind, diese werden ohne Änderung mit zurückgegeben. Das umfasst die Schlüssel 'to', 'cc', 'bcc', 'is_html', 'subject', 'priority', 'signed' und 'encrypted'.

Ist gzip auf true gesetzt, werden Inhalt und Anhänge mit GZIP komprimiert, ebenfalls wird vorausgesetzt, dass der übergebene EML-Inhalt mit GZIP komprimiert wurde.

Eigenschaften ($mailinfo):

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
string(65535)   $to             An-Addresse(n), wenn diese angegeben sind wird eine Personalisierung der Mail vorgenommen
                                sofern diese den Platzhalter {$personalize} enthält. Default: ''
int             $is_html        Bestimmt ob der Inhalt als HTML oder Text ausgewertet werden soll. 1 für HTML und 0 für 
                                Text. Ein Template, welches keine HTML-Daten enthält kann nicht mit $is_html = 1 ausgewertet 
                                werden und es wird eine Exception geworfen. Default: 0
string          $eml_content    Inhalt einer EML-Datei, Base64-Codiert. Wenn $gzip = true muss $eml_content auch noch mit 
                                GZIP komprimiert sein. Darf nicht angegeben werden, wenn $template_name definiert ist.
string          $template_name  Name eines System-E-Mail-Templates mit EML-Dateien. Darf nicht angegeben werden, wenn 
                                $eml_content definiert ist. Ist ein Zugriff auf das Template aufgrund fehlender Berechtigung 
                                oder fehlender Dateien nicht möglich wird eine Exception geworfen.
bool            $attachments    Bestimmt ob die Inhalte der Anhänge mit zurückgegeben werden sollen. Default: true
int             $salutation     ID der Art der Anrede. Default: 1 (In den meisten System ist das die formelle Anrede)

Eigenschaften (Rückgabe):

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
int             $id             Mail-Id
string(255)     $subject        Betreff
string(255)     $from           Von-Addresse
string(65535)   $to             An-Addresse(n)
string(65535)   $cc             CC-Addresse(n)
string(65535)   $bcc            BCC-Addresse(n)
string(255)     $reply          Reply-Addresse
int             $was_read       Gelesen / Ungelesen
int             $priority       -1, 0, 1 - Low, Normal, High
int             $tstamp         Zuletzt geändert
int             $size           Größe  
int             $date           Datum der E-Mail, häufig Datum des Sendens. Unix-Timestamp
boolean         $is_html        E-Mail wurde in HTML versendet (0 = false, 1 = true)
binary          $body           Klartextinhalt bzw. HTML-Inhalt, Base64-Codiert und GZIP-Komprimiert, wenn $gzip = true
array           $attachments    Array der Anhänge
int             $flag           Zur Nachverfolgung - 0, 1 oder Timestamp
int             $done           Erledigt, 0, 1, oder Timestamp

Eigenschaften ($attachments):

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
string          $name           Name des Anhangs, z.B. picture.jpg 
string          $ctype          Content-Typ des Anhangs, z.B. image/jpeg
string          $cid            Content-Id, für multipart/related content, z.B. Eingebettete Objekte
int             $size           Größe der Anhänge in Byte
binary          $content        Binärer Inhalt der Anhänge, Base64-Codiert und GZIP-Komprimiert, wenn $gzip = true

Beispiel 1:

<?php
 
try {
    $crmapi_emails = crmapi::emails();
 
    $email = $crmapi_emails->getMailByTemplate(array(
        'is_html'     => true,
        'to'          => 'Heinz Heinzen <heinz@clubheinz.club>',
        'subject'     => 'Information an Heinz',
        'eml_content' => base64_encode(file_get_contents('heinz.eml'))
    ));
     
    echo $email['body'];
     
    $crmapi_emails->createNewMail($email);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.31. getMailSource

Syntax:

string getMailSource(int $mail_id, boolean $common = false, boolean $gzip = false)

Beschreibung:

Gibt den kompletten Source-Code der E-Mail zurück. Nützlich, wenn Sie die E-Mail in ein anderes E-Mail-Programm importieren möchten.

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

mail_id ist die ID des Mail-Headers.

Ist common auf true gesetzt, werden Gemeinsame E-Mails zurückgegeben.

Ist gzip auf true gesetzt, wird der Inhalt mit GZIP komprimiert.

Hinweis: Sie können den Inhalt in eine '.eml'-Datei speichern, diese kann z.B. in Outlook Express oder Mozilla Thunderbird geöffnet werden.

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails(); 
    $source			= $crmapi_emails->getMailSource(23988, false, false);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo htmlentities(base64_decode($source));



1.32. importMailSource

Syntax:

boolean importMailSource( int $tree_id, string $source )

Beschreibung:

Importiert Base64-codierten E-Mail-Quellcode zum Ordner mit der entsprechenden tree_id. Nützlich für E-Mail-Import-Tools.

Gibt eine Mail-ID zurück.

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

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $inbox			= $crmapi_emails->getInboxFolder(0);
    $mail_id		= $crmapi_emails->importMailSource($inbox, base64_encode($source));
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $mail_id;



1.33. parseMailSource

Syntax:

array parseMailSource(string $source, boolean $attachments, boolean $gzip = false)

Beschreibung:

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

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

source ist der Base64-codierte Mail-Quellcode. Wenn gzip auf true gesetzt ist, muss der Quellcode GZ-kodiert sein.

Ist attachments auf true gesetzt, werden Anhänge mit ausgegeben.

Ist gzip auf true gesetzt, werden Inhalt und Anhänge mit GZIP komprimiert.

Properties (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 das Datum des Sendens, Unix-Timestamp
boolean         $is_html        E-Mail wurde als HTML gesendet (0 = false, 1 = true)
binary          $text           Klartextinhalt, Base64-Codiert 
binary          $html           HTML-Inhalt, Base64-Codiert 
array           $attachments    Array mit Anhängen

Eigenschaften von $attachments array :

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
string          $name           Name des Anhangs, z.B. picture.jpg 
string          $ctype          Content-Typ 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 Byte
binary          $content        Binärer Inhalt des Anhangs, Base64-Codiert

Beispiel:

<?php
 
try {
	$crmapi_emails	= crmapi::emails();
    $source			= base64_encode(gzencode($source_str));
    $email			= $crmapi_emails->parseMailSource($source, true, true);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
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 $content;



1.34. getMailText

Syntax:

string crmgetMailText( int $mail_id, boolean $common = false, boolean $gzip = false)

Beschreibung:

Gibt nur den Base64-Codierten Klartextteil einer E-Mail zurück.

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

mail_id ist die ID des Mail-Headers.

Ist gzip auf true gesetzt wird der Inhalt GZ-komprimiert.

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $result			= $crmapi_emails->getMailText(24013);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo base64_decode($result);



1.35. sendNotification

Syntax:

void sendNotification( string $to, string $subject, string $body )

Beschreibung:

Sendet eine interne Benachrichtigung. Die Benachrichtigung ist eine Klartextnachricht und grün markiert.

to enthält die E-Mail-Addresse des Empfängers, z.B. info@Beispiel.com.

subject ist der Betreff der Nachricht, kann Sonderzeichen enthalten.

body der Klartextinhalt der Nachricht.

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

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

Beispiel:

<?php
 
$to      = "Michael Smith <info@Beispiel.com>";
$subject = "TestWebservice";
$body    = "This is a Test";
 
try {
    $crmapi_emails	= crmapi::emails();   
    $result			= $crmapi_emails->sendNotification($to, $subject, $body);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.36. sendMail

Syntax:

int sendMail()

Beschreibung:

Versendet alle Nachrichten im Postausgang.

Gibt die Anzahl der versendeten Nachrichten zurück.

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

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $sent			= $crmapi_emails->sendMail();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo "{$sent} Messages was sent.";



1.37. syncImapMail

Syntax:

int crmSyncImapMail()

Beschreibung:

Synchronisiert Imap-Nachrichten.

Gibt die Zahl der Imap-Nachrichten zurück.

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

Beispiel:

<?php
 
try {
	$crmapi_emails	= crmapi::emails();
    $get			= $crmapi_emails->syncImapMail();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo "You have {$get} new IMAP-Messages.";



1.38. receiveMail

Syntax:

int crmReceiveMail(int $account_id = 0)

Beschreibung:

Empfängt Nachrichten von einem POP3-Server.

Wenn account_id auf 0 gesetzt ist werden alle Nachrichten des authentifizierten Nutzers empfangen.

Gibt die Anzahl der empfangenen Nachrichten zurück.

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

Beispiel:

<?php
 
try {
	$crmapi_emails	= crmapi::emails();
	$get			= $crmapi_emails->receiveMail(0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo "You have {$get} new Messages.";



1.39. getERPMailHeaders

Syntax:

array getERPMailHeaders(array $EPRSearch, int $count, int $offset = 0)

Beschreibung:

Gibt ein Array mit Mail-headers für alle Nutzer basierend auf EPRSearch zurück.

count ist die Anzahl an Ergebnissen die zurückgegeben werden sollen, 0 bedeutet kein Limit.

offset ist das Offset von dem Ergebnisse zurückgegeben werden. Wirkungslos wenn count auf 0 gesetzt ist.

Eigenschaften von input EPRSearch array:

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
int             $userid         Userid, wenn auf 0 werden Headers für alle Nutzer zurückgegeben 
string(32)      $article        Artikel-Nr. 
string(32)      $cas            CAS Nr. 
string(32)      $customer       Kunden-Nr. 
string(255)     $notes          Notizen
string(32)      $orderno        Best.-Nr.
string(128)     $ordertype      Bestell-Typ 
string(32)      $supplier       Lieferanten-Nr. 
string(32)      $tracking       Tracking-Nr.

Eigenschaften der zurückgegebenenmail-header array:

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
int             $id             Mail-Id 
int             $userid         Userid
int             $folder         Tree-Id 
string(255)     $uidl           Unique-Id, vom Mailserver gegeben
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 Datums der E-Mail, meistens das 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, inklusive Anhänge
int             $pid            Project-Id, nur mit gemeinsamen Mails verwendet 
int             $cid            Contact-Id, nur mit gemeinsamen Mails verwendet 
int             $konto          IMAP-Account der E-Mail
                                  0 = POP3 
                                > 0 = IMAP-Account-Id
int             $signed         Nachricht ist
                                  0 = unsigniert
                                  1 = signiert
int             $encrypted      Nachricht ist 
                                  0 = nicht verschlüsselt
                                  1 = verschlüsselt
int             $imap           IMAP Nachrichten Nummer vom Mailserver
int             $message        System Nachricht
                                  0 = normal
                                  1 = System
int             $flag           Message 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 Antwortzeit
int             $forwarded      Nachricht wurde Weitergeleitet
                                  0 = nicht weitergeleitet
                                  1 = weitergeleitet
                                > 1 = Unix-Timestamp des Weiterleitens
string(65535)   $forwarded_to   Empfänger an die die Mail weitergeleitet wurde
string(255)     $forwarded_from Sender von dem die Mail weitergeleitet wurde
int             $done           Nachricht wurde als erledigt markiert 
                                  0 = nicht erledigt
                                  1 = erledigt
                                > 1 = Unix-Timestamp wann die Nachricht als erledigt markiert wurde
int             $remember       Benachrichtigung an den Nutzer
                                  0 = nicht benachrichtigen
                                > 0 = Unix-Timestamp der Benachrichtigung
int             $remuser        Userid für die Benachrichtigung, nur genutzt mit gemeinsamen Mails
string(255)     $answered_from  E-Mail-Address von der die Nachricht beantwortet wurde
string(255)     $return_receipt E-Mail-Addresse für Empfangsbestätigung
string(255)     $disposition_notification 
                                E-Mail-Address für 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 Text-Inhalts um die E-Mail mit anderen 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 {
    $crmapi_emails = crmapi::emails();
   
    // Gets all headers for Customer No. 1234567
    $headers = $crmapi_emails->getERPMailHeaders(array('customer' => '1234567'), 0, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($headers as $email) {
    echo $email['userid']." - ".$email['from']." -> ".$email['subject']." -> ".$email['classref']."<br>  \n";
}


Beispiel 2:

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



1.40. getERPMail

Syntax:

array getERPMail(int $userid, int $mail_id, boolean $gzip = false)

Beschreibung:

Gibt ein Array mit einer E-Mail zurück.

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

mail_id ist die ID vom Mail-Header.

userid ist die userid des Mail-Headers und muss gesetzt sein.

Ist gzip auf true gestetzt werden Inhalt und Anhänge mit GZIP komprimiert.

Hinweis: Es werden nur E-Mails mit einer gültigen ERP Reference zurückgegeben.

Eigenschaften von email array:

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           Unix-Timestamp des Datums der E-Mail, meistens das Datum des Sendens
boolean         $is_html        E-Mail wurde in HTML versendet (0 = false, 1 = true)
binary          $text           Klartextinhalt, Base64-Codiert 
binary          $html           HTML-Inhalt, Base64-Codiert
string(255)     $classref       ERP-Reference Identifier
                                Format: customer:supplier:orderno:article:cas_no:tracking:ordertype:notes 
array           $attachments    Array mit Anhängen

Eigenschaften des $attachments array:

Typ(Länge)      Eigenschaft        Beschreibung
-------------------------------------------------------------------
string          $name           Name des Anhangs, z.B. picture.jpg 
string          $ctype          Content-Typ 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 Byte
binary          $content        Binärer Inhalt des Anhangs, Base64-Codiert

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $email			= $crmapi_emails->getERPMail(5, 20142, false);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
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);
}



1.41. addPContact

Syntax:

int addPContact( array $p_contact )

Beschreibung:

Fügt einen persönlichen Kontakt hinzu.

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

Eigenschaften von $p_contact array:

Typ(Länge)      Eigenschaft           Beschreibung
-------------------------------------------------------------------
int             $userid            Userid, 0 bedeutet öffentlicher Kontakt
int             $list              0 => privater Kontakt, 1 => Mailingliste
string(128)     $firstname         Vorname
string(128)     $middlename        2. Vorname
string(128)     $lastname          Nachname
string(128)     $displayname       Name, der in Listen angezeigt wird
string(128)     $nickname          Spitzname
string(128)     $spousename        Name des Ehepartners
string(128)     $childrennames     Name der Kinder
int             $birthday          Unix-Timestamp der Geburtstages
int             $anniversary       Unix-Timestamp des Jahrestages
string(255)     $emailadr1         Erste E-Mail-Addresse 
string(255)     $emailadr2         Zweite E-Mail-Addresse 
string(255)     $emailadr3         Dritte E-Mail-Address 
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         Auto-Telefon-Nummer
string(128)     $phone_radio       Radio Telefon
string(128)     $phone_company     Haupt-Telefonnummer 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     Postleitzahl 
string(128)     $home_country      Land 
string(128)     $home_website      Private Website 
string(128)     $work_title        Titel auf Arbeit, 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     Postleitzahl 
string(128)     $work_country      Land 
string(255)     $work_website      Offizelle Unternehmenswebsite 
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    Postleitzahl 
string(128)     $other_country     Land 
string(128)     $suffix            Suffix des Kontakts
string(128)     $managername       Managername
string(128)     $assistantname     Assistantenname
string(128)     $customer_id       Kundennummer
string(128)     $gov_id            Regierungsnr. 
string(128)     $accountname       Accountname 
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           Kontaktbild-Daten - Base64-Codiert

Beispiel:

<?php
 
try {
	$crmapi_emails	= crmapi::emails();
	$contact		= array(
		'firstname' => 'API',
		'lastname'	=> 'Test',
		'emailadr1'	=> 'test@api.com'
	);
 
    $pid = $crmapi_emails->addPContact($contact);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $pid;



1.42. getPContacts

Syntax:

array getPContacts(string $search, int $timestamp, int $count, int $offset = 0)

Beschreibung:

Gibt ein Array mit einem Kontakt aus dem persönlichen Adressbuch des aktuellen Benutzers zurück.

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

search ist ein freier Suchstring mit dem in firstname oder lastname oder displayname oder nickname oder emailadr1 oder emailadr2 oder work_organisation gesucht wird

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

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

offset ist das Offset von dem Ergebnisse zurückgegeben werden, ohne Wirkung wenn count auf 0 gesetzt ist.

Eigenschaften der zurückgegebenen contact array:

Typ(Länge)      Eigenschaft            Beschreibung
-------------------------------------------------------------------
int             $id                Contact Id 
int             $userid            Userid, 0 bedeutet öffentlicher Kontakt
int             $list              0 => privater Kontakt, 1 => Mailingliste
string(128)     $firstname         Vorname
string(128)     $middlename        2. Vorname
string(128)     $lastname          Nachname
string(128)     $displayname       Name, der in Listen angezeigt wird 
string(128)     $nickname          Spitzname
string(128)     $spousename        Name des Ehepartners
string(128)     $childrennames     Name(n) der Kinder
int             $birthday          Unix-Timestamp des Geburtstages
int             $anniversary       Unix-Timestamp des Jahrestages
string(255)     $emailadr1         Erste E-Mail-Addresse 
string(255)     $emailadr2         Zweite E-Mail-Addresse 
string(255)     $emailadr3         Dritte E-Mail-Address 
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         Auto-Telefon-Nummer
string(128)     $phone_radio       Radio Telefon
string(128)     $phone_company     Haupt-Telefonnummer 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     Postleitzahl 
string(128)     $home_country      Land 
string(128)     $home_website      Private Website 
string(128)     $work_title        Titel auf Arbeit, 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     Postleitzahl 
string(128)     $work_country      Land 
string(255)     $work_website      Offizelle Unternehmenswebsite 
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    Postleitzahl 
string(128)     $other_country     Land 
string(128)     $suffix            Suffix des Kontakts
string(128)     $managername       Managername
string(128)     $assistantname     Assistantenname
string(128)     $customer_id       Kundennummer
string(128)     $gov_id            Regierungsnr. 
string(128)     $accountname       Accountname 
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           Kontaktbild-Daten - Base64-Codiert
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 {
    $crmapi_emails	= crmapi::emails();
    $result			= $crmapi_emails->getPContacts('friebel', 0, 0, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $pcontact) {
    echo $pcontact['displayname']." ".$pcontact['emailadr1']."<br>";
}



1.43. getPContact

Syntax:

array getPContact( int $pcontact_id )

Beschreibung:

Gibt ein Array mit einem Kontakt vom persönlichen Addressbuch des authentifizierten Nutzers zurück.

pcontact_id ist die ID des privaten Kontakts.

Eigenschaften der zurückgegebenen contact array:

sind die selben wie für getPContacts

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $pcontact		= $crmapi_emails->getPContact(1234);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $pcontact['displayname']." ".$pcontact['emailadr1']."<br>";



1.44. getPContactList

Syntax:

array getPContactList(string $search, int $timestamp, int $count, int $offset = 0)

Beschreibung:

Gibt ein Array mit Kontakten vom persönlichen Addressbuch des authentifizierten Nutzers zurück.

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

search ist ein freier Suchstring mit dem in firstname oder lastname oder displayname oder nickname oder emailadr1 oder emailadr2 oder work_organisation gesucht wird

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

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

offset ist das Offset von dem Ergebnisse zurückgegeben werden, ohne Wirkung wenn count auf 0 gesetzt ist.

Eigenschaften der zurückgegebenen contact list array:

Typ(Länge)      Eigenschaft            Beschreibung
-------------------------------------------------------------------
int             $id                Contact Id 
int             $chgtime           Unix-Timestamp der letzten Änderung
int             $seen              1: Der Kontakt wurde gesehen.

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $result			= $crmapi_emails->getPContactList('friebel', 0, 0, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $pcontact) {
    echo $pcontact['id']." ".$pcontact['chgtime']." ".$pcontact['seen']."<br>  ";
}



1.45. getPContactIds

Syntax:

array getPContactIds(string $search, int $timestamp, int $count, int $offset = 0)

Beschreibung:

Gibt ein Array mit contact ids vom persönlichen Addressbuch des authentifizierten Nutzers zurück.

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

search ist ein freier Suchstring nach dem in firstname oder lastname oder displayname oder nickname oder emailadr1 oder emailadr2 oder work_organisation gesucht wird.

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

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

offset ist das Offset von dem Ergebnisse zurückgegeben werden, ohne Wirkung wenn count auf 0 gesetzt ist.

Eigenschaften von contact id array:

Typ(Länge)      Eigenschaft            Beschreibung
-------------------------------------------------------------------
int             $id                 Contact Id 

Beispiel:

<?php
 
try {
    $crmapi_emails = crmapi::emails();
   
    // Get all person contact ids
    $result = $crmapi_emails->getPContactIds(//, 0, 0, 0);//
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $pid) { 
    echo $pid."<br>";
}



1.46. changePContact

Syntax:

int changePContact(int $contact_id, array $pcontact )

Beschreibung:

Ändert einen privaten Kontakt im persönlichen Adressbuch des authentifizierten Nutzers.

Gibt eine contact_id zurück.

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

Eigenschaften von pcontact array:

sind die selben wie für addPContact

Beispiel:

<?php
 
try {
    $crmapi_emails = crmapi::emails();
   
    // Get all person contact ids
    $contact_id = $crmapi_emails->changePContact($pid, array('lastname' => 'API Name Changed'));
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $contact_id;



1.47. deletePContact

Syntax:

void deletePContact( int $contact_id )

Beschreibung:

Löscht einen privaten Kontakt vom persönlichen Adressbuch des authentifizierten Nutzers.

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

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $success		= $crmapi_emails->deletePContact(1234);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.48. deletePContacts

Syntax:

void deletePContacts( array $contact_ids )

Beschreibung:

Löscht einen oder mehrere private Kontakte vom persönlichen Adressbuch des Authentifizierten Nutzers.

$contact_ids ist ein Array mit contact ids.

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

Beispiel:

<?php
 
try {
    $crmapi_emails	= crmapi::emails();
    $success		= $crmapi_emails->deletePContacts( array(1234, 1235, 1236, 1237) );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 



1.49. getPContactIdByExtId

(Version >= 4.2)

Syntax:

array getPContactIdByExtId( string $external_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.

Eigenschaften des zurückgegebenen pcontact ids array:

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

Beispiel:

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



1.50. getAllPContactExtIds

(Version >= 4.2)

Syntax:

array getAllPContactExtIds()

Beschreibung

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

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

Eigenschaften des zurückgegebenen pcontact ids array:

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

Beispiel:

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



1.51. addPContactAddrs

Syntax:

void addPContactAddrs( array $pcontact_addrs )

Beschreibung:

Fügt Address-Ids zu einer Mailingliste hinzu

$pcontact_addrs ist ein Array mit der Adresse.

Gibt 1 zurück

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

Eigenschaften von $pcontact_addrs array:

Typ(Länge)      Eigenschaft                   Beschreibung
-----------------------------------------------------------------------------------
array           $pcontact_addr             array mit PContactAddrs

Eigenschaften von $pcontact_addr array:

Typ(Länge)      Eigenschaft                   Beschreibung
-----------------------------------------------------------------------------------
int             $mid                       Mailinglisten 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
 
// Add addresses to mailing list with id 300
$pcontact_addrs = array(
	array('mid' => 300, 'cid' => 5149),
	array('mid' => 300, 'pid' => 5887),    
	array('mid' => 300, 'pid' => 5888),    
	array('mid' => 300, 'pid' => 5886)
);
 
try {
	$crmapi_emails	= crmapi::emails();
    $success		= $crmapi_emails->addPContactAddrs($pcontact_addrs);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.52. getPContactAddrs

Syntax:

array getPContactAddrs( int $contact_id, int $timestamp )

Beschreibung:

Holt die Adresse für eine bestimmte Mailing-Liste.

contact_id ist die ID des privaten Kontakts ( ID der mailing list), ist sie auf 0 gesetzt werden Adressen aller Mailinglisten zurückgegeben.

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

Gibt ein address-Array zurück.

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

Eigenschaften von address array:

Typ(Länge)      Eigenschaft            Beschreibung
--------------------------------------------------------------------------
int             $id                address 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 :

<?php
 
try {
	$crmapi_emails	= crmapi::emails();
    $result			= $crmapi_emails->getPContactAddrs(300, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
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/>";
}



1.53. delPContactAddrs

Syntax:

void delPContactAddrs( int $mid, int $id )

Beschreibung:

Löscht eine oder mehrere Address-Id(s) von der angegebenen Mailingliste.

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

id ist die address id.

Wenn mid gesetzt ist und id 0 ist, werden alle Addressen dieser Mailinglist gelöscht.

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

Beispiel:

<?php
 
try {
	$crmapi_emails = crmapi::emails();
   
    // Deletes all addresses from mailing list with id 300
    $success = $crmapi_emails->delPContactAddrs(300, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.54. setSpam

Syntax:

void setSpam( array $mail_ids )

Beschreibung:

Setzt das Spam-Flag bei den Mails mit den angegebenen mail ids und verschiebt die E-Mails in den Spam-Ordner.

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

Beispiel:

<?php
 
try {
	$crmapi_emails	= crmapi::emails();
    $success		= $crmapi_emails->setSpam( array(24173, 24170) );
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.55. setNotSpam

Syntax:

void setNotSpam( array $mail_ids )

Beschreibung:

Markiert die E-Mails mit den angegebenen mail ids als Nicht-Spam und verschiebt sie in den Posteingang.

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

Beispiel:

<?php
 
try {
	$crmapi_emails	= crmapi::emails();   
	$success		= $crmapi_emails->setNotSpam( array(24173, 24170) );
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.56. moveToUser

Syntax:

void moveToUser(array $mail_ids, array $user_ids, boolean $common = false, boolean $notify = false)

Beschreibung:

Verschiebt die ausgewählten E-Mails zu den angegebenen Nutzer(n)

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

mail_ids ist ein Array mit mail_ids.

user_ids ist ein Array mit user_ids.

Wenn common auf true gesetzt ist, werden Emails von Kontakten, Projekten oder Tickets zum Nutzer verschoben

Wenn notify auf true gesetzt ist, wird eine Empfangsbestätigung angefordert

Beispiel:

<?php
 
$mail_ids = array(24173,24170);
$user_ids = array(28);
 
try {
	$crmapi_emails	= crmapi::emails();   
	$success		= $crmapi_emails->moveToUser($mail_ids, $user_ids, true);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.57. copyToUser

Syntax:

void copyToUser(array $mail_ids, array $user_ids, boolean $common = false, boolean $notify = false)

Beschreibung:

Ausgewählte E-Mails zum Nutzer kopieren/weiterleiten.

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

mail_ids ist ein Array mit mail_ids.

user_ids ist ein Array mit user_ids.

Wenn common auf true gesetzt ist, werden Emails von Kontakten, Projekten oder Tickets zum Nutzer kopiert.

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

Beispiel:

<?php
 
$mail_ids = array(24173,24170);
$user_ids = array(28,29,30);
 
try {
	$crmapi_emails	= crmapi::emails();   
	$success		= $crmapi_emails->copyToUser($mail_ids, $user_ids, true);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.58. moveToContact

Syntax:

void moveToContact( array $mail_ids, int $cid, boolean $common = false)

Beschreibung:

Verschiebt die ausgewählten E-Mails zum gewählten Kontakt.

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

mail_ids ist ein Array mit mail_ids.

cid ist die contact-id.

Wenn common auf true gesetzt ist, werden Emails von Kontakten, Projekten oder Tickets zum Kontakt kopiert.

Beispiel:

<?php
 
$mail_ids = array(24173,24170,25344);
 
try {
	$crmapi_emails	= crmapi::emails();   
	$success		= $crmapi_emails->moveToContact($mail_ids, 344, false);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.59. copyToContact

Syntax:

void copyToContact( array $mail_ids, int $cid, boolean $common = false)

Beschreibung:

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

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

mail_ids ist ein Array mit mail_ids.

cid ist die contact-id.

Wenn common auf true gesetzt ist, werden Emails von Kontakten, Projekten oder Tickets zum Kontakt kopiert.

Beispiel:

<?php
 
$mail_ids = array(24173,24170,25344);
 
try {
	$crmapi_emails	= crmapi::emails();   
	$success		= $crmapi_emails->copyToContact($mail_ids, 344, false);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.60. copyToProject

Syntax:

void copyToProject( array $mail_ids, int $pid, boolean $common = false)

Beschreibung:

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

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

mail_ids ist ein Array mit mail_ids.

pid ist die Projekt-ID.

Wenn common auf true gesetzt ist, werden Emails von Kontakten, Projekten oder Tickets zum Projekt kopiert.

Beispiel:

<?php
 
$mail_ids = array(24173,24170,25344);
 
try {
	$crmapi_emails	= crmapi::emails();   
	$success		= $crmapi_emails->copyToProject($mail_ids, 1, false);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.61. moveToProject

Syntax:

void moveToProject(array $mail_ids, int $pid, boolean $common = false)

Beschreibung:

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

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

mail_ids ist ein Array mit mail_ids.

pid ist die Projekt-ID.

Wenn common auf true gesetzt ist, werden Emails von Kontakten, Projekten oder Tickets zum Projekt kopiert.

Beispiel:

<?php
 
$mail_ids = array(24173,24170,25344);
 
try {
	$crmapi_emails	= crmapi::emails();   
	$success		= $crmapi_emails->moveToProject($mail_ids, 1, false);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.62. copyToTicket

Syntax:

void copyToTicket( array $mail_ids, int $tid, boolean $common )

Beschreibung:

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

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

mail_ids ist ein Array mit mail_ids.

tid ist die Ticket-ID.

Wenn common auf true gesetzt ist, werden Emails von Kontakten, Projekten oder Tickets zum Ticket kopiert.

Beispiel:

<?php
 
$mail_ids = array(24173,24170,25344);
 
try {
	$crmapi_emails	= crmapi::emails();   
	$success		= $crmapi_emails->copyToTicket($mail_ids, 1, false);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.63. moveToTicket

Syntax:

void moveToTicket(array $mail_ids, int $tid, boolean $common = false)

Beschreibung:

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

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

mail_ids ist ein Array mit mail_ids.

tid ist die Ticket-ID.

Wenn common auf true gesetzt ist, werden Emails von Kontakten, Projekten oder Tickets zum Ticket kopiert.

Beispiel:

<?php
 
$mail_ids = array(24173,24170,25344);
 
try {
	$crmapi_emails	= crmapi::emails();   
	$success		= $crmapi_emails->moveToTicket($mail_ids, 1, false);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.64. deleteMails

Syntax:

boolean deleteMails(array $mail_ids, boolean $common = false)

Beschreibung:

Verschiebt ausgewählte E-Mails in den Papierkorb.

mail_ids ist ein Array mit den mail_ids für E-Mails die gelöscht/zum Papierkorb verschoben werden sollen.

Alle mail_ids müssen aus dem selben Ordner stammen.

Wenn common auf true gesetzt ist werden gemeinsame Emails von Kontakten, Projekten oder Tickets zum Papierkorb verschoben.

Beispiel:

<?php
 
$mailids = array(24173,24170,25344);
 
try {
	$crmapi_emails	= crmapi::emails();   
	$success		= $crmapi_emails->deleteMails($mailids, false);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.65. emptyTrash

Syntax:

void emptyTrash()

Beschreibung:

Leert den Papierkorb und löscht alle Unterordner darin.

Beispiel:

<?php
 
try {
	$crmapi_emails	= crmapi::emails();   
	$success		= $crmapi_emails->emptyTrash();
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.66. getPermissions

(Version >= 4.5.17365)

Syntax:

array getPermissions( 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.

Wirft eine CRMException im Fehlerfall.

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 {
	$crmapi_emails	= crmapi::emails(); 
	$permissions	= $crmapi_emails->getPermissions( array(15, 20, 100) );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
print_r($permissions);



1.67. setPermissions

(Version >= 4.5.17365)

Syntax:

array setPermissions( array $objects_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.

Wirft eine CRMException im Fehlerfall.

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 {
	$crmapi_emails	= crmapi::emails(); 
	$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)
			)
		)
	);
 
    $crmapi_emails->setPermissions($permissions);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
  • No labels