pixiReadOrderHeader
Liefert Auftragsköpfe nach Schlüssel oder Auftragsnummer oder nach Anlage-/Änderungszeiträumen, mit schlüsselbasiertem Paging.
Liest Datensätze aus OrderHeader. Die Parameter wählen einen von mehreren sich gegenseitig ausschließenden Modi, geprüft in dieser Reihenfolge:
- Anlage- oder Änderungszeitraum:
CreateAndUpdateDateFromund/oderCreateAndUpdateDateToist gesetzt. Liefert Aufträge, derenCreateDateoderUpdateDate>=From ist und derenCreateDateoderUpdateDate<To ist. - Anlagezeitraum:
CreateDateFromund/oderCreateDateToist gesetzt. FiltertCreateDate >= FromundCreateDate < To. - Änderungszeitraum:
UpdateDateFromund/oderUpdateDateToist gesetzt. FiltertUpdateDate >= FromundUpdateDate < To. - Paging ohne Datumsfilter:
RowCountist gesetzt und kein Datumsparameter ist gesetzt. Liefert die nächsten Aufträge nachOrderHeaderKey. - Einzelner Auftrag: sonst. Liefert höchstens einen Auftrag, dessen
OrderHeaderKeydem übergebenen Schlüssel oder dessenOrderNrder übergebenen Auftragsnummer entspricht.
Nur der erste zutreffende Modus wird verwendet. Parameter späterer Modi werden ignoriert. So hat OrderNr beispielsweise keine Wirkung, wenn ein Datumsparameter oder RowCount gesetzt ist.
Paging: In den Modi 1–4 ist OrderHeaderKey eine exklusive Untergrenze. Es werden nur Aufträge mit einem größeren Schlüssel als dem übergebenen Wert geliefert. Wird OrderHeaderKey nicht übergeben, gilt der Wert 0. Für die nächste Seite wird der zuletzt erhaltene OrderHeaderKey übergeben.
Zeilenlimit: Die Ausgabe ist auf RowCount Zeilen begrenzt. Ist RowCount NULL oder 0, gilt ein Limit von 1000 Zeilen. Werte über 100000 werden auf 100000 begrenzt. Die Zeilen sind immer aufsteigend nach OrderHeaderKey sortiert.
Berechnete Spalten:
ShipDateist das spätesteShipDatederOrderlinesdes Auftrags.ShopNotewird in einen CDATA-Abschnitt eingeschlossen, wenn der Text mit<beginnt.ExchRateIdwird nur gefüllt, wenn die EinstellungMultiCurrencyEnabledden Wert1hat.
Hinweise
- Alle Lesezugriffe verwenden
NOLOCK, daher können nicht festgeschriebene Daten geliefert werden. - Ohne Filter: Ein Aufruf ohne Parameter liefert keine Zeilen, sofern kein Auftrag mit Schlüssel
0existiert. Der Aufruf fällt in den Einzelauftragsmodus mit Schlüssel0. - Einzelauftragsmodus: Werden
OrderHeaderKeyundOrderNrgemeinsam übergeben, wirkt der Filter als ODER. Es wird ein beliebiger passender Auftrag geliefert, da vorTOP 1keine Sortierung erfolgt. - Anlage-oder-Änderungsmodus: Die ODER-Logik ist großzügig. Die To-Grenze schließt einen Auftrag nur aus, wenn sowohl
CreateDateals auchUpdateDateauf oder nach To liegen. Dieser Modus sammelt alle passenden Schlüssel, bevor das Zeilenlimit greift; bei großen Zeiträumen kann das langsam sein. RowCount = 0: In den Modi 2–4 führtRowCount = 0zu null Kandidaten, es werden also keine Zeilen geliefert. Für den Standardwert 1000 sollte stattdessenNULLübergeben werden. Negative Werte führen zu einem SQL-Fehler.- Das Zeilenlimit wird per
SET ROWCOUNTumgesetzt.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
OrderHeaderKey
|
int | NULL |
In Datums- und Paging-Modi: exklusive Untergrenze (Paging-Cursor); Beispiel: |
OrderNr
|
int | NULL |
Auftragsnummer. Nur im Einzelauftragsmodus verwendet, also wenn kein Datumsparameter und kein Beispiel: |
CreateDateFrom
|
datetime dateTime |
NULL |
Inklusive Untergrenze für Beispiel: |
CreateDateTo
|
datetime dateTime |
NULL |
Exklusive Obergrenze für Beispiel: |
UpdateDateFrom
|
datetime dateTime |
NULL |
Inklusive Untergrenze für Beispiel: |
UpdateDateTo
|
datetime dateTime |
NULL |
Exklusive Obergrenze für Beispiel: |
CreateAndUpdateDateFrom
|
datetime dateTime |
NULL |
Untergrenze: Ein Auftrag passt, wenn Beispiel: |
CreateAndUpdateDateTo
|
datetime dateTime |
NULL |
Obergrenze: Ein Auftrag passt, wenn Beispiel: |
RowCount
|
int | NULL |
Maximale Anzahl zurückgegebener Zeilen (begrenzt auf 100000; Beispiel: |
Antwort
Result-Set 1 · Immer; leer, wenn kein Auftrag passt.
Auftragsköpfe, aufsteigend nach OrderHeaderKey sortiert, begrenzt durch RowCount (Standard 1000).
| Spalte | Typ | Beschreibung |
|---|---|---|
OrderHeaderKey
|
int |
Interner Schlüssel des Auftragskopfs. |
OrderNr
Kann leer sein |
int |
Auftragsnummer. |
ShipVendorCode
Kann leer sein |
string |
Code des Versanddienstleisters. |
GiftMessage
Kann leer sein |
string |
Geschenknachricht. |
ShipInstruct
Kann leer sein |
string |
Versandanweisungen. |
Discount
Kann leer sein |
decimal |
Auftragsrabatt. |
IPAddress
Kann leer sein |
string |
IP-Adresse des bestellenden Kunden. |
CCPPaymentInfoOK
Kann leer sein |
string |
Status der Kreditkarten-Zahlungsinformation. |
CCPLastAuthCode
Kann leer sein |
string |
Letzter Kreditkarten-Autorisierungscode. |
CCPNumOfTries
Kann leer sein |
int |
Anzahl der Kreditkarten-Autorisierungsversuche. |
CCPReauthorizeYN
Kann leer sein |
string |
Kennzeichen für Neuautorisierung. |
CreateEmp
Kann leer sein |
string |
Benutzer, der den Auftrag angelegt hat. |
CreateDate
Kann leer sein |
dateTime |
Anlagedatum. |
UpdateEmp
Kann leer sein |
string |
Benutzer der letzten Änderung. |
UpdateDate
Kann leer sein |
dateTime |
Datum der letzten Änderung. |
CustRef
Kann leer sein |
int |
Kundenreferenz. |
AddrRef
Kann leer sein |
int |
Referenz der Rechnungsadresse. |
ShipAdrRef
Kann leer sein |
int |
Referenz der Lieferadresse. |
rowguid
Kann leer sein |
string |
Zeilen-GUID. |
OhSCostCharged
Kann leer sein |
decimal |
Berechnete Versandkosten. |
OhShippingNote
Kann leer sein |
string |
Versandhinweis. |
OhChargeShipCost
Kann leer sein |
string |
Kennzeichen, ob Versandkosten berechnet werden. |
OhWrapType
Kann leer sein |
string |
Art der Geschenkverpackung. |
OhWrapMessage
Kann leer sein |
string |
Text zur Geschenkverpackung. |
OhSCostChargeType
Kann leer sein |
string |
Art der Versandkostenberechnung. |
OhSCostFirstItemCharged
Kann leer sein |
decimal |
Für den ersten Artikel berechnete Versandkosten. |
OhShipImmed
Kann leer sein |
string |
Kennzeichen für Sofortversand. |
OhSLocked
Kann leer sein |
string |
Kennzeichen für Versandsperre. |
OhGosF1
Kann leer sein |
string |
Freifeld 1. |
OhGosF2
Kann leer sein |
string |
Freifeld 2. |
OhWaitDays
Kann leer sein |
int |
Wartetage. |
OhShipID
Kann leer sein |
string |
Versand-ID. |
Address_Remarks
Kann leer sein |
string |
Adressbemerkungen. |
Verfahren
Kann leer sein |
string |
Versandverfahren. |
Product
Kann leer sein |
string |
Versandprodukt. |
Extras
Kann leer sein |
string |
Versandzusatzleistungen. |
ShipDate
Kann leer sein |
dateTime |
Spätestes |
ChangeDate
Kann leer sein |
dateTime |
Änderungsdatum. |
ChangeSequence
Kann leer sein |
int |
Änderungssequenz. |
ChangeReported
Kann leer sein |
string |
Kennzeichen, ob die Änderung gemeldet wurde. |
ExtraShippingCharged
Kann leer sein |
decimal |
Berechnete zusätzliche Versandkosten. |
ccpPayID
Kann leer sein |
string |
Kreditkarten-Zahlungs-ID. |
ccpSetFailTries
Kann leer sein |
int |
Anzahl fehlgeschlagener Abrechnungsversuche. |
ccpSetFailLastTime
Kann leer sein |
dateTime |
Zeitpunkt der letzten fehlgeschlagenen Abrechnung. |
PaidBySwiftRef
Kann leer sein |
string |
Zahlungsreferenz (SWIFT). |
ShopNote
Kann leer sein |
varchar(max) string |
Shop-Notiz; wird in |
PaidByCustomer
Kann leer sein |
string |
Wert für Zahlung durch den Kunden. |
OhCCPmerchantID
Kann leer sein |
string |
Kreditkarten-Händler-ID. |
ShipCost
Kann leer sein |
decimal |
Versandkosten. |
AutoReservationDone
Kann leer sein |
string |
Kennzeichen, ob die automatische Reservierung erfolgt ist. |
ForceToPicklistIfNotFULL
Kann leer sein |
string |
Auf Pickliste erzwingen, auch wenn nicht vollständig verfügbar. |
DFType
Kann leer sein |
string |
Direct-Fulfillment-Typ. |
ManualResDate
Kann leer sein |
dateTime |
Datum der manuellen Reservierung. |
OHMultiForceToPicklist
Kann leer sein |
string |
Kennzeichen für mehrfaches Erzwingen auf Pickliste. |
OHCancelAfterForcedShipOut
Kann leer sein |
string |
Kennzeichen für Storno nach erzwungenem Versand. |
SubShopLogo
Kann leer sein |
string |
Logo des Subshops. |
SubShopName
Kann leer sein |
string |
Name des Subshops. |
Referrer
Kann leer sein |
string |
Referrer. |
AutoPaymentCreated
Kann leer sein |
string |
Kennzeichen, ob eine automatische Zahlung angelegt wurde. |
ResOnLocDate
Kann leer sein |
dateTime |
Datum der Reservierung am Lager. |
ChannelRef
Kann leer sein |
int |
Referenz des Verkaufskanals. |
OrderNrExternal
Kann leer sein |
string |
Externe (Shop-)Auftragsnummer. |
OrderStatus
Kann leer sein |
string |
Auftragsstatus. |
OrderLinesTotal
Kann leer sein |
decimal |
Summe der Auftragspositionen. |
OrderLinesDiscount
Kann leer sein |
decimal |
Rabatt auf die Auftragspositionen. |
OrderTotal
Kann leer sein |
decimal |
Auftragssumme. |
CurrencyId
Kann leer sein |
int |
Währungs-ID. |
ExchRateId
Kann leer sein |
int |
Wechselkurs-ID; nur gefüllt, wenn die Einstellung |
Beispielantwort
<SqlRowSet1>
<row>
<OrderHeaderKey>125431</OrderHeaderKey>
<OrderNr>200346</OrderNr>
<ShipVendorCode>DHL</ShipVendorCode>
<Discount>0.00</Discount>
<CreateEmp>API</CreateEmp>
<CreateDate>2024-05-01T09:15:22</CreateDate>
<UpdateDate>2024-05-01T10:02:11</UpdateDate>
<CustRef>48211</CustRef>
<AddrRef>90122</AddrRef>
<ShipAdrRef>90123</ShipAdrRef>
<ShipDate>2024-05-02T14:30:00</ShipDate>
<ShipCost>4.90</ShipCost>
<OrderNrExternal>SHOP-100045</OrderNrExternal>
<OrderStatus>AUF</OrderStatus>
<OrderLinesTotal>59.80</OrderLinesTotal>
<OrderTotal>64.70</OrderTotal>
<CurrencyId>1</CurrencyId>
</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:pixiReadOrderHeader>
<!-- <OrderHeaderKey>125430</OrderHeaderKey> -->
<!-- <OrderNr>200345</OrderNr> -->
<!-- <CreateDateFrom>2024-05-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-05-02T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-05-01T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-05-02T00:00:00</UpdateDateTo> -->
<!-- <CreateAndUpdateDateFrom>2024-05-01T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-05-02T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadOrderHeader>
</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:pixiReadOrderHeader>
<!-- <OrderHeaderKey>125430</OrderHeaderKey> -->
<!-- <OrderNr>200345</OrderNr> -->
<!-- <CreateDateFrom>2024-05-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-05-02T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-05-01T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-05-02T00:00:00</UpdateDateTo> -->
<!-- <CreateAndUpdateDateFrom>2024-05-01T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-05-02T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadOrderHeader>
</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 = [
// 'OrderHeaderKey' => '125430',
// 'OrderNr' => '200345',
// 'CreateDateFrom' => '2024-05-01T00:00:00',
// 'CreateDateTo' => '2024-05-02T00:00:00',
// 'UpdateDateFrom' => '2024-05-01T00:00:00',
// 'UpdateDateTo' => '2024-05-02T00:00:00',
// 'CreateAndUpdateDateFrom' => '2024-05-01T00:00:00',
// 'CreateAndUpdateDateTo' => '2024-05-02T00:00:00',
// 'RowCount' => '500',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiReadOrderHeader', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReadOrderHeader