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

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

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

1. Aufruf URL

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

e.g. https://test.tecart-system.de/rest/index.php/calls

2. Klasse

crmcalls

3. Methoden

3.1. crmgetCall

(Version >= 3.4.5359)

Syntax:

object crmgetCall( array(string $session_id, int $call_id) )

Beschreibung:

Gibt ein Call-Objekt anhand von $call_id zurück.

Eigenschaften der zurückgegebenen Call Objekt:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
int                     $id                       Call-Id
int                     $ext_id                   Externe ID ( ab Version 4.2 )
string(255)             $cid                      Contact-Id (Format: Contact-Id:Person-Id;Contact-Id2:Person-Id2;...) 
string(255)             $name                     Kontakt-Name 
int                     $time                     Anrufzeit (Unix-Timestamp)
string(255)             $subject                  Gegenstand des Anrufs
binary                  $body                     Text des Anrufs
string(255)             $userid                   Userids (Format: User-Id1:User-Id2
int                     $chguser                  Userid der letzten Änderung
int                     $chgtime                  Unix-Timestamp der letzten Änderung
int                     $pid                      Project-Id 
int                     $ticket_id                Ticket-Id ( ab Version >= 4.1 )
int                     $orderid                  Auftrag-Id ( ab Version 4.2 )
int                     $duration                 Anrufdauer in Sekunden
int                     $done                     0 für "Anruf nicht erledigt", 1 für "Anruf erledigt"  
int                     $io                       0 für eingehende Anrufe, 1 für ausgehende Anrufe
string(128)             $lnumber                  Interne Telefonnummer
string(128)             $rnumber                  Externe Telefonnummer
string(128)             $city                     Standort der externen Telefonnummer
double                  $costs                    Anrufkosten in der gegebenen $currency
string(3)               $currency                 Währung der Anrufkosten
int                     $createuser               Userid der Anruferstellung
int                     $createtime               Unix-Timestamp der Anruferstellung
string(255)             $category                 Kategorien, Format: Category1; Category2; ... 
double                  $obligingness             Kulanz
int                     $rem                      Wiedervorlage (1: Erinnerung an den Anruf, and 0: keine Erinnerung)
int                     $remtime                  Unix-Timestamp der Anruf- Wiedervorlage
int                     $private                  Privater Anruf (1: der Anruf ist privat, 0: Anruf ist öffentlich) 
array                   $call_contacts            Array von "call_contacts"
array                   $call_projects            Array von "call_projects"  (Version >= 3.4.5359)

Eigenschaften von Array call_contacts:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $cid                      Contact Id ( Format: Cid:Pid )
int                     $ext_id                   Externe ID ( ab Version 4.2 )
string(128)             $firstname                Vorname
string(128)             $lastname                 Nachname
string(128)             $displayname              Name, der in Listen erscheint
string(128)             $nickname                 Spitzname 
string(255)             $emailadr1                Erste E-Mail-Addresse
string(255)             $emailadr2                Zweite E-Mail-Addresse 
int                     $email_format             Bevorzugtes E-Mail-Format 
                                                  0 = Text
                                                  1 = HTML
string(128)             $screen_name              Screen Name, z.B. Messenger-Account 
string(128)             $phone_work               Telefonnummer Geschäftlich
string(128)             $phone_home               Telefonnummer Privat 
string(128)             $phone_fax                Faxnummer Arbeit
string(128)             $phone_pager              Pager Nummer 
string(128)             $phone_mobil              Mobilnummer
string(128)             $home_address1            Adresszeile privat 1 
string(128)             $home_address2            Adresszeile privat 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             Persönliche Website 
string(128)             $work_title               Titel, z.B. CEO 
string(128)             $work_department          Abteilung
string(128)             $work_organisation        Organisations- oder Firmenname  
string(128)             $work_address1            Adresszeile geschöftlich 1 
string(128)             $work_address2            Adresszeile geschöftlich 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             Offizielle Firmen-Website 
string(255)             $custom1                  Benutzerdefiniertes Feld 1 
string(255)             $custom2                  Benutzerdefiniertes Feld 2 
string(255)             $custom3                  Benutzerdefiniertes Feld 3 
string(255)             $custom4                  Benutzerdefiniertes Feld 4 
string(65535)           $notes                    Notizen
string                  $picture                  Kontakt-Bild-Daten - Base64-kodiert
int                     $chguser                  Userid der letzten Änderung
int                     $chgtime                  Unix-Timestamp der letzten Änderung
int                     $createuser               Userid der Erstellung
int                     $createtime               Unix-Timestamp der Erstellung

Eigenschaften von $call_projects array:

Type(Length)      Eigenschaft             Beschreibung
-------------------------------------------------------------------
int               $pid                 Project-Id 
int               $ext_id              Externe ID ( ab Version 4.2 )
string(255)       $name                Projektname 
string(50)        $number              Projektnummer 
string(255)       $url                 URL des Projekts (Website) 
int               $start               Startdatum & Zeit als Unix-Timestamp 
int               $stop                Stopdatum & Zeit als Unix-Timestamp 
int               $done                Fertigstellung in Prozent
double            $budget              Projektbudget
string(65535)     $notes               Projektnotizen
int               $leader              Projektleiter Userid  
int               $substitute          Stellv. Projektleiter Userid 
string(65535)     $shortnotes          Projekt Kurzbeschreibung
int               $invoice             Rechnung erstellt? Mögliche Werte: 0, 1
int               $priority            Priorität, Mögliche Werte: -1 = niedrig, 0 = normal, 1 = hoch
string(255)       $category            Projektkategorien, Format: Category1:Category2:... 
int               $chguser             Userid der letzten Änderung
int               $chgtime             Unix-Timestamp der letzten Änderung 
int               $createuser          Userid der Erstellung
int               $createtime          Unix-Timestamp der Erstellung
string(255)       $user19              Benutzerdefiniertes Feld Nr. 19
string(255)       $user20              Benutzerdefiniertes Feld Nr. 20
   :                  :                           :
string(255)       $user80              Benutzerdefiniertes Feld Nr. 80 

Beispiel:

<?php
 
try {
	//Get all Calls for 21.05.2011:
	$params = array(
		'session_id'	=> $session_id,
		'userid'		=> 0,
		'day'			=> 21,
		'month'			=> 5,
		'year'			=> 2011
	);
 
	$result = $calls->crmgetCalls($params);
 
	foreach($result as $call_obj) {
 
		$call = get_object_vars($call_obj);
 
		foreach($call as $key => $val) {
			echo "$key => $val<br>\n";
			if (is_array($val)) {
				echo serialize($val);
			}
		}
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.2. crmaddCall

Syntax:

int crmaddCall( array(string $session_id, array $crmCallItem) )

Beschreibung:

Fügt einen Anruf hinzu.

Gibt die call_id bei Erfolg zurück.

crmCallItem ist ein assoziatives Array.

Um Kontakte zuzuweisen, müssen Sie die Contact-IDs oder einige Eigenschaften des Kontakts aus 'call_contacts' angeben, das System erledigt den Rest.

Eigenschaften von crmCallItem:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $cid                      Contact-Id (Format: Contact-Id:Person-Id;Contact-Id2:Person-Id2;...) 
string(255)             $name                     Contact-Name 
int                     $time                     Anrufzeit (Unix-Timestamp)
string(255)             $subject                  Betreff des Anrufs
binary                  $body                     Text des Anrufs
string(255)             $userid                   Userids (Format: User-Id1:User-Id2), -1 for NO userid
int                     $pid                      Project-Id 
int                     $ticket_id                Ticket-Id (ab Version >= 4.1)
int                     $orderid                  Auftrag-Id ( ab Version 4.2 )
int                     $ext_id                   Externe ID (ab Version 4.2)
int                     $duration                 Gesprächsdauer in Sekunden
int                     $done                     0 für "Anruf nicht erledigt", 1 für "Anruf erledigt"  
int                     $io                       0 für eingehenden Anruf, 1 für ausgehenden Anruf
string(128)             $lnumber                  Interne Telefonnummer
string(128)             $rnumber                  Externe Telefonnummer
string(128)             $city                     Standord der externen Telefonnummer
double                  $costs                    Anrufkosten in der gegebenen $currency 
string(3)               $currency                 Währung der Anrufkosten
string(255)             $category                 Kategorien, Format: Category1; Category2; ... 
double                  $obligingness             Kulanz
int                     $rem                      Wiedervorlage (1: wenn Sie eine Erinnerung möchten und 0 wenn nicht)
int                     $remtime                  Unix-Timestamp für die Erinnerung
int                     $private                  Privater Anruf (1: Anruf ist privat, and 0: Anruf ist öffentlich) (Version >= 3.2.2970)
array                   $call_contacts            Array von 'call_contacts'

Eigenschaften von Arraycall_contacts:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $cid                      Contact Id ( Format: Cid:Pid )
int                     $ext_id                   Externe ID ( ab Version 4.2 )
string(128)             $firstname                Vorname
string(128)             $lastname                 Nachname
string(128)             $displayname              Name, der in Listen erscheint 
string(128)             $nickname                 Spitzname 
string(255)             $emailadr1                Erste E-Mail-Addresse
string(255)             $emailadr2                Zweite E-Mail-Addresse 
int                     $email_format             Bevorzugtes E-Mail-Format 
                                                  0 = Text
                                                  1 = HTML
string(128)             $screen_name              Screen Name, z.B. Messenger-Account 
string(128)             $phone_work               Telefonnummer Geschäftlich 
string(128)             $phone_home               Telefonnummer Privat 
string(128)             $phone_fax                Faxnummer Arbeit
string(128)             $phone_pager              Pager Nummer 
string(128)             $phone_mobil              Mobilnummer
string(128)             $home_address1            Adresszeile privat 1 
string(128)             $home_address2            Adresszeile privat 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             Persönliche Website 
string(128)             $work_title               Titel auf Arbeit, z.B. CEO 
string(128)             $work_department          Abteilung
string(128)             $work_organisation        Organisations- oder Firmenname  
string(128)             $work_address1            Adresszeile Arbeit 1 
string(128)             $work_address2            Adresszeile Arbeit 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             Offizielle Firmen-Website 
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

Beispiel:

<?php
 
try {
	$call = array(
		'cid'		=> 0,
		'time'		=> time(),
		'name'		=> "",
		'subject'	=> "just a Test",
		'body'		=> "Test body",
		'userid'	=> "4",
		'pid'		=> "",
		'duration'	=> 100,
		'done'		=> 1,
		'lnumber'	=> "036155656",
		'rnumber'	=> "766333134",
		'city'		=> "Erfurt",
		'costs'		=> 12.77,
		'currency'	=> "EUR",
		'category'	=> "",
		'io'		=> 1,
		'contacts'	=> array(
			array(
				'firstname'		=> 'Axel',
				'lastname'		=> 'Friedrich',
				'emailadr1'		=> 'axel.friedrich@dont-spam-me.de'
			),
			array(
				'firstname'		=> 'Thomas',
				'lastname'		=> 'Fischer'
			)
		)
	);
 
	include_once 'crm_rest_api.php';
 
	/* @var $calls crmcalls */
	$calls		= new crm_rest_api("http://hostname/dirname/rest/index/calls");
	$call_id	= $calls->crmaddCall(
		array(
			'session_id'	=> $session_id,
			'crmCallItem'	=> $call
		)
	);
 
	echo $call_id."<br>\n";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.3. crmchangeCall

Syntax:

int crmchangeCall( array(string $session_id, int $call_id, array $crmCallItem) )

Beschreibung:

Ändert Eigenschaften eines vorhandenen Anrufs.

Liefert die call_id bei Erfolg.

crmCallItem ist ein assoziatives Array.

Eigenschaften von ArraycrmCallItem:

sind die selben wie für crmaddCall

Beispiel:

<?php
 
try {
	//Change Call with ID 9228:
 
	$call	= array('subject' => utf8_encode('changed test call'));
	$params	= array(
		'session_id'	=> $session_id,
		'call_id'		=> 9228,
		'crmCallItem'	=> $call
	);
 
	$call_id = $calls->crmchangeCall($params);
 
	echo $call_id."<br>\n";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.4. crmdeleteCall

Syntax:

int crmdeleteCall( array( string $session_id, int $call_id) )

Beschreibung:

Löscht einen Anruf. Liefert 1 bei Erfolg.

Beispiel:

<?php
 
try {
	$success = $calls->crmdeleteCall(
		array(
			'session_id'	=> $session_id,
			'call_id'		=> $call_id
		)
	);
	if ($success == 1) {
		echo "Call successfully deleted.";
	}
}
catch (Exception $e) {
	echo 'Exception catched: ' .$e->getMessage(). "\n";
}



3.5. crmgetCallIds

Syntax:

array crmgetCallIds( array( string $session_id, int $userid, int $timestamp) )

Beschreibung:

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

Wenn userid gegeben ist, werden Anrufe für den User nur zurückgegeben, wenn der authentifizierte Benutzer Leseberechtigungen hat. Wenn userid auf 0 gesetzt wird, werden alle Anrufe für den authentifizierten Nutzer zurückgegeben.

Eigenschaften der zurückgegebenen Arraycall IDs:

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

Beispiel:

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



3.6. crmgetCalls

Syntax:

array crmgetCalls( array(string $session_id, int $userid, int $day, int $month, int $year) )

Beschreibung:

Gibt ein Array mit call Objekten zurück.

Wenn userid gegeben ist, werden die Anrufe dieses Benutzers nur zurückgegeben, wenn der authentifizierte Benutzer die entsprechenden Berechtigungen zum Lesen hat. Wenn userid auf 0 gesetzt ist, werden die Anrufe des authentifizierten Benutzer zurückgegeben.

Wenn day gesetzt ist, werden nur Anrufe von diesem Tag zurückgegeben. Setzen Sie ihn auf 0, um alle Tage zu bekommen.

Wenn month gesetzt ist, werden nur Anrufe von diesem Monat zurückgegeben. Setzen Sie ihn auf 0, um alle Monate zu bekommen.

Wenn year gesetzt ist, werden nur Anrufe von diesem Jahr zurückgegeben. Setzen Sie ihn auf 0, um alle Jahr zu bekommen.

Eigenschaften der zurückgegebenen call Objekte:

sind die selben wie für crmgetCall

Beispiel:

<?php
 
try {
	//Get all Calls for 21.05.2011:
	$params = array(
		'session_id'	=> $session_id,
		'userid'		=> 0,
		'day'			=> 21,
		'month'			=> 5,
		'year'			=> 2011
	);
 
	$result = $calls->crmgetCalls($params);
 
	foreach($result as $call_obj) {
 
		$call = get_object_vars($call_obj);
 
		foreach($call as $key => $val) {
			echo "$key => $val<br>\n";
			if (is_array($val)) {
				echo serialize($val);
			}
		}
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}


3.7. crmgetCallsFrom

Syntax:

array crmgetCallsFrom( array( string $session_id, int $userid, int $day, int $month, int $year) )

Beschreibung:

Gibt ein Array mit call Objekten vom gegebenen Datum an zurück.

Wenn userid gegeben ist, werden Anrufe für den User nur zurückgegeben, wenn der authentifizierte Benutzer Leseberechtigungen hat. Wenn userid auf 0 gesetzt wird, werden alle Anrufe für den authentifizierten Nutzer zurückgegeben.

Wenn day gesetzt ist werden nur Anrufe von diesem Tag zurückgegeben. Auf 0 gesetzt werden alle Tage zurückgegeben.

Wenn month gesetzt ist werden nur Anrufe von diesem Monat zurückgegeben. Auf 0 gesetzt werden alle Monate zurückgegeben.

Wenn year gesetzt ist werden nur Anrufe von diesem Jahr zurückgegeben. Auf 0 gesetzt werden alle Jahre zurückgegeben.

Eigenschaften der zurückgegebenen call Objekte:

sind die selben wie für crmgetcalls

Beispiel:

<?php
 
try {
	//Get all Calls later then 21.02.2011:
	$params = array(
		'session_id'	=> $session_id,
		'userid'		=> 0,
		'day'			=> 21,
		'month'			=> 2,
		'year'			=> 2011
	);
 
	$result = $calls->crmgetCallsFrom($params);
 
	foreach($result as $call_obj) {
 
		$call = get_object_vars($call_obj);
 
		foreach($call as $key => $val) {
			echo "$key => $val<br>\n";
			if (is_array($val)) {
				echo serialize($val);
			}
		}
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.8. crmgetChangedCalls

Syntax:

array crmgetChangedCalls( array( string $session_id, int $userid, int $timestamp) )

Beschreibung:

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

Wenn userid gegeben ist, werden Anrufe für den User nur zurückgegeben, wenn der authentifizierte Benutzer Leseberechtigungen hat. Wenn userid auf 0 gesetzt wird, werden alle Anrufe für den authentifizierten Nutzer zurückgegeben.

Eigenschaften von returned call Objekte:

sind die selben wie für crmgetCalls

Beispiel:

<?php
 
try {
	//Get Calls modified in the last 30 days:
	$params = array(
		'session_id'	=> $session_id,
		'userid'		=> 0,
		'timestamp'		=> time() - 60 * 60 * 24 * 30
	);
 
	$result = $calls->crmgetChangedCalls($params);
 
	foreach($result as $call_obj) {
 
		$call = get_object_vars($call_obj);
 
		foreach($call as $key => $val) {
			echo "$key => $val<br>\n";
			if (is_array($val)) {
				echo serialize($val);
			}
		}
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.9. crmgetChangedCallsLimit

Syntax:

array crmgetChangedCallsLimit( array( string $session_id, int $userid, int $timestamp, int $count, int $offset) )

Beschreibung:

Gibt ein Array mit call Objekten zurück, die seit timestamp geändert wurden, limitiert von $count und $offset.

Wenn userid gegeben ist, werden Anrufe für den User nur zurückgegeben, wenn der authentifizierte Benutzer Leseberechtigungen hat. Wenn userid auf 0 gesetzt wird, werden alle Anrufe für den authentifizierten Nutzer zurückgegeben.

Eigenschaften von returned call Objekte:

sind die selben wie für crmgetCalls

Beispiel:

<?php
 
try {
	//Get the 5 last calls modified in the last 30 days:
	$params = array(
		'session_id'	=> $session_id,
		'userid'		=> 0,
		'timestamp'		=> time() - 60 * 60 * 24 * 30,
		'count'			=> 5,
		'offset'		=> 0
	);
 
	$result = $calls->crmgetChangedCallsLimit($params);
 
	foreach($result as $call_obj) {
 
		$call = get_object_vars($call_obj);
 
		foreach($call as $key => $val) {
			echo "$key => $val<br>\n";
			if (is_array($val)) {
				echo serialize($val);
			}
		}
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.10. crmgetIdByExtId

(Version >= 4.2)

Syntax:

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

Beschreibung

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

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

Beispiel:

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



3.11. crmgetAllExtIds

(Version >= 4.2)

Syntax:

array crmgetAllExtIds( array ( string $session_id ) )

Beschreibung

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

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

Beispiel:

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



3.12. crmgetPermissions

(Version >= 4.5.17365)

Syntax:

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

Beschreibung:

Gibt ein assoziatives $objects_permissions array mit den Berechtigungen für die Anrufe mit den gegebenen $call_ids zurück.

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

Eigenschaften von $objects_permissions array:

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

Eigenschaften von $permissions array:

Type(Length)	   Key                  Value       
-------------------------------------------------------------------------------
array		   user_perm            Array mit $user_permission arrays
array		   group_perm           Array mit $group_permission arrays

Eigenschaften von $user_permission array:

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

Eigenschaften von $group_permission array:

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

Beispiel:

<?php
 
try {
	include_once 'crm_rest_api.php';
    $rest_url    = 'https://<hostname>/<dirname>/rest/index.php/calls';
    $session_id  = session_id();
    $calls       = new crm_rest_api($rest_url);
 
    $params      = array('session_id' => $session_id, 'call_ids' => array(15, 20, 100));
    $permissions = $calls->crmgetPermissions($params);
 
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo '<pre>'.print_r($permissions, true).'</pre>';



3.13. crmsetPermissions

(Version >= 4.5.17365)

Syntax:

array | string <err_msg> crmsetPermissions( array $objects_permissions ) 

Beschreibung:

Setzt die Berechtigungen für mehrere Anrufe

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

Eigenschaften von $objects_permissions array:

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

Eigenschaften von $permissions array:

Type(Length)	   Key                  Value       
-------------------------------------------------------------------------------
array		   users                Array mit $user_permission arrays
array		   groups               Array mit $group_permission arrays

Eigenschaften von $user_permission array:

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

Eigenschaften von $group_permission array:

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

Beispiel:

<?php
 
try {
	include_once 'crm_rest_api.php';
    $rest_url    = 'https://<hostname>/<dirname>/rest/index.php/calls';
    $session_id  = session_id();
    $calls       = new crm_rest_api($rest_url);
 
    $permissions = array(
		81941 => array(
			'users'  => array('56' => array('read' => -1, 'write' => -1, 'delete' => -1)),
			'groups' => array( '4' => array('read' => -1, 'write' => -1, 'delete' => -1))
		),
		79331 => array(
			'groups' => array( '4' => array('read' => -1, 'write' => -1, 'delete' => -1))
		)
	);
 
	$params = array('session_id' => $session_id, 'permissions' => $permissions);

    $calls->crmsetPermissions($params);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
  • No labels