Postman-Collection
Orders Lesen

pixiGetOrder

Liefert alle Details zu einem oder mehreren Aufträgen inkl. Adressen, Kunde, Auftragspositionen, Bundle-Positionen, Rechnungen und Kundenkonto als verschachteltes XML.

Sammelt aus den drei Eingabeparametern eine Menge von Auftragsnummern und liefert pro eindeutiger Auftragsnummer eine Zeile mit den Feldern des Auftragskopfs und mehreren verschachtelten XML-Dokumenten.

Auswahl der Aufträge (alle Parameter sind kombinierbar; die Ergebnisse werden zusammengeführt und dedupliziert):

  • OrderNr: wird direkt übernommen, wenn größer als 0. Es erfolgt keine Prüfung gegen OrderHeader.
  • OrderNrExternal: alle Aufträge mit exakt passender OrderNrExternal werden übernommen.
  • OrderNrXML: XML-Dokument mit Wurzel OrderNrs; jedes Element OrderNr fügt diese Auftragsnummer hinzu, jedes Element OrderNrExternal alle Aufträge mit dieser externen Nummer.

Wird keine Auftragsnummer ermittelt, liefert der Aufruf kein Resultset.

Pro Auftrag enthält die Zeile:

  • Felder des Auftragskopfs aus OrderHeader (Versanddienstleister, Geschenknachricht, Status, Summen, Referenzen, Kennzeichen, OrderType, ShipCost …).
  • BillingAddress und ShippingAddress: XML der über AddrRef / ShipAdrRef referenzierten Adresse, ergänzt um Ländernamen und Ländercodes (ISO2, ISO3, Afterbuy, Plenty).
  • Customer: XML des über CustRef referenzierten Kunden.
  • Orderlines: XML aller Auftragspositionen mit Währungscode (OrderCurrency), Artikeldaten und PickListNr.
  • BundleOrderlines: XML der Bundle-Auftragspositionen.
  • Invoices: XML aller Rechnungen, die mindestens eine Rechnungsposition zu einer Auftragsposition dieses Auftrags enthalten; jede Rechnung enthält ihre InvoiceLines.
  • CustomerAccount: XML der Kundenkontobuchungen des Kunden, die entweder zu einer dieser Rechnungen gehören oder ohne Rechnung über einen Bankabgleich mit dem Auftrag verknüpft sind; sortiert nach CustomerAccountKey aufsteigend.
  • OnPicklist: Picklistenstatus der Auftragspositionen (None, Partial, All).
  • VoucherID: die höchste VoucherID der Auftragspositionen.

Die Reihenfolge der Zeilen ist nicht definiert (kein ORDER BY).

Hinweise

  • Alle Lesezugriffe verwenden NOLOCK; Daten können nicht festgeschrieben oder inkonsistent sein.
  • Eine nicht existierende OrderNr liefert trotzdem eine Zeile: OrderNr ist gefüllt, alle Kopffelder und XML-Spalten sind NULL.
  • Fehlerhaftes OrderNrXML wird stillschweigend ignoriert (leerer CATCH). Das XML-Dokumenthandle wird nie mit sp_xml_removedocument freigegeben.
  • Logik für OnPicklist: None, wenn keine Position auf einer Pickliste ist; Partial, wenn einige Positionen eine Pickliste haben und andere nicht; All, wenn alle Positionen auf einer oder mehreren Picklisten sind. Bei Aufträgen ohne Positionen ist der Wert NULL.
  • Auftrags- und Bundle-Positionen werden per Inner Join mit Items und Currency verknüpft; Positionen, deren Artikel nicht mehr existiert, fehlen im XML.
  • Das verschachtelte XML nutzt FOR XML PATH ohne Zeilennamen, daher ist jeder Datensatz ein Element row; NULL-Werte werden weggelassen.
  • Felder mit Endung _OrderCurr (z. B. Price_OrderCurr, Total_OrderCurr) sind Duplikate der Basisfelder und im Code zur Entfernung markiert; sie sollten nicht verwendet werden.
  • Das Abrufen vieler Aufträge auf einmal kann wegen der zahlreichen korrelierten Unterabfragen pro Auftrag aufwendig sein.

Parameter

Parameter Typ Standardwert Beschreibung
OrderNr
int NULL

Interne Pixi-Auftragsnummer. Wird nur verwendet, wenn größer als 0.

Beispiel: 100234

OrderNrXML
varchar(max)
xml
NULL

XML-Liste von Auftragsnummern und/oder externen Auftragsnummern (Wurzel OrderNrs, Kindelemente OrderNr und OrderNrExternal). Fehlerhaftes XML wird ignoriert.

Beispiel:

<OrderNrs>
  <OrderNr>100234</OrderNr>
  <OrderNr>100235</OrderNr>
  <OrderNrExternal>SHOP-4711</OrderNrExternal>
</OrderNrs>
OrderNrExternal
varchar(50)
string
NULL

Externe Auftragsnummer (Shop); alle Aufträge mit genau diesem Wert werden geliefert.

Beispiel: SHOP-4711

Antwort

Result-Set 1 · Wenn aus den Parametern mindestens eine Auftragsnummer ermittelt wurde

Eine Zeile pro eindeutiger Auftragsnummer mit Kopffeldern und verschachtelten XML-Dokumenten.

Spalte Typ Beschreibung
OrderNr int

Auftragsnummer.

BillingAddress
Kann leer sein
xml

Rechnungsadresse (Element row mit Attributen AddrKey, AddrType und Elementen wie AddrNr, Name, Street, ZIP, City, CountryCodeISO2, eMail, IBAN).

ShippingAddress
Kann leer sein
xml

Lieferadresse, gleiche Struktur wie BillingAddress.

Customer
Kann leer sein
xml

Kunde (row mit Attribut CustKey und Elementen wie LastBillingAddressKey, PaymentCode, ShopID, CustomerNrExternal, VATID, DatevAccountNr).

OrderShippingVendor
Kann leer sein
string

Versanddienstleister-Code des Auftrags (ShipVendorCode).

GiftMessage
Kann leer sein
string

Geschenknachricht.

ShipInstruct
Kann leer sein
string

Versandanweisung.

Discount
Kann leer sein
decimal

Auftragsrabatt.

CreateDate
Kann leer sein
dateTime

Erstellungsdatum des Auftragskopfs.

CreateEmp
Kann leer sein
string

Mitarbeiter, der den Auftrag angelegt hat.

UpdateEmp
Kann leer sein
string

Mitarbeiter der letzten Änderung.

UpdateDate
Kann leer sein
dateTime

Datum der letzten Änderung.

CustRef
Kann leer sein
int

Kundenschlüssel.

AddrRef
Kann leer sein
int

Schlüssel der Rechnungsadresse.

ShipAdrRef
Kann leer sein
int

Schlüssel der Lieferadresse.

OhSLocked
Kann leer sein
string

Sperrkennzeichen des Auftragskopfs.

Address_Remarks
Kann leer sein
string

Adressbemerkungen.

Verfahren
Kann leer sein
string

Versandverfahren.

Product
Kann leer sein
string

Versandprodukt.

Extras
Kann leer sein
string

Versandextras.

Shipdate
Kann leer sein
dateTime

Geplantes Versanddatum.

Shop_Note
Kann leer sein
string

Notiz aus dem Shop.

ForceToPicklistIfNotFULL
Kann leer sein
string

Kennzeichen: auch bei Unvollständigkeit auf Pickliste zwingen.

DFType
Kann leer sein
string

Direct-Fulfillment-Typ des Auftrags.

OHMultiForceToPicklist
Kann leer sein
string

Kennzeichen für mehrfaches Erzwingen auf Pickliste.

OHCancelAfterForcedShipOut
Kann leer sein
string

Kennzeichen: Restpositionen nach erzwungenem Versand stornieren.

SubShopLogo
Kann leer sein
string

Logo des Subshops.

SubShopName
Kann leer sein
string

Name des Subshops.

Referrer
Kann leer sein
string

Referrer des Auftrags.

ChannelRef
Kann leer sein
string

Referenz auf den Vertriebskanal.

OrderNrExternal
Kann leer sein
string

Externe Auftragsnummer (Shop).

OrderStatus
Kann leer sein
string

Auftragsstatus.

OrderLinesTotal
Kann leer sein
decimal

Summe der Auftragspositionen.

OrderLinesDiscount
Kann leer sein
decimal

Rabatt der Auftragspositionen.

OrderTotal
Kann leer sein
decimal

Auftragssumme.

Orderlines
Kann leer sein
xml

Auftragspositionen (row mit Attribut OrderlineKey; Elemente wie ArtNr, ArtName, Qty, Price, Status, OrderCurrency, ItemRef, LineItemIDShop, VATPercent, ItemNote, PickListNr, ItemNrInt).

BundleOrderlines
Kann leer sein
xml

Bundle-Auftragspositionen (row mit Attribut BundleOrderlineKey; Elemente wie OriginalOrderlineKey, ArtNr, Qty, Price, ItemNrInt).

Invoices
Kann leer sein
xml

Rechnungen des Auftrags mit MwSt.-Daten, Zahlungsinformationen, Tracking-ID und verschachtelten InvoiceLines.

CustomerAccount
Kann leer sein
xml

Kundenkontobuchungen zum Auftrag (CustomerAccountKey, EventID, EventDate, Amount, Matched …).

OrderType
Kann leer sein
string

Auftragstyp (z. B. B2C).

OnPicklist
Kann leer sein
varchar(10)
string

Picklistenstatus: None, Partial oder All; NULL, wenn der Auftrag keine Positionen hat.

ShipCost
Kann leer sein
decimal

Versandkosten des Auftrags.

VoucherID
Kann leer sein
string

Höchste Gutschein-ID der Auftragspositionen.

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:pixiGetOrder>
      <!-- <OrderNr>100234</OrderNr> -->
      <!-- <OrderNrXML><![CDATA[<OrderNrs><OrderNr>100234</OrderNr><OrderNr>100235</OrderNr><OrderNrExternal>SHOP-4711</OrderNrExternal></OrderNrs>]]></OrderNrXML> -->
      <!-- <OrderNrExternal>SHOP-4711</OrderNrExternal> -->
    </ns1:pixiGetOrder>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

OrderHeader · Lesen Orderlines · Lesen BundleOrderlines · Lesen Addresses · Lesen Countries · Lesen Customers · Lesen Currency · Lesen Items · Lesen Invoices · Lesen Invlines · Lesen CustomerAccount · Lesen BankMatch · Lesen
SQL-Objekt:
dbo.pipiGetOrder
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben