Postman-Collection
Invoices Lesen

pixiGetUpdatedInvoices

Liefert die Rechnungen, die nach einem Zeitpunkt angelegt oder geändert wurden (einschließlich Änderungen an Rechnungspositionen), optional mit Paging und Zahlungsartfilter.

Der Aufruf dient der Delta-Synchronisation von Rechnungen.

  1. Wird Since nicht übergeben, gilt der Beginn des aktuellen Tages (00:00 Uhr). Ein leerer PaymentType wird wie NULL behandelt.
  2. Kandidaten werden aus drei Quellen gesammelt, jeweils beschränkt auf einen InvoiceKey größer als OffSet:
    • Rechnungen, deren CreateDate nach Since liegt,
    • Rechnungen, deren UpdateDate nach Since liegt,
    • Rechnungspositionen (Invlines), deren UpdateDate nach Since liegt; Kandidat ist die zugehörige Rechnung.
  3. Die Kandidaten werden je Rechnung gruppiert. UpdateDate im Ergebnis ist der späteste der zutreffenden Zeitstempel.
  4. Ist PaymentType gesetzt, bleiben nur Rechnungen mit dieser Zahlungsart.
  5. Die Liste wird aufsteigend nach InvoiceKey sortiert und auf Rows Rechnungen begrenzt (0 = keine Begrenzung).
  6. Für jede verbleibende Rechnung liefert der Aufruf Schlüssel, Rechnungsnummer, Änderungsdatum, Shop (CustomerOf des Kunden) sowie Zahlungsartcode und -text, sortiert nach InvoiceKey.

Paging: den höchsten InvoiceKey der vorherigen Seite als OffSet mit demselben Since übergeben, um die nächste Seite abzurufen.

Hinweise

  • Alle Tabellen werden WITH (NOLOCK) gelesen; nicht festgeschriebene Änderungen können sichtbar sein.
  • Der Vergleich mit Since ist strikt (>); genau zum Zeitpunkt Since geänderte Datensätze werden nicht geliefert.
  • UpdateDate berücksichtigt nur Zeitstempel nach Since und ist damit die späteste Änderung im angefragten Zeitraum.
  • Die Begrenzung Rows (über SET ROWCOUNT) greift vor den Joins auf Customers und Payments. Rechnungen ohne passenden Kunden oder Zahlungsartcode fallen danach heraus, sodass eine Seite weniger als Rows Zeilen enthalten kann, obwohl weitere Daten existieren. Paging daher mit dem höchsten gelieferten InvoiceKey fortsetzen, bis keine Zeilen mehr kommen.
  • Nur die abschließende Abfrage ist in eine Fehlerbehandlung eingebettet; bei einem unerwarteten Fehler wird eine Statuszeile geliefert und die Prozedur gibt 3 zurück, sonst 0.
  • Temporäre Tabellen werden mit util.TempTableDrop aufgeräumt (Definition nicht beigefügt).

Parameter

Parameter Typ Standardwert Beschreibung
Since
datetime
dateTime
NULL

Es werden nur Rechnungen geliefert, die nach diesem Zeitpunkt angelegt oder geändert wurden (inklusive Positionen). NULL bedeutet Beginn des aktuellen Tages.

Beispiel: 2024-05-01T00:00:00

Rows
int 0

Maximale Anzahl Rechnungen pro Aufruf (Seitengröße). 0 liefert alle passenden Rechnungen.

Beispiel: 500

PaymentType
varchar(1)
string
NULL

Optionaler Zahlungsartcode (Invoices.Payment). Es werden nur Rechnungen mit dieser Zahlungsart geliefert. NULL oder leer bedeutet alle Zahlungsarten.

Beispiel: V

OffSet
int -1

Paging-Offset: es werden nur Rechnungen mit einem InvoiceKey größer als dieser Wert berücksichtigt. Den höchsten InvoiceKey der vorherigen Seite übergeben.

Beispiel: -1

Antwort

Result-Set 1 · Bei Erfolg

Eine Zeile je geänderter Rechnung, aufsteigend nach InvoiceKey sortiert.

Spalte Typ Beschreibung
InvoiceKey int

Interner Schlüssel der Rechnung.

InvoiceNr
Kann leer sein
string

Rechnungsnummer.

UpdateDate
Kann leer sein
datetime
dateTime

Spätester Anlage- oder Änderungszeitpunkt der Rechnung oder einer ihrer Positionen nach Since.

ShopID
Kann leer sein
string

Shop des Kunden (Customers.CustomerOf).

PaymentCode
Kann leer sein
string

Zahlungsartcode der Rechnung.

PaymentText
Kann leer sein
string

Bezeichnung der Zahlungsart aus Payments.

Result-Set 2 · Bei einem unerwarteten Fehler beim Lesen des Ergebnisses

Statuszeile mit der Fehlerbeschreibung; die Prozedur gibt 3 zurück.

Spalte Typ Beschreibung
Status varchar(5)
string

Immer Error.

Message
Kann leer sein
nvarchar(4000)
string

Fehlertext inklusive der SQL-Server-Fehlermeldung.

Fehlermeldungen

Status Meldung Ursache
Error Unexpected error while getting the values. ({ERROR_MESSAGE}) Beim Lesen der Ergebniszeilen oder beim Löschen der temporären Tabellen ist ein unerwarteter SQL-Fehler aufgetreten. Die ursprüngliche SQL-Server-Meldung ist enthalten; Daten prüfen und erneut versuchen.

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:pixiGetUpdatedInvoices>
      <!-- <Since>2024-05-01T00:00:00</Since> -->
      <!-- <Rows>500</Rows> -->
      <!-- <PaymentType>V</PaymentType> -->
      <!-- <OffSet>-1</OffSet> -->
    </ns1:pixiGetUpdatedInvoices>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Invoices · Lesen Invlines · Lesen Customers · Lesen Payments · Lesen
SQL-Objekt:
dbo.pipiGetUpdatedInvoices
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben