Postman-Collection
Direct-Fulfillment Schreiben

pixiDFGetChangesConfirmation

Bestätigt eine verarbeitete Auftragshistorien-Änderung für einen Direct-Fulfillment-Lieferanten, setzt das ClientNotified-Flag und optional das Tracking-Versanddatum einer Rechnung.

Quittiert einen Eintrag der Auftragshistorie aus der Direct-Fulfillment-API. Ein Lieferant ruft dies auf, nachdem er eine Änderung verarbeitet hat, damit die Änderung als übermittelt markiert wird.

  1. Authentifizierung: Der Lieferant wird in Suppliers über SupplNr gesucht, mit CustNr = Secret, nicht deaktiviert (Disabled <> 1) und für Direct Fulfillment freigeschaltet (CanDoDirectFulfillment = 1).
    • Wird kein Lieferant gefunden und hat die Einstellung DFAPIAllowFullAccessWithoutSecret den Wert 0, liefert der Aufruf den Status 403. Fehlt die Einstellung, gilt ebenfalls 0.
    • Bei jedem anderen Wert der Einstellung entfällt die Secret-Prüfung.
  2. Suche: Existiert der OrderHistKey nicht in OrderHistory, liefert der Aufruf den Status 404.
  3. Aktualisierung: Andernfalls wird die interne Prozedur GOSUpdateOHClientNotifiedXML ausgeführt:
    • Der Historieneintrag erhält ClientNotified = Y (nur wenn OrderHistKey <> 0).
    • Ist InvoiceKey <> 0, wird Invoices.TrackingIDSent der Rechnung auf das aktuelle Datum mit Uhrzeit gesetzt.
    • Bei Erfolg ist der Status 200. Tritt ein Fehler auf, ist der Status 500 mit der SQL-Fehlermeldung.

Der Aufruf liefert immer genau eine Zeile mit Status und ErrorMsg.

Hinweise

  • Der Code prüft nicht, ob OrderHistKey oder InvoiceKey zum authentifizierten Lieferanten gehört. Jeder vorhandene Historieneintrag kann bestätigt werden.
  • InvoiceKey wird nicht validiert. Existiert die Rechnung nicht, wird keine Zeile geändert, der Status ist trotzdem 200.
  • Die beiden Updates laufen nicht in einer expliziten Transaktion. Schlägt das Rechnungs-Update fehl, kann das ClientNotified-Flag bereits gesetzt sein, obwohl der Aufruf 500 liefert.
  • Lieferantensuche und Existenzprüfung verwenden NOLOCK.
  • Ist OrderHistKey NULL, wird die 404-Meldung durch die Zeichenverkettung NULL.

Parameter

Parameter Typ Standardwert Beschreibung
SupplNr
Pflicht
varchar(4)
string
–

Lieferantennummer des Direct-Fulfillment-Lieferanten.

Beispiel: L001

Secret
Pflicht
varchar(20)
string
–

Secret des Lieferanten. Es wird mit dem Feld CustNr des Lieferanten verglichen.

Beispiel: K12345

OrderHistKey
Pflicht
int –

Schlüssel des zu bestätigenden Eintrags der Auftragshistorie. Der Eintrag erhält ClientNotified = Y.

Beispiel: 584213

InvoiceKey
int 0

Optionaler Rechnungsschlüssel. Ist er ungleich 0, wird TrackingIDSent dieser Rechnung auf das aktuelle Datum mit Uhrzeit gesetzt.

Beispiel: 0

Antwort

Result-Set 1 · Immer

Eine Statuszeile mit dem Ergebnis der Bestätigung.

Spalte Typ Beschreibung
Status varchar(3)
string

HTTP-ähnlicher Statuscode: 200 Erfolg, 403 nicht autorisiert, 404 Historieneintrag nicht gefunden, 500 Fehler bei der Aktualisierung.cs

ErrorMsg
Kann leer sein
varchar(2000)
string

Meldungstext: Erfolgsbestätigung oder Fehlerbeschreibung.

Fehlermeldungen

Status Meldung Ursache
403 Not Authorized. Secret or SupplNr is incorrect. Kein aktiver Direct-Fulfillment-Lieferant passt zu `SupplNr` und `Secret`, und die Einstellung `DFAPIAllowFullAccessWithoutSecret` ist `0` oder fehlt. Lieferantennummer, Secret (`CustNr`), das Flag `Disabled` und `CanDoDirectFulfillment` prüfen.
404 OrderHistKey({value}) not found. Es gibt keinen Eintrag mit dem angegebenen `OrderHistKey` in `OrderHistory`. Einen Schlüssel aus dem Änderungs-Feed verwenden.
500 {ERROR_MESSAGE()} Beim Aktualisieren von `OrderHistory` oder `Invoices` ist ein SQL-Fehler aufgetreten. Die Meldung enthält den ursprünglichen SQL-Fehlertext.

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:pixiDFGetChangesConfirmation>
      <SupplNr>L001</SupplNr>
      <Secret>K12345</Secret>
      <OrderHistKey>584213</OrderHistKey>
      <!-- <InvoiceKey>0</InvoiceKey> -->
    </ns1:pixiDFGetChangesConfirmation>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Suppliers · Lesen Settings · Lesen OrderHistory · Schreiben Invoices · Schreiben
SQL-Objekt:
dbo.pipiDFGetChangesConfirmation
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben