pixiGetOrderTotals
Liefert die Auftragspositionen eines Auftrags zusammen mit Auftragssummen, MwSt.- und Versandkostenbeträgen, wie sie die Rechnung ergeben würde.
Sucht einen Auftrag und liefert eine Zeile pro Auftragsposition; die Summen aus dem Auftragskopf werden in jeder Zeile wiederholt.
Auswahl des Auftrags
- Ist
OrderNrgesetzt (nicht0/NULL), werden die Positionen dieser Pixi-Auftragsnummer verwendet.OrderNrExternalwird dann ignoriert. - Andernfalls werden bei nicht leerem
OrderNrExternaldie Positionen mit dieser externen Auftragsnummer verwendet. - Ist keines von beiden angegeben, wird nichts gefunden.
CustKeyschränkt das Ergebnis optional auf Positionen dieses Kunden ein.0oderNULLdeaktiviert den Filter.
Verknüpfungen
Die Positionen benötigen einen passenden Artikel, eine Rechnungsadresse, eine Lieferadresse, einen Kunden, den Shop des Kunden, die Zahlungsart der Rechnungsadresse, einen Auftragskopf und die Auftragswährung. Positionen, bei denen etwas davon fehlt, werden nicht geliefert.
Statusauswertung
- Werden keine Positionen gefunden, wird eine Zeile mit
ErrorMessage=No results foundgeliefert. - Haben alle gefundenen Positionen den Status
STO(storniert), wird eine Zeile mitErrorMessage=Only orderlines with status STO foundgeliefert. - Andernfalls werden alle Positionen mit einem Status ungleich
STOgeliefert, mit Positionswerten (EAN, Lieferantenartikelnummer, Bezeichnung, Menge, Preis, Nettowerte, Notiz) und Kopfwerten (Auftragssumme, Rabatt, MwSt. gesamt/voll/ermäßigt inklusive MwSt. der Versandkosten, Nettosumme der Positionen, Versandkosten brutto und netto, Steuersätze, Währungscode).
Es wird keine Sortierung angewendet.
Hinweise
- Alle Tabellen werden mit
NOLOCKgelesen, daher können nicht festgeschriebene Daten geliefert werden. - Kopfwerte (
OrderTotal,Discount,VATTotal,ShipCostusw.) wiederholen sich in jeder Positionszeile; sie dürfen nicht über die Zeilen summiert werden. VATTotal,VATHighundVATLowenthalten die MwSt. auf Versandkosten,NettoTotalist dagegen nur die Nettosumme der Positionen ohne Versandkosten.- Mehrere Beträge werden auf 2 Nachkommastellen gerundet und nach
floatkonvertiert. - Positionen mit Status
NULLwerden weder als storniert noch als nicht storniert gezählt und nicht geliefert. - Die erste Ergebnismenge hat je nach Ergebnis eine andere Struktur: entweder die Positionsspalten oder eine einzelne Spalte
ErrorMessage. Vor dem Auslesen sollte aufErrorMessagegeprüft werden. - Nur stornierte Positionen werden ausgeblendet; der Status selbst wird nicht geliefert.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
OrderNr
|
int | 0 |
Pixi-Auftragsnummer. Hat Vorrang vor Beispiel: |
OrderNrExternal
|
varchar(50) string |
– |
Externe (Shop-)Auftragsnummer. Wird nur verwendet, wenn Beispiel: |
CustKey
|
int | NULL |
Optionaler Kundenschlüssel; schränkt das Ergebnis auf Positionen dieses Kunden ein. Beispiel: |
Antwort
Result-Set 1 · Wenn mindestens eine nicht stornierte Auftragsposition gefunden wird
Eine Zeile pro Auftragsposition mit Status ungleich STO, einschließlich der Summen aus dem Auftragskopf.
| Spalte | Typ | Beschreibung |
|---|---|---|
OrderNr
|
int |
Pixi-Auftragsnummer. |
EANUPC
Kann leer sein |
string |
EAN/UPC des Artikels. |
ItemNrSuppl
Kann leer sein |
string |
Lieferantenartikelnummer des Artikels. |
ArtName
Kann leer sein |
string |
Artikelbezeichnung laut Auftragsposition. |
Qty
Kann leer sein |
int |
Bestellte Menge. |
Price
Kann leer sein |
decimal |
Einzelpreis der Position. |
Subtotal
Kann leer sein |
decimal |
Positionsbetrag ( |
OrderNrExternal
Kann leer sein |
string |
Externe Auftragsnummer. |
ItemNote
Kann leer sein |
string |
Sondernotiz der Position. |
ItemPriceNoVat
Kann leer sein |
float decimal |
Netto-Einzelpreis, auf 2 Nachkommastellen gerundet. |
ItemAmountNoVat
Kann leer sein |
float decimal |
Netto-Positionsbetrag, auf 2 Nachkommastellen gerundet. |
OrderTotal
Kann leer sein |
decimal |
Auftragssumme aus dem Auftragskopf. |
Discount
Kann leer sein |
decimal |
Rabatt aus dem Auftragskopf. |
VATTotal
Kann leer sein |
float decimal |
MwSt. gesamt (voller und ermäßigter Satz, inklusive MwSt. auf Versandkosten), auf 2 Nachkommastellen gerundet. |
VATHigh
Kann leer sein |
float decimal |
MwSt. zum vollen Satz inklusive Versandkosten-MwSt., auf 2 Nachkommastellen gerundet. |
VATLow
Kann leer sein |
float decimal |
MwSt. zum ermäßigten Satz inklusive Versandkosten-MwSt., auf 2 Nachkommastellen gerundet. |
NettoTotal
Kann leer sein |
decimal |
Nettosumme der Auftragspositionen (ohne Versandkosten), auf 2 Nachkommastellen gerundet. |
ShipCost
Kann leer sein |
decimal |
Versandkosten (brutto) aus dem Auftragskopf. |
ShipCostNoVAT
Kann leer sein |
float decimal |
Netto-Versandkosten, auf 2 Nachkommastellen gerundet. |
TaxRateHigh
Kann leer sein |
decimal |
Voller MwSt.-Satz des Auftrags. |
TaxRateLow
Kann leer sein |
decimal |
Ermäßigter MwSt.-Satz des Auftrags. |
OrderCurrencyCode
Kann leer sein |
string |
Währungscode ( |
Result-Set 2 · Wenn keine Positionen gefunden werden oder alle gefundenen Positionen den Status STO haben
Einzelne Statuszeile mit Fehlermeldung (wird anstelle der Positionsergebnismenge geliefert).
| Spalte | Typ | Beschreibung |
|---|---|---|
ErrorMessage
|
varchar(200) string |
Grund, warum keine Positionen geliefert werden. |
Beispielantwort
<SqlRowSet1>
<row>
<OrderNr>123456</OrderNr>
<EANUPC>4006381333931</EANUPC>
<ItemNrSuppl>STB-200</ItemNrSuppl>
<ArtName>Stabilo Boss Textmarker gelb</ArtName>
<Qty>2</Qty>
<Price>11.9</Price>
<Subtotal>23.8</Subtotal>
<OrderNrExternal>SHOP-100045</OrderNrExternal>
<ItemNote/>
<ItemPriceNoVat>10</ItemPriceNoVat>
<ItemAmountNoVat>20</ItemAmountNoVat>
<OrderTotal>28.75</OrderTotal>
<Discount>0</Discount>
<VATTotal>4.59</VATTotal>
<VATHigh>4.59</VATHigh>
<VATLow>0</VATLow>
<NettoTotal>20</NettoTotal>
<ShipCost>4.95</ShipCost>
<ShipCostNoVAT>4.16</ShipCostNoVAT>
<TaxRateHigh>19</TaxRateHigh>
<TaxRateLow>7</TaxRateLow>
<OrderCurrencyCode>EUR</OrderCurrencyCode>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| ERROR | No results found | Keine Auftragsposition passt zu `OrderNr`/`OrderNrExternal` (und `CustKey`), keine der Nummern wurde angegeben oder benötigte verknüpfte Daten (Artikel, Adressen, Kunde, Shop, Zahlungsart, Kopf, Währung) fehlen. Auftragsnummer und Kundenschlüssel prüfen. |
| ERROR | Only orderlines with status STO found | Der Auftrag existiert, aber alle Positionen sind storniert (Status `STO`). |
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:pixiGetOrderTotals>
<!-- <OrderNr>123456</OrderNr> -->
<!-- <OrderNrExternal>SHOP-100045</OrderNrExternal> -->
<!-- <CustKey>4711</CustKey> -->
</ns1:pixiGetOrderTotals>
</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:pixiGetOrderTotals>
<!-- <OrderNr>123456</OrderNr> -->
<!-- <OrderNrExternal>SHOP-100045</OrderNrExternal> -->
<!-- <CustKey>4711</CustKey> -->
</ns1:pixiGetOrderTotals>
</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 = [
// 'OrderNr' => '123456',
// 'OrderNrExternal' => 'SHOP-100045',
// 'CustKey' => '4711',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetOrderTotals', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetOrderTotals