Postman-Collection
Orders Schreiben

pixiReleaseOrder

Gibt einen angehaltenen Auftrag anhand externer Auftragsnummer und Shop frei, indem dessen Auftragspositionen von Status HAL auf ANG gesetzt werden.

Gibt einen angehaltenen Auftrag (Status HAL) frei, damit er wieder bearbeitet werden kann.

  1. Die interne Auftragsnummer (OrderNr) wird in Orderlines über OrderNrExternal = @OrderNrExternal ermittelt, verknüpft mit Customers über CustomerOf = @ShopId.
  2. Die interne Prozedur GOS_ReleaseOnHold wird mit dieser Auftragsnummer und dem Benutzer API aufgerufen. Sie setzt alle Auftragspositionen des Auftrags mit Status HAL auf ANG, setzt UpdateDate auf das aktuelle Datum und UpdateEmp auf API (payments).
  3. Abschließend wird eine Statuszeile geliefert: die Anzahl der Auftragspositionen mit der angegebenen externen Auftragsnummer und dem Shop, die nun Status ANG haben. ReturnCode ist OK, wenn diese Anzahl größer 0 ist, sonst ERROR.

Hinweise

  • AffectedRows ist nicht die Anzahl der tatsächlich freigegebenen Positionen: Gezählt werden alle Positionen mit Status ANG, auch solche, die bereits vor dem Aufruf ANG hatten. Ein Aufruf für einen nicht angehaltenen Auftrag mit ANG-Positionen liefert daher ebenfalls OK.
  • Wird kein Auftrag gefunden, wird nichts geändert und das Ergebnis ist ERROR mit AffectedRows = 0. Dasselbe gilt, wenn der Auftrag existiert, danach aber keine Position im Status ANG ist (z. B. Positionen in anderen Status).
  • Teilen sich mehrere Aufträge innerhalb des Shops dieselbe externe Auftragsnummer, wird nur einer davon (die zuletzt gelesene Zeile der Suche) freigegeben, während die Zählung Positionen aller passenden Aufträge umfasst.
  • Suche und abschließende Zählung verwenden NOLOCK; das Ergebnis kann daher nicht festgeschriebene Daten widerspiegeln.
  • Die Aktualisierung läuft in einer Transaktion (bzw. einem Savepoint, falls bereits eine Transaktion offen ist). Bei einem Fehler wird zurückgerollt, die Fehlerdetails werden in LogTable protokolliert und der Fehler erneut ausgelöst.

Parameter

Parameter Typ Standardwert Beschreibung
OrderNrExternal
Pflicht
varchar(50)
string
–

Externe Auftragsnummer (z. B. die Bestellnummer des Shops) des freizugebenden Auftrags.

Beispiel: 100012345

ShopId
Pflicht
char(3)
string
–

Shop-ID; wird mit CustomerOf des Kunden des Auftrags verglichen.

Beispiel: ABC

Antwort

Result-Set 1 · Immer, sofern bei der Aktualisierung kein Fehler ausgelöst wird.

Statuszeile mit dem Ergebnis der Freigabe.

Spalte Typ Beschreibung
ReturnCode varchar(5)
string

OK, wenn nach dem Aufruf mindestens eine Auftragsposition des Auftrags im Status ANG ist, sonst ERROR.

AffectedRows int

Anzahl der Auftragspositionen mit der angegebenen externen Auftragsnummer und dem Shop im Status ANG (einschließlich Positionen, die diesen Status bereits hatten).

Fehlermeldungen

Status Meldung Ursache
ERROR ERROR Wird als `ReturnCode` geliefert, wenn nach dem Aufruf keine Auftragsposition des Auftrags im Status `ANG` ist, z. B. weil die externe Auftragsnummer für diesen Shop nicht existiert oder die Positionen einen anderen Status haben. `OrderNrExternal` und `ShopId` prüfen.
RAISERROR {error message} Beliebiger SQL-Fehler bei der Statusänderung in `GOS_ReleaseOnHold` (z. B. Sperr-Timeout oder Constraint-Verletzung). Die Transaktion wird zurückgerollt, die Details werden in `LogTable` protokolliert und die ursprüngliche Fehlermeldung wird erneut ausgelöst.

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:pixiReleaseOrder>
      <OrderNrExternal>100012345</OrderNrExternal>
      <ShopId>ABC</ShopId>
    </ns1:pixiReleaseOrder>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Orderlines · Schreiben Customers · Lesen LogTable · Schreiben
SQL-Objekt:
dbo.pipiReleaseOrder
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben