pixiGetComments
Liefert die Kommentare eines Kunden (aus der Kundenhistorie) und/oder eines Auftrags, neueste zuerst, mit Offset-basiertem Paging.
Sammelt Kommentare zu einem Kunden, einem Auftrag oder beiden und liefert sie in einer gemeinsamen Liste.
- Sind
CustomerNrExternalundOrderNrbeideNULLoder leer, wird eine einzelne Fehlerzeile (ReturnCode=ERROR) geliefert; sonst passiert nichts. - Ist
CustomerNrExternalnichtNULL, werden alle Einträge der Kundenhistorie mit einem Notiztext ungleichNULLfür den Kunden mit dieser externen Kundennummer als TypCustomerCommentgesammelt. Sie werden nach Änderungsdatum der Historie absteigend (neueste zuerst) nummeriert. - Ist
OrderNrnichtNULL, werden alle Auftragskommentare dieser Auftragsnummer als TypOrderCommentangehängt (innerhalb dieser Gruppe ohne definierte Reihenfolge). - Jede gesammelte Zeile erhält eine laufende Nummer
Offsetab 0 in der Reihenfolge der Sammlung (zuerst Kundenkommentare, dann Auftragskommentare). - Geliefert werden höchstens
RowCountZeilen, derenOffsetgrößer oder gleich@Offsetist, sortiert nachDateabsteigend.
Beide Filter sind kombinierbar; die Kommentare werden dann in einer Ergebnismenge zusammengeführt.
Hinweise
- Die Nummerierung
Offsetfolgt der Sammelreihenfolge (Kundenkommentare nach Datum absteigend, danach Auftragskommentare in undefinierter Reihenfolge), die Ausgabe ist jedoch nachDateabsteigend sortiert. Bei Angabe beider Filter entspricht das Paging über@Offsetdaher nicht zwingend der angezeigten Datumsreihenfolge. SET ROWCOUNTbegrenzt die Ausgabe;RowCount= 0 liefert alle Zeilen.- Die Leer-Prüfung lehnt den Aufruf nur ab, wenn beide Werte leer sind. Ein Leerstring (nicht
NULL) in einem Parameter führt den jeweiligen Zweig trotzdem aus, z. B. suchtCustomerNrExternal= '' nach Kunden mit leerer externer Nummer. Offsetist einsmallint; mehr als 32.767 gesammelte Kommentare würden einen Überlauffehler verursachen.- Es werden keine
NOLOCK-Hinweise verwendet.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
CustomerNrExternal
|
varchar(255) string |
NULL |
Externe Kundennummer. Wenn gesetzt, werden die Historienkommentare des Kunden geliefert. Beispiel: |
OrderNr
|
varchar(50) string |
NULL |
Auftragsnummer. Wenn gesetzt, werden die Kommentare dieses Auftrags geliefert. Beispiel: |
Offset
|
int | 0 |
Nullbasierte laufende Nummer, ab der Zeilen geliefert werden (Paging). Beispiel: |
RowCount
|
int | 300 |
Maximale Anzahl gelieferter Zeilen; 0 bedeutet keine Begrenzung. Beispiel: |
Antwort
Result-Set 1 · Wenn CustomerNrExternal und OrderNr beide NULL oder leer sind
Fehlerzeile.
| Spalte | Typ | Beschreibung |
|---|---|---|
ReturnCode
|
varchar(5) string |
Immer |
ErrorMsg
|
varchar(60) string |
Fehlertext. |
Result-Set 2 · Wenn mindestens CustomerNrExternal oder OrderNr angegeben ist
Kommentare des Kunden und/oder Auftrags, nach Datum absteigend sortiert.
| Spalte | Typ | Beschreibung |
|---|---|---|
Offset
|
smallint int |
Nullbasierte laufende Nummer in Sammelreihenfolge, für das Paging. |
TypeOfComment
|
varchar(20) string |
|
Date
Kann leer sein |
datetime dateTime |
Änderungsdatum des Kundenhistorie-Eintrags bzw. Erstellungsdatum des Auftragskommentars. |
Employee
Kann leer sein |
varchar(50) string |
Mitarbeiter, der den Historieneintrag geändert bzw. den Auftragskommentar angelegt hat. |
Comment
Kann leer sein |
varchar(max) string |
Kommentartext. |
Beispielantwort
<SqlRowSet1>
<row>
<Offset>0</Offset>
<TypeOfComment>CustomerComment</TypeOfComment>
<Date>2024-03-12T10:15:00</Date>
<Employee>MM</Employee>
<Comment>Kunde wünscht Lieferung nur vormittags.</Comment>
</row>
<row>
<Offset>1</Offset>
<TypeOfComment>CustomerComment</TypeOfComment>
<Date>2023-11-02T14:40:00</Date>
<Employee>AS</Employee>
<Comment>Rechnungsadresse geändert.</Comment>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| ERROR | Please specify at least the CustomerNrExternal or a OrderNr | Weder `CustomerNrExternal` noch `OrderNr` wurde übergeben (oder beide sind leer). Mindestens einen der beiden Werte ü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:pixiGetComments>
<!-- <CustomerNrExternal>K-100234</CustomerNrExternal> -->
<!-- <OrderNr>4711</OrderNr> -->
<!-- <Offset>0</Offset> -->
<!-- <RowCount>50</RowCount> -->
</ns1:pixiGetComments>
</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:pixiGetComments>
<!-- <CustomerNrExternal>K-100234</CustomerNrExternal> -->
<!-- <OrderNr>4711</OrderNr> -->
<!-- <Offset>0</Offset> -->
<!-- <RowCount>50</RowCount> -->
</ns1:pixiGetComments>
</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 = [
// 'CustomerNrExternal' => 'K-100234',
// 'OrderNr' => '4711',
// 'Offset' => '0',
// 'RowCount' => '50',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetComments', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetComments