pixiReadAddresses
Liefert Adressdatensätze aus der Tabelle Addresses, entweder eine einzelne Adresse per Schlüssel oder eine nach Anlage- und/oder Änderungsdatum gefilterte Liste mit schlüsselbasiertem Paging.
Liest Adressen (Kunden- und sonstige Adressdatensätze) aus der Tabelle Addresses. Alle Zweige liefern dieselben 66 Spalten.
Vorbereitung
- Ist
RowCountauf einen Wert ungleich 0 gesetzt, wird die Anzahl der gelieferten Zeilen auf diesen Wert begrenzt (SET ROWCOUNT). - Wird
AddrKeynicht übergeben, gilt der Wert0.
Filtermodus – die erste zutreffende Regel gilt:
CreateAndUpdateDateFromoderCreateAndUpdateDateTogesetzt: Liefert Adressen mitAddrKey>AddrKey, bei denen (CreateDate>= Von oderUpdateDate>= Von) und (CreateDate< Bis oderUpdateDate< Bis) gilt. Jede Grenze ist optional.CreateDateFromoderCreateDateTogesetzt: Liefert Adressen mitAddrKey>AddrKeyundCreateDateim Bereich[Von, Bis).UpdateDateFromoderUpdateDateTogesetzt: Liefert Adressen mitAddrKey>AddrKeyundUpdateDateim Bereich[Von, Bis).RowCountübergeben (beliebiger Wert, auch0): Liefert alle Adressen mitAddrKey>AddrKey.- Sonst: Liefert die einzelne Adresse, deren
AddrKeydem übergebenen Wert entspricht.
In den Modi 1–4 wird nach AddrKey aufsteigend sortiert, und AddrKey wirkt als exklusive Untergrenze. Damit ist Paging möglich: Den zuletzt erhaltenen AddrKey beim nächsten Aufruf zusammen mit RowCount als AddrKey übergeben.
Die unteren Datumsgrenzen sind inklusiv, die oberen exklusiv.
Hinweise
- Die Tabelle wird
WITH (NOLOCK)gelesen. Nicht festgeschriebene Änderungen können geliefert werden, und bei gleichzeitigen Änderungen können Zeilen fehlen oder doppelt erscheinen. - Die Datumsfiltergruppen werden nicht kombiniert: Es gilt nur die Gruppe mit der höchsten Priorität (kombiniertes Datum > Anlagedatum > Änderungsdatum), die übrigen werden ignoriert.
- Im kombinierten Modus werden Von- und Bis-Bedingung unabhängig geprüft. Eine Adresse, die vor der Bis-Grenze angelegt und nach der Von-Grenze geändert wurde, wird beispielsweise geliefert, auch wenn keines der Daten im Zeitfenster liegt. Zeilen mit
UpdateDateNULL können nur überCreateDatepassen. - Wird
AddrKeyzusammen mit einem Datumsfilter oderRowCountübergeben, ist er kein exakter Treffer, sondern eine exklusive Untergrenze. RowCount = 0führt in Modus 4 ohne Zeilenbegrenzung und liefert daher alle Adressen oberhalb vonAddrKey.- Ein Aufruf ohne Parameter sucht die Adresse mit
AddrKey = 0und liefert in der Regel keine Zeile. - Das Ergebnis enthält sensible Zahlungsdaten wie Kartennummer, Kartenprüfnummer (
CCCVC), IBAN und Bankverbindung. Zugriff und Protokollierung sollten entsprechend eingeschränkt werden. - Die Spaltentypen von
Addressessind im Code nicht ersichtlich. Die Bedeutungen der Spalten in dieser Dokumentation sind aus den Spaltennamen abgeleitet.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
AddrKey
|
int | NULL |
Adressschlüssel. Ohne Datumsfilter und 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. Trifft zu, wenn Beispiel: |
CreateAndUpdateDateTo
|
datetime dateTime |
NULL |
Exklusive Obergrenze. Trifft zu, wenn Beispiel: |
RowCount
|
int | NULL |
Maximale Anzahl gelieferter Zeilen. 0 oder NULL bedeutet keine Begrenzung. Wird der Parameter (auch mit 0) ohne Datumsfilter übergeben, werden alle Adressen mit Schlüssel größer als Beispiel: |
Antwort
Result-Set 1 · Immer; ggf. leer. Inhalt hängt vom durch die Parameter gewählten Filtermodus ab.
Adressdatensätze aus Addresses. In den Listenmodi werden sie nach AddrKey aufsteigend sortiert.
| Spalte | Typ | Beschreibung |
|---|---|---|
AddrKey
|
int |
Interner Primärschlüssel der Adresse. |
AddrNr
Kann leer sein |
string |
Adress- bzw. Kundennummer. |
AddrType
Kann leer sein |
string |
Adresstyp. |
CustomerNrExternal
Kann leer sein |
string |
Externe Kundennummer, z. B. aus dem Shop. |
AddrShopID
Kann leer sein |
string |
Shop, dem die Adresse zugeordnet ist. |
SearchKey
Kann leer sein |
string |
Suchbegriff (Matchcode). |
Anrede
Kann leer sein |
string |
Anrede. |
Name
Kann leer sein |
string |
Name bzw. Firmenname. |
Name2
Kann leer sein |
string |
Zusätzliche Namenszeile. |
FirstName
Kann leer sein |
string |
Vorname. |
LastName
Kann leer sein |
string |
Nachname. |
CareOf
Kann leer sein |
string |
c/o-Zeile. |
Address
Kann leer sein |
string |
Adresszeile (Straße und Hausnummer). |
Street
Kann leer sein |
string |
Straße. |
HouseNr
Kann leer sein |
string |
Hausnummer. |
City
Kann leer sein |
string |
Ort. |
State
Kann leer sein |
string |
Bundesland bzw. Region. |
ZIP
Kann leer sein |
string |
Postleitzahl. |
Country
Kann leer sein |
string |
Land. |
ZIPMB
Kann leer sein |
string |
Postleitzahl des Postfachs. |
Mailbox
Kann leer sein |
string |
Postfach. |
Contact
Kann leer sein |
string |
Ansprechpartner. |
CAnrede
Kann leer sein |
string |
Anrede des Ansprechpartners. |
Ansprache
Kann leer sein |
string |
Briefanrede. |
Phone
Kann leer sein |
string |
Telefonnummer. |
Phone2
Kann leer sein |
string |
Zweite Telefonnummer. |
Fax
Kann leer sein |
string |
Faxnummer. |
Fax2
Kann leer sein |
string |
Zweite Faxnummer. |
eMail
Kann leer sein |
string |
E-Mail-Adresse. |
eMail2
Kann leer sein |
string |
Zweite E-Mail-Adresse. |
UsStId
Kann leer sein |
string |
Umsatzsteuer-Identifikationsnummer. |
CompanyType
Kann leer sein |
string |
Firmentyp. |
CompanySince
Kann leer sein |
string |
Firma besteht seit. |
BirthDate
Kann leer sein |
dateTime |
Geburtsdatum. |
Note
Kann leer sein |
string |
Notiz. |
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. |
active
Kann leer sein |
string |
Aktiv-Kennzeichen. |
ACardType
Kann leer sein |
string |
Kreditkartentyp. |
ACardName
Kann leer sein |
string |
Name des Karteninhabers. |
ACardNr
Kann leer sein |
string |
Kreditkartennummer. |
ACardExp
Kann leer sein |
string |
Ablaufdatum der Karte. |
AAccount
Kann leer sein |
string |
Kontonummer. |
ABLZ
Kann leer sein |
string |
Bankleitzahl. |
ABankName
Kann leer sein |
string |
Name der Bank. |
AAccName
Kann leer sein |
string |
Kontoinhaber. |
APayment
Kann leer sein |
string |
Standard-Zahlungsart. |
AIssueNr
Kann leer sein |
string |
Ausgabenummer der Karte. |
AdrCustRef
Kann leer sein |
string |
Kundenreferenz. |
rowguid
Kann leer sein |
string |
Zeilen-GUID des Datensatzes. |
ASlocked
Kann leer sein |
string |
Sperrkennzeichen der Adresse. |
AWaitDays
Kann leer sein |
int |
Wartetage. |
AShipImmed
Kann leer sein |
string |
Kennzeichen für sofortigen Versand. |
AGosF1
Kann leer sein |
string |
Zusatzfeld 1; Bedeutung im Code nicht ersichtlich. |
AGosF2
Kann leer sein |
string |
Zusatzfeld 2; Bedeutung im Code nicht ersichtlich. |
AHisNote
Kann leer sein |
string |
Historiennotiz. |
AReplFlag
Kann leer sein |
string |
Replikationskennzeichen. |
CCCVC
Kann leer sein |
string |
Kartenprüfnummer. |
AddrNoChargeVAT
Kann leer sein |
string |
Kennzeichen, dass für diese Adresse keine Mehrwertsteuer berechnet wird. |
BIC
Kann leer sein |
string |
BIC der Bank. |
IBAN
Kann leer sein |
string |
IBAN. |
PersonContact_Id
Kann leer sein |
int |
Verweis auf einen Personenkontakt-Datensatz. |
Billing_Id
Kann leer sein |
int |
Verweis auf einen Abrechnungsdatensatz. |
Beispielantwort
<SqlRowSet1>
<row>
<AddrKey>10251</AddrKey>
<AddrNr>K10251</AddrNr>
<AddrType>C</AddrType>
<CustomerNrExternal>SHOP-4711</CustomerNrExternal>
<AddrShopID>SHOP1</AddrShopID>
<Anrede>Herr</Anrede>
<Name>Max Mustermann</Name>
<FirstName>Max</FirstName>
<LastName>Mustermann</LastName>
<Street>Hauptstraße</Street>
<HouseNr>12</HouseNr>
<City>Berlin</City>
<ZIP>10115</ZIP>
<Country>DE</Country>
<eMail>max@example.com</eMail>
<CreateDate>2024-03-01T09:15:00</CreateDate>
<CreateEmp>API</CreateEmp>
<UpdateDate>2024-03-01T10:02:00</UpdateDate>
<UpdateEmp>API</UpdateEmp>
<active>1</active>
</row>
<row>
<AddrKey>10252</AddrKey>
<AddrNr>K10252</AddrNr>
<AddrType>C</AddrType>
<AddrShopID>SHOP1</AddrShopID>
<Anrede>Frau</Anrede>
<Name>Erika Musterfrau</Name>
<FirstName>Erika</FirstName>
<LastName>Musterfrau</LastName>
<Street>Ringweg</Street>
<HouseNr>3a</HouseNr>
<City>Hamburg</City>
<ZIP>20095</ZIP>
<Country>DE</Country>
<eMail>erika@example.com</eMail>
<CreateDate>2024-03-01T11:40:00</CreateDate>
<CreateEmp>API</CreateEmp>
<active>1</active>
</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:pixiReadAddresses>
<!-- <AddrKey>10250</AddrKey> -->
<!-- <CreateDateFrom>2024-01-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-02-01T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-01-01T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-02-01T00:00:00</UpdateDateTo> -->
<!-- <CreateAndUpdateDateFrom>2024-03-01T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-03-02T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadAddresses>
</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:pixiReadAddresses>
<!-- <AddrKey>10250</AddrKey> -->
<!-- <CreateDateFrom>2024-01-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-02-01T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-01-01T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-02-01T00:00:00</UpdateDateTo> -->
<!-- <CreateAndUpdateDateFrom>2024-03-01T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-03-02T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadAddresses>
</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 = [
// 'AddrKey' => '10250',
// 'CreateDateFrom' => '2024-01-01T00:00:00',
// 'CreateDateTo' => '2024-02-01T00:00:00',
// 'UpdateDateFrom' => '2024-01-01T00:00:00',
// 'UpdateDateTo' => '2024-02-01T00: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('pixiReadAddresses', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReadAddresses