pixiCAGetCustomerEvents
Liefert alle Kundenkonto-Ereignisse (Buchungen, inklusive gelöschter) eines Kunden zusammen mit den Kontostatistiken wie Saldo und vorgeschlagener Erstattung.
Listet das Kundenkonto eines Kunden auf.
Kunde bestimmen
- Entweder
CustRef(interner Kundenschlüssel) übergeben oder ShopIDundCustNrExt(externe Kundennummer im Shop) gemeinsam übergeben. Die Prozedur ermittelt dannCustKeyausCustomersüberCustomerOf=ShopIDundCustomerNrExternal=CustNrExt.- Ist
CustRefleer oder 0 und fehltShopIDoderCustNrExt, wird ein Fehler ausgelöst. - Ist
CustRefangegeben, werdenShopIDundCustNrExtignoriert.
Ereignisse Alle Kontoereignisse des Kunden werden ohne Filter gesammelt (Übersetzungen in Sprache 1):
- aktive Buchungen aus
CustomerAccount(IsDeleted= 0), - gelöschte Buchungen aus
CustomerAccountLogmit HistorienvermerkDELETE(IsDeleted= 1).
Number enthält je nach Bezug des Ereignisses die Rechnungsnummer, den Bankzeilentext, die Kontonummer der Lastschrift oder die Referenz der manuellen Buchung. OpenTOMatch ist Amount abzüglich des ausgeglichenen Betrags.
Statistik Die Kontostatistik (Saldo, offene Aufträge, vorgeschlagene Erstattung, Ausgleichs-Kennzeichen, Kontowährung) wird pro Kunde berechnet und an jede Ereigniszeile angehängt.
Ergebnis
Eine Zeile pro Ereignis mit jeweils denselben Statistikspalten. Hat der Kunde keine Ereignisse, wird eine einzelne Zeile geliefert, in der nur die Statistikspalten gefüllt sind (Ereignisspalten einschließlich CustRef sind NULL).
Hinweise
- Nur lesend; alle permanenten Tabellen werden mit
NOLOCKgelesen, nicht festgeschriebene Daten können erscheinen. - Das abschließende
SELECThat keinORDER BY; die Hilfsprozedur liefert die Ereignisse aufsteigend nachEventDate, die Reihenfolge der zurückgegebenen Zeilen ist aber nicht garantiert. - Passen
ShopID/CustNrExtzu keinem Kunden, wird kein Kundenschlüssel gefunden; das Ergebnis hängt dann von der ProzedurPixi_CA_GetCustomerAccountSummary(nicht beigefügt) ab und ist in der Regel leer. - Die temporäre Statistiktabelle hat einen eindeutigen Index auf
CustRef. Liefert die Zusammenfassung mehr als eine Zeile pro Kunde (z. B. mehrere Währungen), schlägt das Einfügen mit einem Duplicate-Key-Fehler fehl. - Die Spalte
DoNotRefundist das Kennzeichen des einzelnen Ereignisses, nicht die Summe aus der Statistik. - Die Währungsumrechnung der Statistik hängt von der Einstellung
MultiCurrencyEnabledab;AccountCurrencyCodekann Auftrags- oder Basiswährung sein. - Die Spaltennamen
IsAcountMatchedundSuggestedRefoundsind genau so geschrieben.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
CustRef
|
int | NULL |
Interner Kundenschlüssel ( Beispiel: |
CustNrExt
|
varchar(60) string |
NULL |
Externe Kundennummer ( Beispiel: |
ShopID
|
varchar(3) string |
NULL |
Shop, zu dem der Kunde gehört ( Beispiel: |
Antwort
Result-Set 1 · Bei Erfolg (Parameter gültig)
Eine Zeile pro Kundenkonto-Ereignis mit der Kontostatistik des Kunden; eine reine Statistikzeile, falls keine Ereignisse vorhanden sind.
| Spalte | Typ | Beschreibung |
|---|---|---|
CustRef
Kann leer sein |
int |
Kundenschlüssel des Ereignisses; NULL, wenn der Kunde keine Ereignisse hat. |
EventDate
Kann leer sein |
datetime dateTime |
Datum des Kontoereignisses. |
EventID
Kann leer sein |
varchar(3) string |
Code der Ereignisart (siehe |
Number
Kann leer sein |
varchar(1024) string |
Belegnummer: Rechnungsnummer, Bankzeilentext, Kontonummer der Lastschrift oder Referenz der manuellen Buchung; bei gelöschten Ereignissen der Bankzeilentext. |
Reference
Kann leer sein |
varchar(1024) string |
Buchungsreferenz, ggf. mit vorangestelltem dritten Bankzeilentext. |
Amount
Kann leer sein |
money decimal |
Betrag des Ereignisses in Auftragswährung. |
OpenTOMatch
Kann leer sein |
money decimal |
Noch nicht ausgeglichener Betrag (Betrag minus ausgeglichener Betrag). |
DoNotRefund
Kann leer sein |
bit boolean |
Kennzeichen des Ereignisses: Betrag darf nicht erstattet werden. |
OrderCurrency
Kann leer sein |
varchar(3) string |
Währungscode des Ereignisses. |
IsAcountMatched
Kann leer sein |
bit boolean |
Kennzeichen, ob das Kundenkonto ausgeglichen ist (aus der Statistik). |
CustomerBalance
Kann leer sein |
money decimal |
Finanzieller Saldo des Kundenkontos. |
OpenOrders
Kann leer sein |
money decimal |
Wert der offenen Aufträge des Kunden. |
SuggestedRefound
Kann leer sein |
money decimal |
Vorgeschlagener Erstattungsbetrag. |
IsDeleted
Kann leer sein |
bit boolean |
1, wenn das Ereignis gelöscht wurde (aus |
AccountCurrencyCode
Kann leer sein |
varchar(3) string |
Währung der Statistikwerte; Auftrags- oder Basiswährung. |
Beispielantwort
<SqlRowSet1>
<row>
<CustRef>10452</CustRef>
<EventDate>2024-03-04T10:15:00</EventDate>
<EventID>INV</EventID>
<Number>RE-2024-00871</Number>
<Reference>Order 55120</Reference>
<Amount>-119.0000</Amount>
<OpenTOMatch>0.0000</OpenTOMatch>
<DoNotRefund>false</DoNotRefund>
<OrderCurrency>EUR</OrderCurrency>
<IsAcountMatched>true</IsAcountMatched>
<CustomerBalance>0.0000</CustomerBalance>
<OpenOrders>0.0000</OpenOrders>
<SuggestedRefound>0.0000</SuggestedRefound>
<IsDeleted>false</IsDeleted>
<AccountCurrencyCode>EUR</AccountCurrencyCode>
</row>
<row>
<CustRef>10452</CustRef>
<EventDate>2024-03-06T08:02:00</EventDate>
<EventID>BNK</EventID>
<Number>Payment 55120</Number>
<Reference>K-200381 Order 55120</Reference>
<Amount>119.0000</Amount>
<OpenTOMatch>0.0000</OpenTOMatch>
<DoNotRefund>false</DoNotRefund>
<OrderCurrency>EUR</OrderCurrency>
<IsAcountMatched>true</IsAcountMatched>
<CustomerBalance>0.0000</CustomerBalance>
<OpenOrders>0.0000</OpenOrders>
<SuggestedRefound>0.0000</SuggestedRefound>
<IsDeleted>false</IsDeleted>
<AccountCurrencyCode>EUR</AccountCurrencyCode>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| RAISERROR | Parameters ShopID and CustNrExt cannot be provided alone. Use both of them or CustRef parameter (additionally). | `CustRef` ist leer oder 0 und `ShopID` oder `CustNrExt` fehlt. `CustRef` oder `ShopID` und `CustNrExt` gemeinsam ü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:pixiCAGetCustomerEvents>
<!-- <CustRef>10452</CustRef> -->
<!-- <CustNrExt>K-200381</CustNrExt> -->
<!-- <ShopID>ABC</ShopID> -->
</ns1:pixiCAGetCustomerEvents>
</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:pixiCAGetCustomerEvents>
<!-- <CustRef>10452</CustRef> -->
<!-- <CustNrExt>K-200381</CustNrExt> -->
<!-- <ShopID>ABC</ShopID> -->
</ns1:pixiCAGetCustomerEvents>
</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 = [
// 'CustRef' => '10452',
// 'CustNrExt' => 'K-200381',
// 'ShopID' => 'ABC',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiCAGetCustomerEvents', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiCAGetCustomerEvents