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/offers

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

2. Methoden

2.1. crmaddOffer

Syntax:

int crmaddOffer( array(string $session_id, array $crmOfferItem) )

Beschreibung:

Liefert eine offer_id bei Erfolg zurück.

crmOfferItem ist ein assoziatives Array.

Eigenschaften von crmOfferItem Array:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string(50)              $number                   RealNumber des Angebots 
string(255)             $shortdesc                Kurzbeschreibung des Angebots
string(255)             $cid                      Contact-Id, Format: Contact-Id:Person-Id
string(255)             $category                 Kategorie des Angebots
double                  $amount                   Höhe des Angebots in €
double                  $amount_interval          Intervallhöhe des Angebots in €
int                     $tax                      Steuer des Angebots in Prozent
int                     $tax_eur                  Steuer des Angebots in €
int                     $tax_eur2                 Steuer des Angebots in €
int                     $date                     Unix-Timestamp des Datums
int                     $maturity                 Unix-Timestamp des Fälligkeitsdatums
int                     $maturity_interval        Intervall der Fälligkeit
int                     $pid                      Project-Id
int                     $status                   Status des Angebots
                                                  0 = offen
                                                  1 = angenommen
                                                  2 = abgelehnt
                                                  3 = Losgelöst vom Angebot
                                                  4 = verworfen
int                     $flow_status              Arbeitsschritt des Angebots
                                                  0 = In Bearbeitung
                                                  1 = Erstellt
                                                  2 = Geprüft
                                                  3 = Versendet
                                                  4 = Beantwortet
string(65535)           $notes                    Notizen
int                     $ext_id                   Externe ID
int                     $mandator_id              Mandaten-ID
int                     $client_account_id        Rechnungskonto-ID
int                     $parent                   Elternangebot-ID
int                     $orderid                  Auftrags-ID
int                     $ttid                     Ticket-ID
int                     $is_incoming              Ein-/Ausgehendes Angebot (0 = Ausgehend / 1 = Eingehend)
int                     $autoprice                Preisberechnung (0 = Nein / 1 = Ja)

string(255)             $user13                   Benutzerdefiniertes Feld Nr. 13
string(255)             $user14                   Benutzerdefiniertes Feld Nr. 14
   :                       :                                   :
string(255)             $user80                   Benutzerdefiniertes Feld Nr. 80

Beispiel:

<?php
 
try { 
	$offer = array();
	$offer['shortdesc']			= 'Webservice Development';
	$offer['amount']			= 899.50;
	$offer['amount_interval']	= 89.95;
	$offer['tax']				= 19;
	$offer['date']				= 1203030000;
	$offer['maturity']			= 1203807600;
	$offer['notes']				= 'test';
	$offer['status']			= 1;
	$offer['user13']			= 'xxx';
	$offer['user14']			= 'yyy';
	$offer['pid']				= 360;
	$offer['cid']				= '5485:5336';
 
	include_once 'crm_rest_api.php';
 
	$offers		= new crm_rest_api("http://hostname/dirname/rest/index.php/offers");
 	$offer_id	= $offers->crmaddOffer(
		array(
			'session_id'		=> $session_id,
			'crmOfferItem'		=> $offer
		)
	);
 
	echo $offer_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.2. crmchangeOffer

Syntax:

int crmchangeOffer ( string $session_id, int $offer_id, array $crmOfferItem )

Beschreibung:

Ändert Eigenschaften eines vorhandenen Angebots.

Liefert die offer_id bei Erfolg.

crmOfferItem ist ein assoziatives Array.

Eigenschaften von crmOfferItem Array:

sind die selben wie für crmaddOffer

Beispiel:

<?php
 
try {
	// Change short Beschreibung of offer with ID 299
	$offer = array('shortdesc' => 'WebService-Offer changed');
 
	$params = array(
		'session_id'	=> $session_id,
		'offer_id'		=> 299,
		'crmOfferItem'	=> $offer
	);
	$offer_id = $offers->crmchangeOffer($params);
 
	echo $offer_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.3. crmdeleteOffer

Syntax:

int crmdeleteOffer( array(string $session_id, int $offer_id) )

Beschreibung:

Löscht ein Angebot. Liefert 1 bei Erfolg zurück.

Beispiel:

<?php
 
try { 
	// Delete offer with ID 299
	$success = $offers->crmdeleteOffer(
		array(
			'session_id'	=> $session_id,
			'offer_id'		=> 299
		)
	);
 
	if ($success == 1) {
		echo "Delete offer successed.";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.4. crmgetChangedOffers

Syntax:

array crmgetChangedOffers( array(string $session_id, int $timestamp) )

Beschreibung:

Liefert ein Array von Offer-Objekten, die seit timestamp geändert wurden.

Eigenschaften der zurückgegebenen offer Objekte:

sind die selben wie für crmgetOffer

Beispiel:

<?php
 
try { 
	// Get Offers modified in the last 30 days
	$result = $offers->crmgetChangedOffers(
		array(
			'session_id'	=> $session_id,
			'timestamp'		=> time() - 60 * 60 * 24 * 30
		)
	);
 
	foreach($result as $offer) {
		foreach($offer as $key => $val) {
			echo "$key => $val<br>\n";
			if (is_array($val)) {
				echo serialize($val);
			}
		}
		echo "<hr/>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.5. crmgetChangedOffersLimit

Syntax:

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

Beschreibung:

Liefert ein Array von Offer-Objekten zurück, die seittimestamp geändert wurden - begrenzt durch count und Offset.

Eigenschaften der zurückgegebenen offer Objekte:

sind die selben wie für crmgetOffer

Beispiel:

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



2.6. crmgetOffer

Syntax:

array crmgetOffer( array(string $session_id, int $offer_id) )

Beschreibung:

Liefert ein Array von Offer-Objekten mit nur einem Element.

offer_id ist die Offer-ID.

Eigenschaften der zurückgegebenen offer Objekte:

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
int                     $id                       Offer-Id 
int                     $ext_id                   Externe ID ( ab Version 4.2 )
int                     $number                   RealNumber des Angebots
string(255)             $shortdesc                Kurzbeschreibung des Angebots
string(255)             $cid                      Contact-Id, Format: Contact-Id:Person-Id
string(255)             $cname                    Kontakt-Name
string(255)             $category                 Kategorie des Angebots
double                  $amount                   Höhe des Angebots in €
double                  $amount_interval          Intervallhöhe des Angebots in €
int                     $tax                      Steuer des Angebots in Prozent
int                     $tax_eur                  Steuer des Angebots in €
int                     $tax_eur2                 Steuer des Angebots in €
int                     $cdate                    Unix-Timestamp des Datum
int                     $maturity                 Unix-Timestamp des Fälligkeitsdatums
int                     $maturity_interval        Intervall der Fälligkeit
int                     $status                   Status des Angebots
                                                  0 = offen
                                                  1 = angenommen
                                                  2 = abgelehnt
                                                  3 = Losgelöst vom Angebot
                                                  4 = verworfen
int                     $flow_status              Arbeitsschritt des Angebots
                                                  0 = In Bearbeitung
                                                  1 = Erstellt
                                                  2 = Geprüft
                                                  3 = Versendet
                                                  4 = Beantwortet
int                     $pid                      Project-ID
string(255)             $pname                    Projekt-Name
int                     $mandator_id              Mandaten-ID
int                     $client_account_id        Rechnungskonto-ID
int                     $parent                   Elternangebot-ID
int                     $previous_offer           Abgelöstes Angebot-ID
int                     $orderid                  Auftrags-ID
int                     $ttid                     Ticket-ID
int                     $is_incoming              Ein-/Ausgehendes Angebot (0 = Ausgehend / 1 = Eingehend)
int                     $autoprice                Preisberechnung (0 = Nein / 1 = Ja)
string(65535)           $notes                    Notizen

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

string(255)             $user13                   Benutzerdefiniertes Feld Nr. 13
string(255)             $user14                   Benutzerdefiniertes Feld Nr. 14
   :                       :                                   :
string(255)             $user80                   Benutzerdefiniertes Feld Nr. 80

Beispiel:

<?php
 
try 
{ 
	// Get Offer with ID 299
	$result = $offers->crmgetOffer(
		array(
			'session_id'	=> $session_id,
			'offer_id'		=> 299
		)
	);
 
	foreach($result as $key => $val) {
		echo $key." => ".$val."<br>\n";
		if (is_array($val)) {
			echo serialize($val);
		}
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.7. crmgetOfferIds

Syntax:

array crmgetOfferIds( array(string $session_id, int $timestamp) )

Beschreibung:

Liefert ein Array von Offer-IDs, die seit timestamp geändert wurden (0 für alle).

Hinweis: Es werden nur Angebote zurückgegeben für die der authentifizierte Benutzer Leseberechtigungen hat.

Beispiel:

<?php
 
try { 
	// Get all offer ids
	$result = $offers->crmgetOfferIds(
		array(
			'session_id'	=> $session_id,
			'timestamp'		=> 0
		)
	);
 
	foreach($result as $id) {
		echo $id."<br>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.8. crmgetOffersFrom

Syntax:

array crmgetOffersFrom( array(string $session_id, int $month, int $year) )

Beschreibung:

Liefert ein Array von Offer-Objekten vom gegebenen Zeitpunkt an.

Wenn month gesetzt ist, werden nur Angebote dieses Monats zurückgegeben. Setzen Sie ihn auf 0, um alle Monate zurückzubekommen.

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

Eigenschaften der zurückgegebenen offer Objekte:

sind die selben wie für crmgetOffer

Beispiel:

<?php
 
try { 
	// Get all offers 
	$result = $offers->crmgetOffersFrom(
		array(
			'session_id'	=> $session_id,
			'month'			=> 0,
			'year'			=> 0
		)
	);
 
	foreach($result as $offer) {
		foreach($offer as $key => $val) {
			echo $key." => ".$val."<br>\n";
			if (is_array($val)) {
				echo serialize($val);
			}
		}
		echo "<hr/>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.9. crmsearchOffers

(Version >= 3.4.5391)

Syntax:

array crmsearchOffers( array( string $session_id, array $search_term, int $timestamp, int $count, int $offset) )

Beschreibung:

Gibt ein Array mit Angeboteinformationen zurück.

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

$timestamp ist die Unix-Zeit, wann das Angebot geändert wurde.

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

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

Eigenschaften des zurückgegebenen Array: die gleichen wie für crmgetOffer

Beispiel:

<?php
 
try {
    // Get the first 10 offers with subject like 'CRM' AND expiration date is 30.11.2011 AND have changed since 01.11.2011
    $search = array(
		'shortdesc'	=> '%CRM%',
		'maturity'	=> '1322607600'
	);
 
    $params = array(
		'session_id'	=> $session_id,
		'search_term'	=> $search,
		'timestamp'		=> 1320102000,
		'count'			=> 10,
		'offset'		=> 0
	);
    $offers  = $offers->crmsearchOffers($params);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $offers as $key => $val) {
    echo "$key => $val<br/>\n";
}



2.10. crmgetOfferFields

(Version >= 3.5)

Syntax:

array crmgetOfferFields( array(string $session_id) )

Beschreibung:

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

Eignenschaften von zurückgegebenen Objekt:

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

Beispiel:

<?php
 
try { 
	$result = $offers->crmgetOfferFields( array('session_id' => $session_id) );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
$fields = get_object_vars($result);
 
foreach( $fields as $key => $val) {
    echo $key " => ". $val->label ."<br/>";
}



2.11. crmToContract

(Version >= 4.1)

Syntax:

int crmToContract( array( string $session_id, int $offer_id, $article_list_ids = false))

Beschreibung:

Erzeugt einen Vertrag aus einem Angebot und gibt bei Erfolg dessen ID zurück.

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

$offer_id ist die ID des Angebots, aus dem ein Vertrag erzeugt werden soll.

$article_list_ids ist eine Doppelpunkt-getrennte Liste von Artikel-IDs aus der Artikelliste eines Angebotes. (optional)

Beispiel:

<?php
 
try {
	$result = $offers->crmToContract(
		array(
			'session_id'	=> $session_id,
			'offer_id'		=> $offer_id
		)
	);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo "ID des neuen Vertrags ist $result";
 



2.12. crmToOrder

(Version >= 4.4)

Syntax:

int crmToOrder( array( string $session_id, int $offer_id, $article_list_ids = false))

Beschreibung:

Erzeugt einen Auftrag aus einem Angebot und gibt bei Erfolg dessen ID zurück.

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

$offer_id ist die ID des Angebots, aus dem ein Auftrag erzeugt werden soll.

$article_list_ids ist eine Doppelpunkt-getrennte Liste von Artikel-IDs aus der Artikelliste eines Angebotes. (optional)

Beispiel:

<?php
 
try {
    $result = $offers->crmToOrder(
		array(
			'session_id'	=> $session_id,
			'offer_id'		=> $offer_id
		)
	);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo "ID des neuen Auftrags ist $result";



2.13. crmCreateFollowUp

(Version >= 4.1)

Syntax:

int crmCreateFollowUp( array( string $session_id, int $offer_id, $article_list_ids = false))

Beschreibung:

Erzeugt ein Folgeangebot aus einem bestehenden Angebot und gibt bei Erfolg dessen ID zurück.

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

$offer_id ist die ID des Angebots, aus dem ein Folgeangebots erzeugt werden soll.

$article_list_ids ist eine Doppelpunkt-getrennte Liste von Artikel-IDs aus der Artikelliste eines Angebotes. (optional)

Beispiel:

<?php
 
try {
    $result = $offers->crmCreateFollowUp(
		array(
			'session_id'	=> $session_id,
			'offer_id'		=> $offer_id
		)
	);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo "ID des Folgeangebotes ist $result.";



2.14. crmMergeToContract

(Version >= 4.1)

Syntax:

int crmMergeToContract( array( string $session_id, int $offer_id, int $contract_id, $article_list_ids = false))

Beschreibung:

Fügt ein Angebot zu einem Vertrag hinzu. Gibt die ID Zielvertrags zurück.

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

$offer_id ist die ID des Angebots, aus dem ein Vertrag erzeugt werden soll.

$contract_id ist die ID des Angebots, welches zum Zielvertrag hinzugefügt werden soll.

$article_list_ids ist eine Doppelpunkt-getrennte Liste von Artikel-IDs aus der Artikelliste eines Angebotes. (optional)

Beispiel:

<?php
 
try {
    $result = $offers->crmMergeToContract(
		array(
			'session_id'	=> $session_id,
			'offer_id'		=> $offer_id,
			'contract_id'	=> $contract_id
		)
	);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $result;



2.15. crmMergeToOrder

(Version >= 4.4)

Syntax:

int crmMergeToOrder( array( string $session_id, int $offer_id, int $contract_id, $article_list_ids = false))

Beschreibung:

Fügt ein Angebot zu einem Auftrag hinzu. Gibt die ID Zielauftrages zurück.

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

$offer_id ist die ID des Angebots, aus dem ein Auftrag erzeugt werden soll.

$contract_id ist die ID des Angebots, welches zum Zielauftrag hinzugefügt werden soll.

$article_list_ids ist eine Doppelpunkt-getrennte Liste von Artikel-IDs aus der Artikelliste eines Angebotes. (optional)

Beispiel:

<?php
 
try {
    $result = $offers->crmMergeToOrder(
		array(
			'session_id'	=> $session_id,
			'offer_id'		=> $offer_id,
			'order_id'		=> $order_id
		)
	);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $result;



2.16. crmGotoNextFlowStatus

(Version >= 4.1)

Syntax:

void crmGotoNextFlowStatus( array( string $session_id, int $offer_id))

Beschreibung:

Setzt den Bearbeitungsstand des angegebenen Angebots um eine Stufe nach oben.

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

Beispiel:

<?php
 
try { 
    $offers->crmGotoNextFlowStatus(
		array(
			'session_id'	=> $session_id,
			'offer_id'		=> $offer_id
		)
	);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



2.17. crmUnlockOffer

(Version >= 4.1)

Syntax:

int crmUnlockOffer( array( string $session_id, int $offer_id))

Beschreibung:

Gibt ein Angebot zur Bearbeitung wieder frei. Gibt im Erfolgsfall die ID des Angebots zurück.

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

Beispiel:

<?php
 
try {
	$result = $offers->crmUnlockOffer(
		array(
			'session_id'	=> $session_id,
			'offer_id'		=> $offer_id
		)
	);
	echo $result;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.18. crmgetIdByExtId

(Version >= 4.2)

Syntax:

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

Beschreibung

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

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

Beispiel:

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



2.19. crmgetAllExtIds

(Version >= 4.2)

Syntax:

array crmgetAllExtIds( array ( string $session_id ) )

Beschreibung

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

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

Beispiel:

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



2.20. crmgetPermission

(Version >= 4.2.12362)

Syntax:

array crmgetPermission ( array(string $session_id, int $offer_id) )

Beschreibung:

Gibt ein Array mit dem Offer-Permission zurück.

Eigenschaften von zurückgegebenen Array:

Type(Length)      Eigenschaft                     Beschreibung
---------------------------------------------------------------------------------------
array             $users                          Array mit User-Permission
array             $groups                         Array mit Group-Permission

Eigenschaften von User-Permission:

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

Eigenschaften von Group-Permission:

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

Beispiel:

<?php
 
try {
	$permission = $offers->crmgetPermission(
		array(
			'session_id'	=> $session_id,
			'offer_id'		=> 4742
		)
	);
 
	echo "Users:<br>";
 
	foreach($permission->users as $id => $userperm) {
		echo "Userid: $id<br>";
		echo "Read:   {$userperm->read}<br>";
		echo "Write:  {$userperm->write}<br>";
		echo "Delete: {$userperm->delete}<br>";
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.21. crmsetPermission

(Version >= 4.2.12362)

Syntax:

boolean crmsetPermission ( string $session_id, array $permission )

Beschreibung:

Setzt die Berechtigungen eines einzelnen Angebots. Gib true beim Erfolg zurück.

Eigenschaften von permission Array:

Type(Length)      Eigenschaft                     Beschreibung
---------------------------------------------------------------------------------------
int               $offer_id                    Offer Id
array             $users                       Array mit users Elemente
array             $groups                      Array mit groups Elemente

Eigenschaften von users and groups Array:

Type(Length)      Eigenschaft                     Beschreibung
---------------------------------------------------------------------------------------
int               $key                            User ID | oder Group ID
array             $value                          Array mit Permission

Eigenschaften von permission Array:

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

Beispiel:

<?php
 
try {
	$permission = array(
		'offer_id'	=> 4243,
		'users'		=> array(
			'55' => array('read' => -1, 'write' => -1, 'delete' => -1)
		),
		'groups' => array(
			'35' => array('read' => -1, 'write' => -1, 'delete' => -1)
		)
	);

	$success = $offers->crmsetPermission(
		array(
			'session_id'	=> $session_id,
			'permission'	=> $permission
		)
	);
 
	if($success) {
		echo 'Set permission success!';
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.22. crmGetArticles

(Version >= 4.1)

Syntax:

array crmGetArticles( array( string $session_id, int $offer_id))

Beschreibung:

Gibt Artikelliste des Angebotes zurück.

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

Beispiel:

<?php
 
try {
	$articles = $offers->crmGetArticles(
		array(
			'session_id'	=> $session_id,
			'object_id'		=> $offer_id
		)
	);
   
	foreach($articles as $article) {
		foreach($article as $key => $val) {
			echo "$key => $val<br>\n";
		}
	}
	echo "<hr/>";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}
 



2.23. crmAddArticleToList

(Version >= 4.1)

Syntax:

array crmAddArticleToList( array( string $session_id, int $offer_id, int $article_id))

Beschreibung:

Fügt den Artikel mit der übergebenen ID zu einem Angebot hinzu. Im Erfolgsfall wird 1 zurückgegeben.

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

Beispiel:

<?php
 
try {
	$success = $offers->crmAddArticleToList(
		array(
			'session_id'	=> $session_id,
			'object_id'		=> $offer_id,
			'article_id'	=> 10
		)
	);    
	echo $success;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.24. crmAddTextToList

(Version >= 4.1)

Syntax:

array crmAddTextToList( array( string $session_id, int $offer_id, string $text))

Beschreibung:

Fügt einen Artikel-Text zu einem Angebot hinzu. Im Erfolgsfall wird 1 zurückgegeben.

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

Beispiel:

<?php
 
try {
	$success = $offers->crmAddTextToList(
		array(
			'session_id'	=> $session_id,
			'object_id'		=> $offer_id,
			'text'			=> 'Das ist ein Text'
		)
	);
	echo $success;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.25. crmAddSpecialToList

(Version >= 4.1)

Syntax:

array crmAddSpecialToList( array( string $session_id, int $offer_id, array $crmBillingItem))

Beschreibung:

Fügt einen Sonderartikel zu einem Angebot hinzu. Im Erfolgsfall wird 1 zurückgegeben.

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

crmBillingItem ist ein assoziatives Array.

Eigenschaften:

Typ             Eigenschaft                          Beschreibung
---------------------------------------------------------------------------------------------
int             $quantity                            Menge
string          $realnumber                          Artikelnummer
string          $name                                Bezeichnung
int             $taxrate                             Steuersatz-Index
double          $discount                            Rabatt
int             $interval                            Abrechnungszeitraum-Index
string          $description                         Beschreibung
int             $ext_id                              Externe ID ( ab Version 4.2 )

Beispiel:

<?php
 
try {
	$data = array(
		'quantity'		=> 10,
		'realnumber'	=> '100001',
		'name'			=> 'API Special Article',
		'description'	=> 'API Special Article',
		'taxrate'		=> 19,
		'discount'		=> 100,
		'interval'		=> 1
	);
 
	$success = $offers->crmAddSpecialToList(
		array(
			'session_id'		=> $session_id,
			'object_id'			=> $offer_id,
			'crmBillingItem'	=> $data
		)
	);
	echo $success;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.26. crmAddGrouplineToList

(Version >= 4.1)

Syntax:

array crmAddGrouplineToList( array( string $session_id, int $offer_id, array $crmBillingItem))

Beschreibung:

Fügt eine Gruppenzeile zu einem Angebot hinzu. Im Erfolgsfall wird 1 zurückgegeben.

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

crmBillingItem ist ein assoziatives Array.

Eigenschaften:

Typ             Eigenschaft                          Beschreibung
---------------------------------------------------------------------------------------------
int             $quantity                            Menge
string          $name                                Bezeichnung
int             $taxrate                             Steuersatz-Index
double          $discount                            Rabatt
int             $interval                            Abrechnungszeitraum-Index
string          $description                         Beschreibung
int             $ext_id                              Externe ID ( ab Version 4.2 )

Beispiel:

<?php
 
try {
	$data = array(
		'quantity'		=> 3,
		'name'			=> 'API Groupline',
		'description'	=> 'API Groupline',
		'taxrate'		=> 19,
		'discount'		=> 100,
		'interval'		=> 1
	);
 
	$success = $offers->crmAddGrouplineToList(
		array(
			'session_id'		=> $session_id,
			'object_id'			=> $offer_id,
			'crmBillingItem'	=> $data
		)
	);
	echo $success;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.27. crmAddMultipleToList

(Version >= 4.1)

Syntax:

array crmAddMultipleToList( array( string $session_id, int $offer_id, array $crmMultipleListItems))

Beschreibung:

Fügt der Artikelliste eines Angebotes mehrere Artikel, Texte und/oder Gruppenzeilen hinzu. Im Erfolgsfall wird 1 zurückgegeben.

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

crmMultipleListItems ist ein Array von Artikeln, die Eigenschaften sind die selben wie crmAddArticleToList, crmAddTextToList, crmAddSpecialToList und crmAddGrouplineToList. Die Unterscheidung erfolgt über das Feld "type".

Eigenschaften:

Typ             Eigenschaft                          Beschreibung
---------------------------------------------------------------------------------------------
array           $crmMultipleListItems                Artikelliste

Beispiel:

<?php
 
try { 
	$items = array();
 
	$items['crmMultipleListItems'][] = array('type' => 'article', 'id' => 10);
	$items['crmMultipleListItems'][] = array('type' => 'text','text' => 'API-AddMultiple Text');
 
	$specialItem = array(
		'quantity'		=> 10,
		'realnumber'	=> '100001',
		'name'			=> 'API Special Article',
		'description'	=> 'API Special Article',
		'taxrate'		=> 19,
		'discount'		=> 100,
		'interval'		=> 1,
		'type'			=> 'special'
	);    
	$items['crmMultipleListItems'][] = $specialItem;
 
	$data = array(
		'quantity'		=> 3,
		'name'			=> 'API Groupline',
		'description'	=> 'API Groupline',
		'taxrate'		=> 19,
		'discount'		=> 100,
		'interval'		=> 1,
		'type'			=> 'groupline'
	);
	$items['crmMultipleListItems'][] = $specialItem;
   
	$success = $offers->crmAddMultipleToList(
		array(
			'session_id'		=> $session_id,
			'object_id'			=> $offer_id,
			'crmBillingItem'	=> $items
		)
	);
 
	echo $success;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.28. crmRemoveArticleFromList

(Version >= 4.1)

Syntax:

array crmRemoveArticleFromList( array( string $session_id, int $offer_id, int $article_id))

Beschreibung:

Löscht den Artikel mit der angegeben ID aus der Artikelliste des Angebotes. Im Erfolgsfall wird 1 zurückgegeben.

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

Beispiel:

<?php
 
try {
	$success = $offers->crmRemoveArticleFromList(
		array(
			'session_id'	=> $session_id,
			'object_id'		=> $offer_id,
			'article_id'	=> 11
		)
	);
   
	echo $success;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



2.29. crmsetDuplicateConfig

(Version >= 4.4)

Syntax:

boolean | string <err_msg> crmsetDuplicateConfig( array( 'session_id' => string <session_id>, 'fields' => array( string <fieldname>, [string <fieldname>...])) )

Beschreibung:

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

Parameter fields ist ein Array mit den Feldnamen, die anstatt der aktuell für das Modul festgelegten Felder zur Dublettenprüfung herangezogen werden sollen.

Beispiel:

<?php
 
try {
	include_once 'crm_rest_api.php';
	$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/offers';
	$session_id  = session_id();
	$offers      = new crm_rest_api($rest_url);
 
	$params  = array(
		'session_id'	=> $session_id,
		'fields'		=> array('realnumber', 'cdate')
	);
	$success = $offers->crmsetDuplicateConfig($params);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo ($success ? 'override successful' : $success);



2.30. crmgetDuplicateConfig

(Version >= 4.4)

Syntax:

array | string <err_msg> crmgetDuplicateConfig( array( 'session_id' => string <session_id> ) )

Beschreibung:

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

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

Beispiel:

<?php
 
try {
	include_once 'crm_rest_api.php';
	$rest_url    = 'https://<hostname>/<dirname>/rest/index.php/offers';
	$session_id  = session_id();
	$offers      = new crm_rest_api($rest_url);
 
	$params  = array('session_id' => $session_id);
	$fields  = $offers->crmgetDuplicateConfig($params);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo print_r($fields, true);
  • No labels