pixiGetOrderHeadersForCustomer
Liefert die Auftragsköpfe eines Kunden, ermittelt über Kundenschlüssel oder externe Kundennummer bzw. E-Mail, inklusive Zahlungs-, Gutschein- und Versanddaten.
Liefert eine Zeile pro Auftrag (OrderHeader) eines Kunden, sortiert nach OrderDate absteigend.
Kundenauswahl
- Ist
CustKeyungleich0, werden nur Aufträge mitCustRef = CustKeygeliefert.CustomerNrExternalundShopIDwerden in diesem Fall ignoriert. - Ist
CustKeygleich0(Standard), werden die Aufträge aller Kunden geliefert, derenCustomerNrExternaloder E-Mail-Adresse (CeMail) dem Wert vonCustomerNrExternalentspricht. IstShopIDangegeben, muss der Kunde zusätzlich zu diesem Shop gehören (CustomerOf). Eine leereShopIDwird alsNULLbehandelt (kein Shop-Filter).
Weitere Filter
OrderDateFrom: nur Aufträge mitOrderDateab diesem Zeitpunkt.NULLoder leer bedeutet1900-01-01.OrderStatus:OPEN,HOLDoderCLOSEDfiltert auf den Auftragsstatus. Jeder andere Wert (oderNULL) deaktiviert den Statusfilter.
Gelieferte Daten pro Auftrag
- Kopfdaten wie Auftragsnummer, externe Auftragsnummer, Summen, Versandkosten, Shop-Notiz, Adressbemerkungen und Währungscode (
OrderCurrencyCodeaus der Währung des Auftrags). - Zahlungsdaten aus der Rechnungsadresse (
AddrRef): Zahlungsart, Kreditkarten- und Bankverbindungsfelder, PLZ. ShopIDist der Shop, zu dem der Kunde gehört (CustomerOf).OrderLockedist das Sperrkennzeichen (ASlocked) der Lieferadresse,Nfalls nicht gesetzt.VoucherID/VoucherAmount: höchste Gutschein-ID und höchster Gutscheinbetrag aus den Auftragspositionen (über Positionen referenzierte Gutscheine);NULL, wenn der Auftrag keinen Gutschein hat.Shipdate/LastShipdate: frühestes und spätestes Scan-Out-Datum aller Rechnungen zu den Auftragspositionen.TrackingID/ShipVendor: aus der Rechnung mit dem höchstenInvoiceKey; fehlt dort die Tracking-ID, wird die Direktversand-Tracking-ID der Auftragsposition verwendet.NULL, wenn der Auftrag noch nicht berechnet wurde.
Hinweise
- Alle Tabellen werden
WITH (NOLOCK)gelesen; das Ergebnis kann nicht festgeschriebene Daten enthalten. - Ist
CustKeygleich0undCustomerNrExternalleer, trifft der Filter auf Kunden mit leerer externer Kundennummer oder leerer E-Mail-Adresse zu. Daher immer entwederCustKeyoder eine nicht leereCustomerNrExternalübergeben. - Da auch die E-Mail-Adresse verglichen wird, können mehrere Kunden (z. B. in verschiedenen Shops) zutreffen; zur Einschränkung
ShopIDverwenden. - Die interne temporäre Tabelle hat eindeutige Indizes auf
OrderNrundAddrRef. Teilen sich zwei ausgewählte Aufträge dieselbe Rechnungsadresse oder haben mehrereOrderNrNULL, bricht der Aufruf mit einem SQL-Fehler wegen doppeltem Schlüssel ab. VoucherIDundVoucherAmountwerden unabhängig voneinander mitMAXermittelt; bei mehreren Gutscheinen pro Auftrag können die Werte von unterschiedlichen Gutscheinen stammen.- Hat die letzte Rechnung mehrere Positionen mit unterschiedlichen Ersatz-Tracking-IDs, ist die Auswahl nicht deterministisch und ein Auftrag kann in seltenen Fällen mehrfach erscheinen.
- Das Ergebnis enthält sensible Zahlungsdaten (Kartennummer, Bankverbindung).
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
CustKey
|
int | 0 |
Interner Kundenschlüssel. Ist der Wert ungleich Beispiel: |
CustomerNrExternal
|
varchar(60) string |
– |
Externe Kundennummer oder E-Mail-Adresse des Kunden. Wird nur verwendet, wenn Beispiel: |
ShopID
|
varchar(3) string |
NULL |
Shop, zu dem der Kunde gehören muss. Wird nur verwendet, wenn Beispiel: |
OrderStatus
|
varchar(10) string |
NULL |
Optionaler Filter auf den Auftragsstatus. Andere als die aufgeführten Werte deaktivieren den Filter. Erlaubte Werte
Beispiel: |
OrderDateFrom
|
datetime dateTime |
1900-01-01 |
Nur Aufträge mit einem Auftragsdatum ab diesem Zeitpunkt. Beispiel: |
Antwort
Result-Set 1 · Immer (kann leer sein)
Eine Zeile pro gefundenem Auftrag, sortiert nach OrderDate absteigend.
| Spalte | Typ | Beschreibung |
|---|---|---|
OrderHeaderKey
|
int |
Interner Schlüssel des Auftrags |
OrderNr
Kann leer sein |
int |
Pixi-Auftragsnummer |
CreateDate
Kann leer sein |
datetime dateTime |
Anlagedatum des Auftrags |
OrderNrExternal
Kann leer sein |
varchar(50) string |
Externe Auftragsnummer (Shop) |
OrderTotal
Kann leer sein |
money decimal |
Auftragssumme |
OrderLinesTotal
Kann leer sein |
money decimal |
Summe der Auftragspositionen |
WholeOrderState
Kann leer sein |
varchar(6) string |
Auftragsstatus des Auftragskopfs |
Shipdate
Kann leer sein |
datetime dateTime |
Frühestes Scan-Out-Datum der Rechnungen zum Auftrag |
LastShipdate
Kann leer sein |
datetime dateTime |
Spätestes Scan-Out-Datum der Rechnungen zum Auftrag |
TrackingID
Kann leer sein |
varchar(8000) string |
Tracking-ID der letzten Rechnung, ersatzweise Direktversand-Tracking-ID der Auftragsposition |
ShipVendor
Kann leer sein |
varchar(3) string |
Versanddienstleister der letzten Rechnung |
ShopID
Kann leer sein |
varchar(3) string |
Shop, zu dem der Kunde gehört ( |
OrderDate
Kann leer sein |
datetime dateTime |
Auftragsdatum |
ShipCost
Kann leer sein |
money decimal |
Versandkosten des Auftrags |
PaymentAddressId
Kann leer sein |
int |
Schlüssel der Rechnungsadresse |
ShipmentAddressId
Kann leer sein |
int |
Schlüssel der Lieferadresse |
ShopNote
Kann leer sein |
varchar(max) string |
Notiz aus dem Shop |
PaymentType
Kann leer sein |
char(1) string |
Zahlungsart der Rechnungsadresse |
VoucherID
Kann leer sein |
varchar(50) string |
Höchste in den Auftragspositionen verwendete Gutschein-ID |
VoucherAmount
Kann leer sein |
money decimal |
Höchster Gutscheinbetrag der in den Positionen verwendeten Gutscheine |
CcCardType
Kann leer sein |
varchar(2) string |
Kreditkartentyp |
CcCardNr
Kann leer sein |
varchar(25) string |
Kreditkartennummer |
CcCardName
Kann leer sein |
varchar(60) string |
Karteninhaber |
CcCardExp
Kann leer sein |
varchar(4) string |
Ablaufdatum der Kreditkarte |
Account
Kann leer sein |
varchar(10) string |
Kontonummer |
Blz
Kann leer sein |
varchar(8) string |
Bankleitzahl |
BankName
Kann leer sein |
varchar(50) string |
Name der Bank |
AccountName
Kann leer sein |
varchar(27) string |
Kontoinhaber |
AddressRemarks
Kann leer sein |
varchar(255) string |
Adressbemerkungen des Auftrags |
AddrRef
Kann leer sein |
int |
Schlüssel der Rechnungsadresse (wie |
ZIP
Kann leer sein |
varchar(10) string |
PLZ der Rechnungsadresse |
CustKey
Kann leer sein |
int |
Interner Kundenschlüssel |
OrderLocked
Kann leer sein |
varchar(1) string |
Sperrkennzeichen der Lieferadresse, |
OrderCurrencyCode
Kann leer sein |
varchar(3) string |
Währungscode des Auftrags (z. B. |
Beispielantwort
<SqlRowSet1>
<row>
<OrderHeaderKey>558812</OrderHeaderKey>
<OrderNr>400123</OrderNr>
<CreateDate>2024-03-11T09:14:22</CreateDate>
<OrderNrExternal>WEB-100245</OrderNrExternal>
<OrderTotal>89.9000</OrderTotal>
<OrderLinesTotal>84.9000</OrderLinesTotal>
<WholeOrderState>CLOSED</WholeOrderState>
<Shipdate>2024-03-12T15:02:10</Shipdate>
<LastShipdate>2024-03-12T15:02:10</LastShipdate>
<TrackingID>00340434161094042557</TrackingID>
<ShipVendor>DHL</ShipVendor>
<ShopID>SH1</ShopID>
<OrderDate>2024-03-11T09:10:00</OrderDate>
<ShipCost>5.0000</ShipCost>
<PaymentAddressId>912345</PaymentAddressId>
<ShipmentAddressId>912346</ShipmentAddressId>
<ShopNote/>
<PaymentType>R</PaymentType>
<AddressRemarks/>
<AddrRef>912345</AddrRef>
<ZIP>80331</ZIP>
<CustKey>10234</CustKey>
<OrderLocked>N</OrderLocked>
<OrderCurrencyCode>EUR</OrderCurrencyCode>
</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:pixiGetOrderHeadersForCustomer>
<!-- <CustKey>10234</CustKey> -->
<!-- <CustomerNrExternal>max.mustermann@example.com</CustomerNrExternal> -->
<!-- <ShopID>SH1</ShopID> -->
<!-- <OrderStatus>OPEN</OrderStatus> -->
<!-- <OrderDateFrom>2024-01-01T00:00:00</OrderDateFrom> -->
</ns1:pixiGetOrderHeadersForCustomer>
</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:pixiGetOrderHeadersForCustomer>
<!-- <CustKey>10234</CustKey> -->
<!-- <CustomerNrExternal>max.mustermann@example.com</CustomerNrExternal> -->
<!-- <ShopID>SH1</ShopID> -->
<!-- <OrderStatus>OPEN</OrderStatus> -->
<!-- <OrderDateFrom>2024-01-01T00:00:00</OrderDateFrom> -->
</ns1:pixiGetOrderHeadersForCustomer>
</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 = [
// 'CustKey' => '10234',
// 'CustomerNrExternal' => 'max.mustermann@example.com',
// 'ShopID' => 'SH1',
// 'OrderStatus' => 'OPEN',
// 'OrderDateFrom' => '2024-01-01T00:00:00',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetOrderHeadersForCustomer', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetOrderHeadersForCustomer