Postman-Collection
Customers Lesen

pixiCustomerKeyByEmail

Liefert den Kundenschlüssel (`CustKey`) des Kunden eines Shops, dessen primäre oder sekundäre E-Mail-Adresse der angegebenen Adresse entspricht.

Sucht einen Kunden anhand der E-Mail-Adresse innerhalb eines Shops und liefert dessen internen Schlüssel als einzelnen Integer-Wert.

  • Ein Kunde passt, wenn @eMail entweder dem Feld eMail oder dem Feld eMail2 entspricht und der Kunde zum Shop @ShopId gehört (CustomerOf).
  • Es können nur Kunden zurückgegeben werden, die mindestens einen Adressdatensatz besitzen (Addresses.AdrCustRef = CustKey), da die Suche einen Inner Join auf die Adressen verwendet.
  • Mit @AllowAmbiguous = 0 (Standard) wird nur dann ein Schlüssel geliefert, wenn genau ein Kunde im Shop diese E-Mail-Adresse hat. Teilen sich mehrere Kunden die Adresse, ist das Ergebnis NULL.
  • Mit @AllowAmbiguous = 1 entfällt die Eindeutigkeitsprüfung, und der Schlüssel eines der passenden Kunden wird geliefert.
  • Passt kein Kunde, ist das Ergebnis NULL.

Hinweise

  • Alle Lesezugriffe verwenden NOLOCK, es können also nicht festgeschriebene Daten gelesen werden.
  • Bei @AllowAmbiguous = 1 und mehreren Treffern erfolgt die Auswahl per TOP 1 ohne ORDER BY; welcher Kunde geliefert wird, ist nicht deterministisch.
  • Die Eindeutigkeitszählung berücksichtigt nur die Tabelle Customers, nicht den Join auf die Adressen. Ein einzelner passender Kunde ohne Adresse ergibt daher NULL.
  • NULL wird sowohl für „nicht gefunden“ als auch für „mehrdeutig“ geliefert; beide Fälle sind am Ergebnis allein nicht unterscheidbar. Ein erneuter Aufruf mit AllowAmbiguous = 1 zeigt, ob überhaupt Treffer existieren.
  • Ob der Vergleich Groß-/Kleinschreibung beachtet, hängt von der Datenbank-Collation ab; die E-Mail-Adresse wird weder getrimmt noch normalisiert.

Parameter

Parameter Typ Standardwert Beschreibung
eMail
Pflicht
varchar(60)
string
–

Gesuchte E-Mail-Adresse; wird mit den Feldern eMail und eMail2 des Kunden verglichen.

Beispiel: max.mustermann@example.com

ShopId
Pflicht
char(3)
string
–

Shop-ID, zu der der Kunde gehören muss (CustomerOf).

Beispiel: SHP

AllowAmbiguous
bit
boolean
0

Steuert, ob ein Schlüssel geliefert wird, wenn sich mehrere Kunden des Shops die E-Mail-Adresse teilen.

Erlaubte Werte

  • 0 – Schlüssel nur liefern, wenn genau ein Kunde im Shop passt; sonst `NULL`.
  • 1 – Schlüssel eines beliebigen passenden Kunden liefern, auch wenn mehrere passen.

Beispiel: 0

Antwort

Result-Set 1 · Immer (einzelner Skalarwert; NULL, wenn kein eindeutiger Treffer gefunden wird)

Rückgabewert der Skalarfunktion: der Kundenschlüssel.

Spalte Typ Beschreibung
Result
Kann leer sein
int

CustKey des passenden Kunden oder NULL, wenn kein Kunde passt oder die Adresse (bei AllowAmbiguous = 0) im Shop nicht eindeutig ist.

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:pixiCustomerKeyByEmail>
      <eMail>max.mustermann@example.com</eMail>
      <ShopId>SHP</ShopId>
      <!-- <AllowAmbiguous>0</AllowAmbiguous> -->
    </ns1:pixiCustomerKeyByEmail>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

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