pixiGetInvoicesForCustomer
Liefert die Rechnungen eines Kunden, identifiziert über Kundenschlüssel oder externe Kundennummer, optional gefiltert auf eine einzelne Rechnungsnummer.
Listet Rechnungen eines Kunden mit Zahlungs-, Bank- bzw. Karten-, Versand- und Auftragsinformationen auf.
Identifikation des Kunden
NULL-Werte werden zunächst durch 0 (bei CustKey) bzw. einen Leerstring ersetzt. Danach muss genau ein Merkmal gesetzt sein:
CustKey<> 0 undCustomerNrExternalleer: Die Rechnungen dieses Kundenschlüssels werden geliefert.CustKey= 0 undCustomerNrExternalgesetzt: Alle Kunden inCustomersmit dieserCustomerNrExternalwerden verwendet. Teilen sich mehrere Kunden die Nummer, werden die Rechnungen aller dieser Kunden geliefert.- Beide gesetzt oder beide leer: Es wird kein Kunde ausgewählt und die Ergebnismenge ist leer.
Rechnungsfilter
- Ist
InvoiceNrleer oderNULL, werden alle Rechnungen des Kunden geliefert. - Andernfalls wird nur die Rechnung mit genau dieser
InvoiceNrgeliefert.
Gelieferte Daten je Rechnung
- Rechnungsdaten aus
Invoices: Nummer, Datum, IDs der Rechnungs- und Lieferadresse, Gesamtbetrag, Zahlungscode, Zahlungsdatum, bezahlter Betrag, Tracking-ID, Versanddatum und Mahnstufe. PaymentTextstammt ausPayments. Wird der Code dort nicht gefunden, wird der Zahlungscode selbst geliefert.Paidist1, wenn der bezahlte Betrag (ein fehlender Betrag zählt als 0) dem Gesamtbetrag entspricht, sonst0.- Karten- und Bankdaten (
Cc…,Account,Blz,BankName,AccountName) stammen aus der Rechnungsadresse inAddresses. OrderNrundOrderNrExternalsind die höchsten Werte unter den Auftragspositionen, die mit den Rechnungspositionen verknüpft sind. Sie sindNULL, wenn die Rechnung keine verknüpften Auftragspositionen hat.OrderCurrencyCodeist der Währungscode auspixi.Currency.
Der Code legt keine Sortierung fest.
Hinweise
- Alle Tabellen werden
WITH (NOLOCK)gelesen, daher können nicht festgeschriebene Daten im Ergebnis erscheinen. pixi.Currencywird per Inner Join verknüpft. Rechnungen, derenCurrencyIdkeine passende Währung hat, werden nicht geliefert.- Werden
CustKeyundCustomerNrExternalgleichzeitig übergeben, liefert der Aufruf keine Zeilen und keinen Fehler. Nur eines der beiden Merkmale übergeben. - Ist der Rechnungsbetrag
NULL, trifft der Vergleich fürPaidnicht zu und die Spalte liefert1. - Das Ergebnis enthält sensible Zahlungsdaten: Kartennummer, Karteninhaber, Ablaufdatum der Karte und Bankverbindung.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
CustKey
|
int | 0 |
Interner Kundenschlüssel. Entweder dieses Merkmal oder Beispiel: |
CustomerNrExternal
|
varchar(60) string |
– |
Externe Kundennummer, z. B. die Kundennummer des Shops. Wird nur verwendet, wenn Beispiel: |
InvoiceNr
|
varchar(20) string |
NULL |
Optionale Rechnungsnummer. Ist sie gesetzt, wird nur diese Rechnung geliefert. Leer oder Beispiel: |
Antwort
Result-Set 1 · Immer; leer, wenn kein Kunde ermittelt werden konnte oder keine Rechnung passt.
Eine Zeile je Rechnung des bzw. der ausgewählten Kunden.
| Spalte | Typ | Beschreibung |
|---|---|---|
InvoiceNr
Kann leer sein |
string |
Rechnungsnummer. |
InvoiceDate
Kann leer sein |
dateTime |
Rechnungsdatum ( |
PaymentAddressId
Kann leer sein |
int |
Verweis auf die Rechnungsadresse ( |
ShipmentAddressId
Kann leer sein |
int |
Verweis auf die Lieferadresse ( |
total
Kann leer sein |
decimal |
Rechnungsbetrag gesamt. |
PaymentCode
Kann leer sein |
string |
Code der Zahlungsart ( |
PaymentText
Kann leer sein |
string |
Text der Zahlungsart aus |
PaymentDate
Kann leer sein |
dateTime |
Zahlungsdatum ( |
Paid
|
bit boolean |
1, wenn der bezahlte Betrag ( |
TotalToPay
Kann leer sein |
decimal |
Zu zahlender Betrag; derselbe Wert wie |
PaidSum
Kann leer sein |
decimal |
Bisher bezahlter Betrag ( |
CcCardType
Kann leer sein |
string |
Kreditkartentyp aus der Rechnungsadresse. |
CcCardNr
Kann leer sein |
string |
Kreditkartennummer aus der Rechnungsadresse. |
CcCardName
Kann leer sein |
string |
Name des Karteninhabers. |
CcCardExp
Kann leer sein |
string |
Ablaufdatum der Karte. |
Account
Kann leer sein |
string |
Kontonummer aus der Rechnungsadresse. |
Blz
Kann leer sein |
string |
Bankleitzahl. |
BankName
Kann leer sein |
string |
Name der Bank. |
AccountName
Kann leer sein |
string |
Name des Kontoinhabers. |
TrackingID
Kann leer sein |
string |
Sendungsverfolgungsnummer. |
ShipDate
Kann leer sein |
dateTime |
Datum des Ausscannens (Versanddatum). |
ReminderLevel
Kann leer sein |
int |
Mahnstufe der Rechnung. |
OrderNr
Kann leer sein |
int |
Höchste Auftragsnummer unter den Auftragspositionen, die mit den Rechnungspositionen verknüpft sind. |
OrderNrExternal
Kann leer sein |
string |
Höchste externe Auftragsnummer unter den verknüpften Auftragspositionen. |
OrderCurrencyCode
Kann leer sein |
string |
Währungscode ( |
Beispielantwort
<SqlRowSet1>
<row>
<InvoiceNr>RE2024001234</InvoiceNr>
<InvoiceDate>2024-03-12T10:15:00</InvoiceDate>
<PaymentAddressId>88231</PaymentAddressId>
<ShipmentAddressId>88232</ShipmentAddressId>
<total>129.90</total>
<PaymentCode>VK</PaymentCode>
<PaymentText>Vorkasse</PaymentText>
<PaymentDate>2024-03-14T00:00:00</PaymentDate>
<Paid>true</Paid>
<TotalToPay>129.90</TotalToPay>
<PaidSum>129.90</PaidSum>
<TrackingID>00340434161234567890</TrackingID>
<ShipDate>2024-03-15T08:42:00</ShipDate>
<ReminderLevel>0</ReminderLevel>
<OrderNr>502311</OrderNr>
<OrderNrExternal>SHOP-77812</OrderNrExternal>
<OrderCurrencyCode>EUR</OrderCurrencyCode>
</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:pixiGetInvoicesForCustomer>
<!-- <CustKey>4711</CustKey> -->
<!-- <CustomerNrExternal>SHOP-100234</CustomerNrExternal> -->
<!-- <InvoiceNr>RE2024001234</InvoiceNr> -->
</ns1:pixiGetInvoicesForCustomer>
</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:pixiGetInvoicesForCustomer>
<!-- <CustKey>4711</CustKey> -->
<!-- <CustomerNrExternal>SHOP-100234</CustomerNrExternal> -->
<!-- <InvoiceNr>RE2024001234</InvoiceNr> -->
</ns1:pixiGetInvoicesForCustomer>
</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 = [
// 'CustKey' => '4711',
// 'CustomerNrExternal' => 'SHOP-100234',
// 'InvoiceNr' => 'RE2024001234',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetInvoicesForCustomer', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetInvoicesForCustomer