pixiCustomerSearch
Sucht Kunden anhand externer Kundennummer, E-Mail, Name, Adresse, Ort, PLZ, Land, Shop, Auftrags- oder Rechnungsnummer.
Wrapper um die interne Prozedur Pixi_CustomerSearch. Der Aufruf normalisiert zuerst die Suchparameter und gibt sie dann weiter. Das Ergebnis liefert die interne Prozedur.
Normalisierung:
- Leere Zeichenketten und
NULLwerden durch den Platzhalter%ersetzt. BeiNameundAddresslautet der Ersatz%%. CustNrExternal: Wird ein Wert ungleich%übergeben, wird ein%angehängt. Damit entsteht eine Präfixsuche, z. B. wirdK100zuK100%.OrderNr:0(undNULL) gilt als kein Filter (NULL).
Zuordnung der Parameter zu Pixi_CustomerSearch:
CustNrExternalwird als@CustIDübergeben,@CustomerNrExternalalsNULL.RowCount,eMail,Name,Address,City,Zip,Country,ShopID,OrderNr,OrderNrExternalundInvoiceNrwerden nach der Normalisierung durchgereicht.- Die übrigen Filter der internen Prozedur sind fest auf
NULLgesetzt:CardNr,BoxNr,ItemName,ItemEAN,StatusundShipCode.SerialNrist fest auf%gesetzt.
RowCount (Standard 1500) wird an die interne Prozedur übergeben und begrenzt vermutlich die Anzahl der gelieferten Zeilen.
Hinweise
- Die Definition von
Pixi_CustomerSearchliegt nicht vor. Spalten des Ergebnisses, genaue Suchlogik und Sortierung lassen sich aus diesem Code nicht ableiten. Die%-Standardwerte deuten aufLIKE-Mustervergleiche hin, dies ist jedoch nicht bestätigt. - Da der Code
OrderNrmit einer leeren Zeichenkette vergleicht, wird der Wert0alsNULL(kein Filter) behandelt. - Der Kopfkommentar ("Template for getting items…") stammt aus einer Vorlage und beschreibt diesen Aufruf nicht.
- Der Aufruf selbst schreibt keine Daten. Ob die interne Prozedur Nebeneffekte hat, ist unbekannt.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
RowCount
|
integer int |
1500 |
Maximale Anzahl Zeilen. Wird an Beispiel: |
CustNrExternal
|
varchar(255) string |
% |
Externe Kundennummer. Ein Beispiel: |
eMail
|
varchar(255) string |
% |
E-Mail-Filter (Platzhaltermuster). Leerer Wert bedeutet kein Filter. Beispiel: |
Name
|
varchar(255) string |
%% |
Filter auf den Kundennamen (Platzhaltermuster). Leerer Wert wird durch Beispiel: |
Address
|
varchar(255) string |
%% |
Filter auf Adresse/Straße (Platzhaltermuster). Leerer Wert wird durch Beispiel: |
City
|
varchar(255) string |
% |
Filter auf den Ort (Platzhaltermuster). Beispiel: |
Zip
|
varchar(255) string |
% |
Filter auf die PLZ (Platzhaltermuster). Beispiel: |
Country
|
varchar(255) string |
% |
Filter auf das Land (Platzhaltermuster). Beispiel: |
ShopID
|
varchar(3) string |
– |
Shop-Kürzel. Wird unverändert übergeben; Standard ist eine leere Zeichenkette. Beispiel: |
OrderNr
|
integer int |
NULL |
Pixi-Auftragsnummer. Beispiel: |
OrderNrExternal
|
varchar(255) string |
% |
Filter auf die externe (Shop-)Auftragsnummer (Platzhaltermuster). Beispiel: |
InvoiceNr
|
varchar(255) string |
% |
Filter auf die Rechnungsnummer (Platzhaltermuster). Beispiel: |
Antwort
Result-Set 1 · Wird von der internen Prozedur Pixi_CustomerSearch bestimmt (Definition liegt nicht vor).
Suchergebnis der Kunden aus Pixi_CustomerSearch. Die Spalten lassen sich aus dem vorliegenden Code nicht ableiten.
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:pixiCustomerSearch>
<!-- <RowCount>100</RowCount> -->
<!-- <CustNrExternal>K10023</CustNrExternal> -->
<!-- <eMail>%@example.com</eMail> -->
<!-- <Name>%Müller%</Name> -->
<!-- <Address>%Hauptstraße%</Address> -->
<!-- <City>München</City> -->
<!-- <Zip>80%</Zip> -->
<!-- <Country>DE</Country> -->
<!-- <ShopID>ABC</ShopID> -->
<!-- <OrderNr>123456</OrderNr> -->
<!-- <OrderNrExternal>SHOP-2024-0815</OrderNrExternal> -->
<!-- <InvoiceNr>RE2024001234</InvoiceNr> -->
</ns1:pixiCustomerSearch>
</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:pixiCustomerSearch>
<!-- <RowCount>100</RowCount> -->
<!-- <CustNrExternal>K10023</CustNrExternal> -->
<!-- <eMail>%@example.com</eMail> -->
<!-- <Name>%Müller%</Name> -->
<!-- <Address>%Hauptstraße%</Address> -->
<!-- <City>München</City> -->
<!-- <Zip>80%</Zip> -->
<!-- <Country>DE</Country> -->
<!-- <ShopID>ABC</ShopID> -->
<!-- <OrderNr>123456</OrderNr> -->
<!-- <OrderNrExternal>SHOP-2024-0815</OrderNrExternal> -->
<!-- <InvoiceNr>RE2024001234</InvoiceNr> -->
</ns1:pixiCustomerSearch>
</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 = [
// 'RowCount' => '100',
// 'CustNrExternal' => 'K10023',
// 'eMail' => '%@example.com',
// 'Name' => '%Müller%',
// 'Address' => '%Hauptstraße%',
// 'City' => 'München',
// 'Zip' => '80%',
// 'Country' => 'DE',
// 'ShopID' => 'ABC',
// 'OrderNr' => '123456',
// 'OrderNrExternal' => 'SHOP-2024-0815',
// 'InvoiceNr' => 'RE2024001234',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiCustomerSearch', $soapArguments);
- SQL-Objekt:
- dbo.pipiCustomerSearch