Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
webservices:soap_webservices:orders [2017/02/07 17:03]
127.0.0.1 Externe Bearbeitung
webservices:soap_webservices:orders [2020/05/06 14:10] (aktuell)
d0dge
Zeile 1: Zeile 1:
 ====== Orders ====== ====== Orders ======
  
-===== Modul "​Aufträge"​ ====== +Bitte besuchen ​Sie unsere ​neue Entwickler-Dokumentation unter [[https://docs.tecart.de/display/public/WIKI/Orders+SOAP]]
- +
- +
-Das Modul, soweit in der jeweiligen Lizenz enthalten, und sämtiche dazugehörigen Schnittstellen sowie Webservice Funktionalitäten stehen ab Version >= 4.2 zur Verfügung. +
- +
- +
-===== WSDL-URI ====== +
- +
- +
-<​code>​http://​hostname/​dirname/​soap/​index.php?​op=orders&​wsdl</​code>​ +
- +
-z.B. [[https://​test.tecart-system.de/​soap/​index.php?​op=orders&​wsdl|https://​test.tecart-system.de/​soap/​index.php?​op=orders&​wsdl]] +
- +
- +
-===== Methoden ====== +
- +
- +
- +
-==== crmgetOrder ===== +
- +
- +
-**Syntax** +
-  SoapVar crmgetOrder( string $session_id,​ int $order_id) +
- +
-**Beschreibung**:​ +
- +
-Gibt eine Instanz von SoapVar kodiert als Array (SOAP_ENC_ARRAY) mit einem Auftrag-Objekt als Element zurück. +
- +
- +
-//​order_id//​ ist die interne Auftrags- ID. +
- +
- +
-**Eigenschaften der zurückgegebenen ****//order Objekte//​**:​ +
-   +
-  Type(Length) ​           Eigenschaft ​              ​Beschreibung +
-  --------------------------------------------------------------------------------------------- +
-  int                     ​$id ​                      ​Auftrags-ID +
-  string ​                 $cid                      Contact-ID, Format: Contact-ID:​Person-ID +
-  int                     ​$pid ​                     Projekt-ID +
-  int                     ​$offer_id ​                ​Angebot-ID +
-  int                     ​$parent_id ​               interne ID eines übergeordneten "​Elternauftrages"​ +
-  int                     ​$client_account_id ​       interne ID eines verbundenen Rechnungskontos (abhängig von Contact) +
-  int                     ​$ext_id ​                  ​Externe ID +
-  string(255) ​            ​$realnumber ​              ​Auftragsnummer +
-  string(65535) ​          ​$notes ​                   Freitext Notizen zum Auftrag +
-  string(255) ​            ​$subject ​                 Betreffzeile des Auftrages +
-  string(255) ​            ​$shortnotes ​              ​Kurzbeschreibung zum Auftrag +
-  int                     ​$order_date ​              Unix- Timestamp Auftragsdatum +
-  int                     ​$start_date ​              Unix- Timestamp Datum des Auftragsbeginns +
-  int                     ​$maturity_date ​           Unix- Timestamp Datum der Auftragsfälligkeit +
-  double ​                 $order_volume ​            ​Betrag des gesamten Auftragsvolumens +
-  double ​                 $amount_invoiced ​         Summe der abgerechneten Beträge/​Posten +
-  int                     ​$flow_status ​             Bearbeitungsstatus +
-                                                    0 = In Bearbeitung +
-                                                    1 = Erstellt +
-                                                    2 = Geprüft +
-                                                    3 = Erteilt +
-                                                    4 = Erledigt +
-                                                    5 = Abgerechnet +
-                                                    6 = Storniert +
-   +
-  int                     ​$autoprice ​               Preisberechnung  +
-                                                    0 = Nein +
-                                                    1 = Ja, aktiviert die Artikelliste sofern vorhanden +
-   +
-  string(255) ​            ​$contact_name ​            ​Contact- Ansprechpartner Name +
-  string(255) ​            ​$contact_email ​           Contact- Ansprechpartner E-Mail +
-  string(255) ​            ​$contact_phone ​           Contact- Ansprechpartner Telefon +
-  int                     ​$leader ​                  ​Zuständiges User, User-ID +
-  int                     ​$substitute ​              ​stellvertretend zuständiger User, User-ID +
-  int                     ​$serie ​                   Serientermin +
-                                                    1 = täglich +
-                                                    2 = wöchentlich +
-                                                    3 = monatlich +
-                                                    4 = jährlich +
-   +
-  int                     ​$serie_type ​              ​$serie == 1 ? 1 = täglich, 2 = jeden Werktag +
-                                                    $serie == 2 ? 2 +
-                                                    $serie == 3 ? 1 = Tag und Monat, 2 = Intervall +
-                                                    $serie == 4 ? 1 = Tag und Monat, 2 = Intervall ​  +
-   +
-  int                     ​$serie_parent ​            id des Elternobjekts,​ wenn dieses Element geändert wurde +
-  int                     ​$serie_pdate ​             Datum des ursprünglichen aktuellen Elements, bevor es zu  +
-                                                    einem anderen Zeitpunkt geändert wurde +
-   +
-   +
-   +
-  int                     ​$intrval ​                 Serietermin-Interval (z.B. 2)  +
-  int                     ​$instance ​                1 = erste, +
-                                                    2 = zweite, +
-                                                    3 = dritte, +
-                                                    4 = vierte, +
-                                                    5 = letzte dayofweekmask des Monats oder Jahres +
-   +
-  int                     ​$day_of_week_mask ​        S M T W T F S = binary bitmask +
-                                                    Sonntag ​   = 01000000 ​ (64) +
-                                                    Montag ​    = 00100000 ​ (32) +
-                                                    Dienstag ​  = 00010000 ​ (16) +
-                                                    Mittwoch ​  = 00001000 ​ (8) +
-                                                    Donnerstag = 00000100 ​ (4) +
-                                                    Freitag ​   = 00000010 ​ (2) +
-                                                    Samstag ​   = 00000001 ​ (1) +
-   +
-                                                    Wählen ​Sie beispielsweise Mittwoch UND Freitag +
-                                                    Mittwoch ​  = 00001000 ​ (8) +
-                                                    Freitag ​   = 00000010 ​ (2) +
-                                                    -------------------------- +
-                                                    bitwise OR = 00001010 ​ (10) +
-   +
-  int                     ​$day_of_month ​            Tag des Monats, 1 - 31  +
-  int                     ​$month_of_year ​           Monat des Jahres, 1 - 12 +
-  int                     ​$occurrences ​             Anzahl der Ereignisse +
-  int                     ​$end_type ​                3 = an bestimmten Datum enden, +
-                                                    2 = Ende nach bestimmten Anzahl von Ereignissen,​ +
-                                                    1 = open end +
-   +
-  int                     ​$serieend ​                ​Unix-Timestamp des Serienendes ( ab Version 3.7 ) +
-  int                     ​$chguser ​                 User ID der letzten Änderung +
-  int                     ​$chgtime ​                 Unix-Timestamp der letzten Änderung +
-  int                     ​$createuser ​              User ID der Erstellung +
-  int                     ​$createtime ​              ​Unix-Timestamp der Erstellung +
-  mixed                   ​$user20 ​                  ​Benutzerdefiniertes Feld Nr. 20 +
-  mixed                   ​$user21 ​                  ​Benutzerdefiniertes Feld Nr. 21 +
-    :                        :                                   : +
-  mixed                   ​$user80 ​                  ​Benutzerdefiniertes Feld Nr. 80 +
-   +
- +
- +
-**Beispiel** +
- +
- +
-<?php +
-// fetch Order with ID 1337 +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
-$order_id = 1337; +
-try { +
-  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $result = $client_orders->​crmgetOrder($session_id,​ $order_id);​ +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-foreach($result as $order)  +
-+
- foreach($order as $property => $val)  +
-+
- echo $property.'​ => '​.$val."<​br/>​\n";​ +
- if (is_array($val)) { +
- echo serialize($val);​ +
-+
-+
-+
- +
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmgetOrdersFrom ===== +
- +
- +
-**Syntax** +
-  SoapVar crmgetOrdersFrom( string $session_id,​ int $month, int $year ) +
- +
-**Beschreibung** +
- +
-Gibt eine Instanz von SoapVar kodiert als Array (SOAP_ENC_ARRAY) mit allen Auftragsobjekten ab dem +
-gegebenen Zeitpunkt zurück. +
- +
- +
-Referenz hierbei ist das Datum des Auftragsstarts //​start_date//​. +
- +
- +
-Wenn //month// gesetzt ist werden nur Aufträge dieses Monats zurückgegeben. Wenn //month// auf 0 gesetzt ist werden Aufträge für alle Monate zurückgegeben. +
- +
- +
-Wenn //year// gesetzt ist werden nur Aufträge dieses Jahres zurückgegeben. Wenn //year// auf 0 gesetzt ist werden Aufträge für alle Jahre zurückgegeben. +
- +
- +
-**Eigenschaften der zurückgegebenen ****//order Objekte//​**:​ +
- +
-sind die selben wie für **[[#​crmgetOrder]]** +
- +
- +
-**Beispiel** +
- +
- +
-<?php +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
- +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $result = $client_orders->​crmgetOrdersFrom($session_id,​ 0, 0); +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-foreach($result as $order)  +
-+
- foreach($order as $property => $val)  +
-+
- echo $property.'​ => '​.$val."<​br/>​\n";​ +
- if (is_array($val)) { +
- echo serialize($val);​ +
-+
-+
-+
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmgetChangedOrders ===== +
- +
- +
-**Syntax:​** +
-  SoapVar crmgetChangedOrders( string $session_id,​ int $timestamp ) +
- +
-**Beschreibung:​** +
- +
-Gibt eine Instanz von SoapVar kodiert als Array (SOAP_ENC_ARRAY) mit allen Auftragsobjekten zurück, die seit dem gegebenen Zeitpunkt //​$timestamp//​ modifiziert worden sind. +
- +
- +
-Referenz hierbei ist das Datum der letzten Änderung //​chgtime//​. +
- +
- +
-//​$timestamp//​ ist ein ganzzahliger Unix- Timestamp. Wenn //​$timestamp//​ mit //0// übergeben wird, werden **alle** verfügbaren Aufträge erfaßt. +
- +
- +
-**Eigenschaften der zurückgegebenen ****//order Objekte//​**:​ +
- +
-sind die selben wie für **[[#​crmgetOrder]]** +
- +
- +
-**Beispiel** +
- +
- +
-<?php +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
- +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $timestamp = (time() - (3 * 86400)); // all orders modified during the last 3 days +
- $result = $client_orders->​crmgetChangedOrders($session_id,​ $timestamp);​ +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-foreach($result as $order)  +
-+
- foreach($order as $property => $val)  +
-+
- echo $property.'​ => '​.$val."<​br/>​\n";​ +
- if (is_array($val)) { +
- echo serialize($val);​ +
-+
-+
-+
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmgetChangedOrdersLimit ===== +
- +
- +
-**Syntax:​** +
-  SoapVar crmgetChangedOrdersLimit( string $session_id,​ int $timestamp, int $count, int $offset ) +
- +
-**Beschreibung:​** +
- +
-Gibt eine Instanz von SoapVar kodiert als Array (SOAP_ENC_ARRAY) mit allen Auftragsobjekten zurück, die seit dem gegebenen Zeitpunkt //​$timestamp//​ modifiziert worden sind. +
- +
- +
-Referenz hierbei ist das Datum der letzten Änderung //​chgtime//​. +
- +
- +
-//​$timestamp//​ ist ein ganzzahliger Unix- Timestamp. Wenn //​$timestamp//​ mit //0// übergeben wird, werden **alle** verfügbaren Aufträge erfaßt. +
- +
- +
-//$count// ist ein ganzzahliger Wert, mit dem die maximal zurückgegebene Menge an Aufträgen limitiert werden kann. +
- +
- +
-//$offset// ist ein ganzzahliger Wert, mit dem bestimmt werden kann, wieviele Einträge vom Beginn aller erfaßten Aufträge übersprungen werden sollen. +
- +
- +
-**Eigenschaften der zurückgegebenen ****//order Objekte//​**:​ +
- +
-sind die selben wie für **[[#​crmgetOrder]]** +
- +
- +
-**Beispiel** +
- +
- +
-<?php +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
- +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $timestamp = (time() - (3 * 86400)); // all orders modified during the last 3 days +
- // fetch 50 order objects modified during the past 3 days and skipping the first 100  +
- // i.e. fetch entries #101 - #150 +
- $result = $client_orders->​crmgetChangedOrdersLimit($session_id,​ $timestamp, 50, 100); +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-foreach($result as $order)  +
-+
- foreach($order as $property => $val)  +
-+
- echo $property.'​ => '​.$val."<​br/>​\n";​ +
- if (is_array($val)) { +
- echo serialize($val);​ +
-+
-+
-+
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmgetOrderIds ===== +
- +
- +
-**Syntax** +
-  SoapVar crmgetOrderIds( string $session_id,​ int $timestamp ) +
- +
-**Beschreibung** +
- +
-Liefert eine Instanz von SoapVar enkodiert als Array (SOAP_ENC_ARRAY) mit Auftragsobjekten zurück, die lediglich die interne ID des Auftrages als Eigenschaft enthalten. +
- +
- +
-//​$timestamp//​ ist ein Unix-Timestamp und bestimmt den Zeitpunkt der letzten Änderung, ab dem Auftrags IDs zurückgegeben werden sollen. Wenn //​$timestamp = 0// werden alle Auftrag IDs zurückgegeben. +
- +
- +
-**Eigenschaften der zurückgegebenen ****//​crmgetOrderIdsResult Objekte//​**:​ +
-   +
-  Type(Length) ​           Eigenschaft ​              ​Beschreibung +
-  --------------------------------------------------------------------------------------------- +
-  int                     ​$id ​                      ​Auftrags-ID +
- +
- +
-**Beispiel** +
- +
- +
-<?php +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
- +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $result = $client_orders->​crmgetOrderIds($session_id,​ 0); +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-foreach($result as $order)  +
-+
- echo 'Order ID: '​.$order->​id.'<​br />';​ +
-+
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmgetOrderIdsString ===== +
- +
- +
-**Syntax** +
-  string crmgetOrderIdsString( string $session_id,​ int $timestamp ) +
- +
-**Beschreibung** +
- +
-Aufruf und Parameter analog zu //​[[#​crmgetOrderIds]]//​. +
- +
- +
-Die ermittelten Auftrag IDs werden als Zeichenkette mit ":"​ als Trennzeichen zurückgegeben. +
- +
- +
-**Beispiel** +
- +
- +
-<?php +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
- +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $result = $client_orders->​crmgetOrderIdsString($session_id,​ 0); +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-$orders = explode(':',​ $result); +
-echo '<​pre>'​.print_r($orders,​ true).'</​pre>';​ +
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmgetOrderResubmissions ===== +
- +
- +
-**Syntax** +
-  SoapVar|string CRMException message crmgetOrderResubmissions( string $session_id,​ int $order_id, int $user_id ) +
- +
-**Beschreibung** +
- +
-Gibt eine Instanz von SoapVar kodiert als Array (SOAP_ENC_ARRAY) mit Wiedervorlageobjekten zurück. +
- +
- +
-Rückgabe muß mit Parametern //​$order_id//​ und //​$user_id//​ spezifiziert werden. +
- +
- +
-**Eigenschaften der zurückgegebenen ****//​crmgetOrderResubmissionsResult Objekte//​**:​ +
-   +
-  Type(Length) ​           Eigenschaft ​              ​Beschreibung +
-  --------------------------------------------------------------------------------------------- +
-  int                     ​$id ​                      ID der Wiedervorlage +
-  string(255) ​            ​$type ​                    ​Identifizierung des zugehörigen Moduls (hier z.B. "​order"​) +
-  int                     ​$oid ​                     ID des Order Objektes +
-  string(255) ​            ​$item ​                    ​Betreff des Order Objektes (order->​subject) +
-  int                     ​$date ​                    ​Unix-Timestamp des Datums der Wiedervorlage +
-  int                     ​$maturity ​                ​Unix-Timestamp des Zeitpunkts der Erinnerung auf die Wiedervorlage +
-  int                     ​$seen ​                    ​Unix-Timestamp des Zeitpunkts der ersten Einsichtnahme des betreffenden Benutzers +
-  int                     ​$createuser ​              User ID des Erstellers +
-  int                     ​$createtime ​              ​Unix-Timestamp des Zeitpunkts der Erstellung +
-  int                     ​$chguser ​                 User ID des Benutzers, der die letzte Änderung vorgenommen hat +
-  int                     ​$chgtime ​                 Unix-Timestamp des Zeitpunkts der letzten Änderung +
- +
- +
-**Beispiel** +
- +
- +
-<?php +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
- +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- // fetch all resubmissions of order ID 1337 concerning or created by user ID 12 +
- $result = $client_orders->​crmgetOrderResubmissions($session_id,​ 1337, 12); +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-foreach($result as $resub)  +
-+
- echo '​Resubmission ID: '​.$resub->​id.'<​br />';​ +
-+
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmaddOrder ===== +
- +
- +
-**Syntax** +
-  int crmaddOrder( string $session_id,​ crmOrderItem $crmOrderItem ) +
- +
-**Beschreibung** +
- +
-Fügt nach Übergabe eines Objektes //​$crmOrderItem//​ einen neuen Auftrag hinzu und liefert die interne ID des neu angelegten Auftrages zurück. +
- +
- +
-Im Falle einer aufgefangenen CRMException wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Eigenschaften des zu übergebenden ****//​crmOrderItem Objektes//​**:​ +
-   +
-  Type(Length) ​           Eigenschaft ​              ​Beschreibung +
-  --------------------------------------------------------------------------------------------- +
-  string(255) ​            ​$subject ​                 Betreffzeile (Pflichtfeld) +
-  string(255) ​            ​$shortnotes ​              ​Kurzbeschreibung +
-  string(65535) ​          ​$notes ​                   Notizfeld +
-  string ​                 $cid                      Contact-ID, Format: Contact-ID:​Person-ID (Pflichtfeld) +
-  int                     ​$pid ​                     Projekt ID +
-  int                     ​$offer_id ​                ​Angebot ID +
-  int                     ​$parent_id ​               interne ID eines übergeordneten "​Elternauftrages"​ +
-  string(255) ​            ​$ext_id ​                  ​externe ID +
-  int                     ​$leader ​                  ​Zuständiger User, User-ID +
-  int                     ​$substitute ​              ​stellvertretend zuständiger User, User-ID +
-  int                     ​$client_account_id ​       ID Rechnungskonto (in Verbindung mit gesetzter $cid) +
-  int                     ​$order_date ​              ​Unix-Timestamp Auftragsdatum (Pflichtfeld) +
-  int                     ​$start_date ​              ​Unix-Timestamp Datum Auftragsbeginn (Pflichtfeld) +
-  int                     ​$maturity_date ​           Unix-Timestamp Datum Auftragsfälligkeit +
-  int                     ​$duration ​                ​ganzzahliger Wert repräsentativ für Monate der Laufzeit (default sollte 1 sein) +
-  double ​                 $order_volume ​            ​Betrag des gesamten Auftragsvolumens +
-  double ​                 $amount_invoiced ​         Summe der abgerechneten Beträge/​Posten +
-  int                     ​$flow_status ​             Bearbeitungsstatus +
-                                                    0 = In Bearbeitung +
-                                                    1 = Erstellt +
-                                                    2 = Geprüft +
-                                                    3 = Erteilt +
-                                                    4 = Erledigt +
-                                                    5 = Abgerechnet +
-                                                    6 = Storniert +
-   +
-  int                     ​$autoprice ​               Preisberechnung (Pflichtfeld) +
-                                                    0 = Nein +
-                                                    1 = Ja, aktiviert die Artikelliste sofern vorhanden +
-   +
-  string(255) ​            ​$contact_name ​            ​Contact- Ansprechpartner Name +
-  string(255) ​            ​$contact_email ​           Contact- Ansprechpartner E-Mail +
-  string(255) ​            ​$contact_phone ​           Contact- Ansprechpartner Telefon +
-  int                     ​$serie ​                   Serientermin +
-                                                    1 = täglich +
-                                                    2 = wöchentlich +
-                                                    3 = monatlich +
-                                                    4 = jährlich +
-   +
-  int                     ​$intrval ​                 Serietermin-Interval (z.B. 2)  +
-  int                     ​$serieend ​                ​Unix-Timestamp des Serienendes ( ab Version 3.7 ) +
-  mixed                   ​$user20 ​                  ​Benutzerdefiniertes Feld Nr. 20 +
-  mixed                   ​$user21 ​                  ​Benutzerdefiniertes Feld Nr. 21 +
-    :                        :                                   : +
-  mixed                   ​$user80 ​                  ​Benutzerdefiniertes Feld Nr. 80 +
- +
- +
-**Beispiel** +
- +
- +
-<?php +
-class myOrderObject +
-+
- // declare my desired properties of crmOrderItem +
- public $subject;​ //​ mandatory +
- public $shortnotes;​ +
- public $notes; +
- public $cid; // mandatory +
- public $pid; +
- public $order_date;​ //​ mandatory +
- public $start_date;​ //​ mandatory +
- public $maturity_date;​ +
- public $duration;​ +
-+
- +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
- +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $new_order = new myOrderObject();​ +
- $new_order->​subject = 'My Testorder subject';​ +
- $new_order->​shortnotes = 'we try to add a new order';​ +
- $new_order->​notes = '';​ +
- $new_order->​cid = '​512:';​ //​ a contact ID  +
- $new_order->​order_date = time(); +
- $new_order->​start_date = time(); +
- $new_order->​maturity_date = (time() + (86400 * 6)); +
- $new_order->​duration = 3; +
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $order_id = $client_orders->​crmaddOrder($session_id,​ $new_order);​ +
- +
- echo 'new Order created with ID: '​.$order_id;​ +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmaddOrders ===== +
- +
- +
-**Syntax** +
-  boolean crmaddOrders( string $session_id,​ crmOrderItems|array $crmOrderItems ) +
- +
-**Beschreibung** +
- +
-Fügt mehrere Aufträge anhand des übergebenen Arrays mit einem oder mehreren //​crmOrderItem//​ Objekten hinzu. +
- +
- +
-//​$crmOrderItems//​ ist entweder ein Objekt mit einer Eigenschaft //​crmOrderItems//​ vom Typ Array oder ein Array mit einem Element "​crmOrderItems",​ welches wiederum ein Array ist. (siehe Beispiele) +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Eigenschaften des zu übergebenden ****//​crmOrderItems Parameters//​**:​ +
-   +
-   +
-  Möglichkeit 1, ALS OBJEKT: +
-   +
-  Type(Length) ​           Eigenschaft ​              ​Beschreibung +
-  --------------------------------------------------------------------------------------------- +
-  array                   ​$crmOrderItems ​           Array, in welches alle hinzuzufügenden crmOrderItem- Objekte  +
-                                                    geladen werden +
-   +
-  Möglichkeit 2, ALS ARRAY +
-   +
-  Type(Length) ​           Arrayelement ​             Beschreibung +
-  --------------------------------------------------------------------------------------------- +
-  array                   "​crmOrderItems" ​          ​Array,​ in welches alle hinzuzufügenden crmOrderItem- Objekte  +
-                                                    geladen werden +
- +
- +
-**Beispiel 1** +
- +
- +
-<?php +
-class crmOrderItems +
-+
- /** +
- * @var array +
- */ +
- public $crmOrderItems;​ +
-+
- +
-class myOrderObject +
-+
- // declare my desired properties of crmOrderItem +
- public $subject;​ //​ mandatory +
- public $shortnotes;​ +
- public $notes; +
- public $cid; // mandatory +
- public $pid; +
- public $order_date;​ //​ mandatory +
- public $start_date;​ //​ mandatory +
- public $maturity_date;​ +
- public $duration;​ +
-+
- +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
- +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $order1 = new myOrderObject();​ +
- $order2 = new myOrderObject();​ +
- $myOrderItems = new crmOrderItems();​ +
-  +
- // define the order properties +
- $order1->​subject = 'My Testorder 1 subject';​ +
- $order1->​shortnotes = 'we try to add a new order';​ +
- $order1->​notes = '';​ +
- $order1->​cid = '​150:';​ +
- $order1->​order_date = time(); +
- $order1->​start_date = time(); +
- $order1->​maturity_date = (time() + (86400 * 6)); +
- $order1->​duration = 1; +
- +
- $order2->​subject = 'My Testorder 2 subject';​ +
- $order2->​shortnotes = 'we try to add another new order';​ +
- $order2->​notes = 'this is supposed to be Number 2'; +
- $order2->​cid = '​123:​4711';​ //​ some contact ID with person ID +
- $order2->​order_date = time(); +
- $order2->​start_date = time(); +
- $order2->​maturity_date = (time() + (86400 * 6)); +
- $order2->​duration = 24; +
- +
- // dump the crmOrderItem objects to crmOrderItems +
- $myOrderItems->​crmOrderItems = array($order1,​ $order2); +
- if ($client_orders->​crmaddOrders($session_id,​ $myOrderItems) === true) { +
- +
- echo 'all orders added successfully';​ +
-+
- else { +
- echo '​failed to insert all orders';​ +
-+
- +
- echo 'new Order created with ID: '​.$order_id;​ +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
-?> +
- +
- +
-**Beispiel 2** +
- +
- +
-<?php +
-class myOrderObject +
-+
- // declare my desired properties of crmOrderItem +
- public $subject;​ //​ mandatory +
- public $shortnotes;​ +
- public $notes; +
- public $cid; // mandatory +
- public $pid; +
- public $order_date;​ //​ mandatory +
- public $start_date;​ //​ mandatory +
- public $maturity_date;​ +
- public $duration;​ +
-+
- +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
- +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $order1 = new myOrderObject();​ +
- $order2 = new myOrderObject();​ +
-  +
- // define the order properties +
- $order1->​subject = 'My Testorder 1 subject';​ +
- $order1->​shortnotes = 'we try to add a new order';​ +
- $order1->​notes = '';​ +
- $order1->​cid = '​150:';​ +
- $order1->​order_date = time(); +
- $order1->​start_date = time(); +
- $order1->​maturity_date = (time() + (86400 * 6)); +
- $order1->​duration = 3; +
- +
- $order2->​subject = 'My Testorder 2 subject';​ +
- $order2->​shortnotes = 'we try to add another new order';​ +
- $order2->​notes = 'this is supposed to be Number 2'; +
- $order2->​cid = '​123:​4711';​ //​ some contact ID with person ID +
- $order2->​order_date = time(); +
- $order2->​start_date = time(); +
- $order2->​maturity_date = (time() + (86400 * 6)); +
- $order2->​duration = 12; +
- +
- // here's the crucial difference to example 1 ! +
- // $myOrderItems is an Array with a designated element "​crmOrderItems"​ +
- $myOrderItems = array('​crmOrderItems'​ => array($order1,​ $order2));​ +
- +
- if ($client_orders->​crmaddOrders($session_id,​ $myOrderItems) === true) { +
- +
- echo 'all orders added successfully';​ +
-+
- else { +
- echo '​failed to insert all orders';​ +
-+
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmaddOrderResubmission ===== +
- +
- +
-**Syntax** +
-  boolean|string CRMException message crmaddOrderResubmission( string $session_id,​ crmOrderResubItem $crmOrderResubItem ) +
- +
-**Beschreibung** +
- +
-Fügt eine neue Wiedervorlage für spezifiziertes Auftrags Objekt und betreffenden Benutzer. +
- +
- +
-Liefert boolean TRUE/FALSE zurück. +
- +
- +
-Im Falle einer aufgefangenen CRMException wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Eigenschaften des zu übergebenden ****//​crmOrderResubItem Objektes//​**:​ +
-   +
-  Type(Length) ​           Eigenschaft ​              ​Beschreibung +
-  ​--------------------------------------------------------------------------------------------- +
-  int                     ​$oid ​                     interne ID des Auftrag Objektes +
-  int                     ​$userid ​                  User ID des betreffenden Benutzers (default: ID des aktiven Benutzers) +
-  int                     ​$date ​                    ​Unix-Timestamp des Wiedervorlage Datums +
-  int                     ​$maturity ​                ​Unix-Timestamp des Zeitpunkts der Erinnerung an die Wiedervorlage +
-  string(255) ​            ​$subject ​                 Kommentar-/​Betrefftext für die Wiedervorlage +
- +
- +
-**Beispiel** +
- +
- +
-<?php +
-class myOrderResubItem +
-+
- // declare properties of crmOrderResubItem +
- public $subject; +
- public $oid; +
- public $date; +
- public $userid; +
-+
- +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
- +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $new_resub = new myOrderResubItem();​ +
- $new_resub->​subject = 'new Order resubmission';​ +
- $new_resub->​oid = 1337; // an Order object ID +
- $new_resub->​userid = 12; // concerning user's ID +
- $new_resub->​date = (time() + (86400 * 6)); // resubmission in 3 days +
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $result = $client_orders->​crmaddOrderResubmission($session_id,​ $new_resub) +
- if ($result) { +
- echo '​Resubmission added successfully';​ +
-+
- else { +
- echo '​Failed to add resubmission:​ '​.$result;​ +
-+
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmchangeOrder ===== +
- +
- +
-**Syntax** +
-  int crmchangeOrder( string $session_id,​ int $order_id, crmOrderItem $crmOrderItem ) +
- +
-**Beschreibung** +
- +
-Ändert die in //​$crmOrderItem//​ übergebenen Eigenschaften eines Auftrages. +
- +
- +
-Liefert bei Erfolg die ID des Auftrages als Rückgabewert. +
- +
- +
-Im Falle einer aufgefangenen CRMException wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-//​$order_id//​ ist die interne ID des zu ändernden Auftrages. +
- +
- +
-**Eigenschaften des zu übergebenden ****//​crmOrderItem Objektes//​**:​ +
-sind identisch mit //​crmOrderItem//​ in //[[#​crmaddOrder]]//​. +
-**Beispiel** +
- +
- +
-<?php +
-class myOrderObject +
-+
- // declare my desired properties of crmOrderItem +
- public $subject;​ //​ mandatory +
- public $shortnotes;​ +
- public $notes; +
- public $cid; // mandatory +
- public $pid; +
- public $order_date;​ //​ mandatory +
- public $start_date;​ //​ mandatory +
- public $maturity_date;​ +
-+
- +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
-$soap_url = 'https://test.tecart-system.de/soap/index.php?​op=';​ +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- // let's assume there'​s an order in the system with ID 1337 +
- $fetch = $client_orders->​crmgetOrder($session_id,​ 1337); +
- $current_order = $fetch[0];​ +
- +
- $order = new myOrderObject();​ +
- // set mandatory properties that won't be changed +
- $order->​realnumber = $current_order->​realnumber;​ +
- $order->​autoprice = $current_order->​autoprice;​ +
- $order->​order_date = $current_order->​order_date;​ +
- $order->​start_date = $current_order->​start_date;​ +
- $order->​cid = $current_order->​cid;​ +
- // set properties that are to be changed +
- $order->​subject = '​changed Testorder subject';​ +
- $order->​shortnotes = 'we try to change an order';​ +
- $order->​maturity_date = (time() + (86400 * 14)); +
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $check = $client_orders->​crmchangeOrder($session_id,​ $current_order->​id,​ $order); +
- +
- if ($check == $current_order->​id) { +
- echo 'Order 1337 successfully changed';​ +
-+
- else { +
- echo "​Failure to change Order 1337: `$check`";​ +
-+
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmchangeOrders ===== +
- +
- +
-**Syntax** +
-  boolean crmchangeOrders( string $session_id,​ crmOrderItems|array $crmOrderItems ) +
- +
-**Beschreibung** +
- +
-Ändert die Eigenschaften der in //​$crmOrderItems//​ übergebenen //​crmOrderItem//​ Objekte. +
- +
- +
-Gibt bei Erfolg //boolean TRUE// zurück. Im Falle aufgefangener CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-//​$crmOrderItems//​ ist entweder ein Objekt mit einer Eigenschaft //​crmOrderItems//​ vom Typ Array oder ein Array mit einem Element "​crmOrderItems",​ welches wiederum ein Array ist. (siehe Beispiele) +
- +
- +
-**Eigenschaften des zu übergebenden ****//​crmOrderItems Parameter//​**:​ +
-sind identisch mit //​crmOrderItems//​ in //​[[#​crmaddOrders]]//​ **mit dem Zusatz, daß Eigenschaft ****//​id//​**** vorhanden sein muß !** +
- +
-**Beispiel 1** +
- +
- +
-<?php +
-class crmOrderItems +
-+
- /** +
- * @var array +
- */ +
- public ​$crmOrderItems;​ +
-+
- +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
-$soap_url = '​https:​//test.tecart-system.de/​soap/​index.php?​op=';​ +
- +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- // we assume two order objects present in the system with IDs 1337 and 42 +
- $fetch = $client_orders->​crmgetOrder($session_id,​ 1337); +
- $order1 = $fetch[0];​ +
- $fetch = $client_orders->​crmgetOrder($session_id,​ 42); +
- $order2 = $fetch[0];​ +
- $myOrderItems = new crmOrderItems();​ +
- +
- // define properties to be changed +
- // note, that no mandatory properties are necessary to be set +
- // because we're using the returned crmOrderItem objects from crmgetOrder() +
- // NOTE: in order to change multiple ​Orders ​the crmOrderItem- objects need +
- // to have the '​id'​ property ! In this example $order1->​id is already set +
- // from the retrieved orders +
- $order1->​subject = '​Testorder 1 with changed subject';​ +
- $order1->​shortnotes = 'we changed some data in this order';​ +
- +
- $order2->​subject = '​Testorder 2 with changed subject';​ +
- $order2->​notes = '​maturity date changed';​ +
- $order2->​maturity_date = (time() ​(86400 * 30)); +
- +
- // dump the crmOrderItem objects to crmOrderItems +
- $myOrderItems->​crmOrderItems = array($order1,​ $order2); +
- if ($client_orders->​crmchangeOrders($session_id,​ $myOrderItems) === true) { +
- +
- echo 'all orders changed successfully';​ +
-+
- else { +
- echo '​failed to update all orders';​ +
-+
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
-?> +
- +
- +
-**Beispiel 2** +
- +
- +
-<?php +
-class myOrderObject +
-+
- // declare my mandatory and desired properties of crmOrderItem +
- public $id; // mandatory (in order to perform multiple updates) +
- public $subject;​ //​ mandatory +
- public $realnumber;​ //​ mandatory +
- public $shortnotes;​ +
- public $notes; +
- public $cid; // mandatory +
- public $pid; +
- public $order_date;​ //​ mandatory +
- public $start_date;​ //​ mandatory +
- public $maturity_date;​ +
-+
- +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
- +
-// in this example we've got some data of our assumed order objects  +
-// stored in an array +
-$current_orders = array( +
- 0 => array( +
- '​id'​ =>​ 1337, +
- '​realnumber'​ =>​ '​10010',​ +
- '​subject'​ =>​ '​Testorder 1', +
- '​order_date'​ =>​ time(), +
- '​start_date'​ =>​ time(), +
- '​cid'​ =>​ '​150:',​ +
- '​autoprice'​ =>​ 0 +
- ), +
- 1 => array( +
- '​id'​ =>​ 42, +
- '​realnumber'​ =>​ '​10185',​ +
- '​subject'​ =>​ '​Testorder 2', +
- '​order_date'​ =>​ time(), +
- '​start_date'​ =>​ time(), +
- '​cid'​ =>​ '​123:​4711';,​ +
- '​autoprice'​ =>​ 0 +
-+
-); +
- +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $order1 = new myOrderObject();​ +
- $order2 = new myOrderObject();​ +
-  +
- // define the order properties +
- $order1->​id = $current_orders[0]['​id'​]+
- $order1->​realnumber = $current_orders[0]['​realnumber'​];​ +
- $order1->​cid = $current_orders[0]['​cid'​];​ +
- $order1->​order_date = $current_orders[0]['​order_date'​];​ +
- $order1->​start_date = $current_orders[0]['​start_date'​];​ +
- $order1->​autoprice = $current_orders[0]['​autoprice'​];​ +
- $order1->​subject = '​Testorder 1 changed';​ +
- $order1->​shortnotes = '​slight changes in the subject';​ +
- +
- // we can transfer the mandatories in a loop as well, +
- // let's try this for the 2nd order object +
- foreach ($current_orders[1] as $property => $value) { +
- if (isset($order2->​$key)) { +
- $order2->​$key = $value; +
-+
-+
- $order2->​shortnotes = '​maturity date changed';​ +
- $order2->​maturity_date = (time() + (86400 * 30)); +
- +
- // $myOrderItems is an Array with a designated element "​crmOrderItems"​ +
- $myOrderItems = array('​crmOrderItems'​ => array($order1,​ $order2));​ +
- +
- if ($client_orders->​crmaddOrders($session_id,​ $myOrderItems) === true) { +
- +
- echo 'all orders updated successfully';​ +
-+
- else { +
- echo '​failed to update all orders';​ +
-+
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmdeleteOrder ===== +
- +
- +
-**Syntax** +
-  boolean crmdeleteOrder( string $session_id,​ int $order_id ) +
- +
-**Beschreibung** +
- +
-Löscht einen Auftrag mit übergebener ID //​$order_id//​ und liefert bei Erfolg //boolean TRUE// zurück. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Beispiel** +
- +
- +
-<?php +
-// delete Order with ID 1337 +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
-$order_id = 1337; +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $success = $client_orders->​crmdeleteOrder($session_id,​ $order_id);​ +
-  +
- if ($success === true) { +
- echo "Order $order_id successfully deleted";​ +
-+
- else { +
- echo "​Delete failed with return: `$success`";​ +
-+
- +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmdeleteOrders ===== +
- +
- +
-**Syntax** +
-  boolean crmdeleteOrders( string $session_id,​ array $order_ids) +
- +
-**Beschreibung** +
- +
-Löscht alle Aufträge, mit den in Array //​$order_ids//​ übergebenen IDs und liefert bei Erfolg //boolean TRUE// zurück. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Beispiel** +
- +
- +
-<?php +
-// delete Orders with IDs 1337 and 42 +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
-$order_ids = array(1337, 42); +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $success = $client_orders->​crmdeleteOrders($session_id,​ $order_ids);​ +
-  +
- if ($success === true) { +
- echo "All Orders successfully deleted";​ +
-+
- else { +
- echo "​Delete failed with return: `$success`";​ +
-+
- +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmdeleteOrderResubmission ===== +
- +
- +
-**Syntax** +
-  boolean|string CRMException message crmdeleteOrderResubmission( string $session_id,​ int $order_id, int $resub_id ) +
- +
-**Beschreibung** +
- +
-Löscht eine mittels //​$order_id//​ und //​$resub_id//​ identifizierte Wiedervorlage. +
- +
- +
-Liefert //boolean// TRUE/FALSE als Rückgabewert. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Beispiel** +
- +
- +
-<?php +
- +
-ini_set('​soap.wsdl_cache_enabled',​ '​0'​);​ +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- // delete resubmission with ID 257 belonging to Order object with ID 1337 +
- $success = $client_orders->​crmdeleteOrderResubmissions($session_id,​ 1337, 257); +
-  +
- if ($success === true) { +
- echo '​Resubmission successfully deleted';​ +
-+
- else { +
- echo "​Delete failed with return: `$success`";​ +
-+
- +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmgetOrderFields ===== +
- +
- +
-**Syntax** +
-  SoapVar crmgetOrderFields( string $session_id ) +
- +
-**Beschreibung** +
- +
-Liefert eine Instanz von SoapVar kodiert als Array (SOAP_ENC_ARRAY) mit allen Feldern der Auftrags Stammrelation aus dem RDBMS. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Eigenschaften des zurückgegebenen ****//array crmgetOrderFieldsResult//​**//://​ +
-   +
-  Typ(Länge) ​             Eigenschaft ​              ​Beschreibung +
-  --------------------------------------------------------------------------------------------- +
-  string(255) ​            ​Key ​                      ​Fortlaufende Nummer +
-  array                   ​Value ​                    ​Objekt mit Eigenschaften:​ +
-                                                    label: der angezeigte Name des Feldes +
-                                                    field: Name des Feldes in der Datenbank +
-                                                    type:  Typ des Feldes +
- +
- +
-**Beispiel:​** +
- +
- +
-<?php +
- +
-try {  +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $order_fields = $client_orders->​crmgetOrderFields($session_id);​ +
- +
- foreach ($order_fields as $fobj) { +
- $output =  +
- '​Field '​.$fobj->​field.':​ <br />'​. +
- '​type => '​.$fobj->​type.'<​br />'​. +
- '​label => '​.$fobj->​label.'<​br /><br />';​ +
- +
- echo $output; +
-+
-+
-catch (CRMException $e) { +
- echo $e->​getMessage();​ +
-+
- +
-foreach( $fields as $val) { +
-    echo $val->​field ."<​br/>";​ +
-+
- +
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmgetOrderUserFields ===== +
- +
- +
-**Syntax**:​ +
-  array crmgetOrderUserFields( string $session_id,​ int $order_id ) +
- +
-**Beschreibung**:​ +
- +
-Gibt eine Instanz von SoapVar kodiert als Array (SOAP_ENC_ARRAY) mit einem Objekt als einziges Element zurück, dessen Eigenschaft //​OrderUserFields//​ ein Array mit einer Anzahl Objekten //​OrderUserField//​ ist, in denen die benutzerdefinierten Felder eines Auftrages abgelegt sind. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-//​order_id//​ ist die Auftrag-ID. +
- +
- +
-**Eigenschaften der im Array ****//​crmgetOrderUserFieldsResult->​OrderUserFields//​**** zurückgegebenen ****//​OrderUserField Objekte//​**:​ +
-   +
-  Type(Length) ​           Eigenschaft ​              ​Beschreibung +
-  --------------------------------------------------------------------------------------------- +
-  array                   ​$OrderUserFields ​         Array mit OrderUserField Objekten - Feldnamen und deren Werte +
- +
- +
-**Eigenschaften von ****//​OrderUserField//​**:​ +
-   +
-  Type(Length) ​           Eigenschaft ​              ​Beschreibung +
-  --------------------------------------------------------------------------------------------- +
-  string(255) ​            ​$name ​                    Name des benutzerdefinierten Auftrags-Feldes +
-  string(255) ​            ​$value ​                   Wert des benutzerdefinierten Auftrags-Feldes +
- +
- +
-**Beispiel** +
-<sxh php> +
- +
-<?php +
- +
-// Get user defined fields of Order ID 1337 +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $result = $client_orders->​crmgetOrderUserFields($session_id,​ 1337); +
- +
- foreach ($result[0]->​OrderUserFields as $field) { +
- echo $field->​name."​ => "​.utf8_decode($field->​value)."<​br>​\n";​ +
-+
- +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
-?> +
- +
-</​sxh>​ +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmgetChangedOrdersUserFields ===== +
- +
- +
-**Syntax**:​ +
-  array crmgetChangedOrdersUserFields( string $session_id,​ int $timestamp ) +
- +
-**Beschreibung**:​ +
- +
-Gibt ein Array mit Benutzerdefinierten Auftragsfeldern zurück, die seit //​$timestamp//​ geändert wurden +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Eigenschaften der zurückgegebenen ****//Order userfields Objekte//​**:​ +
-   +
-  Type(Length) ​           Eigenschaft ​                 Beschreibung +
-  --------------------------------------------------------------------------------------------- +
-  int                     ​$id ​                      ​Auftrag-Id  +
-  array                   ​$OrderUserFields ​         Array mit OrderUserField Objekte - Feldnamen und deren Werte +
- +
- +
-**Eigenschaften von ****//​OrderUserField//​**:​ +
- +
-sind die selben wie für OrderUserField object in **[[#​crmgetOrderUserFields]]** +
- +
- +
-**Beispiel:​** +
-<sxh php> +
- +
-<?php +
- +
-// Get userdefined fields of Orders modified in the last 30 days +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $result = $client_orders->​crmgetChangedOrdersUserFields($session_id,​ (time() - (86400 * 30)); +
- +
- foreach ($result as $order) { +
- echo 'Order ID: '​.$order->​id.'​ +
- +
-'; +
- +
- foreach ($order->​OrderUserFields as $field) { +
- echo $field->​name."​ => "​.utf8_decode($field->​value)."<​br>​\n";​ +
-+
-+
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmgetChangedOrdersUserFieldsLimit ===== +
- +
- +
-**Syntax**:​ +
-  array crmgetChangedOrdersUserFieldsLimit( string $session_id,​ int $timestamp, int $count, int $offset ) +
- +
-**Beschreibung**:​ +
- +
-Gibt ein Array mit Benutzerdefinierten Auftragsfeldern zurück, die seit //​$timestamp//​ geändert wurden, limitiert von //$count// und //​$offset//​. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Eigenschaften der zurückgegebenen ****//Order userfields Objekte//​**:​ +
-   +
-  Type(Length) ​           Eigenschaft ​              ​Beschreibung +
-  --------------------------------------------------------------------------------------------- +
-  int                     ​$id ​                      ​Auftrag-Id  +
-  array                   ​$OrderUserFields ​         Array mit OrderUserField Objekte - Feldnamen und deren Werte +
- +
- +
-**Eigenschaften von ****//​OrderUserField//​**:​ +
- +
-sind die selben wie für OrderUserField object in **[[#​crmgetOrderUserFields]]** +
- +
- +
-**Beispiel:​** +
-<sxh php> +
- +
-<?php +
- +
-// Get userdefined fields of first 10 Orders modified in the last 30 days +
-  +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $result = $client_orders->​crmgetChangedOrdersUserFieldsLimit($session_id,​ (time() - (86400 * 30), 10, 0); +
- +
- foreach ($result as $order) { +
- echo 'Order ID: '​.$order->​id.'​ +
- +
-'; +
- +
- foreach ($order->​OrderUserFields as $field) { +
- echo $field->​name."​ => "​.utf8_decode($field->​value)."<​br>​\n";​ +
-+
-+
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmsearchOrders ===== +
- +
- +
-**Syntax** +
-  SoapVar crmsearchOrders( string $session_id,​ crmsearchOrderItems $crmsearchOrdersItems,​ [array( int timestamp, int count, int offset, int userid)] ) +
- +
-**Beschreibung** +
- +
-Liefert eine Instanz von SoapVar kodiert als Array (SOAP_ENC_ARRAY) mit Aufträge- Objekten zurück, die den mit den Suchkriterien in Objekt //​$crmsearchOrderItems//​ übereinstimmen. +
- +
-Das Suchergebnis kann mit verschiedenen Argumenten im Array //$params// kontrolliert werden. +
-Rückgabe der Treffer, deren letzte Änderung //​$params[timestamp]//​ oder später war. Wenn //​$params[timestamp] = 0// werden alle gefundenen Aufträge berücksichtigt. +
- +
- +
-Mit Parametern //​$params[count]//​ und //​$params[offset]//​ kann die Anzahl zurückgegebener Aufträge eingeschränkt werden. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
- ​Elemente von //​crmsearchOrdersItems//​ werden mit '​AND'​ verknüpft. +
- +
- +
- ​Elemente von //​crmsearchOrderItemValues//​ werden mit '​OR'​ verknüpft. +
- +
- +
-**Eigenschaften von ****//​crmsearchOrdersItems//​**:​ +
-   +
-  Type(Length) ​     Eigenschaft ​                            ​Beschreibung +
-  -------------------------------------------------------------------------------------------  +
-  string(255) ​      ​$field ​                                 Feldname +
-  array             ​$crmsearchOrdersItemValues ​             Objekt mit designiertem Element +
-                                                            "​crmsearchOrdersItemValues"​  +
- +
- +
-**Eigenschaften von ****//​crmsearchOrdersItemValues//​**:​ +
-   +
-  Type(Length) ​     Eigenschaft ​                            ​Beschreibung +
-  -------------------------------------------------------------------------------------------  +
-  string(255) ​      ​$value ​                                 Suchvariable +
- +
- +
-**Eigenschaften von Array ****//​params//​**:​ +
-   +
-  Type(Length) ​     Arrayelement (Argument) ​                ​Beschreibung +
-  -------------------------------------------------------------------------------------------  +
-  int               ​timestamp ​                              Unix- Timestamp +
-  int               ​count ​                                  ​ganzzahliger Wert zur Limitierung der Rückgabe +
-  int               ​offset ​                                 ganzzahliger Wert, der die Anzahl der vom Beginn des +
-                                                            Resultsets zu überspringenden Einträge definiert +
-  int               ​userid ​                                 Benutzer ID, wenn gesetzt, werden ggf. vorliegende +
-                                                            Erinnerungen des Benutzers zu den gefundenen Aufträgen hinzugefügt +
- +
- +
-**Beispiel:​** +
-<sxh php> +
- +
-<?php +
-  +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- +
- // build the crmsearchOrdersItems parameter in multidimensional array style +
- $search = array ( +
- '​crmsearchOrdersItems'​ => array( +
- // look in field: "​subject"​ +
- array ( +
- '​field'​ =>​ '​subject',​ +
- '​crmsearchOrdersItemValues'​ =>​ array(array('​value'​ => '​Testorder'​)) +
- ), +
- // AND in field: "​realnumber"​ +
- array ( +
- '​field'​ =>​ '​realnumber',​ +
- '​crmsearchOrdersItemValues'​ =>​ array( +
- array('​value'​ =>​ '​10020'​),​ +
- // OR ... +
- array('​value'​ =>​ '​10145'​) +
-+
-+
-+
- ); +
- // we fetch all matching order objects without limit or offset +
- $result = $client_orders->​crmsearchOrders($session_id,​ $search); +
- +
- foreach ($result as $order) { +
- echo 'Order ID '​.$order->​id.':​ '​.$order->​realnumber.',​ '​.$order->​subject;​ +
-+
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmToContract ===== +
- +
- +
-**Syntax** +
-  int crmToContract( string $session_id,​ int $order_id [, string $article_list_ids] ) +
- +
-**Beschreibung** +
- +
-Erzeugt einen neuen Vertrag aus den Daten des Auftrages mit übergebener ID //​$order_id//​ und liefert bei Erfolg die ID des angelegten Vertrages zurück. +
- +
- +
-//​$article_list_ids//​ ist eine optionale Doppelpunkt-getrennte Liste von Artikel-IDs aus der Artikelliste eines Angebotes. Die Verwendung von Artikelposten Listen setzt das Vorhandensein der Artikelverwaltung als Bestandteil des Rechnungsmoduls voraus. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Beispiel** +
-<sxh php> +
- +
-<?php +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- // we transfer the data of assumed order ID 1337 to a new contract +
- $contract_id = $client_orders->​crmToContract($session_id,​ 1337); +
- +
- echo 'new contract with ID '​.$contract_id.'​ created +
-'; +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmCreateFollowUp ===== +
- +
- +
-**Syntax** +
-  int crmCreateFollowUp( string $session_id,​ int $order_id [, $article_ids] ) +
- +
-**Beschreibung** +
- +
-Erstellt einen Unterauftrag aus den Daten des Auftrages mit übergebener ID //​$order_id//​ und liefert bei Erfolg die ID des angelegten Unterauftrages zurück. +
- +
- +
-//​$article_list_ids//​ ist eine optionale Doppelpunkt-getrennte Liste von Artikel-IDs aus der Artikelliste eines Angebotes. Die Verwendung von Artikelposten Listen setzt das Vorhandensein der Artikelverwaltung als Bestandteil des Rechnungsmoduls voraus. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Beispiel** +
- +
-<sxh php> +
- +
-<?php +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- // create a new sub-order with the data of assumed order ID 1337 +
- $suborder_id = $client_orders->​crmCreateFollowUp($session_id,​ 1337); +
- +
- echo 'new sub-order created with ID '​.$suborder_id.'​ +
-'; +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmMergeToContract ===== +
- +
- +
-**Syntax** +
-  int crmMergeToContract( string $session_id,​ int $order_id, int $contract_id [, string $article_list_ids]) +
- +
-**Beschreibung**  +
- +
-Fügt einen Auftrag zu einem Vertrag hinzu. Gibt die ID Zielvertrags zurück. +
- +
- +
-$order_id ist die ID des Auftrages, dessen Daten dem Vertrag hinzugefügt werden sollen. +
- +
- +
-$contract_id ist die ID des Zielvertrages. +
- +
- +
-$article_list_ids ist eine Doppelpunkt-getrennte Liste von Artikel-IDs aus der Artikelliste eines Angebotes. (optional) +
- +
- +
-//​$article_list_ids//​ ist eine optionale Doppelpunkt-getrennte Liste von Artikel-IDs aus der Artikelliste eines Angebotes. Die Verwendung von Artikelposten Listen setzt das Vorhandensein der Artikelverwaltung als Bestandteil des Rechnungsmoduls voraus. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Beispiel:​** +
- +
- +
-<?php +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- // merge order with assumed ID 1337 to ... +
- // contract with assumed ID 512 +
- $contract_id = $client_orders->​crmMergeToContract($session_id,​ 1337, 512); +
- +
- echo '​merged with contract ID '​.$contract_id.'<​br />';​ +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmGotoNextFlowStatus ===== +
- +
- +
-**Syntax** +
-  void crmGotoNextFlowStatus($session_id,​ $offer_id) +
- +
-**Beschreibung**  +
- +
-Setzt den Bearbeitungsstand des angegebenen Auftrages um eine Stufe nach oben. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Beispiel:​** +
- +
- +
-<?php +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- // we advance the flow status of Order with assumed ID 1337 +
- $client_orders->​crmGotoNextFlowStatus($session_id,​ 1337); +
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-?> +
- +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmUnlockOrder ===== +
- +
- +
-**Syntax** +
-  int crmUnlockOrder($session_id,​ $order_id) +
- +
-**Beschreibung** +
- +
-Gibt einenAuftrag wieder zur Bearbeitung frei. Gibt im Erfolgsfall die ID des Auftrages zurück. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Beispiel** +
-<sxh php> +
- +
-<?php +
- +
-$soap_url = '​https://​test.tecart-system.de/​soap/​index.php?​op=';​ +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- // unlock assumed Order ID 1337, i.e. set its flow_status back to 0 +
- $check = $client_orders->​crmUnlockOrder($session_id,​ 1337); +
- +
- if ($check == 1337) { +
- echo 'Order '​.$check.'​ unlocked +
-'; +
-+
- else { +
- echo '​Unlock failed: `'​.$check.'​` +
-'; +
-+
-+
-catch (SOAPFault $f) { +
- print $f->​faultstring;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== getIdByExtId ===== +
- +
- +
-**Hinweis** +
- +
-getIdByExtId() steht nur mit vorhandenem Rechnungsmodul zur Verfügung. +
- +
- +
-**Syntax** +
-  array getIdByExtId( string $external_id )  +
- +
-**Beschreibung** +
- +
-Liefert interne ID(s) von Aufträgen mit der übergebenen externen ID zurück. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Eigenschaften des zurückgegebenen ****//order IDs array//​**:​ +
-   +
-  Type(Length) ​           Eigenschaft ​                 Beschreibung +
-  --------------------------------------------------------------------------------------------- +
-  int $id  ​    ​Order-Id  +
- +
- +
-**Beispiel:​** +
-<sxh php> +
- +
-<?php +
- +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $result = $client_orders->​getIdByExtId('​ext_456'​);​ +
-+
-catch (CRMException $e) { +
- echo $e->​getMessage();​ +
-+
- +
-foreach($result as $id) { +
- echo $id."<​br>";​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== getAllExtIds ===== +
- +
- +
-**Hinweis** +
- +
-getAllExtIds() steht nur mit vorhandenem Rechnungsmodul zur Verfügung. +
- +
- +
-**Syntax** +
-  array getAllExtIds()  +
- +
-**Beschreibung** +
- +
-Liefert eine Liste aller externen IDs in Aufträgen zurück. +
- +
- +
-Im Falle von aufgefangenen CRMExceptions wird die daraus resultierende Nachricht als Zeichenkette zurückgegeben. +
- +
- +
-**Eigenschaften des zurückgegebenen ****//order IDs array//​**:​ +
-   +
-  Type(Length) ​           Eigenschaft ​                 Beschreibung +
-  --------------------------------------------------------------------------------------------- +
-  int $id  ​    ​externe Auftrag-Id  +
- +
- +
-**Beispiel:​** +
-<sxh php> +
- +
-<?php +
- +
-try { +
- $client_logon = new SOAPClient($soap_url.'​logon&​wsdl'​);​ +
- $session_id = $client_logon->​crmLogin('​test',​ '​test'​);​ +
- if (!$session_id) { +
- die('​invalid login'​);​ +
-+
- +
- $client_orders = new SOAPClient($soap_url.'​orders&​wsdl'​);​ +
- $result = $crmapi_orders->​getAllExtIds();​ +
-+
-catch (CRMException $e) { +
- echo $e->​getMessage();​ +
-+
- +
-foreach($result as $id) { +
- echo $id."<​br>";​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
---------------------------------------------------------------------------------------------- +
- +
- +
-==== crmGetArticles ===== +
- +
- +
-**Syntax**:​ +
-  array crmGetArticles($session_id,​ $order_id) +
- +
-**Beschreibung**:​ +
- +
-Gibt Artikelliste des Auftrages zurück. +
- +
- +
-Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen. +
- +
- +
-**Beispiel**:​ +
-<sxh php> +
- +
-<?php +
- +
-try { +
-  $articles = $client_orders->​crmGetArticles($session_id,​ $order_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 ===== +
- +
- +
-**Syntax**:​ +
-  array crmAddArticleToList($session_id,​ $order_id, $article_id) +
- +
-**Beschreibung**:​ +
- +
-Fügt den Artikel mit der übergebenen ID zu einem Auftrag 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_orders->​crmAddArticleToList($session_id,​ $order_id, 10);     +
-     echo $success; +
- +
-+
-catch (SOAPFault $f) { +
-  print $f->​faultstring;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== crmAddTextToList ===== +
- +
- +
-**Syntax**:​ +
-  array crmAddTextToList($session_id,​ $order_id, $text) +
- +
-**Beschreibung**:​ +
- +
-Fügt einen Artikel-Text zu einem Auftrag 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_orders->​crmAddTextToList($session_id,​ $order_id, 'Das ist ein Text'​);​ +
-     echo $success; +
- +
-+
-catch (SOAPFault $f) { +
-  print $f->​faultstring;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== crmAddSpecialToList ===== +
- +
- +
-**Syntax**:​ +
-  array crmAddSpecialToList($session_id,​ $order_id, $crmBillingItem) +
- +
-**Beschreibung**:​ +
- +
-Fügt einen Sonderartikel zu einem Auftrag 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_orders->​crmAddSpecialToList($session_id,​ $order_id, $data); +
-   echo $success; +
- +
-+
-catch (SOAPFault $f) { +
-  print $f->​faultstring;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== crmAddGrouplineToList ===== +
- +
- +
-**Syntax**:​ +
-  array crmAddGrouplineToList($session_id,​ $order_id, $crmBillingItem) +
- +
-**Beschreibung**:​ +
- +
-Fügt eine Gruppenzeile zu einem Auftrag 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_orders->​crmAddGrouplineToList($session_id,​ $order_id, $data); +
-   echo $success; +
- +
-+
-catch (SOAPFault $f) { +
-  print $f->​faultstring;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== crmAddMultipleToList ===== +
- +
- +
-**Syntax**:​ +
-  array crmAddMultipleToList($session_id,​ $order_id, $crmMultipleListItems) +
- +
-**Beschreibung**:​ +
- +
-Fügt der Artikelliste des Auftrages 0mehrere 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**:​ +
-<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_orders->​crmAddMultipleToList($session_id,​ $order_id, $items); +
- +
-   echo $success; +
- +
-+
-catch (SOAPFault $f) { +
-  print $f->​faultstring;​ +
-+
- +
-?> +
- +
-</​sxh>​ +
- +
----- +
- +
- +
-==== crmRemoveArticleFromList ===== +
- +
- +
-**Syntax**:​ +
-  array crmRemoveArticleFromList($session_id,​ $order_id, $article_id) +
- +
-**Beschreibung**:​ +
- +
-Löscht den Artikel mit der angegeben ID aus der Artikelliste des Auftrages. Im Erfolgsfall wird 1 zurückgegeben. +
- +
- +
-Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen. +
- +
- +
-**Beispiel**:​ +
-<sxh php> +
- +
-<?php +
- +
-try { +
-  $success = $client_orders->​crmRemoveArticleFromList($session_id,​ $order_id, 11); +
-   +
-     echo $success; +
- +
-+
-catch (SOAPFault $f) { +
-  print $f->​faultstring;​ +
-+
- +
-?> +
- +
-</​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_orders = new SOAPClient("​https://​test.tecart-system.de/​soap/​index.php?​op=orders&​wsdl"​);​ +
- +
-   ​$fields ​ = array('​fields'​ => implode(',',​ array('​flow_status',​ '​order_date'​)) ); +
-   ​$success = $client_orders->​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_orders = new SOAPClient("​https://​test.tecart-system.de/​soap/​index.php?​op=orders&​wsdl"​);​ +
- +
-   ​$fields = $client_notes->​crmgetDuplicateConfig($session_id);​ +
-+
-catch (SOAPFault $f) { +
-  print $f->​faultstring;​ +
-+
- +
-$fields = explode(',',​ $fields); +
-echo ''​.print_r($fields,​ true).'';​ +
- +
-?> +
- +
-</​sxh>​ +
- +
----- +