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

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

2. Klasse

crminvoices

3. Methods

3.1. crmAddInvoice

(Version >= 4.1)

Syntax:

int crmAddInvoice( array( string $session_id, array $crmInvoiceItem))

Beschreibung:

Erzeugt einen neuen Lieferschein. Gibt bei Erfolg die ID des Datensatzes zurück.

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

crmInvoiceItem kann ein assoziatives Array oder ein Objekt sein.

Eigenschaften:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
int		      $cid			    Kontakt-ID
int		      $client_account_id	Rechnungskonto-ID
int		      $project_id		Projekt-ID
int		      $contract_id		Vertrags-ID
int           $ext_id           Externe ID ( ab Version 4.2 )
string		  $realnumber		Belegnummer
int		      $date			    Datum als Unit-Timestamp
int		      $printed		    Druckdatum als Unit-Timestamp
string		  $text			    Text
string		  $notes		    Notizen
int		      $reversed		    zurückgerufen
string		  $name			    Name
string		  $ust_id		    USt-ID
double		  $total_netto		Gesamt - netto
double		  $tax_value		USt-Betrag
double		  $total_brutto		Gesamt - brutto
double		  $ops_value		Betrag offener Posten
double		  $payed		    Betrag gezahlt
int		      $is_payed		    Bezahlt-Datum als Unit-Timestamp
int		      $flow_status		Status
bool		  $is_deposit		Ist Rechnung Abschlagsrechnung
string		  $skonto		    Skonto
string		  $skontodays		Skonto-Tage
int		      $skonto_appointed	Skonto-Stichtag als Unit-Timestamp
string		  $payment_target	Zahlungsziel
int		      $payment_appointed	Zahlungsstichtag als Unit-Timestamp
double		  $discount		    Rabatt
string		  $fees			    Gebühren
string		  $billing_postcode	Rechnung: PLZ
string		  $billing_city		Rechnung: Ort
string		  $billing_name_1	Rechnung: Name 1
string		  $billing_name_2	Rechnung: Name 2
string		  $billing_name_3	Rechnung: Name 3
string		  $billing_address_1	Rechnung: Adresse 1
string		  $billing_address_2	Rechnung: Adresse 2
string		  $shipping_postcode	Lieferschein: PLZ
string		  $shipping_city	Lieferschein: Ort
string		  $shipping_county	Lieferschein: Land
string		  $shipping_name_1	Lieferschein: Name 1
string		  $shipping_name_2	Lieferschein: Name 2
string		  $shipping_name_3	Lieferschein: Name 3
string		  $shipping_address_1	Lieferschein: Adresse 1
string		  $shipping_address_2	Lieferschein: Adresse 2

string		  $user29		Benutzerdefiniertes Feld Nr. 29
string		  $user30		Benutzerdefiniertes Feld Nr. 30
   :                 :                            :
string		  $user80		Benutzerdefiniertes Feld Nr. 80 

Beispiel:

<?php
 
try {
	include_once 'crm_rest_api.php';
   
	$data = array(
		'name'				=> 'API Invoice Test' ,
		'realnumber'		=> '10000001',
		'notes'				=> 'Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.',
		'cid'				=> 1,
		'client_account_id'	=> 1,
		'skonto'			=> 2,
		'date'				=> time(),
		'payed'				=> 107,
		'is_payed'			=> time(),
		'status'			=> 0
	);
 
	/* @var $client_invoices crminvoices */
	$client_invoices = $client_invoices = new crm_rest_api("http://hostname/dirname/rest/index.php/invoices");
	$invoice_id = $client_invoices->crmAddInvoice(array('session_id'=>$session_id, 'crmInvoiceItem'=>$data));
 
	echo $invoice_id;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.2. crmChangeInvoice

(Version >= 4.1)

Syntax:

int crmChangeInvoice( array( string $session_id, int $invoice_id, array $crmInvoiceItem))

Beschreibung:

Ändert die Ausgangsrechnung mit der übergebenen ID. Im Erfolgsfall wird die ID der Rechnung zurückgegeben.

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

crmInvoiceItem kann ein assoziatives Array oder ein Objekt sein.

Eigenschaften:

Eigenschaften sind die selben wie für crmAddInvoice

Beispiel:

<?php
 
try {
	$data = array(
		'name'	=> 'API Invoice Test (geändert)',
		'cid'	=> 2,
	);
 
	$result = $client_invoices->crmChangeInvoice(
		array(
			'session_id'		=> $session_id,
			'invoice_id'		=> $invoice_id,
			'crmInvoiceItem'	=>$data
		)
	);
 
	echo $result;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.3. crmGetInvoice

(Version >= 4.1)

Syntax:

array crmGetInvoice( array( string $session_id, int $invoice_id))

Beschreibung:

Gibt die Ausgangsrechnung mit der übergebenen ID zurück.

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

Eigenschaften des zurückgegebenen Array:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
int		      $id			    Rechnungs-ID
int		      $cid			    Kontakt-ID
int		      $client_account_id	Rechnungskonto-ID
int		      $project_id		Projekt-ID
int		      $contract_id		Vertrags-ID
int           $ext_id           Externe ID ( ab Version 4.2 )
string		  $realnumber		Belegnummer
int		      $date			    Datum als Unit-Timestamp
int		      $printed		    Druckdatum als Unit-Timestamp
string		  $text			    Text
string		  $notes		    Notizen
int		      $reversed		    zurückgerufen
string		  $name			    Name
string		  $ust_id		    USt-ID
double		  $total_netto		Gesamt - netto
double		  $tax_value		USt-Betrag
double		  $total_brutto		Gesamt - brutto
double		  $ops_value		Betrag offener Posten
double		  $payed		    Betrag gezahlt
int		      $is_payed		    Bezahlt-Datum als Unit-Timestamp
int		      $flow_status		Status
bool		  $is_deposit		Ist Rechnung Abschlagsrechnung
string		  $skonto		    Skonto
string		  $skontodays		Skonto-Tage
int		      $skonto_appointed	Skonto-Stichtag als Unit-Timestamp
string		  $payment_target	Zahlungsziel
int		      $payment_appointed	Zahlungsstichtag als Unit-Timestamp
double		  $discount		    Rabatt
string		  $fees			    Gebühren
string		  $billing_postcode	Rechnung: PLZ
string		  $billing_city		Rechnung: Ort
string		  $billing_name_1	Rechnung: Name 1
string		  $billing_name_2	Rechnung: Name 2
string		  $billing_name_3	Rechnung: Name 3
string		  $billing_address_1	Rechnung: Adresse 1
string		  $billing_address_2	Rechnung: Adresse 2
string		  $shipping_postcode	Lieferschein: PLZ
string		  $shipping_city	Lieferschein: Ort
string		  $shipping_county	Lieferschein: Land
string		  $shipping_name_1	Lieferschein: Name 1
string		  $shipping_name_2	Lieferschein: Name 2
string		  $shipping_name_3	Lieferschein: Name 3
string		  $shipping_address_1	Lieferschein: Adresse 1
string		  $shipping_address_2	Lieferschein: Adresse 2
int		      $createuser	        Benutzer-ID, der Buchung erzeugt hat
int		      $createtime	        Zeitstempel, an dem Buchung erzeugt wurde
int		      $chguser	        Benutzer-ID, der Buchung zuletzt geändert hat
int		      $chgtime	        Zeitstempel, an dem zuletzt geändert wurde

string		  $user29		Benutzerdefiniertes Feld Nr. 29
string		  $user30		Benutzerdefiniertes Feld Nr. 30
   :                 :                            :
string		  $user80		Benutzerdefiniertes Feld Nr. 80 

Beispiel:

<?php
 
try {
	$data = array(
		'name'	=> 'API Invoice Test (geändert)',
		'cid'	=> 2,
	);
 
	$invoice = $client_invoices->crmGetInvoice(
		array(
			'session_id'		=> $session_id, 
			'invoice_id'		=> $invoice_id, 
			'crmInvoiceItem'	=> $data
		)
	);
 
	foreach($invoice as $key => $val) {
		echo "$key => $val<br>\n";
	}
	echo "<hr/>";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.4. crmGotoNextFlowStatus

(Version >= 4.1)

Syntax:

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

Beschreibung:

Setzt den Status der Rechnung auf die nächste Stufe.

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

Beispiel:

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



3.5. crmDeleteInvoice

(Version >= 4.1)

Syntax:

int crmDeleteInvoice( array( string $session_id, int $invoice_id))

Beschreibung:

Löscht die Rechnung mit der angegebenen ID. Gibt im Erfolgsfall 1 zurück.

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

Beispiel:

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



3.6. crmCreateFromContract

(Version >= 4.1)

Syntax:

int crmCreateFromContract( array( string $session_id, int $contract_id, $interval = false, $article_list_ids = false))

Beschreibung:

Erzeugt anhand eines Vertrages eine Rechnung. Gibt im Erfolgsfall die neue Rechnung zurück.

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

contract_id in die ID eines vorhandenen Vertrags.

interval ist der Interval-Typ der Artikel, welche aus dem Vertrag genutzt werden sollen.

article_list_ids ist eine Doppelpunkt-getrennte Liste von Artikel-IDs aus dem Vertrag.

Beispiel:

<?php
 
try {
	$invoice = $client_invoices->crmCreateFromContract(
		array(
			'session_id'		=> $session_id,
			'contract_id'		=> 1,
			'interval'			=> 1,
			'article_list_ids'	=>'1:2:3'
		)
	);
   
	foreach($invoice as $key => $val) {
		echo "$key => $val<br>  \n";
	}
	echo "<hr/>";    
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.7. crmSearchInvoices

(Version >= 4.1)

Syntax:

array crmSearchInvoices( array( string $session_id, array|object $crmInvoiceSearchParams))

Beschreibung:

Sucht anhand der übergebenen Parameter nach Ausgangsrechnungen. Gibt im Erfolgsfall ein Array mit Ausgangsrechnungen zurück.

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

crmInvoiceSearchParams kann ein assoziatives Array oder ein Objekt sein.

Eigenschaften von crmInvoiceSearchParams:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
string		  $search		        Suchbegriff
string		  $client_account_id	Rechnungskonto-ID
string		  $is_payed		        ist Ausgangsrechnung bezahlt
int		      $status		        Status
int		      $payment_appointed	Zahlungsstichtag
int		      $changed_since	    Änderungsdatum seit
int		      $changed_until	    Änderungsdatum bis
int		      $outdated		        Veraltet
int		      $flow_status_not	    Status ungleich
int		      $contract_id		    Vertrags-ID
int		      $count		        maximale Anzahl an Elementen, die zurückgegeben wird
int		      $offset		        Position der Ergebnisse, ab der zurückgegeben werden soll
bool		  $sorting		        Einstellung, ob Elemente sortiert zurückgegeben werden
bool		  $count_only		    Element suchen und nur zählen

Beispiel:

<?php
 
try {
	$sparams = array (
		'search' => "name LIKE '%API Invoice Test%'"
	);
	$vouchers = $client_invoices->crmSearchInvoices(
		array(
			'session_id'				=> $session_id, 
			'crmInvoiceSearchParams'	=> $sparams
		)
	);
   
	foreach($vouchers as $voucher) {
		foreach($voucher as $key => $val) {
			echo "$key => $val<br>\n";
		}
		echo "<hr/>";    
	}
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.8. crmToAdmonition

(Version >= 4.1)

Syntax:

int crmToAdmonition( array( string $session_id, int $invoice_id))

Beschreibung:

Erzeugt aus einer Rechnung eine Mahnung. Gibt im Erfolgsfall die ID der neuen Mahnung zurück.

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

Beispiel:

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



3.9. crmToDelivery

(Version >= 4.1)

Syntax:

int crmToDelivery( array( string $session_id, int $invoice_id, string|bool $article_list_ids))

Beschreibung:

Erzeugt aus einer Rechnung einen Lieferschein. Gibt im Erfolgsfall die ID des neuen Lieferscheins zurück.

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

article_list_ids ist eine Doppelpunkt-getrennte Liste von Artikel-IDs aus drer Artikelliste.

Beispiel:

<?php
 
try {
	$result = $client_invoices->crmToDelivery(
		array(
			'session_id'		=> $session_id, 
			'invoice_id'		=> $invoice_id,
			'article_list_ids'	=> '2:3'
		)
	);
   
	echo $result;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.10. crmGetFlowStatus

(Version >= 4.1)

Syntax:

int crmGetFlowStatus( array( string $session_id, int $invoice_id))

Beschreibung:

Holt den aktuellen Status der Ausgangsrechnung.

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

Beispiel:

<?php
 
try {
	$status = $client_invoices->crmGetFlowStatus(
		array(
			'session_id'	=> $session_id,
			'object_id'		=> $invoice_id
		)
	);
	echo $status;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.11. crmGetDocument

(Version >= 4.1)

Syntax:

array crmGetDocument( array( string $session_id, int $invoice_id))

Beschreibung:

Holt das zur Ausgangsrechnung gehörige Dokument aus dem TecArt-System. Gibt ein Array zurück.

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

Eigenschaften des zurückgegebenen Array

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
string		  $filename		Dateiname des Dokumentes
string		  $content		base64-codierte Inhalt der Datei

Beispiel:

<?php
 
try {
	$document = $client_invoices->crmGetDocument(
		array(
			'session_id'	=> $session_id, 
			'object_id'		=> $invoice_id
		)
	);
   
    echo "<pre>";
	var_dump($document);
	echo "</pre>";
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.12. crmGetArticles

(Version >= 4.1)

Syntax:

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

Beschreibung:

Liefert Artikel einer Rechnung zurück.

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

Beispiel:

<?php
 
try {
	$articles = $client_invoices->crmGetArticles(
		array(
			'session_id'	=> $session_id, 
			'object_id'		=> $invoice_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";
}



3.13. crmAddArticleToList

(Version >= 4.1)

Syntax:

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

Beschreibung:

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

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

Beispiel:

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



3.14. crmAddTextToList

(Version >= 4.1)

Syntax:

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

Beschreibung:

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

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

Beispiel:

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



3.15. crmAddSpecialToList

(Version >= 4.1)

Syntax:

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

Beschreibung:

Fügt einen Sonderartikel zu einer Ausgangsrechnung 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 = $client_invoices->crmAddSpecialToList(
		array(
			'session_id'		=> $session_id,
			'object_id'			=> $invoice_id,
			'crmBillingItem'	=> $data
		)
	);
	echo $success;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.16. crmAddGrouplineToList

(Version >= 4.1)

Syntax:

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

Beschreibung:

Fügt eine Gruppenzeile zu einer Ausgangsrechnung 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 = $client_invoices->crmAddGrouplineToList(
		array(
			'session_id'		=> $session_id, 
			'object_id'			=> $invoice_id,
			'crmBillingItem'	=> $data
		)
	);
	echo $success; 
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.17. crmAddMultipleToList

(Version >= 4.1)

Syntax:

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

Beschreibung:

Fügt der Artikelliste mehrere Artikel und Texte und Gruppenzeilen zu einer Ausgangsrechnung 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 = $client_invoices->crmAddMultipleToList(
		array(
			'session_id'		=> $session_id, 
			'object_id'			=> $invoice_id, 
			'crmBillingItem'	=> $items
		)
	);
 
	echo $success;
}
catch (Exception $e) {
	echo 'Exception abgefangen: ' .$e->getMessage(). "\n";
}



3.18. crmRemoveArticleFromList

(Version >= 4.1)

Syntax:

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

Beschreibung:

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

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

Beispiel:

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



3.19. crmUnlockInvoice

(Version >= 4.1)

Syntax:

int crmUnlockInvoice( array( string $session_id, int $invoice_id))

Beschreibung:

Gibt eine Rechnung zur Bearbeitung wieder frei. Gibt im Erfolgsfall die ID der Rechnung zurück.

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

Beispiel:

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



3.20. crmReverse

(Version >= 4.1)

Syntax:

int crmReverse( array( string $session_id, int $invoice_id, bool $create_voucher = false, $article_list_ids = false, bool $negate = false))

Beschreibung:

Storniert eine Rechnung und gibt im Erfolgsfall die ID der Rechnungskorrektur zurück.

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

create_voucher ist ein bool-Wert, über den die automatisch eine Gutschrift erzeugen lassen können. (optional)

article_list_ids ist ein Array von Artikel-IDs aus der Rechnung. (optional)

negate ermöglicht, den Rechnungsbetrag zu negieren. (optional)

Beispiel:

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



3.21. crmDuplicate

(Version >= 4.1)

Syntax:

int crmDuplicate( array( string $session_id, int $invoice_id, string|bool $article_list_ids = false))

Beschreibung:

Erzeugt ein Duplikat aus einer Rechnung und gibt im Erfolgsfall die ID des Duplikats zurück.

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

article_list_ids ist eine Doppelpunkt-getrennte Liste von Artikel-IDs aus der Rechnung. (optional)

Beispiel:

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



3.22. crmgetIdByExtId

(Version >= 4.2)

Syntax:

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

Beschreibung

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

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

Beispiel:

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



3.23. crmgetAllExtIds

(Version >= 4.2)

Syntax:

array crmgetAllExtIds( array ( string $session_id ) )

Beschreibung

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

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

Beispiel:

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



3.24. 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/invoices';
	$session_id      = session_id();
	$client_invoices = new crm_rest_api($rest_url);
 
	$params  = array(
		'session_id'	=> $session_id,
		'fields'		=> array('realnumber', 'notes')
	);
	$success = $client_invoices->crmsetDuplicateConfig($params);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo ($success ? 'override successful' : $success);



3.25. 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/invoices';
	$session_id      = session_id();
	$client_invoices = new crm_rest_api($rest_url);
 
	$params  = array('session_id' => $session_id);
	$fields  = $client_notes->crmgetDuplicateConfig($params);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo print_r($fields, true);
  • No labels