Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
webservices:soap_webservices:invoices [2017/02/07 17:03]
127.0.0.1 Externe Bearbeitung
webservices:soap_webservices:invoices [2020/05/06 14:07] (aktuell)
d0dge
Zeile 1: Zeile 1:
 ====== Invoices ====== ====== Invoices ======
-<WRAP important>​Diese Seite enthält noch nicht alle Informationen bzw. befindet sich aktuell in der Überarbeitung</​WRAP>​ 
- 
- 
-===== WSDL-URI ====== 
- 
- 
-<​code>​http://​hostname/​dirname/​soap/​index.php?​op=invoices&​wsdl</​code>​ 
- 
-z.B. [[https://​test.tecart-system.de/​soap/​index.php?​op=invoices&​wsdl|https://​test.tecart-system.de/​soap/​index.php?​op=invoices&​wsdl]] 
- 
- 
-===== Methods ====== 
- 
- 
- 
-==== crmAddInvoice ===== 
- 
- 
-(Version >= 4.1.10682) ​ 
- 
-**Syntax**: 
-  int crmAddInvoice($session_id,​ $crmInvoiceItem) 
- 
-**Beschreibung**:​ 
- 
-Erzeugt eine neue Ausgangsrechnung. 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**:​ 
-  ​ 
-  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 Rabat 
-  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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $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 
-     ); 
- 
-   ​$client_invoices = new SOAPClient("​https://​test.tecart-system.de/​soap/​index.php?​op=invoices&​wsdl"​);​ 
-   ​$invoice_id = $client_invoices->​crmAddInvoice($session_id,​ $data); 
- 
-   echo $invoice_id;​ 
- 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmChangeInvoice ===== 
- 
- 
-(Version >= 4.1.10682) ​ 
- 
-**Syntax**: 
-  int crmChangeInvoice($session_id,​ $invoice_id,​ $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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $data = array( 
-       '​name'​ =>​ 'API Invoice Test (geändert)'​ , 
-       '​cid'​ =>​ 2, 
-     ); 
- 
-   ​$result = $client_invoices->​crmChangeInvoice($session_id,​ $invoice_id,​ $data); 
- 
-   echo $result; 
- 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmGetInvoice ===== 
- 
- 
-(Version >= 4.1.10793) ​ 
- 
-**Syntax**: 
-  array crmGetInvoice($session_id,​ $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 Rabat 
-  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  ​ $shipping_address_2 Lieferschein:​ Adresse 2 
-  array  ​ $crmOriginalContactElements Original-Daten des Kontaktes 
-  array  ​ $crmOriginalClientAccountElements Original-Daten des Rechnungskontos 
-  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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $data = array( 
-       '​name'​ =>​ 'API Invoice Test (geändert)'​ , 
-       '​cid'​ =>​ 2, 
-     ); 
- 
-   ​$invoice = $client_invoices->​crmGetInvoice($session_id,​ $invoice_id,​ $data); 
- 
-   ​foreach($invoice as $key => $val) { 
-     echo "$key => $val<​br>​\n";​ 
-   } 
-   echo "<​hr/>";​ 
- 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmGotoNextFlowStatus ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  void crmGotoNextFlowStatus($session_id,​ $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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $client_invoices->​crmGotoNextFlowStatus($session_id,​ $invoice_id);​ 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmDeleteInvoice ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  int crmDeleteInvoice($session_id,​ $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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $client_invoices->​crmDeleteInvoice($session_id,​ $invoice_id);​ 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmCreateFromContract ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  int crmCreateFromContract($session_id,​ , $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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $invoice = $client_invoices->​crmCreateFromContract($session_id,​ 1, 1, '​1:​2:​3'​);​ 
-  ​ 
-     ​foreach($invoice as $key => $val) { 
-       echo "$key => $val<​br> ​ \n"; 
-     } 
-     echo "<​hr/>"; ​   ​ 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmSearchInvoices ===== 
- 
- 
-(Version >= 4.1.10682) ​ 
- 
-**Syntax**: 
-  array crmSearchInvoices($session_id,​ $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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $sparams = array ( 
-       '​search'​ => "name LIKE '%API Invoice Test%'"​ 
-     ); 
-     ​$invoices = $client_invoices->​crmSearchInvoices($session_id,​ $sparams); 
-  ​ 
-     ​foreach($invoices as $invoice) { 
- foreach($invoice as $key => $val) { 
-     echo "$key => $val<​br>​\n";​ 
- } 
- echo "<​hr/>"; ​   ​ 
-  } 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmToAdmonition ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  int crmToAdmonition($session_id,​ $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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $result = $client_invoices->​crmToAdmonition($session_id,​ $invoice_id);​ 
-  ​ 
-     echo $result; 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmToDelivery ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  int crmToDelivery($session_id,​ $invoice_id) 
- 
-**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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $result = $client_invoices->​crmToDelivery($session_id,​ $invoice_id,​ '​2:​3'​);​ 
-  ​ 
-     echo $result; 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmGetFlowStatus ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  int crmGetFlowStatus($session_id,​ $invoice_id) 
- 
-**Beschreibung**:​ 
- 
-Holt den aktuellen Status der Ausgangsrechnung. 
- 
- 
-Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen. 
- 
- 
-**Beispiel**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $status = $client_invoices->​crmGetFlowStatus($session_id,​ $invoice_id);​ 
-  ​ 
-     echo $status; 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmGetDocument ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  array crmGetDocument($session_id,​ $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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $document = $client_invoices->​crmGetDocument($session_id,​ $invoice_id);​ 
-  ​ 
-     echo "";​ 
-      var_dump($document);​ 
-      echo "";​ 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmGetArticles ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  array crmGetArticles($session_id,​ $invoice_id) 
- 
-**Beschreibung**:​ 
- 
-Liefert Artikel einer Rechnung zurück. 
- 
- 
-Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen. 
- 
- 
-**Beispiel**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $articles = $client_invoices->​crmGetArticles($session_id,​ $invoice_id);​ 
-  ​ 
-     ​foreach($articles as $article) { 
-       ​foreach($article as $key => $val) { 
- echo "$key => $val<​br>​\n";​ 
-  } 
-     } 
-     echo "<​hr/>";​ 
- 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmAddArticleToList ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  array crmAddArticleToList($session_id,​ $invoice_id,​ $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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $success = $client_invoices->​crmAddArticleToList($session_id,​ $invoice_id,​ 10);    ​ 
-     echo $success; 
- 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmAddTextToList ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  array crmAddTextToList($session_id,​ $invoice_id,​ $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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $success = $client_invoices->​crmAddTextToList($session_id,​ $invoice_id,​ 'Das ist ein Text'​);​ 
-     echo $success; 
- 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmAddSpecialToList ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  array crmAddSpecialToList($session_id,​ $invoice_id,​ $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//​ kann ein assoziatives Array oder ein Objekt sein. 
- 
- 
-**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**:​ 
-<sxh php> 
- 
-<?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($session_id,​ $invoice_id,​ $data); 
-   echo $success; 
- 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmAddGrouplineToList ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  array crmAddGrouplineToList($session_id,​ $invoice_id,​ $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//​ kann ein assoziatives Array oder ein Objekt sein. 
- 
- 
-**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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $data = array( 
-       '​quantity'​ =>​ 3, 
-       '​name'​ =>​ 'API Groupline',​ 
-       '​description'​ =>​ 'API Groupline',​ 
-       '​taxrate'​ =>​ 19, 
-       '​discount'​ =>​ 100, 
-       '​interval'​ =>​ 1 
-     ); 
- 
-   ​$success = $client_invoices->​crmAddGrouplineToList($session_id,​ $invoice_id,​ $data); 
-   echo $success; 
- 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmAddMultipleToList ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  array crmAddMultipleToList($session_id,​ $invoice_id,​ $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**:​ 
-<sxh php> 
- 
-<?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($session_id,​ $invoice_id,​ $items); 
- 
-   echo $success; 
- 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmRemoveArticleFromList ===== 
- 
- 
-(Version >= 4.1.10678) ​ 
- 
-**Syntax**: 
-  array crmRemoveArticleFromList($session_id,​ $invoice_id,​ $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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $success = $client_invoices->​crmRemoveArticleFromList($session_id,​ $invoice_id,​ 11); 
-  ​ 
-     echo $success; 
- 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmUnlockInvoice ===== 
- 
- 
-(Version >= 4.1)  
- 
-**Syntax**: 
-  int crmUnlockInvoice($session_id,​ $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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $result = $client_invoices->​crmUnlockInvoice($session_id,​ $invoice_id);​ 
-     echo $result; 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmReverse ===== 
- 
- 
-(Version >= 4.1)  
- 
-**Syntax**: 
-  int crmReverse($session_id,​ $invoice_id,​ $create_voucher = false, $article_list_ids = false, $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 eine Doppelpunkt-getrennte Liste von Artikel-IDs aus der Rechnung. (optional) 
- 
- 
-//negate// ermöglicht,​ den Rechnungsbetrag zu negieren. (optional) 
- 
- 
-**Beispiel**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $result = $client_invoices->​crmReverse($session_id,​ $invoice_id);​ 
-     echo $result; 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmDuplicate ===== 
- 
- 
-(Version >= 4.1)  
- 
-**Syntax**: 
-  int crmDuplicate($session_id,​ $invoice_id,​ $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**:​ 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $result = $client_invoices->​crmDuplicate($session_id,​ $invoice_id);​ 
-     echo $result; 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmgetIdByExtId ===== 
- 
- 
-(Version >= 4.2) 
- 
-**Syntax:** 
- 
- array crmgetIdByExtId( string $session_id,​ string $external_id )  ​ 
- 
-**Beschreibung** 
- 
-Liefert interne ID(s) von Ausgangsrechnungen mit der übergebenen externen ID zurück. 
- 
- 
-**Eigenschaften der zurückgegebenen ****//​invoice Objekte//​**:​ 
-  ​ 
-  Type(Length) ​           Eigenschaft ​                 Beschreibung 
-  --------------------------------------------------------------------------------------------- 
-  int $id  ​     Invoice-Id ​ 
- 
- 
-**Beispiel:​** 
-<sxh php> 
- 
-<?php 
- 
-try { 
-  $result = $client_invoices->​crmgetIdByExtId($session_id,​ 12345); 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-foreach($result as $id) { 
-  ​ 
-     echo $id."<​br> ​ "; 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
-------- 
- 
- 
-==== crmgetAllExtIds ===== 
- 
- 
-(Version >= 4.2) 
- 
-**Syntax:** 
- 
- array crmgetAllExtIds( string $session_id )  ​ 
- 
-**Beschreibung** 
- 
-Liefert eine Liste aller externen IDs in Ausgangsrechnungen zurück. 
- 
- 
-**Eigenschaften der zurückgegebenen ****//​invoice Objekte//​**:​ 
-  ​ 
-  Type(Length) ​           Eigenschaft ​                 Beschreibung 
-  --------------------------------------------------------------------------------------------- 
-  int $id  ​     externe Invoice-Id ​ 
- 
- 
-**Beispiel:​** 
-<sxh php> 
- 
-<?php 
- 
-try {  
-  $result = $client_invoices->​crmgetAllExtIds($session_id);​ 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-foreach($result as $id) { 
-  ​ 
-     echo $id."<​br> ​ "; 
-} 
- 
-?> 
- 
-</​sxh>​ 
- 
-------- 
- 
- 
-==== crmsetDuplicateConfig ===== 
- 
- 
-(Version >= 4.4) 
- 
-**Syntax:** 
-  int | string <​errormessage>​ crmDuplicateConfig( string $session_id,​ crmDuplicatecheckFields $crmDuplicatecheckFields ) 
- 
-**Beschreibung:​** 
- 
-Ermöglicht eine temporäre Überschreibung der Dublettenprüfungsfelder für die Laufzeit der angemeldeten Session. 
- 
- 
-**Eigenschaften des zu übergebenden ****//​crmDuplicatecheckFields Objektes//​**:​ 
-  ​ 
-  Type(Length) ​           Eigenschaft ​                 Beschreibung 
-  --------------------------------------------------------------------------------------------- 
-  string $fields  ​    ​implodiertes Array ( implode(',',​ $myFields) ) mit gewünschten Feldern, ​ 
-   ​    auf die eine Dublettenprüfung angewendet werden soll; 
-   ​    wenn Eigenschaft auf NULL gesetzt wird, wird Override zurückgesetzt 
- 
- 
-**Beispiel:​** 
-<sxh php> 
- 
-<?php 
- 
-ini_set("​soap.wsdl_cache_enabled",​ "​0"​);​ 
- 
-try { 
-  $client_logon = new SOAPClient("​https://​test.tecart-system.de/​soap/​index.php?​op=logon&​wsdl"​);​ 
-     ​$session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ 
-     if (!$session_id) die("​invalid login"​);​ 
- 
-   ​$client_invoices = new SOAPClient("​https://​test.tecart-system.de/​soap/​index.php?​op=invoices&​wsdl"​);​ 
- 
-   ​$fields ​ = array('​fields'​ => implode(',',​ array('​realnumber',​ '​notes'​)) ); 
-   ​$success = $client_invoices->​crmsetDuplicateConfig($session_id,​ $fields); 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-echo ($success == 1 ? '​override successful'​ : $success).'​ 
-'; 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== crmgetDuplicateConfig ===== 
- 
- 
-(Version >= 4.4) 
- 
-**Syntax:** 
-  string crmgetDuplicateConfig( string $session_id ) 
- 
-**Beschreibung:​** 
- 
-Gibt implodiertes Array als Zeichenkette 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:​** 
-<sxh php> 
- 
-<?php 
- 
-ini_set("​soap.wsdl_cache_enabled",​ "​0"​);​ 
- 
-try { 
-  $client_logon = new SOAPClient("​https://​test.tecart-system.de/​soap/​index.php?​op=logon&​wsdl"​);​ 
-     ​$session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ 
-     if (!$session_id) die("​invalid login"​);​ 
- 
-   ​$client_invoices = new SOAPClient("​https://​test.tecart-system.de/​soap/​index.php?​op=invoices&​wsdl"​);​ 
- 
-   ​$fields = $client_invoices->​crmgetDuplicateConfig($session_id);​ 
-} 
-catch (SOAPFault $f) { 
-  print $f->​faultstring;​ 
-} 
- 
-$fields = explode(',',​ $fields); 
-echo ''​.print_r($fields,​ true).'';​ 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
  
 +Bitte besuchen Sie unsere neue Entwickler-Dokumentation unter [[https://​docs.tecart.de/​display/​public/​WIKI/​Invoices+SOAP]]