pixiGetReminders
Liefert unbezahlte Rechnungen einer Zahlungsart, die für die angegebene Mahnstufe fällig sind, inklusive Adress- und Shopdaten.
Listet offene Rechnungen auf, die für die nächste Zahlungserinnerung bzw. Mahnung in Frage kommen. Der Aufruf delegiert an die interne Prozedur pixi_GetReminders.
Eine Rechnung wird geliefert, wenn alle folgenden Bedingungen erfüllt sind:
Invoices.Payedist NULL (nicht bezahlt).Invoices.Paymententspricht@PaymentType.Invoices.totalist größer als 0.- Zwischen
Invoices.ScanOutDateund dem aktuellen Serverdatum liegen mehr Tage als der Schwellenwert. - Die aktuelle Mahnstufe der Rechnung entspricht der Stufe vor
@ReminderLevel:- Stufe
1:ReminderLevelist NULL oder 0, - Stufe
2:ReminderLevel= 1, - Stufe
3:ReminderLevel= 2, - Stufe größer als 3:
ReminderLevel=@ReminderLevel- 1.
- Stufe
- Die über
Invoices.AddrRefreferenzierte Adresse gehört zum Shop@ShopID, oder@ShopIDist NULL (alle Shops).
Der Tages-Schwellenwert wird so ermittelt:
- Stufen 1 bis 3:
@ReminderDays, falls angegeben, sonst die EinstellungReminderLevel1_Days(sofern nicht 0), sonst 15 (Stufe 1), 30 (Stufe 2) bzw. 45 (Stufe 3). - Stufen über 3:
@ReminderDays, falls angegeben, sonst 45. Die Einstellung wird nicht verwendet.
Jede Zeile enthält Rechnungsdaten, die Rechnungsadresse sowie Shopname und Kunden-E-Mail des Shops. Eine Sortierung ist nicht definiert.
Hinweise
- Nur lesend: Der Aufruf erhöht die Mahnstufe der gelieferten Rechnungen nicht. Die Mahnstufe muss auf anderem Weg aktualisiert werden, sonst werden dieselben Rechnungen erneut geliefert.
- Fallstrick: Auch die Stufen 2 und 3 lesen die Einstellung
ReminderLevel1_Days(keine stufenspezifische Einstellung). Ist diese gesetzt, ersetzt sie die Standardwerte 30 und 45 dieser Stufen, sodass ohne@ReminderDaysalle drei Stufen denselben Schwellenwert verwenden. - Die Einstellung wird über die Funktion
fpixi_GetSettinggelesen, deren Definition nicht vorliegt. - Ist
@ReminderLevelNULL oder kleiner als 1, wird keine Ergebnismenge zurückgegeben. - Das Alter wird ab
ScanOutDate(Ausscan-/Versanddatum) gemessen, nicht abInvDate. Rechnungen ohneScanOutDatewerden nie geliefert. - Rechnungen ohne passende Adresse oder Shop werden wegen Inner Joins ausgeschlossen.
@ShopIDhat keinen Standardwert und muss übergeben werden; NULL liefert alle Shops.- Alle Tabellen werden mit
NOLOCKgelesen, nicht festgeschriebene Daten können erscheinen.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ReminderLevel
Pflicht
|
int | – |
Vorzubereitende Mahnstufe. Wählt Rechnungen, deren aktuelle Mahnstufe eine Stufe darunter liegt. Erlaubte Werte
Beispiel: |
PaymentType
Pflicht
|
char(1) string |
– |
Zahlungsart-Kürzel; nur Rechnungen mit Beispiel: |
ShopID
Pflicht
|
char(3) string |
– |
Shop-ID der Rechnungsadresse. NULL liefert Rechnungen aller Shops. Beispiel: |
ReminderDays
|
int | NULL |
Mindestanzahl Tage seit Beispiel: |
Antwort
Result-Set 1 · Wenn @ReminderLevel >= 1 (kann leer sein).
Unbezahlte Rechnungen, die für die angeforderte Mahnstufe fällig sind, mit Rechnungsadresse und Shopdaten.
| Spalte | Typ | Beschreibung |
|---|---|---|
InvoiceNr
|
int |
Rechnungsnummer. |
InvDate
Kann leer sein |
dateTime |
Rechnungsdatum. |
total
Kann leer sein |
decimal |
Rechnungsbetrag (immer größer als 0). |
Payment
Kann leer sein |
string |
Zahlungsart-Kürzel der Rechnung. |
ShipmentTrackingID
Kann leer sein |
string |
Sendungsverfolgungsnummer der Rechnung. |
Name
Kann leer sein |
string |
Name der Rechnungsadresse. |
Name2
Kann leer sein |
string |
Zweite Namenszeile. |
CareOf
Kann leer sein |
string |
c/o-Zeile. |
Street
Kann leer sein |
string |
Straße. |
HouseNr
Kann leer sein |
string |
Hausnummer. |
City
Kann leer sein |
string |
Ort. |
State
Kann leer sein |
string |
Bundesland bzw. Region. |
ZIP
Kann leer sein |
string |
Postleitzahl. |
Country
Kann leer sein |
string |
Land. |
Phone
Kann leer sein |
string |
Telefonnummer. |
eMail
Kann leer sein |
string |
E-Mail-Adresse der Rechnungsadresse. |
ShopName
Kann leer sein |
string |
Name des Shops, zu dem die Adresse gehört. |
CusEmail
Kann leer sein |
string |
Kundenservice-E-Mail-Adresse des Shops. |
Beispielantwort
<SqlRowSet1>
<row>
<InvoiceNr>100234</InvoiceNr>
<InvDate>2024-03-01T10:15:00</InvDate>
<total>89.90</total>
<Payment>R</Payment>
<ShipmentTrackingID>00340434161094042557</ShipmentTrackingID>
<Name>Max Mustermann</Name>
<Name2/>
<CareOf/>
<Street>Hauptstraße</Street>
<HouseNr>12</HouseNr>
<City>München</City>
<State>BY</State>
<ZIP>80331</ZIP>
<Country>DE</Country>
<Phone>+49 89 123456</Phone>
<eMail>max@example.com</eMail>
<ShopName>Example Shop</ShopName>
<CusEmail>service@example-shop.de</CusEmail>
</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:pixiGetReminders>
<ReminderLevel>1</ReminderLevel>
<PaymentType>R</PaymentType>
<ShopID>SHP</ShopID>
<!-- <ReminderDays>14</ReminderDays> -->
</ns1:pixiGetReminders>
</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:pixiGetReminders>
<ReminderLevel>1</ReminderLevel>
<PaymentType>R</PaymentType>
<ShopID>SHP</ShopID>
<!-- <ReminderDays>14</ReminderDays> -->
</ns1:pixiGetReminders>
</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 = [
'ReminderLevel' => '1',
'PaymentType' => 'R',
'ShopID' => 'SHP',
// 'ReminderDays' => '14',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetReminders', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetReminders