Service: zimbraMail

Command: FullAutocomplete
Namespace: urn:zimbraMail
Description: Retrieves AutoComplete matches from multiple source Accounts defined by 'orderedAccountIds'. The ordering logic ensures that the most relevant results are returned based on the values supplied in the 'orderedAccountIds' element. The returned matches are ordered (top match being most relevant) based on account IDs order passed in 'orderedAccountIds'. Hence, the 'ranking' attribute of matches should be ignored.

The sorting/ordering and limiting algorithm works as follows:

Properties:
Authorization token required true
Admin Authorization token required false

FullAutocompleteRequest

    <FullAutocompleteRequest> ## FullAutocompleteRequest
        <AutoCompleteRequest name="{name}" [t="{gal-search-type} (all | account | resource | group)"]
                                [needExp="{need-exp} (0|1)"] [folders="{comma-sep-folder-ids}"]
                                [includeGal="{include-GAL} (0|1)"] /> ## AutoCompleteRequest
        <orderedAccountIds>{orderedAccountIds} (String)</orderedAccountIds>
    </FullAutocompleteRequest>

elements and attributes you can define within a <FullAutocompleteRequest> element:

XPath Required / Optional Description
/AutoCompleteRequest Required (only 1)
/AutoCompleteRequest@name Required (only 1) Type: String
Name
/AutoCompleteRequest@t Optional (0 or 1) Type: all | account | resource | group
type of addresses to auto-complete on
  • "account" for regular user accounts, aliases and distribution lists
  • "resource" for calendar resources
  • "group" for groups
  • "all" for combination of all types
if omitted, defaults to "account"
/AutoCompleteRequest@needExp Optional (0 or 1) Type: 0|1
Set if the "exp" flag is needed in the response for group entries. Default is unset.
/AutoCompleteRequest@folders Optional (0 or 1) Type: String
Comma separated list of folder IDs
/AutoCompleteRequest@includeGal Optional (0 or 1) Type: 0|1
Flag whether to include Global Address Book (GAL)
/orderedAccountIds Optional (0 or 1) Type: {orderedAccountIds} (String)
ordered, comma-separated list of account IDs whose matches will be included in the FullAutocompleteResponse. Duplicate account IDs are ignored.

FullAutocompleteResponse

    <FullAutocompleteResponse [canBeCached="{can-be-cached} (0|1)"]> ## FullAutocompleteResponse
        (<match [email="{email-addresses-for-group}"] [type="{match-type-gal|contact|rankingTable}"]
                    [ranking="{ranking} (Integer)"] [isGroup="{is-group} (0|1)"] [exp="{can-expand-group-members} (0|1)"]
                    [id="{id}"] [l="{folder-id}"] [display="{display-string}"] [first="{display-string}"]
                    [middle="{display-string}"] [last="{display-string}"] [full="{display-string}"] [nick="{display-string}"]
                    [company="{display-string}"] [fileas="{display-string}"] /> ## AutoCompleteMatch)*
    </FullAutocompleteResponse>

elements and attributes you can define within a <FullAutocompleteResponse> element:

XPath Required / Optional Description
@canBeCached Optional (0 or 1) Type: 0|1
Flag whether can be cached
/match Optional (0 or more) Matches
/match@email Optional (0 or 1) Type: String
Comma-separated email addresses in case of group
/match@type Optional (0 or 1) Type: String
Match type - gal|contact|rankingTable
/match@ranking Optional (0 or 1) Type: Integer
Ranking
/match@isGroup Optional (0 or 1) Type: 0|1
Set if the entry is a group
/match@exp Optional (0 or 1) Type: 0|1
Set if the user has the right to expand group members. Returned only if needExp is set in the request and only on group entries (isGroup is set).
/match@id Optional (0 or 1) Type: String
ID
/match@l Optional (0 or 1) Type: String
Folder ID
/match@display Optional (0 or 1) Type: String
String that should be displayed by the client
/match@first Optional (0 or 1) Type: String
First Name
/match@middle Optional (0 or 1) Type: String
Middle Name
/match@last Optional (0 or 1) Type: String
Last Name
/match@full Optional (0 or 1) Type: String
Full Name
/match@nick Optional (0 or 1) Type: String
Nick Name
/match@company Optional (0 or 1) Type: String
Company Name
/match@fileas Optional (0 or 1) Type: String
FileAs