Postman-Collection
Customers Lesen

pixiEmillGetCustomers

Liefert Kunden mit E-Mail-Adresse und Namen, optional gefiltert nach Bestell- oder Versanddatum, Artikel, Zahlungs- und Versandstatus oder Shop, mit schlüsselbasiertem Paging.

Liefert eine Liste von Kunden (Schlüssel, E-Mail, Vorname, Nachname, Shop) für den Einsatz in E-Mail-Marketing-Werkzeugen. Die Prozedur erzeugt eine dynamische Abfrage auf Customers, verknüpft mit Addresses (Inner Join über die Adressreferenz des Kunden). Alle Filter sind optional und werden mit UND kombiniert:

  • orderdate: nur Kunden mit mindestens einer Auftragsposition, deren Bestelldatum auf denselben Kalendertag fällt (Jahr, Monat und Tag werden verglichen, die Uhrzeit wird ignoriert).
  • ShipDate: nur Kunden mit mindestens einer Auftragsposition, die an diesem Kalendertag versendet wurde.
  • EanUpc: nur Kunden, die einen Artikel mit dieser EAN/UPC bestellt haben.
  • ArticleNr: nur Kunden, die einen Artikel bestellt haben, dessen Lieferanten-Artikelnummer (ItemNrSuppl) übereinstimmt.
  • paid: 1 = Kunden mit mindestens einer Rechnung, deren bezahlter Betrag der Gesamtsumme entspricht; 0 = Kunden mit mindestens einer Rechnung, deren bezahlter Betrag von der Gesamtsumme abweicht.
  • Shipped: 1 = Kunden mit mindestens einer versendeten Auftragsposition; 0 = Kunden mit mindestens einer Auftragsposition ohne Versanddatum.
  • ShopID: nur Kunden dieses Shops (CustomerOf). Ein leerer String wird als kein Filter behandelt.

Das Ergebnis ist aufsteigend nach Kundenschlüssel sortiert und auf Top Zeilen begrenzt. Für Paging wird der höchste custkey der vorherigen Seite als resumeKey übergeben; dann werden nur Kunden mit größerem Schlüssel geliefert.

Hinweise

  • Alle Lesezugriffe verwenden NOLOCK, das Ergebnis kann daher nicht festgeschriebene Daten enthalten.
  • Die Zeilenbegrenzung erfolgt über SET ROWCOUNT; Top = 0 liefert alle passenden Zeilen.
  • Kunden ohne passenden Adressdatensatz werden wegen des Inner Join nicht geliefert.
  • Die Filter paid und Shipped prüfen auf mindestens eine passende Rechnung bzw. Auftragsposition, nicht auf alle. paid = 1 liefert daher auch Kunden, die zusätzlich unbezahlte Rechnungen haben.
  • Die Datumsfilter wenden DATEPART auf die Spalte an, Indizes auf Bestell- oder Versanddatum können dadurch nicht genutzt werden; bei großen Datenbanken können diese Filter langsam sein.
  • ArticleNr wird mit der Lieferanten-Artikelnummer (ItemNrSuppl) verglichen, nicht mit der internen Artikelnummer.
  • Die Anweisung wird an sp_executesql unter dem Parameternamen @statment statt des dokumentierten @stmt übergeben; der Aufruf verlässt sich auf die positionsbezogene Verarbeitung dieses Parameters.

Parameter

Parameter Typ Standardwert Beschreibung
orderdate
datetime
dateTime
NULL

Nur Kunden mit einer Auftragsposition, die an diesem Kalendertag bestellt wurde. Die Uhrzeit wird ignoriert.

Beispiel: 2024-03-15T00:00:00

ShipDate
datetime
dateTime
NULL

Nur Kunden mit einer Auftragsposition, die an diesem Kalendertag versendet wurde. Die Uhrzeit wird ignoriert.

Beispiel: 2024-03-18T00:00:00

EanUpc
varchar(13)
string
NULL

Nur Kunden, die einen Artikel mit dieser EAN/UPC bestellt haben.

Beispiel: 4006381333931

ArticleNr
varchar(50)
string
NULL

Nur Kunden, die einen Artikel mit dieser Lieferanten-Artikelnummer (ItemNrSuppl) bestellt haben.

Beispiel: BK-1002-BLK

paid
bit
boolean
NULL

Filter auf den Zahlungsstatus der Rechnungen. NULL = kein Filter.

Erlaubte Werte

  • 1 – Kunden mit mindestens einer Rechnung, deren bezahlter Betrag der Gesamtsumme entspricht.
  • 0 – Kunden mit mindestens einer Rechnung, deren bezahlter Betrag von der Gesamtsumme abweicht.

Beispiel: 0

Shipped
bit
boolean
NULL

Filter auf den Versandstatus der Auftragspositionen. NULL = kein Filter.

Erlaubte Werte

  • 1 – Kunden mit mindestens einer Auftragsposition mit Versanddatum.
  • 0 – Kunden mit mindestens einer Auftragsposition ohne Versanddatum.

Beispiel: 1

resumeKey
int NULL

Paging-Schlüssel: nur Kunden mit einem Kundenschlüssel größer als dieser Wert werden geliefert. Den letzten custkey der vorherigen Seite übergeben.

Beispiel: 10250

Top
int 100

Maximale Anzahl gelieferter Zeilen (über SET ROWCOUNT; 0 = keine Begrenzung).

Beispiel: 500

ShopID
varchar(3)
string
NULL

Nur Kunden dieses Shops (CustomerOf). Ein leerer String wird als NULL (kein Filter) behandelt.

Beispiel: SH1

Antwort

Result-Set 1 · Immer

Passende Kunden, aufsteigend nach Kundenschlüssel sortiert, begrenzt auf Top Zeilen.

Spalte Typ Beschreibung
custkey int

Interner Kundenschlüssel; der höchste Wert dient als resumeKey für die nächste Seite.

cemail
Kann leer sein
string

E-Mail-Adresse des Kunden.

firstname
Kann leer sein
string

Vorname aus der Kundenadresse.

lastname
Kann leer sein
string

Nachname aus der Kundenadresse.

ShopID
Kann leer sein
string

Shop, dem der Kunde zugeordnet ist (CustomerOf).

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:pixiEmillGetCustomers>
      <!-- <orderdate>2024-03-15T00:00:00</orderdate> -->
      <!-- <ShipDate>2024-03-18T00:00:00</ShipDate> -->
      <!-- <EanUpc>4006381333931</EanUpc> -->
      <!-- <ArticleNr>BK-1002-BLK</ArticleNr> -->
      <!-- <paid>0</paid> -->
      <!-- <Shipped>1</Shipped> -->
      <!-- <resumeKey>10250</resumeKey> -->
      <!-- <Top>500</Top> -->
      <!-- <ShopID>SH1</ShopID> -->
    </ns1:pixiEmillGetCustomers>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Customers · Lesen Addresses · Lesen Orderlines · Lesen Items · Lesen Invoices · Lesen
SQL-Objekt:
dbo.pipiEmillGetCustomers
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben