Postman-Collection
Direct-Fulfillment Lesen

pixiDFGetOrderlines

Liefert die offenen Direct-Fulfillment-Auftragspositionen (Status FUT) eines Auftrags für einen Direct-Fulfillment-Lieferanten, authentifiziert über Lieferantennummer und Secret.

Wird von Direct-Fulfillment-Lieferanten (Streckengeschäft) verwendet, um die zu versendenden Positionen eines Auftrags abzurufen.

Authentifizierung

  • Leere Zeichenketten in SupplNr und Secret werden als NULL behandelt.
  • Gesucht wird ein Lieferant in Suppliers, dessen SupplNr gleich SupplNr und dessen CustNr gleich Secret ist. Der Lieferant darf nicht deaktiviert sein und muss CanDoDirectFulfillment = 1 haben.
  • Wird kein solcher Lieferant gefunden und ist die Einstellung DFAPIAllowFullAccessWithoutSecret gleich 0 (oder nicht vorhanden), wird nur eine Zeile mit Error = '403' geliefert.
  • Ist die Einstellung ungleich 0, entfällt die Prüfung, und der Aufruf funktioniert ohne gültiges Secret.

Gelieferte Auftragspositionen

Nur Positionen, die alle folgenden Bedingungen erfüllen:

  • Die Position gehört zum Auftrag OrderNR.
  • Die Position hat den Status FUT; verwendet wird der neueste OrderHistory-Eintrag mit Status FUT (OrderHistKey, StatusChangeDate, ClientNotified).
  • Der Status FUT ist in OrderStates als Fulfilment-Status gekennzeichnet (FulfilmentStatus = 'Y').
  • Ohne AllOrderlines = 1 werden nur noch nicht bestätigte Positionen (ClientNotified = 'N') geliefert.
  • Ist SupplNr angegeben, werden nur Positionen mit SupplInfo = SupplNr geliefert, und dieser Lieferant muss Direct Fulfillment unterstützen. Ist SupplNr leer (nur bei deaktivierter Secret-Prüfung möglich), werden Positionen aller Lieferanten geliefert.
  • Die Lieferadresse darf nicht gesperrt sein (ASlocked), der Kunde ebenfalls nicht (SLocked).
  • Auftragskopf, Rechnungsadresse, Kunde und Währung müssen vorhanden sein (Inner Joins).

Artikeldaten

EANUPC, ItemNrSuppl und ItemNrInt stammen aus dem lieferantenspezifischen AddItems-Datensatz (Lieferant = SupplInfo der Position, zuletzt aktualisierter Datensatz); fehlt ein Wert dort, wird der Wert aus Items verwendet.

Doppelte Zeilen werden entfernt (DISTINCT). Eine Sortierung ist nicht festgelegt.

Hinweise

  • Der Fehler wird als normale Ergebniszeile (Error, ErrorMsg) geliefert, nicht als SQL-Fehler. Die Antwort sollte auf die Spalte Error geprüft werden.
  • Secret wird mit dem Feld CustNr des Lieferanten verglichen (die Kundennummer, unter der der Shop beim Lieferanten geführt wird).
  • Ist DFAPIAllowFullAccessWithoutSecret aktiviert und bleibt SupplNr leer, werden die Positionen aller Lieferanten des Auftrags geliefert. Im Produktivbetrieb sollte diese Einstellung auf 0 bleiben.
  • Der Aufruf ändert keine Daten; Positionen werden nicht als bestätigt markiert. OrderlineConfirmed entspricht ClientNotified des neuesten FUT-Historieneintrags.
  • Alle Tabellen werden mit NOLOCK gelesen; nicht festgeschriebene Daten können geliefert werden.

Parameter

Parameter Typ Standardwert Beschreibung
OrderNR
Pflicht
int –

Nummer des Auftrags, dessen Direct-Fulfillment-Positionen geliefert werden.

Beispiel: 104523

SupplNr
varchar(4)
string
NULL

Lieferantennummer des Direct-Fulfillment-Lieferanten. Dient der Authentifizierung und beschränkt die Positionen auf diesen Lieferanten. Leere Zeichenkette wird als NULL behandelt.

Beispiel: DF01

Secret
varchar(20)
string
NULL

Secret des Lieferanten; muss dem Feld CustNr des Lieferanten entsprechen. Leere Zeichenkette wird als NULL behandelt.

Beispiel: K-778812

AllOrderlines
bit
boolean
0

Legt fest, ob bereits bestätigte Positionen enthalten sind.

Erlaubte Werte

  • 0 – Nur noch nicht bestätigte Positionen (`ClientNotified = 'N'`).
  • 1 – Alle `FUT`-Positionen des Auftrags, bestätigt oder nicht.

Beispiel: 0

Antwort

Result-Set 1 · Wenn der Lieferant authentifiziert ist oder die Einstellung DFAPIAllowFullAccessWithoutSecret ungleich 0 ist

Eine Zeile je passender Direct-Fulfillment-Auftragsposition; kann leer sein.

Spalte Typ Beschreibung
OrderLineRef int

Schlüssel der Auftragsposition (OrderlineKey).

OrderNr int

Auftragsnummer.

ArtName
Kann leer sein
string

Artikelbezeichnung laut Auftragsposition.

EANUPC
Kann leer sein
string

EAN/UPC, lieferantenspezifisch aus AddItems, sonst aus Items.

ItemNrSuppl
Kann leer sein
string

Lieferantenartikelnummer, lieferantenspezifisch aus AddItems, sonst aus Items.

itemNrExternal
Kann leer sein
string

Externe Artikelnummer der Auftragsposition.

Qty
Kann leer sein
int

Bestellte Menge.

Price
Kann leer sein
decimal

Preis der Auftragsposition.

Status string

Status der Auftragsposition, immer FUT.

OrderHistKey int

Schlüssel des neuesten FUT-Eintrags in der Auftragshistorie der Position.

StatusChangeDate
Kann leer sein
dateTime

Datum der Statusänderung dieses Historieneintrags.

OrderDate
Kann leer sein
dateTime

Bestelldatum der Position.

OrderNrExternal
Kann leer sein
string

Externe Auftragsnummer (Shop).

oItemSpecialNote
Kann leer sein
string

Sonderhinweis der Auftragsposition.

SupplInfo
Kann leer sein
string

Der Auftragsposition zugeordnete Lieferantennummer.

InvoiceNrExternal
Kann leer sein
string

Externe Rechnungsnummer der Auftragsposition.

DF_Type
Kann leer sein
string

Direct-Fulfillment-Typ der Auftragsposition (DF_type).

ItemRef int

Schlüssel des Artikels (ItemKey).

OrderlineConfirmed
Kann leer sein
string

Kennzeichen ClientNotified des neuesten FUT-Historieneintrags (N = noch nicht bestätigt).

OrderCurrencyCode
Kann leer sein
string

Währungscode des Auftrags (CodeA aus Currency).

BundleOrderlineRef
Kann leer sein
int

Verweis auf die Bundle-Auftragsposition, falls die Position Teil eines Bundles ist.

ItemNrInt
Kann leer sein
string

Interne Artikelnummer, lieferantenspezifisch aus AddItems, sonst aus Items.

Result-Set 2 · Wenn zu SupplNr/Secret kein passender DF-Lieferant gefunden wird und DFAPIAllowFullAccessWithoutSecret gleich 0 ist

Einzelne Fehlerzeile anstelle der Auftragspositionen.

Spalte Typ Beschreibung
Error varchar(3)
string

Fehlercode, immer 403.

ErrorMsg varchar(48)
string

Fehlertext.

Fehlermeldungen

Status Meldung Ursache
403 Not Authorized. Secret or SupplNr is incorrect. Kein aktiver Lieferant mit `CanDoDirectFulfillment = 1` passt zu `SupplNr` und `Secret` (Vergleich mit `CustNr`), und die Secret-Prüfung ist aktiv. Korrekte Lieferantennummer und Secret übergeben.

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:pixiDFGetOrderlines>
      <OrderNR>104523</OrderNR>
      <!-- <SupplNr>DF01</SupplNr> -->
      <!-- <Secret>K-778812</Secret> -->
      <!-- <AllOrderlines>0</AllOrderlines> -->
    </ns1:pixiDFGetOrderlines>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Suppliers · Lesen Settings · Lesen Orderlines · Lesen OrderHistory · Lesen Addresses · Lesen Items · Lesen AddItems · Lesen OrderHeader · Lesen OrderStates · Lesen Customers · Lesen Currency · Lesen
SQL-Objekt:
dbo.pipiDFGetOrderlines
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben