Get desktop application:
View/edit binary Protocol Buffers messages
---------------------------------------------------------------------------- Service Interfaces - GetXXX methods ---------------------------------------------------------------------------- Mobile-facing service allowing pulling of entities by batch of up to 20 ids Visibility is not controlled by EntityService, it is assumed if the caller has id, he/she is visible to all elements of the entity. Typically 4 lists might be returned: 1. The list of entities (excluding soft DELETED) 2. retriable_ids: A set of IDs that could not be retrieved for a transient reason. Clients should retry right away with this set of IDs in order to get the complete list. Result will be set to Result.PARTIAL if this set is non-empty. 3. failed_ids: A set of IDs of those retrieval failed. Clients should _not_ retry with these IDs. Result will be set to Result.PARTIAL if this set is non-empty. 4. not_found_ids: Requested but not found on server or has been deleted. Not found is not considered failed. So if you call GetUsers(id1-3) and all 3 ids are not found, you'd have a response with Result.OK; empty entity list and a not_found_ids of id1-3. Error Handling: 1. Always try/catch rpc errors or anything unexpected 2. Response always return a Result tag, you might want to handle error when Result = PARTIAL 3. If retriable_ids is _not_ empty, further requests should be made until a response with an empty set of retriable_ids is returned. *********************************************************************************
The set of successfully retrieved EntityUsers. This does _not_ include deleted entities.
The set of XiBareUserJid's that could not be retrieved, but should be retried. It is strongly encouraged (if not necessary) to retry with the set of retriable_ids, until the set is empty. This mechanism provides a tolerance to transient failures, as well as dealing with internal size restrictions (such as max XMPP response size). Retriable ids should be requested again right away; no backoff or delay is required.
The set of XiBareUserJid's that could not be retrieved, but should _not_ be retried.
The set of XiBareUserJid's that could not be found (either because the entity doesn't exist, or it was deleted).
The set of successfully retrieved EntityBot. This does _not_ include deleted entities.
The set of XiBareUserJid's that could not be retrieved, but should be retried. It is strongly encouraged (if not necessary) to retry with the set of retriable_ids, until the set is empty. This mechanism provides a tolerance to transient failures, as well as dealing with internal size restrictions (such as max XMPP response size). Retriable ids should be requested again right away; no backoff or delay is required.
The set of XiBareUserJid's that could not be retrieved, but should _not_ be retried.
The set of XiBareUserJid's that could not be found (either because the entity doesn't exist, or it was deleted).
The set of successfully retrieved EntityGroups. This does _not_ include deleted/not found entities
The set of XiGroupJid's that could not be retrieved, but should be retried. It is strongly encouraged (if not necessary) to retry with the set of retriable_ids, until the set is empty. This mechanism provides a tolerance to transient failures, as well as dealing with internal size restrictions (such as max XMPP response size). Retriable ids should be requested again right away; no backoff or delay is required.
The set of XiGroupJid's that could not be retrieved, but should _not_ be retried.
The set of XiGroupJid's that could not be found (either because the entity doesn't exist, or it was deleted).
The set of successfully retrieved EntityConvo. This does _not_ include deleted/not found entities
The set of XiConvoId's that could not be retrieved, but should be retried. It is strongly encouraged (if not necessary) to retry with the set of retriable_ids, until the set is empty. This mechanism provides a tolerance to transient failures, as well as dealing with internal size restrictions (such as max XMPP response size). Retriable ids should be requested again right away; no backoff or delay is required.
The set of XiConvoId's that could not be retrieved, but should _not_ be retried.
The set of XiConvoId's that could not be found (either because the entity doesn't exist, or it was deleted).
The set of successfully retrieved EntityUserRosterEntries. This does _not_ include deleted entities.
The set of XiBareUserJids that could not be retrieved, but should be retried. It is strongly encouraged (if not necessary) to retry with the set of retriable_ids, until the set is empty. This mechanism provides a tolerance to transient failures, as well as dealing with internal size restrictions (such as max XMPP response size). Retriable ids should be requested again right away; no backoff or delay is required.
The set of XiBareUserJids that could not be retrieved, but should _not_ be retried.
The set of XiBareUserJids that could not be found (either because the entity doesn't exist, or it was deleted).
The set of successfully retrieved EntityGroupRosterEntries. This does _not_ include deleted entities.
The set of XiGroupJids that could not be retrieved, but should be retried. It is strongly encouraged (if not necessary) to retry with the set of retriable_ids, until the set is empty. This mechanism provides a tolerance to transient failures, as well as dealing with internal size restrictions (such as max XMPP response size). Retriable ids should be requested again right away; no backoff or delay is required.
The set of XiGroupJids that could not be retrieved, but should _not_ be retried.
The set of XiGroupJids that could not be found (either because the entity doesn't exist, or it was deleted).
The set of RequestedJid that could not be retrieved, but should be retried. It is strongly encouraged (if not necessary) to retry with the set of retriable_ids, until the set is empty. This mechanism provides a tolerance to transient failures, as well as dealing with internal size restrictions (such as max XMPP response size). Retriable ids should be requested again right away; no backoff or delay is required.
The set of RequestedJid that could not be retrieved, but should _not_ be retried.
The set of RequestedJid that could not be found (either because the entity doesn't exist, or it was deleted).
**************************************************************************************** Get a list of trusted bots. If the list does not fit in one xiphias call, a page token is return for the subsequent page. GetTrustedBots is designed to be temporary and can be obsolete once Harmony 3 - Roster subscription is in place. To eventually obsolete this rpc, entity_service_get_trusted_bots_enabled in https://github.com/kikinteractive/xiphias-api-mobile/blob/master/proto/config/v1/feature_config_service.proto is prepared. The promise is that client will use this boolean to wrap around the GetTrustedBots call, once it is disabled via this config (client calls feature_config_service daily), call to this rpc should reach 0 in 24 hours. Then server can obsolete the rpc from API. ****************************************************************************************
If pageToken is absent, server will consider this as getting the first page. See GetTrustedBotsResponse, pageToken is that returned from server from the previous call in case of more.
Fields are not set when Result != OK
Only return if there are more come. This is the token for the next page.
NOTE: SyncMyRosterData pulls a page at a time, so time fudging should be applied for the first page call, subsequent pull should use the actual ts in the RosterSyncToken How to tell if it is subsequent pull? Hide has_more in the token for this. NOTE; token should have two ts one for regular subscription and one for mega.
Roster data returned in batches up to 500 or 100KiB (protobuf serialized)
New token to be used in subsequent call.
Simply indicate the client should continue to pull with token above
Information that should be available to everyone for anon chat alias jids
All fields should be optional.
Used in:
An optional Profile Pic Element
An optional Display Name Element
Used in:
PARTIAL indicates that an error occurred when retrieving info for some of the requested ids, but other ids may have been retrieved successfully
Used in:
PARTIAL indicates that an error occurred when retrieving info for some of the requested ids, but other ids may have been retrieved successfully
Used in:
PARTIAL indicates that an error occurred when retrieving info for some of the requested ids, but other ids may have been retrieved successfully
Used in:
PARTIAL indicates that an error occurred when retrieving info for some of the requested ids, but other ids may have been retrieved successfully
Used in:
Used in:
PARTIAL indicates that an error occurred when retrieving info for some of the requested ids, but other ids may have been retrieved successfully
All fields should be optional. Callers do not necessarily know which fields will be populated in the response.
Used in:
An optional PublicGroupMemberProfile, present for group_membership ajid types
An optional AnonChatMemberProfile, should be present for anon_type ajids
An optional PrivateProfile
The RequestedJid that this payload pertains to
The index in the ids field of the original request that this payload is for
Used in:
PARTIAL indicates that an error occurred when retrieving info for some of the requested ids, but other ids may have been retrieved successfully
Used in:
PARTIAL indicates that an error occurred when retrieving info for some of the requested ids, but other ids may have been retrieved successfully
Used in:
,Information that is restricted from public view Requires a two-way relationship between the caller and alias jid
All fields should be optional.
Used in:
An optional User Jid
An optional User Name Element
Information that should be available to everyone for group_membership alias jids
All fields should be optional.
Used in:
An optional BioElement
An optional Profile Pic Element
An optional Background Pic Extension
An optional Registration Element for user
An optional User Interests Element
An optional Emoji status element
An optional Display Name Element
An optional Kin User ID Element
An optional User Type Element
Used in:
, ,Making this a oneof to future proof it
Used in:
Token inconsistent with info on server
Roster data is not ready, client should delay for 10 mins and try again.