MetaDirectory API zur Kontaktdatenabfrage mit URL-Parameter
März 2025
MetaDirectory 6 Enterprise
Das MetaDirectory kann auch in andere Webservices eingebunden werden. Dazu ist es erforderlich, dem MetaDirectory Webserver direkt Suchbegriffe zu übergeben.
In MetaDirectory 6 Enterprise werden die Suchbegriffe als URL-Parameter mit search.json übergeben.
Die beschriebene Vorgehensweise ist als Beispiel zu sehen und setzt Kenntnisse in Konfiguration und Administration und die entsprechenden Berechtigungen voraus.
sample
Zum Testen können Sie die Datei sample_search.html downloaden und nach wwwroot im Meta-Programmverzeichnis kopieren.
Index der Datenquelle
s=<Index der Datenquelle>
s=0: Alle Datenquellen
s=[1-n]: spezifische Datenquelle
z.B.: http://metadirectory/search.json?s=0&q=estos
Searchstring
q=<searchstring>
if(IsNumber(<searchstring>))
searchNumber
else
searchContact
IsNumber()
BOOL IsPhoneNumber(const TCHAR* szNumber)
{
// Return TRUE, if szNumber is a valid (dialable) phone number
// A dialable phone number is defined as follows:
// - consists of digits (0-9)
// - '*' and '#' may appear, but there must exist at least one digit
// - '+' may appear once before any digit
// - '-' may appear but there must exist at least one digit
// - Spaces are allowed everywhere
// - '(' and ')' are also allowed once. A ')' must follow a '('. And there must be at least one digit.
// -'^' leitet Kommentar ein, rest ignorieren
...
}
z.B.: http://metadirectory/search.json?searchContact=estos
Search by database-fieldname: <field1>=<s1>&<field2>=<s2>&...
z.B.: http://metadirectory/search.json?Lastname=Neumann&Firstname=N*
Search by fieldindex: orf=<searchstring>|idx1|idx2|...|idxn
z.B.: http://metadirectory/search.json?orf=info@estos.de|28|29|30|31
search.json&q=neumann \[sample response\]
[
{
"c" : "DE",
"company" : "estos GmbH",
"databaseName" : "Active Directory",
"databaseType" : "7",
"department" : "Sales",
"displayName" : "Neumann, Dirk",
"distinguishedName" : "cn=9A7114D38A281D4CBE6039FE21B47E87,ou=Active Directory,dc=web",
"entryIDMeta" : "QjdGRTREQzZGOUZFNzc0MEI1RTkyN0UyOTk3NU...",
"facsimileTelephoneNumber" : "+49815136856123",
"givenName" : "Dirk",
"homephone" : "+49815112345x",
"info" : "Account Manager",
"jpegPhoto" : "contactpicture.jpg?EntryIDMeta=QjdGRTREQzZGOUZFNzc0ME...",
"l" : "Starnberg",
"mail" : "dirk.neumann@estos.de",
"mobile" : "+49173123456x",
...
},
{
"databaseName" : "Active Directory",
"databaseType" : "7",
"displayName" : "Neumann, Dirk",
"distinguishedName" : "cn=374A403E962C9C4485C18CC8C8DDDBE5,ou=Active Directory,dc=web",
"entryIDMeta" : "QjdGRTREQzZGOUZFNzc0MEI1RTkyN0UyOTk3NUQwOEUzNzRBNDAzRTk2MkM5QzQ0ODVDMThDQzhDOEREREJFNQ==",
"givenName" : "Dirk",
"sn" : "Neumann"
...
},
{
"c" : "DE",
"company" : "estos GmbH",
"databaseName" : "Active Directory",
"databaseType" : "7",
"department" : "Accounting",
"displayName" : "Neumann, Nadine",
...
}
]