pixiGetReturns
Liefert eine seitenweise Liste von Retouren, die in einem Zeitraum geändert wurden, optional gefiltert nach Status und Rechnungsnummer, inklusive zugehöriger Gutschrift.
Liest Retouren aus der Tabelle pixi.Return und liefert eine Zeile pro Retoure.
Filter
StatusId: nur Retouren mit dieser Status-ID.NULLliefert alle Status.InvoiceNr: Die Rechnungsnummer wird zunächst in den Rechnungsschlüssel aufgelöst. Es werden nur Retouren zu dieser Rechnung geliefert.ChangeDateFrom/ChangeDateTo:RecordModifiedOnder Retoure muss zwischen beiden Werten liegen, die Grenzen eingeschlossen.- Ist
ChangeDateFromNULL, beginnt der Zeitraum um 00:00 Uhr am selben Tag vor einem Monat. - Ist
ChangeDateToNULL, endet der Zeitraum am Ende des heutigen Tages (23:59:59.997).
- Ist
Gutschrift
Die in der Retoure hinterlegte Gutschrift (CreditInvoiceId) wird optional verknüpft. Ihre Nummer und ihr Gesamtbetrag werden als CreditNumber und CreditedAmount geliefert. Beide sind leer, wenn die Retoure keine Gutschrift hat.
Paging und Sortierung
- Alle passenden Retouren werden aufsteigend nach
Iddurchnummeriert. - Geliefert werden Zeilen mit einer Zeilennummer größer als
Offset, höchstensRowCountZeilen. - Das Ergebnis ist nach
Idsortiert.
Zusätzliche Daten Jede Zeile enthält außerdem:
- den Statuscode,
- Rechnungsnummer und Kundenreferenz der Ursprungsrechnung,
- die Namen der Benutzer, die die Retoure angelegt und zuletzt geändert haben.
Hinweise
- Unbekannte Rechnungsnummer: Passt
InvoiceNrzu keiner Rechnung, wird der Rechnungsfilter stillschweigend ignoriert. Der Aufruf liefert dann alle Retouren, die den übrigen Filtern entsprechen. Dasselbe gilt für einen Leerstring, zu dem keine Rechnung existiert. - Doppelte Rechnungsnummern: Haben mehrere Rechnungen dieselbe Nummer, wird nur eine davon verwendet; welche, ist nicht festgelegt.
- Lücken beim Paging: Die Zeilennummern werden vergeben, bevor Status-, Rechnungs- und Benutzerdaten verknüpft werden. Diese Verknüpfungen sind Inner Joins. Eine Retoure, deren Status, Ursprungsrechnung, anlegender oder ändernder Benutzer nicht gefunden wird, fehlt in der Ausgabe. Eine Seite kann daher weniger als
RowCountZeilen enthalten, obwohl spätere Seiten noch Daten haben. Beim PagingOffsetjeweils umRowCounterhöhen und nicht um die Anzahl der erhaltenen Zeilen. - Zeitgenauigkeit:
RecordModifiedOnwird alssmalldatetime(Minutengenauigkeit) geführt. - Dirty Reads: Alle Tabellen werden mit
NOLOCKgelesen, daher können nicht festgeschriebene Daten erscheinen.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
StatusId
|
int | NULL |
Status-ID der Retouren ( Beispiel: |
ChangeDateFrom
|
datetime dateTime |
NULL |
Beginn des Änderungszeitraums, einschließlich. Bei Beispiel: |
ChangeDateTo
|
datetime dateTime |
NULL |
Ende des Änderungszeitraums, einschließlich. Bei Beispiel: |
InvoiceNr
|
varchar(20) string |
NULL |
Nummer der Ursprungsrechnung. Es werden nur Retouren zu dieser Rechnung geliefert. Existiert keine Rechnung mit dieser Nummer, wird der Filter ignoriert. Beispiel: |
Offset
|
int | 0 |
Anzahl der passenden Retouren, die übersprungen werden, gezählt in aufsteigender Reihenfolge von Beispiel: |
RowCount
|
int | 1000 |
Maximale Anzahl gelieferter Zeilen. Beispiel: |
Antwort
Result-Set 1 · Immer (kann leer sein)
Eine Zeile pro Retoure, sortiert nach Id.
| Spalte | Typ | Beschreibung |
|---|---|---|
Id
|
int |
ID der Retoure. |
StatusId
|
int |
Status-ID der Retoure. |
StatusCode
Kann leer sein |
string |
Code des Status aus |
InvoiceId
|
int |
Schlüssel der Ursprungsrechnung. |
InvoiceNumber
Kann leer sein |
varchar(20) string |
Nummer der Ursprungsrechnung. |
CustomerId
Kann leer sein |
string |
Kundenreferenz ( |
RecordCreatedOn
Kann leer sein |
smalldatetime dateTime |
Anlagedatum der Retoure. |
RecordCreatedByUserName
Kann leer sein |
string |
Name des Benutzers, der die Retoure angelegt hat. |
RecordModifiedOn
|
smalldatetime dateTime |
Datum der letzten Änderung der Retoure. |
RecordModifiedByUserName
Kann leer sein |
string |
Name des Benutzers, der die Retoure zuletzt geändert hat. |
CreditNumber
Kann leer sein |
varchar(20) string |
Nummer der mit der Retoure verknüpften Gutschrift. Leer, wenn keine vorhanden ist. |
CreditedAmount
Kann leer sein |
money decimal |
Gesamtbetrag der Gutschrift. Leer, wenn keine vorhanden ist. |
Beispielantwort
<SqlRowSet1>
<row>
<Id>1532</Id>
<StatusId>2</StatusId>
<StatusCode>RETURN_RECEIVED</StatusCode>
<InvoiceId>884512</InvoiceId>
<InvoiceNumber>RE2024001234</InvoiceNumber>
<CustomerId>100245</CustomerId>
<RecordCreatedOn>2024-05-10T09:15:00</RecordCreatedOn>
<RecordCreatedByUserName>lager01</RecordCreatedByUserName>
<RecordModifiedOn>2024-05-12T14:30:00</RecordModifiedOn>
<RecordModifiedByUserName>service02</RecordModifiedByUserName>
<CreditNumber>GS2024000311</CreditNumber>
<CreditedAmount>49.9000</CreditedAmount>
</row>
</SqlRowSet1>
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:pixiGetReturns>
<!-- <StatusId>1</StatusId> -->
<!-- <ChangeDateFrom>2024-05-01T00:00:00</ChangeDateFrom> -->
<!-- <ChangeDateTo>2024-05-31T23:59:59</ChangeDateTo> -->
<!-- <InvoiceNr>RE2024001234</InvoiceNr> -->
<!-- <Offset>0</Offset> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiGetReturns>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?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:pixiGetReturns>
<!-- <StatusId>1</StatusId> -->
<!-- <ChangeDateFrom>2024-05-01T00:00:00</ChangeDateFrom> -->
<!-- <ChangeDateTo>2024-05-31T23:59:59</ChangeDateTo> -->
<!-- <InvoiceNr>RE2024001234</InvoiceNr> -->
<!-- <Offset>0</Offset> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiGetReturns>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
// 'StatusId' => '1',
// 'ChangeDateFrom' => '2024-05-01T00:00:00',
// 'ChangeDateTo' => '2024-05-31T23:59:59',
// 'InvoiceNr' => 'RE2024001234',
// 'Offset' => '0',
// 'RowCount' => '500',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetReturns', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetReturns