pixiReadCustomers
Liefert Kundenstammsätze aus der Tabelle `Customers`, entweder einen Kunden per Schlüssel oder eine nach Anlage-/Änderungsdatum gefilterte Seite.
Liest Kundenstammdaten aus Customers. Alle Zweige liefern dieselbe Spaltenliste. Die Parameter wählen genau einen Zweig, geprüft in dieser Reihenfolge:
- Anlage- oder Änderungsdatum: Ist
CreateAndUpdateDateFromoderCreateAndUpdateDateTogesetzt, werden Kunden mitCustKey > @CustKeygeliefert, derenCreateDateoderUpdateDate>= Fromist und derenCreateDateoderUpdateDate< Toist. Eine Grenze mit Wert NULL wird ignoriert. - Anlagedatum: Andernfalls, wenn
CreateDateFromoderCreateDateTogesetzt ist, werden Kunden mitCustKey > @CustKeysowieCreateDate >= FromundCreateDate < Togeliefert. - Änderungsdatum: Andernfalls, wenn
UpdateDateFromoderUpdateDateTogesetzt ist, werden Kunden mitCustKey > @CustKeysowieUpdateDate >= FromundUpdateDate < Togeliefert. - Schlüsselbereich: Andernfalls, wenn
RowCountübergeben wird (beliebiger Wert, auch0), werden alle Kunden mitCustKey > @CustKeygeliefert. - Einzelner Kunde: Andernfalls wird der Kunde mit
CustKey = @CustKeygeliefert.
Wird CustKey nicht übergeben, wird es auf 0 gesetzt. In den Datums- und Schlüsselbereichszweigen bedeutet das "von Anfang an". Im Zweig für einen einzelnen Kunden wird dann Schlüssel 0 gesucht, was normalerweise keine Zeile liefert.
Die unteren Datumsgrenzen sind inklusiv, die oberen exklusiv. Die Zweige 1–4 sind aufsteigend nach CustKey sortiert. Ist RowCount ungleich 0, wird die Zeilenzahl per SET ROWCOUNT begrenzt.
Paging: Den letzten CustKey der vorherigen Seite als CustKey zusammen mit RowCount übergeben.
Hinweise
- In den Datumszweigen ist
CustKeyeine exklusive Untergrenze und keine exakte Suche. Ein Kundenschlüssel zusammen mit einem Datumsfilter liefert die Kunden nach diesem Schlüssel. - Es wird nur eine Datumsfiltergruppe verwendet.
CreateAndUpdateDate*hat Vorrang vorCreateDate*, dieses vorUpdateDate*. Werden mehrere Gruppen übergeben, werden die übrigen ignoriert. - Im kombinierten Filter ist auch die Obergrenze eine ODER-Bedingung. Ein Kunde, der vor
CreateAndUpdateDateToangelegt wurde, passt auch dann, wenn er danach geändert wurde, und umgekehrt. RowCount = 0wählt den Schlüsselbereichszweig, begrenzt die Zeilen aber nicht. Es werden also alle Kunden nachCustKeygeliefert.- Die Tabelle wird
WITH (NOLOCK)gelesen, daher können nicht festgeschriebene Daten geliefert werden. - Das Ergebnis enthält sensible Daten wie
Password, Kreditkartenfelder (CardNr,CardExp) und Bankdaten (Account,BLZ). Diese sind entsprechend zu behandeln. - Der letzte Zweig "keine Daten" (
WHERE 1 = 0) ist nicht erreichbar, daCustKeynach dem Ersetzen des Standardwerts nie NULL ist. - Die Datentypen der Spalten sind in der Prozedur nicht sichtbar. Sie stammen aus der Tabelle
Customers.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
CustKey
|
int | NULL |
Kundenschlüssel. Exakte Suche im Zweig für einen einzelnen Kunden. Exklusive Untergrenze ( Beispiel: |
CreateDateFrom
|
datetime dateTime |
NULL |
Inklusive Untergrenze für Beispiel: |
CreateDateTo
|
datetime dateTime |
NULL |
Exklusive Obergrenze für Beispiel: |
UpdateDateFrom
|
datetime dateTime |
NULL |
Inklusive Untergrenze für Beispiel: |
UpdateDateTo
|
datetime dateTime |
NULL |
Exklusive Obergrenze für Beispiel: |
CreateAndUpdateDateFrom
|
datetime dateTime |
NULL |
Inklusive Untergrenze. Ein Kunde passt, wenn Beispiel: |
CreateAndUpdateDateTo
|
datetime dateTime |
NULL |
Exklusive Obergrenze. Ein Kunde passt, wenn Beispiel: |
RowCount
|
int | NULL |
Maximale Zeilenzahl (per Beispiel: |
Antwort
Result-Set 1 · Immer. Die Zeilen hängen vom gewählten Zweig ab; die Einzelsuche liefert höchstens eine Zeile.
Kundenstammsätze aus Customers. In den Bereichszweigen aufsteigend nach CustKey sortiert.
| Spalte | Typ | Beschreibung |
|---|---|---|
CustKey
|
int |
Interner Kundenschlüssel. |
AddrRef
Kann leer sein |
string |
Verweis auf den Adressdatensatz. |
UserName
Kann leer sein |
string |
Login-Benutzername. |
Password
Kann leer sein |
string |
Login-Passwort. |
BtxNr
Kann leer sein |
string |
BTX-Nummer (Altfeld). |
DLocked
Kann leer sein |
string |
Sperrkennzeichen |
ShipRef
Kann leer sein |
string |
Versandreferenz. |
CardType
Kann leer sein |
string |
Kreditkartentyp. |
CardName
Kann leer sein |
string |
Name des Kreditkarteninhabers. |
CardNr
Kann leer sein |
string |
Kreditkartennummer. |
CardExp
Kann leer sein |
string |
Ablaufdatum der Kreditkarte. |
Account
Kann leer sein |
string |
Kontonummer. |
BLZ
Kann leer sein |
string |
Bankleitzahl. |
BankName
Kann leer sein |
string |
Name der Bank. |
AccName
Kann leer sein |
string |
Kontoinhaber. |
WaitDays
Kann leer sein |
int |
Wartetage. |
MinOrderQty
Kann leer sein |
decimal |
Mindestbestellmenge. |
LSType
Kann leer sein |
string |
Lieferscheintyp. |
Discountable
Kann leer sein |
string |
Kennzeichen: rabattfähig. |
NoInvoice
Kann leer sein |
string |
Kennzeichen: keine Rechnung. |
NextShipImmed
Kann leer sein |
string |
Kennzeichen: nächsten Auftrag sofort versenden. |
SLocked
Kann leer sein |
string |
Sperrkennzeichen |
eMailInfo
Kann leer sein |
string |
Kennzeichen für E-Mail-Information. |
Payment
Kann leer sein |
string |
Zahlungsart. |
UseShipAddr
Kann leer sein |
string |
Kennzeichen: abweichende Lieferadresse verwenden. |
SAnrede
Kann leer sein |
string |
Lieferadresse: Anrede. |
SName
Kann leer sein |
string |
Lieferadresse: Name. |
SName2
Kann leer sein |
string |
Lieferadresse: Namenszeile 2. |
SCareOf
Kann leer sein |
string |
Lieferadresse: c/o. |
SAddress
Kann leer sein |
string |
Lieferadresse: Straßenzeile. |
SCity
Kann leer sein |
string |
Lieferadresse: Ort. |
SState
Kann leer sein |
string |
Lieferadresse: Bundesland. |
SZIP
Kann leer sein |
string |
Lieferadresse: PLZ. |
SCountry
Kann leer sein |
string |
Lieferadresse: Land. |
SZIPMB
Kann leer sein |
string |
Lieferadresse: PLZ des Postfachs. |
SMailbox
Kann leer sein |
string |
Lieferadresse: Postfach. |
WaitHour
Kann leer sein |
int |
Wartezeit, Stundenanteil. |
WaitMinute
Kann leer sein |
int |
Wartezeit, Minutenanteil. |
CustomerOf
Kann leer sein |
string |
Shop bzw. Mandant, zu dem der Kunde gehört. |
CreateDate
Kann leer sein |
dateTime |
Anlagezeitpunkt. |
CreateEmp
Kann leer sein |
string |
Mitarbeiter, der den Datensatz angelegt hat. |
UpdateDate
Kann leer sein |
dateTime |
Zeitpunkt der letzten Änderung. |
UpdateEmp
Kann leer sein |
string |
Mitarbeiter, der den Datensatz zuletzt geändert hat. |
Discount
Kann leer sein |
decimal |
Rabatt. |
CustomerNrExternal
Kann leer sein |
string |
Externe Kundennummer, z. B. aus dem Shop. |
BulkShip
Kann leer sein |
string |
Kennzeichen für Sammelversand. |
IssueNr
Kann leer sein |
string |
Ausgabenummer der Karte. |
CeMail
Kann leer sein |
string |
E-Mail-Adresse des Kunden. |
CAddrNr
Kann leer sein |
string |
Adressnummer des Kunden. |
CLangCode
Kann leer sein |
string |
Sprachcode des Kunden. |
CNote
Kann leer sein |
string |
Kundennotiz. |
CHisNote
Kann leer sein |
string |
Historiennotiz des Kunden. |
SFirstName
Kann leer sein |
string |
Lieferadresse: Vorname. |
SLastName
Kann leer sein |
string |
Lieferadresse: Nachname. |
SStreet
Kann leer sein |
string |
Lieferadresse: Straße. |
SHouseNr
Kann leer sein |
string |
Lieferadresse: Hausnummer. |
TaxOnInvoice
Kann leer sein |
string |
Kennzeichen: Steuer auf Rechnung ausweisen. |
NoShipCosts
Kann leer sein |
string |
Kennzeichen: keine Versandkosten. |
ZZSkontoProzent
Kann leer sein |
decimal |
Zahlungsziel: Skonto in Prozent. |
ZZSkonto
Kann leer sein |
int |
Zahlungsziel: Skontotage. |
ZZNetto
Kann leer sein |
int |
Zahlungsziel: Nettotage. |
CFax
Kann leer sein |
string |
Faxnummer des Kunden. |
CPhone
Kann leer sein |
string |
Telefonnummer des Kunden. |
VATID
Kann leer sein |
string |
Umsatzsteuer-Identifikationsnummer. |
Rabat
Kann leer sein |
decimal |
Rabatt (Rabat). |
POSCustomer
Kann leer sein |
string |
Kennzeichen: POS-Kunde. |
ReminderAction
Kann leer sein |
string |
Mahnaktion. |
DaysForFirstReminder
Kann leer sein |
int |
Tage bis zur ersten Mahnung. |
DaysForNextReminder
Kann leer sein |
int |
Tage bis zur nächsten Mahnung. |
ReminderCost
Kann leer sein |
decimal |
Mahngebühr. |
ReminderDueDays
Kann leer sein |
int |
Fälligkeitstage einer Mahnung. |
InvoiceDueDays
Kann leer sein |
int |
Fälligkeitstage einer Rechnung. |
Person_Id
Kann leer sein |
string |
Verweis auf den Personendatensatz. |
Beispielantwort
<SqlRowSet1>
<row>
<CustKey>10235</CustKey>
<UserName>max.mustermann</UserName>
<SName>Max Mustermann</SName>
<SStreet>Hauptstraße</SStreet>
<SHouseNr>12</SHouseNr>
<SZIP>80331</SZIP>
<SCity>München</SCity>
<SCountry>DE</SCountry>
<CeMail>max@example.com</CeMail>
<CustomerNrExternal>SHOP-4711</CustomerNrExternal>
<CreateDate>2024-03-01T10:15:00</CreateDate>
<UpdateDate>2024-03-01T12:00:00</UpdateDate>
</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:pixiReadCustomers>
<!-- <CustKey>10234</CustKey> -->
<!-- <CreateDateFrom>2024-01-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-02-01T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-03-01T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-03-02T00:00:00</UpdateDateTo> -->
<!-- <CreateAndUpdateDateFrom>2024-03-01T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-03-02T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadCustomers>
</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:pixiReadCustomers>
<!-- <CustKey>10234</CustKey> -->
<!-- <CreateDateFrom>2024-01-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-02-01T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-03-01T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-03-02T00:00:00</UpdateDateTo> -->
<!-- <CreateAndUpdateDateFrom>2024-03-01T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-03-02T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadCustomers>
</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' => '10234',
// 'CreateDateFrom' => '2024-01-01T00:00:00',
// 'CreateDateTo' => '2024-02-01T00:00:00',
// 'UpdateDateFrom' => '2024-03-01T00:00:00',
// 'UpdateDateTo' => '2024-03-02T00:00:00',
// 'CreateAndUpdateDateFrom' => '2024-03-01T00:00:00',
// 'CreateAndUpdateDateTo' => '2024-03-02T00:00:00',
// 'RowCount' => '500',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiReadCustomers', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReadCustomers