pixiGetOrderlineExtended
Liefert Auftragspositionen und Bundle-Positionen mit Preisen, MwSt., Lagerverfügbarkeit, Reservierung, Versand- und Picklistendaten, gefiltert nach Auftrag, Artikel, Status, Shop, Zahlart oder Datum.
Liefert erweiterte Daten zu Auftragspositionen. Alle Filter sind optional und werden mit UND verknüpft. Leere Strings sowie 0 bei OrderlineKey/OrderNR gelten als "kein Filter".
Artikelfilter (ItemXML): Artikel können über ITEMKEY, ITEMNRINT, ITEMNRSUPPL oder EAN angegeben werden. Alle passenden Artikelschlüssel werden gesammelt; es werden nur Auftragspositionen dieser Artikel geliefert.
Bundle-Behandlung (ShowOrderlines):
1: Bundles werden nicht als normale Artikel behandelt, die Komponenten-Positionen von Bundles sind enthalten.0: Bundles werden als normale Artikel behandelt, Auftragspositionen, die zu einem Bundle gehören (BundleOrderlineRefgesetzt), werden ausgeschlossen.- nicht übergeben /
NULL: Wert aus der EinstellungProcessBundleItemsAsNormalItems.
Auswahlschritte:
- Bis zu
RowCount(Standard 1000) Zeilen ausOrderlines, die den Filtern entsprechen, sortiert nachOrderlineKey. - Das verbleibende Zeilenkontingent wird mit Zeilen aus
BundleOrderlines(gruppiert je Bundle-Position) aufgefüllt. Filter aufOrderNRundOrderNRExternalgreifen bei Bundle-Positionen nur, wenn Bundles als normale Artikel verarbeitet werden; Datums- und Rechnungsfilter werden auf die Komponenten-Positionen angewendet.
Schlüsselfilter: Bei IsStartKey = 0 liefert OrderlineKey genau diese Position; bei IsStartKey = 1 alle Positionen mit OrderlineKey >= dem Wert, was zusammen mit RowCount Paging ermöglicht.
Weitere Filter: Status (Positionsstatus), ShopID (Shop des Kunden), PaymentType (Zahlart der Adresse), OrderDateFrom/OrderDateTo und UpdateDateFrom/UpdateDateTo (exklusive Grenzen), InvoiceNr (Position ist in dieser Rechnung enthalten).
Ersatzlieferungen (IsReplacementOnly = 1): Es werden nur Auftragspositionen mit Status MIN oder mit einem MIN-Eintrag in der Auftragshistorie geliefert.
Berechnete Werte:
AvailStockOrderLine: Lagerbestand des Artikels am Lager der Position abzüglich der Anzahl früherer Reservierungen desselben Artikels unter den ausgewählten Positionen (gezählt werden nur Positionen in nicht finalen Status außerEIN,FUT,FUS).ReservedCount: der kleinere Wert ausQtyundAvailStockOrderLine, mindestens 0.VATRate,PriceNoVAT,ShipDatestammen aus der ersten Rechnungsposition der Auftragsposition, falls vorhanden, sonst aus Auftragsposition und Artikel.
Das Ergebnis ist nach OrderlineKey sortiert.
Hinweise
- Alle Lesezugriffe verwenden
NOLOCK; das Ergebnis kann nicht festgeschriebene Daten enthalten. - Die Auswahl wird als dynamisches SQL aufgebaut. Das Zeilenlimit stammt aus
RowCount(NULL wird zu 1000); der ParameterRowCountselbst wird sonst nicht verwendet. - Wird
ItemXMLübergeben, aber keiner der angegebenen Artikel gefunden, wird kein Artikelfilter angewendet und es werden Positionen aller Artikel geliefert. - Ungültiges XML in
ItemXMLführt zu einem SQL-Fehler aussp_xml_preparedocument. - Bei Bundle-Positionen ist der Schlüsselfilter immer ein exakter Vergleich (
IsStartKeywird dort ignoriert). IsReplacementOnlyschränkt nur normale Auftragspositionen ein; ausgewählte Bundle-Positionen werden weiterhin geliefert.- Normale Auftragspositionen werden nur geliefert, wenn ein
ItemLocationSpecific-Datensatz für Artikel undLocationIDder Position existiert und Auftragskopf sowie Währung vorhanden sind. - Eine Position auf mehreren Picklisten erscheint einmal je Pickliste (
PicklistNr). - Bei Bundle-Positionen sind
ShipDate,DFShipDate,DFShipmentTrackingID,AvailStockOrderLine,EstimatedDeliveryund damitReservedCountNULL;OrderDate/UpdateDatestammen aus einer der Komponenten-Positionen.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
OrderlineKey
|
int | NULL |
Schlüssel der Auftragsposition. Exakter Vergleich oder Startschlüssel je nach Beispiel: |
OrderNR
|
int | NULL |
Pixi-Auftragsnummer. Beispiel: |
OrderNRExternal
|
varchar(50) string |
NULL |
Externe Auftragsnummer (Shop). Beispiel: |
Status
|
varchar(3) string |
NULL |
Statuscode der Auftragsposition. Beispiel: |
ShopID
|
varchar(3) string |
NULL |
Shop-ID; filtert auf den Shop des Kunden ( Beispiel: |
PaymentType
|
char(1) string |
NULL |
Zahlart der Auftragsadresse ( Beispiel: |
OrderDateFrom
|
datetime dateTime |
NULL |
Nur Positionen mit Auftragsdatum nach diesem Wert (exklusiv). Beispiel: |
OrderDateTo
|
datetime dateTime |
NULL |
Nur Positionen mit Auftragsdatum vor diesem Wert (exklusiv). Beispiel: |
UpdateDateFrom
|
datetime dateTime |
NULL |
Nur Positionen, die nach diesem Zeitpunkt geändert wurden (exklusiv). Beispiel: |
UpdateDateTo
|
datetime dateTime |
NULL |
Nur Positionen, die vor diesem Zeitpunkt geändert wurden (exklusiv). Beispiel: |
RowCount
|
int | 1000 |
Maximale Anzahl ausgewählter Positionen (zuerst Auftragspositionen, dann Bundle-Positionen). NULL bedeutet 1000. Beispiel: |
InvoiceNr
|
varchar(50) string |
NULL |
Nur Positionen, die in der Rechnung mit dieser Nummer enthalten sind. Beispiel: |
ShowOrderlines
|
bit boolean |
NULL |
Steuert die Behandlung von Bundle-Komponenten-Positionen. Erlaubte Werte
Beispiel: |
IsStartKey
|
bit boolean |
0 |
Legt fest, wie Erlaubte Werte
Beispiel: |
ItemXML
|
varchar(max) xml |
NULL |
Optionale Artikelliste als Filter; jedes Beispiel:
|
IsReplacementOnly
|
bit boolean |
0 |
Schränkt normale Auftragspositionen auf Ersatzpositionen ein. Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Immer (kann leer sein)
Auftragspositionen und Bundle-Positionen, sortiert nach OrderlineKey.
| Spalte | Typ | Beschreibung |
|---|---|---|
OrderlineKey
Kann leer sein |
int |
Schlüssel der Auftragsposition. |
ArtName
Kann leer sein |
varchar(120) string |
Artikelbezeichnung der Position. |
Qty
Kann leer sein |
int |
Menge. |
Price
Kann leer sein |
money decimal |
Einzelpreis. |
Status
Kann leer sein |
varchar(3) string |
Statuscode der Position. |
StatusText
Kann leer sein |
varchar(60) string |
Text des Status. |
ItemNrExternal
Kann leer sein |
varchar(50) string |
Externe Artikelnummer. |
OrderNR
Kann leer sein |
int |
Pixi-Auftragsnummer. |
OrderNrExternal
Kann leer sein |
varchar(50) string |
Externe Auftragsnummer. |
OrderCurrency
Kann leer sein |
varchar(3) string |
Währungscode des Auftrags. |
OrderDate
Kann leer sein |
datetime dateTime |
Auftragsdatum. |
UpdateDate
Kann leer sein |
datetime dateTime |
Letzte Änderung der Position. |
ItemRef
Kann leer sein |
int |
Artikelschlüssel. |
oItemSpecialNote
Kann leer sein |
varchar(8000) string |
Sonderhinweis zur Position. |
DiscountValue
Kann leer sein |
money decimal |
Rabattbetrag. |
DiscountPerc
Kann leer sein |
numeric(6,2) decimal |
Rabatt in Prozent. |
FullPrice
Kann leer sein |
money decimal |
|
FullPriceForItem
Kann leer sein |
money decimal |
Auf der Position gespeicherter Gesamtpreis. |
VATRate
Kann leer sein |
varchar(1) string |
MwSt.-Klasse: |
PriceNoVAT
Kann leer sein |
money decimal |
Netto-Einzelpreis aus Rechnungsposition oder Auftragsposition. |
ItemNrInt
Kann leer sein |
varchar(50) string |
Interne Artikelnummer. |
ShipDate
Kann leer sein |
datetime dateTime |
Scan-Out-Datum der Rechnung (oder referenzierten Rechnung); NULL bei Bundle-Positionen. |
DFShipDate
Kann leer sein |
datetime dateTime |
Versanddatum Direct Fulfillment. |
DFShipmentTrackingID
Kann leer sein |
varchar(100) string |
Tracking-ID Direct Fulfillment. |
AvailStockOrderLine
Kann leer sein |
int |
Bestand am Lager der Position abzüglich früherer Reservierungen des Artikels; NULL bei Bundle-Positionen. |
EstimatedDelivery
Kann leer sein |
datetime dateTime |
Voraussichtliches Lieferdatum. |
EANUPC
Kann leer sein |
varchar(13) string |
EAN/UPC des Artikels. |
ReservedCount
Kann leer sein |
numeric decimal |
Minimum aus |
PicLinkLarge
Kann leer sein |
varchar(512) string |
Link zum großen Artikelbild. |
LocationID
Kann leer sein |
varchar(3) string |
Lager der Position. |
TaxAmount
Kann leer sein |
money decimal |
Steuerbetrag der Position. |
VATPercentage
Kann leer sein |
numeric(6,3) decimal |
Steuersatz in Prozent. |
OrderStatus
Kann leer sein |
varchar(10) string |
Status des Auftragskopfs. |
PicklistNr
Kann leer sein |
int |
Picklistennummer, falls die Position auf einer Pickliste steht. |
Beispielantwort
<SqlRowSet1>
<row>
<OrderlineKey>123456</OrderlineKey>
<ArtName>T-Shirt Blue M</ArtName>
<Qty>2</Qty>
<Price>19.9900</Price>
<Status>AUF</Status>
<StatusText>Offen</StatusText>
<ItemNrExternal>TS-BL-M</ItemNrExternal>
<OrderNR>500123</OrderNR>
<OrderNrExternal>WEB-100045</OrderNrExternal>
<OrderCurrency>EUR</OrderCurrency>
<OrderDate>2024-01-15T10:22:00</OrderDate>
<UpdateDate>2024-01-15T11:05:00</UpdateDate>
<ItemRef>4711</ItemRef>
<DiscountValue>0.0000</DiscountValue>
<DiscountPerc>0.00</DiscountPerc>
<FullPrice>39.9800</FullPrice>
<FullPriceForItem>39.9800</FullPriceForItem>
<VATRate>H</VATRate>
<PriceNoVAT>16.8000</PriceNoVAT>
<ItemNrInt>ART-1001</ItemNrInt>
<AvailStockOrderLine>14</AvailStockOrderLine>
<EANUPC>4006381333931</EANUPC>
<ReservedCount>2.0</ReservedCount>
<LocationID>001</LocationID>
<TaxAmount>6.3800</TaxAmount>
<VATPercentage>19.000</VATPercentage>
<OrderStatus>OPEN</OrderStatus>
<PicklistNr>8812</PicklistNr>
</row>
</SqlRowSet1>
Beispiele
POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiGetOrderlineExtended>
<!-- <OrderlineKey>123456</OrderlineKey> -->
<!-- <OrderNR>500123</OrderNR> -->
<!-- <OrderNRExternal>WEB-100045</OrderNRExternal> -->
<!-- <Status>AUF</Status> -->
<!-- <ShopID>SHP</ShopID> -->
<!-- <PaymentType>V</PaymentType> -->
<!-- <OrderDateFrom>2024-01-01T00:00:00</OrderDateFrom> -->
<!-- <OrderDateTo>2024-02-01T00:00:00</OrderDateTo> -->
<!-- <UpdateDateFrom>2024-01-15T08:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-01-16T08:00:00</UpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
<!-- <InvoiceNr>RE-2024-000123</InvoiceNr> -->
<!-- <ShowOrderlines>1</ShowOrderlines> -->
<!-- <IsStartKey>1</IsStartKey> -->
<!-- <ItemXML><![CDATA[<ITEMS><ITEM><ITEMKEY>4711</ITEMKEY><ITEMNRINT>ART-1001</ITEMNRINT><ITEMNRSUPPL>SUP-55</ITEMNRSUPPL><EAN>4006381333931</EAN></ITEM></ITEMS>]]></ItemXML> -->
<!-- <IsReplacementOnly>0</IsReplacementOnly> -->
</ns1:pixiGetOrderlineExtended>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiGetOrderlineExtended>
<!-- <OrderlineKey>123456</OrderlineKey> -->
<!-- <OrderNR>500123</OrderNR> -->
<!-- <OrderNRExternal>WEB-100045</OrderNRExternal> -->
<!-- <Status>AUF</Status> -->
<!-- <ShopID>SHP</ShopID> -->
<!-- <PaymentType>V</PaymentType> -->
<!-- <OrderDateFrom>2024-01-01T00:00:00</OrderDateFrom> -->
<!-- <OrderDateTo>2024-02-01T00:00:00</OrderDateTo> -->
<!-- <UpdateDateFrom>2024-01-15T08:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-01-16T08:00:00</UpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
<!-- <InvoiceNr>RE-2024-000123</InvoiceNr> -->
<!-- <ShowOrderlines>1</ShowOrderlines> -->
<!-- <IsStartKey>1</IsStartKey> -->
<!-- <ItemXML><![CDATA[<ITEMS><ITEM><ITEMKEY>4711</ITEMKEY><ITEMNRINT>ART-1001</ITEMNRINT><ITEMNRSUPPL>SUP-55</ITEMNRSUPPL><EAN>4006381333931</EAN></ITEM></ITEMS>]]></ItemXML> -->
<!-- <IsReplacementOnly>0</IsReplacementOnly> -->
</ns1:pixiGetOrderlineExtended>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
// 'OrderlineKey' => '123456',
// 'OrderNR' => '500123',
// 'OrderNRExternal' => 'WEB-100045',
// 'Status' => 'AUF',
// 'ShopID' => 'SHP',
// 'PaymentType' => 'V',
// 'OrderDateFrom' => '2024-01-01T00:00:00',
// 'OrderDateTo' => '2024-02-01T00:00:00',
// 'UpdateDateFrom' => '2024-01-15T08:00:00',
// 'UpdateDateTo' => '2024-01-16T08:00:00',
// 'RowCount' => '500',
// 'InvoiceNr' => 'RE-2024-000123',
// 'ShowOrderlines' => '1',
// 'IsStartKey' => '1',
// 'ItemXML' => '<ITEMS><ITEM><ITEMKEY>4711</ITEMKEY><ITEMNRINT>ART-1001</ITEMNRINT><ITEMNRSUPPL>SUP-55</ITEMNRSUPPL><EAN>4006381333931</EAN></ITEM></ITEMS>',
// 'IsReplacementOnly' => '0',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetOrderlineExtended', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetOrderlineExtended