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

API Klassen und deren Funktionen können nur mit TecArt-System Version >= 3.2 genutzt werden

Das Modul der Auftragsverwaltung steht ab TecArt-System 4.2 zur Verfügung

1. Methods

1.1. addOrder

Syntax:

int addOrder( array $order )

Beschreibung

Fügt einen neuen Auftrag hinzu

Gibt eine ganzzahlige order-ID zurück.

Wirft im Falle eines Fehlers folgende CRMExceptions:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

  • OBJ_NOT_FOUND: Object not found or marked deleted

  • OBJ_NO_DATA: No data to save after field parsing

  • OBJ_ALREADY_EXISTS: Object with identical values already exists

  • OBJ_UPDATE_FAILED: SQL UPDATE failed

  • OBJ_INSERT_FAILED: SQL INSERT failed

Objekteigenschaften von $order array

Type(Length)            Property                  Description
---------------------------------------------------------------------------------------------
string(255)             $realnumber               RealNumber des Auftrages
string(255)             $subject                  Betreffzeile des Auftrages
string(255)             $shortnotes               Kurzbeschreibung
int                     $parent_id                interne ID eines überegordneten Auftrages (Elternauftrag)
string(255)             $cid                      Contact-ID, Format: Contact-ID:Person-ID
int                     $leader                   Zuständiges User, User-ID
int                     $substitute               stellvertretend zuständiger User, User-ID
int                     $pid                      Project-ID
int                     $offer_id                 Angebot-ID
int                     $ext_id                   Externe ID
int                     $client_account_id        ID eines verbundenen Rechnungskontos
double                  $order_volume             Betrag des gesamten Auftragsvolumens
double                  $amount_invoiced          Summe der abgerechneten Beträge/Posten
int                     $order_date               Unix-Timestamp des Auftragsdatums
int                     $start_date               Unix-Timestamp des Auftragsbeginns
int                     $maturity_date            Unix-Timestamp der Auftragsfälligkeit
int                     $duration                 ganzzahliger Wert repräsentativ für Monate der Laufzeit (default sollte 1 sein)
string(65535)           $notes                    Notizen zum Auftrag
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
mixed                   $user20                   Benutzerdefiniertes Feld Nr. 20
mixed                   $user21                   Benutzerdefiniertes Feld Nr. 21
  :                        :                                   :
mixed                   $user80                   Benutzerdefiniertes Feld Nr. 80

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders = crmapi::orders();
 
    $order = array(
        'subject'       => 'API Test Development',
        'order_date'    => mktime(0, 0, 0, date('m'), date('d'), date('Y')),
        'start_date'    => mktime(0, 0, 0, date('m'), date('d'), date('Y')),
        'maturity_date' => (mktime(0, 0, 0, date('m'), date('d'), date('Y')) + 86400),
        'shortnotes'    => 'Testauftrag',
        'notes'         => 'Testnotizen zum Auftrag',
        'pid'           => 175,
        'cid'           => '1032:512',
        'offer_id'      => 65,
        'parent_id'     => 0,
        'flow_status'   => 0,
        'duration'      => 1
    );
 
    $order_id = $crmapi_orders->addOrder($order);
 
    echo $order_id;
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.2. addOrderResubmission

Syntax:

boolean addOrderResubmission( array $resubdata )

Beschreibung

Fügt eine neue Wiedervorlage für einen Auftrag und spezififierbaren Benutzer hinzu

Gibt boolean TRUE/FALSE zurück.

Wirft im Falle eines Fehlers folgende CRMExceptions:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

  • OBJ_NOT_FOUND: Object not found or marked deleted

  • INSUFFICIENT_DATA: Insufficient data given

  • OBJ_NO_VALID_ID: No valid ID given

Objekteigenschaften von $resubdata array

Type(Length)            Property                  Description
---------------------------------------------------------------------------------------------
int                    $oid                       ID des Order Objektes
int                    $date                      Unix-Timestamp des Wiedervorlage Datums
int                    $userid                    ID des betreffenden Benutzers (default = aktiver Benutzer)
string(255)            $subject                   Kommentar-/Betrefftext der Wiedervorlage

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders = crmapi::orders();
 
    $resubdata = array(
        'subject'	=> 'New resubmission',
        'date'		=> mktime(12, 30, 0, date('m'), date('d'), date('Y')),
        'oid'		=> 1337, // order ID 1337
        'userid'	=> 12    // user ID 12
    );
 
    if (!$crmapi_orders->addOrderResubmission($resubdata)) {
    echo 'Failed to add new resubmission';
    }
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.3. deleteOrder

Syntax

void deleteOrder( int $order_id )

Beschreibung

Löscht ein Angebot.

Wirft im Fehlerfall folgende CRMExceptions:

  • OBJ_NO_VALID_ID: No valid ID given

  • DELETE_FAILED: DELETE failed

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders = crmapi::orders();
   
    $crmapi_orders->deleteOrder(512);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.4. getOrder

Syntax

array getOrder(int $order_id, boolean $format = false)

Beschreibung

Gibt ein Array mit Daten des angefragten Order Objektes zurück.

Parameter $format entscheidet optional, ob die zurückgegebenen Daten bereits für die endgültige Anzeige aufbereitet werden sollen (z.B. Datum).

Wirft im Fehlerfall folgende CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Eigenschaften des zurückgegebenen order array:

Type(Length)            Property                  Description
---------------------------------------------------------------------------------------------
int                     $id                       interne ID des Auftrages
string(255)             $realnumber               RealNumber des Auftrages
string(255)             $subject                  Betreffzeile des Auftrages
string(255)             $shortnotes               Kurzbeschreibung
int                     $parent_id                interne ID eines überegordneten Auftrages (Elternauftrag)
string(255)             $cid                      Contact-ID, Format: Contact-ID:Person-ID
int                     $leader                   Zuständiger User, User-ID
int                     $substitute               stellvertretend zuständiger User, User-ID
int                     $pid                      Project-ID
int                     $offer_id                 Angebot-ID
int                     $ext_id                   Externe ID
int                     $client_account_id        ID eines verbundenen Rechnungskontos
double                  $order_volume             Betrag des gesamten Auftragsvolumens
double                  $amount_invoiced          Summe der abgerechneten Beträge/Posten
int                     $order_date               Unix-Timestamp des Auftragsdatums
int                     $start_date               Unix-Timestamp des Auftragsbeginns
int                     $maturity_date            Unix-Timestamp der Auftragsfälligkeit
int                     $duration                 ganzahliger Wert repräsentativ für Monate der Laufzeit (default sollte 1 sein)
string(65535)           $notes                    Notizen zum Auftrag
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
string(255)             $cname                    Kontakt Name formatiert
string(255)             $pname                    Projekt Name formatiert
string(255)             $oname                    Angebot Name formatiert

mixed                   $user20                   Benutzerdefiniertes Feld Nr. 20
mixed                   $user21                   Benutzerdefiniertes Feld Nr. 21
  :                        :                                   :
mixed                   $user80                   Benutzerdefiniertes Feld Nr. 80

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders	= crmapi::orders();
    $order			= $crmapi_orders->getOrder(1337);
 
    echo '<pre>'.print_r($order, true).'</pre>';
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.5. getOrderResubmissions

Syntax

array getOrderResubmissions(int $order_id, int $user_id = 0)

Beschreibung

Gibt ein mehrdimensionales assoziatives Array mit Wiedervorlagen für spezifizierten Auftrag zurück, mit der ID der jeweiligen Wiedervorlage als Array-Key für den dazugehörigen Datensatz

Wirft im Fehlerfall folgende CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Eigenschaften des zurückgegebenen resubmission array[ID][]:

Type(Length)            Property                  Description
---------------------------------------------------------------------------------------------
int                     $id                       interne ID der Wiedervorlage
string                  $type                     Zeichenkette, die den Typ des zugrundeliegenden Moduls wiedergibt (z.B. "order")
int                     $userid                   ID des betreffenden Benutzers
int                     $date                     Unix-Timestamp des Wiedervorlage Datums
int                     $maturity                 Unix-Timestamp der Fälligkeit einer Erinnerung an diese Wiedervorlage
string(255)             $item                     Betreff des anhänglichen Modulobjektes
string(255)             $subject                  Kommentar-/Betreffzeile der Wiedervorlage
int                     $seen                     Unix-Timestamp des Datums/Uhrzeit der ersten Erinnerung bzw. Öffnung der Wiedervorlage durch betreffenden Benutzer
int                     $createuser               ID des Benutzers, der die Wiedervorlage erstellt hat
int                     $createtime               Unix-Timestamp der Erstellung
int                     $chguser                  ID des Benutzers, der die letzte Änderung vorgenommen hat
int                     $chgtime                  Unix-Timestamp der letzten Änderung

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders  = crmapi::orders();
 
    // fetch resubmissions of Order object ID 1337 that are either created by
    // or addressed to User with ID 12
    $resubs = $crmapi_orders->getOrderResubmissions(1337, 12);
 
    echo '<pre>'.print_r($resubs, true).'</pre>';
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.6. getOrdersFrom

Syntax

array getOrdersFrom( int $month, int $year )

Beschreibung

Gibt ein Array mit Aufträgen seit dem gegebenen Datum zurück.

Wenn $month gesetzt ist, werden nur Aufträge aus diesem Monat zurückgegeben. Ist $month auf 0 gesetzt, werden Aufträge für alle Monate zurückgegeben.

Wenn $year gesetzt ist, werden nur Aufträge aus diesem Jahr zurückgegeben. Ist $year auf 0 gesetzt, werden Aufträge für alle Jahre zurückgegeben.

Wirft im Fehlerfall folgene CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Eigenschaften des zurückgegebenen orders array:

Type(Length)            Property                  Description
---------------------------------------------------------------------------------------------
int                     $id                       interne ID des Auftrages
string(255)             $realnumber               RealNumber des Auftrages
string(255)             $subject                  Betreffzeile des Auftrages
string(255)             $shortnotes               Kurzbeschreibung
int                     $parent_id                interne ID eines überegordneten Auftrages (Elternauftrag)
string(255)             $cid                      Contact-ID, Format: Contact-ID:Person-ID
int                     $leader                   Zuständiges User, User-ID
int                     $substitute               stellvertretend zuständiger User, User-ID
int                     $pid                      Project-ID
int                     $offer_id                 Angebot-ID
int                     $ext_id                   Externe ID
int                     $client_account_id        ID eines verbundenen Rechnungskontos
double                  $order_volume             Betrag des gesamten Auftragsvolumens
double                  $amount_invoiced          Summe der abgerechneten Beträge/Posten
int                     $order_date               Unix-Timestamp des Auftragsdatums
int                     $start_date               Unix-Timestamp des Auftragsbeginns
int                     $maturity_date            Unix-Timestamp der Auftragsfälligkeit
int                     $duration                 ganzzahliger Wert repräsentativ für Monate der Laufzeit
string(65535)           $notes                    Notizen zum Auftrag
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
string(255)             $cname                    Kontakt Name formatiert
string(255)             $pname                    Projekt Name formatiert
string(255)             $oname                    Angebot Name formatiert
mixed                   $user20                   Benutzerdefiniertes Feld Nr. 20
mixed                   $user21                   Benutzerdefiniertes Feld Nr. 21
  :                        :                                   :
mixed                   $user80                   Benutzerdefiniertes Feld Nr. 80

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders  = crmapi::orders();
    $now    = time();
    $month    = date('m', $now);
    $year   = date('Y', $now);
    $orders   = $crmapi_orders->getOrdersFrom($month, $year);
 
    echo '<pre>'.print_r($orders, true).'</pre>';
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.7. getOrderIds

Syntax

array getOrderIds( int $timestamp )

Beschreibung

Gibt die internen ganzzahligen IDs der Aufträge zurück, die seit übergebenen Unix Timestamp $timestamp geändert worden sind.

Wenn $timestamp = 0, werden alle Auftrag IDs zurückgegeben.

Hinweis: es werden nur Auftrag IDs zurückgeliefert, auf die der angemeldete Nutzer Zugriffsrechte hat.

Wirft im Fehlerfall folgende CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Eigenschaften des zurückgegebenen order_ids array:

Type(Length)            Property                  Description
---------------------------------------------------------------------------------------------
int                     $id                       interne ID des Auftrages

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders  = crmapi::orders();
    // fetch all Order IDs
    $order_ids  = $crmapi_orders->getOrderIds(0);
 
    echo '<pre>'.print_r($order_ids, true).'</pre>';
}
catch (CRMException $e) {
    $e->getMessage();
}

1.8. changeOrder

Syntax

int changeOrder( int $order_id, array $order )

Beschreibung

Ändert die Eigenschaften eines Auftrages.

Gibt die ID des Auftrages im Erfolgsfall zurück.

Wirft imm Fehlerfall folgende CRMExceptions:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

  • OBJ_NOT_FOUND: Object not found or marked deleted

  • OBJ_NO_DATA: No data to save after field parsing

  • OBJ_ALREADY_EXISTS: Object with identical values already exists

  • OBJ_UPDATE_FAILED: SQL UPDATE failed

  • OBJ_INSERT_FAILED: SQL INSERT failed

Eigenschaften von $order array

sind die selben wie für addOrder

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders = crmapi::orders();
    $order = array(
        'shortdesc' => 'Order changed',
        'notes'     => 'everything changes eventually'
    );
 
    // change Order with ID 1337
    $order_id = $crmapi_orders->changeOrder(1337, $order);
 
    echo $order_id;
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.9. getChangedOrders

Synatax

array getChangedOrders( int $timestamp )

Beschreibung

Gibt ein Array mit Auftrag- Arrays zurück, die seit Unix- Timestamp $timestamp geändert worden sind.

Wirft im Fehlerfall folgende CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Eigenschaften des zurückgegebenen orders arrays sind sie selben wie für getOrder

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders = crmapi::orders();
    // fetch all Orders
    $orders = $crmapi_orders->getChangedOrders(0);
 
    echo '<pre>'.print_r($orders, true).'</p>';
}
catch (CRMException $e) {
    echo $e->getMessage();
}


1.10. getChangedOrdersLimit

Syntax

array getChangedOrdersLimit( int $timestamp, int $count, int $offset )

Beschreibung

Verhält sich grundlegend wie getChangedOrders, plus der Erweiterung, die Rückgabe mittles Limit $count und Offset $offset zu kontrollieren.

Wirft im Fehlerfall folgende CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Eigenschaften der zurückgegebenen Unterarrays orders sind sie selben wie für getOrder

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders = crmapi::orders();
    // fetch first 100 Orders
    $orders = $crmapi_orders->getChangedOrdersLimit(0, 100, 0);
 
    echo '<pre>'.print_r($orders, true).'</p>';
}
catch (CRMException $e) {
    echo $e->getMessage();
}


1.11. getChangedOrdersUserFields

Syntax

array getChangedOrderUserFields( int $timestamp )

Beschreibung

Gibt ein Array mit den Daten der User-Felder von Aufträgen zurück, die seit Unix-Timestamp $timestamp geändert worden sind.

$timestamp = 0 gibt die User-Felddaten aller Aufträge zurück.

Wirft im Fehlerfall folgende CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Eigenschaften der zurückgegebenen Unterarrays orders_userfields

Type(Length)            Property                  Description
---------------------------------------------------------------------------------------------
int                     $id                       interne ID des Feldes
array                   $user_fields              Array mit User- Feldern:
                                                  'name'  = <userfield_name>
                                                  'value' = <field value>

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders    = crmapi::orders();
    $orders_userfields  = $crmapi_orders->getChangedOrdersUserFields(0);
 
    foreach ($orders_userfields as $order) {
 
        echo 'Order ID: '.$order['id'];
     
        foreach ($order['user_fields'] as $ufield) {       
            echo $ufield['name'].': '.$ufield['value'].'<br />'; 
        }
    }
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.12. getChangedOrdersUserFieldsLimit

Syntax

array getChangedOrderUserFieldsLimit( int $timestamp, int $count, int $offset )

Beschreibung

Verhalten wie getChangedOrdersUserFields, plus der Erweiterung, die Rückgabe mittles Limit $count und Offset $offset zu kontrollieren.

Wirft im Fehlerfall folgende CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Eigenschaften der zurückgegebenen Unterarrays orders_userfields sind identisch mit getChangedOrdersUserFields.

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders    = crmapi::orders();
    // fetch user fields of the first 100 Orders
    $orders_userfields  = $crmapi_orders->getChangedOrdersUserFieldsLimit(0, 100, 0);
 
    foreach ($orders_userfields as $order) {
 
        echo 'Order ID: '.$order['id'];
     
        foreach ($order['user_fields'] as $ufield) {       
            echo $ufield['name'].': '.$ufield['value'].'<br />'; 
        }
    }
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.13. getOrderUserFields

Syntax

array getOrderUserFields( int $order_id )

Beschreibung

Gibt ein Array mit allen User-Felddaten des Auftrages mit übergebener $order_id zurück.

Wirft im Fehlerfall folgende CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Eigenschaften des zurückgegebenen userfields array

Type(Length)            Property                  Description
---------------------------------------------------------------------------------------------
array                                             User- Felder:
                                                        'name'  = <userfield_name>
                                                        'value' = <field value>

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders = crmapi::orders();
    $userfields = $crmapi_orders->getOrderUserFields(1337);
 
    echo '<pre>'.print_r($userfields, true).'</pre>';
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.14. getOrderFields

Syntax

array getOrderFields()

Beschreibung

Gibt ein Array mit Feldbeschreibung für Aufträge zurück.

Wirft im Fehlerfall folgende CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Eigenschaften des zurückgegebenen order_fields array

Type(Length)            Property                  Description
---------------------------------------------------------------------------------------------
string(255)             $label                    Feldbezeichnung
string(255)             $field                    Feldname im RDBMS
int                     $type                     TecArt-System Feldtyp

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders = crmapi::orders();
    $order_fields = $crmapi_orders->getOrderFields();
 
    echo '<pre>'.print_r($order_fields, true).'</pre>';
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.15. searchOrders

Syntax

array searchOrders( array $params )

Beschreibung

Gibt ein Array mit Aufträgen zurück, die dem übergebenen Suchbegriff entsprechen.

Die Rückgabe kann optional mit den im Array $params beschriebenen Parametern Unix-Timestamp $timestamp, Limit $count, Offset $offset und Sortierung $sort kontrolliert werden, wobei $timestamp den Zeitpunkt der letzten Änderung bestimmt, ab dem Aufträge mit entsprechenden Suchtreffern zurückgegeben werden. Parameter $userid spezifiziert eine Benutzer ID und fügt ggf. für diesen Benutzer vorliegende Erinnerungen in den zurückgegebenen Aufträgen hinzu.

Wirft im Fehlerfall folgende CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Eigenschaften des zu übergebenden params array

Type(Length)            Arrayelement              Description
---------------------------------------------------------------------------------------------
array                   search                    assoziatives Array mit Feldname als Elementindex
int                     timestamp                 Unix Timestamp
int                     count                     ganzzahliger Wert, der die Rückgabe limitiert
int                     offset                    definiert Anzahl vom Beginn des Resultsets zu 
                                                  überspringender Einträge
string(255)             sort                      Sortierangaben zum Auftragsdatum "order_date"
                                                  ''asc'' oder ''desc''
int                     userid                    Benutzer ID

Eigenschaften des zurückgegebenen orders array' sind identisch mit getOrdersFrom

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders = crmapi::orders();
    $search = array('shortnotes' => 'Testauftrag');
    $orders = $crmapi_orders->searchOrders($search);
 
    foreach ($orders as $order_id => $order_data) {
        echo 'Order ID: '.$order_id.'<br />';
        echo '<pre>'.print_r($order_data, true).'</pre>';
    }
}
catch (CRMException $e) {
    echo $e->getMessage();
}


1.16. gotoNextFlowStatus

Syntax

void gotoNextFlowStatus( int $order_id )

Beschreibung

Setzt Auftrag mit übergebener ID auf den nächsten planmäßigen Bearbeitungsstatus.

Wirft im Fehlerfall folgende CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders = crmapi::orders();
    $crmapi_orders->gotoNextFlowStatus(1337);
}
catch (CRMException $e) {
    echo $e->getMessage();
}


1.17. createFollowup

Syntax

int createFollowup(int $order_id, array $article_list_ids = false)

Beschreibung

Erstellt neuen Unterauftrag von Auftrag mit übergebener ID $order_id und liefert bei Erfolg die ID des Unterauftrages als Rückgabewert.

$article_list_ids ist ein optionales Array von Artikelposten-IDs des "Elternauftrages", die in den Unterauftrag übernommen werden sollen. Es werden nur Artikelposten übernommen, die noch nicht in einem Unterauftrag auf gleicher Ebene übernommen wurden.

Wirft im Fehlerfall folgende CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders = crmapi::orders();
    $order_id = 1337;
    $crmapi_orders->createFollowup($order_id);
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.18. unlockOrder

Syntax

int unlockOrder( int $order_id )

Beschreibung

Gibt einen Auftrag wieder zur Bearbeitung frei.

Liefert bei Erfolg die ID des Auftrages als Rückgabewert.

Wirft im Fehlerfall folgende CRMException:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders = crmapi::orders();
    $order_id = 1337;
    $check = $crmapi_orders->unlockOrder($order_id);
 
    echo $check; // should be equal to $order_id
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.19. toContract

Syntax

int toContract(int $order_id ,array $articles = false)

Beschreibung

Erstellt einen neuen Vertrag aus den Daten des mit $order_id übergebenen Auftrages und liefert bei Erfolg die ID des neuen Vertrages als Rückgabewert.

$articles ist ein optionales Array von Artikelposten-IDs des Auftrages, welche in den neuen Vertrag übernommen werden sollen. Beim Weglassen von $articles werden alle potentiell im Auftrag enthaltenen Artikelposten in den neuen Vertrag übernommen.

Wirft im Fehlerfall folgende CRMExceptions:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

  • MODULE_NOT_LICENCED: Function toContract cannot proceed, because Module `contracts` is not licenced

Beispiel:

<?php
try {
    /* @var $crmapi_orders crmapi_orders */
    $crmapi_orders = crmapi::orders();
    $order_id = 1337;
    $contract_id = $crmapi_orders->toContract($order_id);
 
    echo 'New Contract created with ID: '.$contract_id;
}
catch (CRMException $e) {
    echo $e->getMessage();
}



1.20. mergeToContract

Syntax

int mergeToContract(int $order_id, int $contract_id, array $articles = false)

Beschreibung

Fügt die Daten des Auftrags mit ID $order_id zu bestehendem Vertrag mit ID $contract_id hinzu und liefert bei Erfolg die ID des Zielvertrages als Rückgabewert.

$articles ist ein optionales Array von Artikelposten-IDs des Auftrages, welche in den Zielvertrag übernommen werden sollen. Beim Weglassen von $articles werden alle potentiell im Auftrag enthaltenen Artikelposten in den Zielvertrag übernommen.

Wirft im Fehlerfall folgende CRMExceptions:

  • WS_PERMISSION_DENIED: WebService: insufficient permissions

  • MODULE_NOT_LICENCED: Function mergeToContract cannot proceed, because Module `contracts` is not licenced

Beispiel:

<?php
try {
	/* @var $crmapi_orders crmapi_orders */
	$crmapi_orders	= crmapi::orders();
	$order_id		= 1337;
	$contract_id	= 42;
	$check			= $crmapi_orders->mergeToContract($order_id, $contract_id);
 
	echo $check;  // should be equal to $contract_id
}
catch (CRMException $e) {
	echo $e->getMessage();
}



1.21. getIdByExtId

Hinweis

 

steht aktuell nur in Zusammenhang mit aktiviertem Rechnungssystem 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 eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Eigenschaften des zurückgegebenen order IDs array:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int			$id			      Order-ID 

Beispiel:

<?php
try {
	/* @var $crmapi_orders crmapi_orders */
	$crmapi_orders	= crmapi::orders();
	$result			= $crmapi_orders->getIdByExtId(12345);
 
	echo print_r($result, true);
}
catch (CRMException $e) {
	echo $e->getMessage();
}



1.22. getAllExtIds

Hinweis

 

steht aktuell nur in Zusammenhang mit aktiviertem Rechnungssystem zur Verfügung


Syntax:

array getAllExtIds( string $external_id )

Beschreibung

Liefert eine Liste aller externen IDs in Aufträgen zurück.

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

Eigenschaften des zurückgegebenen order ids array:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int			$id			      externe Order-ID 

Beispiel:

<?php
 
try {
	/* @var $crmapi_orders crmapi_orders */
	$crmapi_orders	= crmapi::orders();
	$result			= $crmapi_orders->getAllExtIds();
 
	echo print_r($result, true);
}
catch (CRMException $e) {
	echo $e->getMessage();
}



1.23. getArticles

Syntax:

array getArticles($order_id)

Beschreibung:

Gibt Artikelliste des Auftrages zurück.

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

Beispiel:

<?php
 
try {
	$articles = $crmapi_orders->getArticles($order_id);
   
	foreach($articles as $article) {
		foreach($article as $key => $val) {
			echo "$key => $val<br>\n";
		}
	}
	echo "<hr/>";
}
catch (CRMException $e) {
	echo $e->getMessage();
}



1.24. addArticleToList

Syntax:

array addArticleToList($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:

<?php
 
try {
	$success = $crmapi_orders->addArticleToList($order_id, 10);    
	echo $success;
}
catch (CRMException $e) {
	echo $e->getMessage();
}



1.25. addTextToList

Syntax:

array addTextToList($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:

<?php
 
try {
	$success = $crmapi_orders->addTextToList($order_id, 'Das ist ein Text');
	echo $success;
}
catch (CRMException $e) {
	echo $e->getMessage();
}



1.26. addSpecialToList

Syntax:

array addSpecialToList($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:

<?php
 
try {
	$data = array(
		'quantity'		=> 10,
		'realnumber'	=> '100001',
		'name'			=> 'API Special Article',
		'description'	=> 'API Special Article',
		'taxrate'		=> 19,
		'discount'		=> 100,
		'interval'		=> 1
	);
 
	$success = $crmapi_orders->addSpecialToList($order_id, $data);
	echo $success; 
}
catch (CRMException $e) {
	echo $e->getMessage();
}



1.27. addGrouplineToList

Syntax:

array addGrouplineToList($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:

<?php
 
try {
	$data = array(
		'quantity'		=> 3,
		'name'			=> 'API Groupline',
		'description'	=> 'API Groupline',
		'taxrate'		=> 19,
		'discount'		=> 100,
		'interval'		=> 1
	);
 
	$success = $crmapi_orders->addGrouplineToList($order_id, $data);
	echo $success;
}
catch (CRMException $e) {
	echo $e->getMessage();
}


1.28. addMultipleToList

Syntax:

array addMultipleToList($order_id, $crmMultipleListItems)

Beschreibung:

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

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

crmMultipleListItems ist ein Array von Artikeln, die Eigenschaften sind die selben wie addArticleToList, addTextToList, addSpecialToList und addGrouplineToList. Die Unterscheidung erfolgt über das Feld "type".

Eigenschaften:

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

Beispiel:

<?php
 
try { 
	$items = array();
 
	$items[] = array('type' => 'article', 'id' => 10);
	$items[] = 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[] = $specialItem;
 
	$data = array(
		'quantity'		=> 3,
		'name'			=> 'API Groupline',
		'description'	=> 'API Groupline',
		'taxrate'		=> 19,
		'discount'		=> 100,
		'interval'		=> 1,
		'type'			=> 'groupline'
	);
	$items[] = $specialItem;
   
	$success = $crmapi_orders->addMultipleToList($order_id, $items);
 
	echo $success;
}
catch (CRMException $e) {
	echo $e->getMessage();
}



1.29. removeArticleFromList

Syntax:

array removeArticleFromList($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:

<?php
 
try {
	$success = $crmapi_orders->removeArticleFromList($order_id, 11);
	echo $success;
}
catch (CRMException $e) {
	echo $e->getMessage();
}



1.30. setDuplicatecheckConfig

(Version >= 4.4)

Syntax:

boolean|string CRMException message setDuplicatecheckConfig( [array( [string <fieldname>, string <fieldname>...]) | NULL] )

Beschreibung:

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

Standardübergabe ist ein leeres Array, was gleichbedeutend mit einer nicht stattfindenden Dublettenprüfung ist.

Zurückgesetzt werden kann die temporäre Dublettenprüfung Feldkonfiguration, wenn NULL anstatt eines Array übergeben wird.

Beispiel:

<?php
 
try {   
	$api     = crmapi::orders();
	$fields  = array('flow_state', 'order_date');
	// adding an order will execute an exists-check looking for identical values in fields "flow_state" and "order_state" 
	// and will result in an "object already exists" trigger
	$success = $api->setDuplicatecheckConfig($fields);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo ($success === true ? 'override successful' : $success);



1.31. getDuplicatecheckConfig

(Version >= 4.4)

Syntax:

array | string CRMException message getDuplicatecheckConfig( )

Beschreibung:

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

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

Beispiel:

<?php
 
try { 
	$api	= crmapi::orders();
	$fields	= $api->getDuplicatecheckConfig();
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo print_r($fields, true);



1.32. deleteOrderResubmission

(Version >= 4.4)

Syntax:

boolean deleteOrderResubmission(int $order_id, int $resub_id = 0)

Beschreibung:

Löschen einer mit Auftrag ID $order_id und $resub_id spezifizierten Wiedervorlage.

Beispiel:

<?php
 
try { 
	$api    = crmapi::orders();
	// delete resubmission with ID 517 assigned to order ID 1337
	$success = $api->deleteOrderResubmission(1337, 517);
}
catch (CRMException $e) {
	echo $e->getMessage();
}
 
echo ($success ? 'Resubmission deleted' : 'Failure to delete resubmission');
  • No labels