innosolvcity (ehemals NEST)
innosolvcity-Address Provider von Innosolv. Diese Adressschnittstelle spricht vom "BasisService" den Endpunkt "FindSubjektKontaktperson" an.
Konfiguration
Beispiel 1 (minimal)
<!-- AddressService -->
<AddressProvider id="E10A8313-A92D-4CB2-A12B-9AEB58F39207" order="1" active="true">
<!-- serverside innosolvcity address provider -->
<AddressProvider id="28F86C73-3A64-4BFF-AD87-CBDA92ED9170">
<NestVersion>2020</NestVersion>
<Uri>http://services.example.com:12345/BasisService</Uri>
<UserName>myUserName</UserName>
<Password>myPassword</Password>
</AddressProvider>
</AddressProvider>
Beispiel 2 (ausführlich)
<!-- AddressService -->
<AddressProvider id="E10A8313-A92D-4CB2-A12B-9AEB58F39207" order="1" active="true">
<!-- serverside innosolvcity address provider -->
<AddressProvider id="28F86C73-3A64-4BFF-AD87-CBDA92ED9170">
<Title>innosolvcity Kontaktperson</Title>
<NestVersion>2020</NestVersion>
<Uri>http://services.example.com:12345/BasisService</Uri>
<UserName>{username}</UserName>
<Password>{password}</Password>
<Debug>false</Debug>
<AlleAdressartenDefault>true</AlleAdressartenDefault>
<ActiveOnlyDefault>false</ActiveOnlyDefault>
<SearchParameters>
<SearchParameter Name="Vorname" Label="Vorname" Type="String" Length="100" Sort="1" />
<SearchParameter Name="Name" Label="Nachname" Type="String" Length="100" Sort="2" />
<SearchParameter Name="Geburtsdatum" Label="Geburtstag" Type="Date" Length="100" Sort="3" />
<SearchParameter Name="StrasseHaus" Label="Strasse/Haus" Type="String" Length="100" Sort="4" />
<SearchParameter Name="PLZ" Label="PLZ/Ort" Type="String" Length="6" Sort="5" />
<SearchParameter Name="Ortsname" Label="" Type="String" Length="100" Width="130" Sort="5" />
<SearchParameter Name="ID_Subjekt" Label="Subjekt-ID" Type="Long" Length="100" Sort="6" />
<SearchParameter Name="AlleAdressarten" Label="Alle Adressarten" Type="Boolean" Length="100" Sort="7" />
<SearchParameter Name="ActiveOnly" Label="Nur aktive" Type="Boolean" Length="100" Sort="8" />
</SearchParameters>
<Mapping>
<!-- determine AddressType -->
<Map Target="AddressType">
<Map.SourceExpression>
<![CDATA[
function main()
{
let firmenname = source('Firmenname');
let name = source('Name');
let companyDataIsAvailable = firmenname !== null && firmenname !== '';
let personDataIsAvailable = name !== null && name !== '';
if (companyDataIsAvailable && personDataIsAvailable)
{
return 'CompanyAndPersonData';
}
else if (personDataIsAvailable)
{
return 'PersonData';
}
else
{
return 'CompanyData';
}
}
]]>
</Map.SourceExpression>
</Map>
<!-- Company -->
<If Condition="target('AddressType') === 'CompanyAndPersonData' || target('AddressType') === 'CompanyData'">
<Map Target="Company_Name" Source="Firmenname" />
<Map Target="Company_Street" Source="StrasseHaus" />
<Map Target="Company_City" Source="Ort" />
<Map Target="Company_ZipCode" Source="PLZ" />
<Map Target="Company_Country" Source="Nation" />
<Map Target="Company_CountryShortCode" SourceExpression="''" />
<Map Target="Company_PhoneDirect" Source="Telefon" />
<Map Target="Company_EmailDirect" Source="Email" />
<Map Target="Company_FaxCentral" Source="Telefax" />
<Map Target="Company_Mobile" Source="Mobil" />
</If>
<!-- Person -->
<If Condition="target('AddressType') === 'CompanyAndPersonData' || target('AddressType') === 'PersonData'">
<Map Target="Person_Title" Source="Titel" />
<Map Target="Person_LastName" Source="Name" />
<Map Target="Person_FirstName" Source="Vorname" />
<Map Target="Person_SecondName" Source="Zusatzname" />
<Map Target="Person_Birthday" Source="Geburtsdatum" />
<Map Target="Person_SalutationShort" Source="Anrede" />
<Map Target="Person_Salutation" Source="Briefanrede" />
<If Condition="target('AddressType') === 'PersonData'">
<Map Target="Person_Street" Source="StrasseHaus" />
<Map Target="Person_City" Source="Ort" />
<Map Target="Person_ZipCode" Source="PLZ" />
<Map Target="Person_Country" Source="Nation" />
<Map Target="Person_CountryShortCode" SourceExpression="''" />
<Map Target="Person_PhoneDirect" Source="Telefon" />
<Map Target="Person_EmailDirect" Source="Email" />
<Map Target="Person_FaxDirect" Source="Telefax" />
<Map Target="Person_Mobile" Source="Mobil" />
</If>
</If>
<!-- Extended Fields -->
<Map Target="ExtendedField_Dynamic.Adressart" Source="Adressart" />
<Map Target="ExtendedField_Dynamic.AnzeigeName" Source="AnzeigeName" />
<Map Target="ExtendedField_Dynamic.AdressZusatz" Source="AdressZusatz" />
<Map Target="ExtendedField_Dynamic.StrasseZusatz" Source="StrasseZusatz" />
<Map Target="ExtendedField_Dynamic.PostleitzahlZusatzziffer" Source="PostleitzahlZusatzziffer" />
<Map Target="ExtendedField_Dynamic.AktivInaktiv" Source="AktivInaktiv" When="source('AktivInaktiv')" />
<Map Target="ExtendedField_Dynamic.AktivInaktiv_Cd" Source="AktivInaktiv_Cd" When="source('AktivInaktiv_Cd')" />
<Map Target="ExtendedField_Dynamic.ID_Subjektzuord" SourceExpression="source('ID_Subjektzuord')" When="source('ID_Subjektzuord')" />
<Map Target="ExtendedField_Dynamic.Subjektart_Cd" Source="Subjektart_Cd" When="source('Subjektart_Cd')" />
<!-- Address Provicer Data -->
<Map Target="AddressProviderData_Id" Source="ID_Subjekt" />
<Map Target="AddressProviderData_Name" SourceValue="NEST Einwohner" />
<If Condition="source('Briefanschrift')">
<Map Target="AddressProviderData_Label_FormattedString" Source="Briefanschrift" />
</If>
<!-- ContactViewOptions -->
<Map Target="AddressTypeOption" SourceExpression="target('AddressType') === 'PersonData' ? 'Private' : 'Business'" />
<Map Target="SalutationSeparateLine" SourceExpression="target('AddressType') === 'PersonData' ? 'true' : 'false'" />
</Mapping>
</AddressProvider>
</AddressProvider>
Parameter
- id 28F86C73-3A64-4BFF-AD87-CBDA92ED9170
- Title Titel des Address Provider. Default: "innosolvcity Kontaktperson" (bei UI-Sprache Deutsch)
- NestVersion Version vom innosolvcity-Service.
2020, falls der innosolvcity-Release 2020 (oder neuer) installiert ist. - Uri Uri des innosolvcity-Service-Endpunkts (kann verschlüsselt sein)
- UserName Der Benutzer, mit welchem sich der Provider bei innosolvcity anmeldet (kann verschlüsselt sein)
- Password Das Passwort, mit dem sich der Provider bei innosolvcity anmeldet (kann verschlüsselt sein)
- Debug
truefalls zusätzliche Informationen geloggt werden sollen (Request und Response) - AlleAdressartenDefault
false, falls der "AlleAdressarten"-Suchparameter deaktiviert sein soll. Durch den SearchParameter "AlleAdressarten" (falls konfiguriert) kann der Benutzer diese Option für die aktuelle Suche ändern. - ActiveOnlyDefault
true, falls der "ActiveOnly"-Suchparameter aktiv sein soll. Durch den SearchParameter "ActiveOnly" (falls konfiguriert) kann der Benutzer diese Option für die aktuelle Suche ändern. - SearchParameters Hier kann die Such-Maske konfiguriert werden (siehe Beispielkonfiguration). Wenn dieses Element nicht konfiguriert wird, wird eine Standard-Suchmaske angezeigt (verfügbar in DE, EN, FR, IT; CheckBox "AlleAdressarten" wird nicht angezeigt). Bei der innosolvcity-Suche können folgende Parameter verwendet werden:
- Vorname
- Name
- Geburtsdatum (Date)
- StrasseHaus
- PLZ (ab NEST 2018)
- Ortsname (ab NEST 2018)
- ID_Subjekt (Long)
- AlleAdressarten (Boolean) (ab NEST 2018)
- ActiveOnly (Boolean) (ab NEST 2020)
- Mapping Optionales Kontaktmapping, siehe Standard-Kontakt-Mapping. Mögliche
Source-Felder, welche von NEST abgerufen und für das Mapping zur Verfügung gestellt werden:- Adressart
- AdressZusatz
- AktivInaktiv (ab NEST 2020)
- AktivInaktiv_Cd (ab NEST 2020)
- Anrede
- AnzeigeName
- Briefanrede
- Briefanschrift
- Firmenname
- Geburtsdatum
- ID_Subjekt
- ID_Subjektzuord (ab NEST 2020)
- Mobil
- Name
- Nation
- Ort
- PLZ
- PlzOrt
- PostleitzahlZusatzziffer
- StrasseHaus
- StrasseZusatz
- Subjektart_Cd (ab NEST 2020)
- Telefax
- Telefon
- Titel
- Vorname
- Zusatzname
Suchparameter mit übersetzten Beschriftungen:
[...]
<Title>NEST Kontaktperson</Title>
[...]
<SearchParameters>
<SearchParameter Name="Vorname" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.FirstName]}" Type="String" Length="100" Sort="1" />
<SearchParameter Name="Name" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.LastName]}" Type="String" Length="100" Sort="2" />
<SearchParameter Name="Geburtsdatum" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.Birthday]}" Type="Date" Length="100" Sort="3" />
<SearchParameter Name="StrasseHaus" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.StreetHouse]}" Type="String" Length="100" Sort="4" />
<SearchParameter Name="PLZ" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.ZipCodeCity]}" Type="String" Length="6" Sort="5" />
<SearchParameter Name="Ortsname" Label="" Type="String" Length="100" Width="130" Sort="5" />
<SearchParameter Name="ID_Subjekt" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.SubjectID]}" Type="Long" Length="100" Sort="6" />
<SearchParameter Name="AlleAdressarten" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.AllAddressTypes]}" Type="Boolean" Length="100" Sort="7" />
<SearchParameter Name="ActiveOnly" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.ActiveOnly]}" Type="Boolean" Length="100" Sort="8" />
</SearchParameters>
[...]
Einträge in den Globalen Übersetzungen:
Recipients.NestAddressProvider.Title
de: NEST Kontaktperson
en: NEST contact person
fr: Personne de contact de NEST
it: Persona di contatto NEST
Recipients.NestAddressProvider.SearchParameterLabel.FirstName
de: Vorname
en: First name
fr: Prénom
it: Nome
Recipients.NestAddressProvider.SearchParameterLabel.LastName
de: Nachname
en: Last name
fr: Nom de famille
it: Cognome
Recipients.NestAddressProvider.SearchParameterLabel.StreetHouse
de: Strasse/Haus
en: Street/House
fr: Rue/maison
it: strada / casa
Recipients.NestAddressProvider.SearchParameterLabel.ZipCodeCity
de: PLZ/Ort
en: Zip code/town
fr: Zip/Ville
it: Zip / Città
Recipients.NestAddressProvider.SearchParameterLabel.Birthday
de: Geburtstag
en: Birthday
fr: Date de naissance
it: Data di nascita
Recipients.NestAddressProvider.SearchParameterLabel.SubjectID
de: Subjekt-ID
en: Subject id
fr: Id du sujet
it: Id dell'oggetto
Recipients.NestAddressProvider.SearchParameterLabel.AllAddressTypes
de: Alle Adressarten
en: All address types
fr: Tous les types d'adresse
it: Tutti i tipi di indirizzo
Recipients.NestAddressProvider.SearchParameterLabel.AllAddressTypes
de: Alle Adressarten
en: All address types
fr: Tous les types d'adresse
it: Tutti i tipi di indirizzo
Recipients.NestAddressProvider.SearchParameterLabel.ActiveOnly
de: Nur aktive
en: Active only
fr: Actifs uniquement
it: Solo attivi