Protocol Buffers
This file documents the reverse-engineered Protocol Buffers used by the
Hangouts chat protocol. hangups and other projects may these Protocol Buffers
to serialize and deserialize data for communicating with Google’s servers.
Some of the most important Protocol Buffer messages include:
DoNotDisturbSetting
The state of do-not-disturb mode. Not to be confused with DndSetting, which
is used to change the state of do-not-disturb mode.
Field |
Number |
Type |
Label |
Description |
do_not_disturb |
1 |
bool |
optional |
Whether do-not-disturb mode is enabled. |
expiration_timestamp |
2 |
uint64 |
optional |
Timestamp when do-not-disturb mode expires. |
version |
3 |
uint64 |
optional |
Timestamp when this setting was applied. Not present when this message comes from a notification. |
ConversationId
Identifies a conversation.
Field |
Number |
Type |
Label |
Description |
id |
1 |
string |
optional |
Unique identifier for a conversation. |
ParticipantId
Identifies a user.
Field |
Number |
Type |
Label |
Description |
gaia_id |
1 |
string |
optional |
Unique identifier for a user’s Google account. |
chat_id |
2 |
string |
optional |
Seems to always be the same as gaia_id. |
DeviceStatus
Indicates whether Hangouts is active (running in the foreground) on
different types of devices.
Field |
Number |
Type |
Label |
Description |
mobile |
1 |
bool |
optional |
True if a mobile phone is active. |
desktop |
2 |
bool |
optional |
True if a desktop or laptop is active. |
tablet |
3 |
bool |
optional |
True if a tablet is active. |
Presence
Field |
Number |
Type |
Label |
Description |
reachable |
1 |
bool |
optional |
|
available |
2 |
bool |
optional |
|
device_status |
6 |
DeviceStatus |
optional |
|
mood_setting |
9 |
MoodSetting |
optional |
|
ClientIdentifier
Field |
Number |
Type |
Label |
Description |
resource |
1 |
string |
optional |
(client_id in hangups). |
header_id |
2 |
string |
optional |
unknown (header_id in hangups). |
UserEventState
Field |
Number |
Type |
Label |
Description |
user_id |
1 |
ParticipantId |
optional |
|
client_generated_id |
2 |
string |
optional |
|
notification_level |
3 |
NotificationLevel |
optional |
|
LinkData
Field |
Number |
Type |
Label |
Description |
link_target |
1 |
string |
optional |
|
Segment
A segment of a message. Message are broken into segments that may be of
different types and have different formatting.
Field |
Number |
Type |
Label |
Description |
type |
1 |
SegmentType |
required |
Note: This field is required because Hangouts for Chrome misbehaves if it isn’t serialized. |
text |
2 |
string |
optional |
The segment text. For line breaks, may either be empty or contain new line character. |
formatting |
3 |
Formatting |
optional |
Formatting for this segment. |
link_data |
4 |
LinkData |
optional |
Link data for this segment, if it is a link. |
PlusPhoto
Google Plus photo that can be embedded in a chat message.
Field |
Number |
Type |
Label |
Description |
thumbnail |
1 |
PlusPhoto.Thumbnail |
optional |
Thumbnail. |
owner_obfuscated_id |
2 |
string |
optional |
Owner obfuscated ID. |
album_id |
3 |
string |
optional |
Album ID. |
photo_id |
4 |
string |
optional |
Photo ID. |
url |
6 |
string |
optional |
URL of full-sized image. |
original_content_url |
10 |
string |
optional |
URL of image thumbnail. |
media_type |
13 |
PlusPhoto.MediaType |
optional |
The media type. |
stream_id |
14 |
string |
repeated |
List of stream ID parameters. |
PlusPhoto.Thumbnail
Metadata for displaying an image thumbnail.
Field |
Number |
Type |
Label |
Description |
url |
1 |
string |
optional |
URL to navigate to when thumbnail is selected (a Google Plus album page). |
image_url |
4 |
string |
optional |
URL of thumbnail image. |
width_px |
10 |
uint64 |
optional |
Image width in pixels. |
height_px |
11 |
uint64 |
optional |
Image height in pixels. |
Place
Place that can be embedded in a chat message via Google Maps.
Field |
Number |
Type |
Label |
Description |
url |
1 |
string |
optional |
Google Maps URL pointing to the map coordinates. |
name |
3 |
string |
optional |
Name of map location. |
representative_image |
185 |
Place.RepresentativeImage |
optional |
Representative image of the place (map with pin). |
Place.RepresentativeImage
Representative image of a place.
Field |
Number |
Type |
Label |
Description |
url |
2 |
string |
optional |
URL of image. |
EmbedItem
An item of some type embedded in a chat message.
Field |
Number |
Type |
Label |
Description |
type |
1 |
ItemType |
repeated |
List of embedded item types in this message. |
id |
2 |
string |
optional |
For photos this is not given, for maps, it’s the URL of the map. |
plus_photo |
27639957 |
PlusPhoto |
optional |
Embedded Google Plus photo. |
place |
35825640 |
Place |
optional |
Embedded Google Map of a place. |
Attachment
An attachment for a chat message.
Field |
Number |
Type |
Label |
Description |
embed_item |
1 |
EmbedItem |
optional |
|
MessageContent
Chat message content.
Field |
Number |
Type |
Label |
Description |
segment |
1 |
Segment |
repeated |
|
attachment |
2 |
Attachment |
repeated |
|
EventAnnotation
Annotation that can be applied to a chat message event. The only known use
for this is “me” actions supported by the Chrome client (type 4).
Field |
Number |
Type |
Label |
Description |
type |
1 |
int32 |
optional |
Annotation type. |
value |
2 |
string |
optional |
Optional annotation string value. |
ChatMessage
A chat message in a conversation.
Field |
Number |
Type |
Label |
Description |
annotation |
2 |
EventAnnotation |
repeated |
Optional annotation to attach to message. |
message_content |
3 |
MessageContent |
optional |
The message’s content. |
ConversationRename
Field |
Number |
Type |
Label |
Description |
new_name |
1 |
string |
optional |
|
old_name |
2 |
string |
optional |
|
HashModifier
Field |
Number |
Type |
Label |
Description |
update_id |
1 |
string |
optional |
|
hash_diff |
2 |
uint64 |
optional |
|
version |
4 |
uint64 |
optional |
|
Event
Event that becomes part of a conversation’s history.
Field |
Number |
Type |
Label |
Description |
conversation_id |
1 |
ConversationId |
optional |
ID of the conversation this event belongs to. |
sender_id |
2 |
ParticipantId |
optional |
ID of the user that sent this event. |
timestamp |
3 |
uint64 |
optional |
Timestamp when the event occurred. |
self_event_state |
4 |
UserEventState |
optional |
|
source_type |
6 |
SourceType |
optional |
|
chat_message |
7 |
ChatMessage |
optional |
|
membership_change |
9 |
MembershipChange |
optional |
|
conversation_rename |
10 |
ConversationRename |
optional |
|
hangout_event |
11 |
HangoutEvent |
optional |
|
event_id |
12 |
string |
optional |
Unique ID for the event. |
expiration_timestamp |
13 |
uint64 |
optional |
|
otr_modification |
14 |
OTRModification |
optional |
|
advances_sort_timestamp |
15 |
bool |
optional |
|
otr_status |
16 |
OffTheRecordStatus |
optional |
|
persisted |
17 |
bool |
optional |
|
medium_type |
20 |
DeliveryMedium |
optional |
|
event_type |
23 |
EventType |
optional |
The event’s type. |
event_version |
24 |
uint64 |
optional |
Event version timestamp. |
hash_modifier |
26 |
HashModifier |
optional |
|
UserReadState
Field |
Number |
Type |
Label |
Description |
participant_id |
1 |
ParticipantId |
optional |
|
latest_read_timestamp |
2 |
uint64 |
optional |
|
DeliveryMedium
Field |
Number |
Type |
Label |
Description |
medium_type |
1 |
DeliveryMediumType |
optional |
|
phone |
2 |
Phone |
optional |
Phone number to use for sending Google Voice messages. |
DeliveryMediumOption
Field |
Number |
Type |
Label |
Description |
delivery_medium |
1 |
DeliveryMedium |
optional |
|
current_default |
2 |
bool |
optional |
|
ConversationParticipantData
Conversation
A conversation between two or more users.
EasterEgg
Field |
Number |
Type |
Label |
Description |
message |
1 |
string |
optional |
|
Photo
Field |
Number |
Type |
Label |
Description |
photo_id |
1 |
string |
optional |
Picasa photo ID. |
delete_albumless_source_photo |
2 |
bool |
optional |
|
user_id |
3 |
string |
optional |
Optional Picasa user ID needed for photos from other accounts (eg. stickers). |
is_custom_user_id |
4 |
bool |
optional |
Must be true if user_id is specified. |
ClientVersion
The client and device version.
Field |
Number |
Type |
Label |
Description |
client_id |
1 |
ClientId |
optional |
Identifies the client. |
build_type |
2 |
ClientBuildType |
optional |
The client build type. |
major_version |
3 |
string |
optional |
Client version. |
version_timestamp |
4 |
uint64 |
optional |
Client version timestamp. |
device_os_version |
5 |
string |
optional |
OS version string (for native apps). |
device_hardware |
6 |
string |
optional |
Device hardware name (for native apps). |
Entity
A user that can participate in conversations.
Entity.PastHangoutState
Name |
Number |
Description |
PAST_HANGOUT_STATE_UNKNOWN |
0 |
|
PAST_HANGOUT_STATE_HAD_PAST_HANGOUT |
1 |
|
PAST_HANGOUT_STATE_NO_PAST_HANGOUT |
2 |
|
EntityProperties
Field |
Number |
Type |
Label |
Description |
type |
1 |
ProfileType |
optional |
|
display_name |
2 |
string |
optional |
|
first_name |
3 |
string |
optional |
|
photo_url |
4 |
string |
optional |
|
email |
5 |
string |
repeated |
|
phone |
6 |
string |
repeated |
|
in_users_domain |
10 |
bool |
optional |
|
gender |
11 |
Gender |
optional |
|
photo_url_status |
12 |
PhotoUrlStatus |
optional |
|
canonical_email |
15 |
string |
optional |
|
ConversationState
State of a conversation and recent events.
EventContinuationToken
Token that allows retrieving more events from a position in a conversation.
Specifying event_timestamp is sufficient.
Field |
Number |
Type |
Label |
Description |
event_id |
1 |
string |
optional |
|
storage_continuation_token |
2 |
bytes |
optional |
|
event_timestamp |
3 |
uint64 |
optional |
|
EntityLookupSpec
Field |
Number |
Type |
Label |
Description |
gaia_id |
1 |
string |
optional |
|
ConfigurationBit
Field |
Number |
Type |
Label |
Description |
configuration_bit_type |
1 |
ConfigurationBitType |
optional |
|
value |
2 |
bool |
optional |
|
RichPresenceEnabledState
Field |
Number |
Type |
Label |
Description |
type |
1 |
RichPresenceType |
optional |
|
enabled |
2 |
bool |
optional |
|
DesktopOffSetting
Field |
Number |
Type |
Label |
Description |
desktop_off |
1 |
bool |
optional |
State of “desktop off” setting. |
DesktopOffState
Field |
Number |
Type |
Label |
Description |
desktop_off |
1 |
bool |
optional |
Whether Hangouts desktop is signed off or on. |
version |
2 |
uint64 |
optional |
|
DndSetting
Enable or disable do-not-disturb mode. Not to be confused with
DoNotDisturbSetting, which is used to indicate the state of do-not-disturb
mode.
Field |
Number |
Type |
Label |
Description |
do_not_disturb |
1 |
bool |
optional |
Whether to enable or disable do-not-disturb mode. |
timeout_secs |
2 |
uint64 |
optional |
Do not disturb expiration in seconds. |
MoodMessage
Field |
Number |
Type |
Label |
Description |
mood_content |
1 |
MoodContent |
optional |
|
MoodContent
Field |
Number |
Type |
Label |
Description |
segment |
1 |
Segment |
repeated |
|
MoodSetting
The user’s mood message.
Field |
Number |
Type |
Label |
Description |
mood_message |
1 |
MoodMessage |
optional |
|
MoodState
Field |
Number |
Type |
Label |
Description |
mood_setting |
4 |
MoodSetting |
optional |
|
DeleteAction
Field |
Number |
Type |
Label |
Description |
delete_action_timestamp |
1 |
uint64 |
optional |
|
delete_upper_bound_timestamp |
2 |
uint64 |
optional |
|
delete_type |
3 |
DeleteType |
optional |
|
InviteeID
Field |
Number |
Type |
Label |
Description |
gaia_id |
1 |
string |
optional |
|
fallback_name |
4 |
string |
optional |
|
Country
Describes a user’s country.
Field |
Number |
Type |
Label |
Description |
region_code |
1 |
string |
optional |
Abbreviated region code (eg. “CA”). |
country_code |
2 |
uint64 |
optional |
Country’s calling code (eg. “1”). |
DesktopSoundSetting
Sound settings in the desktop Hangouts client.
Field |
Number |
Type |
Label |
Description |
desktop_sound_state |
1 |
SoundState |
optional |
Whether to play sound for incoming messages. |
desktop_ring_sound_state |
2 |
SoundState |
optional |
Whether to ring for incoming calls. |
I18nData
Field |
Number |
Type |
Label |
Description |
national_number |
1 |
string |
optional |
|
international_number |
2 |
string |
optional |
|
country_code |
3 |
uint64 |
optional |
|
region_code |
4 |
string |
optional |
|
is_valid |
5 |
bool |
optional |
|
validation_result |
6 |
PhoneValidationResult |
optional |
|
PhoneNumber
Field |
Number |
Type |
Label |
Description |
e164 |
1 |
string |
optional |
Phone number as string (eg. “+15551234567”). |
i18n_data |
2 |
I18nData |
optional |
|
StateUpdate
Pushed from the server to the client to notify it of state changes. Includes
exactly one type of notification, and optionally updates the attributes of a
conversation.
BatchUpdate
List of StateUpdate messages to allow pushing multiple notifications from
the server to the client simultaneously.
Field |
Number |
Type |
Label |
Description |
state_update |
1 |
StateUpdate |
repeated |
|
EventNotification
Field |
Number |
Type |
Label |
Description |
event |
1 |
Event |
optional |
|
SetConversationNotificationLevelNotification
ReplyToInviteNotification
WatermarkNotification
Field |
Number |
Type |
Label |
Description |
sender_id |
1 |
ParticipantId |
optional |
|
conversation_id |
2 |
ConversationId |
optional |
|
latest_read_timestamp |
3 |
uint64 |
optional |
|
ConversationViewModification
SelfPresenceNotification
Notifies the status of other clients and mood.
PresenceNotification
Field |
Number |
Type |
Label |
Description |
presence |
1 |
PresenceResult |
repeated |
|
BlockNotification
Field |
Number |
Type |
Label |
Description |
block_state_change |
1 |
BlockStateChange |
repeated |
|
SetNotificationSettingNotification
RichPresenceEnabledStateNotification
ConversationSpec
Field |
Number |
Type |
Label |
Description |
conversation_id |
1 |
ConversationId |
optional |
|
AddUserResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
created_event |
5 |
Event |
optional |
|
CreateConversationRequest
Field |
Number |
Type |
Label |
Description |
request_header |
1 |
RequestHeader |
optional |
|
type |
2 |
ConversationType |
optional |
|
client_generated_id |
3 |
uint64 |
optional |
|
name |
4 |
string |
optional |
|
invitee_id |
5 |
InviteeID |
repeated |
|
CreateConversationResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
conversation |
2 |
Conversation |
optional |
|
new_conversation_created |
7 |
bool |
optional |
|
DeleteConversationRequest
Field |
Number |
Type |
Label |
Description |
request_header |
1 |
RequestHeader |
optional |
|
conversation_id |
2 |
ConversationId |
optional |
|
delete_upper_bound_timestamp |
3 |
uint64 |
optional |
|
DeleteConversationResponse
EasterEggResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
timestamp |
2 |
uint64 |
optional |
|
GetConversationRequest
Field |
Number |
Type |
Label |
Description |
request_header |
1 |
RequestHeader |
optional |
|
conversation_spec |
2 |
ConversationSpec |
optional |
|
include_event |
4 |
bool |
optional |
|
max_events_per_conversation |
6 |
uint64 |
optional |
|
event_continuation_token |
7 |
EventContinuationToken |
optional |
|
GetEntityByIdResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
entity |
2 |
Entity |
repeated |
|
GetSuggestedEntitiesRequest
GetSuggestedEntitiesResponse
GetSelfInfoRequest
Field |
Number |
Type |
Label |
Description |
request_header |
1 |
RequestHeader |
optional |
|
RemoveUserResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
created_event |
4 |
Event |
optional |
|
RenameConversationRequest
RenameConversationResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
created_event |
4 |
Event |
optional |
|
SearchEntitiesRequest
Field |
Number |
Type |
Label |
Description |
request_header |
1 |
RequestHeader |
optional |
|
query |
3 |
string |
optional |
|
max_count |
4 |
uint64 |
optional |
|
SearchEntitiesResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
entity |
2 |
Entity |
repeated |
|
SendChatMessageResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
created_event |
6 |
Event |
optional |
|
SetActiveClientRequest
Field |
Number |
Type |
Label |
Description |
request_header |
1 |
RequestHeader |
optional |
|
is_active |
2 |
bool |
optional |
Whether to set the client as active or inactive. |
full_jid |
3 |
string |
optional |
‘email/resource’. |
timeout_secs |
4 |
uint64 |
optional |
Timeout in seconds for client to remain active. |
SetActiveClientResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
SetConversationLevelRequest
Field |
Number |
Type |
Label |
Description |
request_header |
1 |
RequestHeader |
optional |
|
SetConversationLevelResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
SetConversationNotificationLevelRequest
SetConversationNotificationLevelResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
timestamp |
2 |
uint64 |
optional |
|
SetFocusResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
timestamp |
2 |
uint64 |
optional |
|
SetPresenceRequest
Allows setting one or more of the included presence-related settings.
SetPresenceResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
SetTypingResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
timestamp |
2 |
uint64 |
optional |
|
SyncAllNewEventsRequest
Field |
Number |
Type |
Label |
Description |
request_header |
1 |
RequestHeader |
optional |
|
last_sync_timestamp |
2 |
uint64 |
optional |
Timestamp after which to return all new events. |
max_response_size_bytes |
8 |
uint64 |
optional |
|
SyncAllNewEventsResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
sync_timestamp |
2 |
uint64 |
optional |
|
conversation_state |
3 |
ConversationState |
repeated |
|
SyncRecentConversationsRequest
Field |
Number |
Type |
Label |
Description |
request_header |
1 |
RequestHeader |
optional |
|
max_conversations |
3 |
uint64 |
optional |
|
max_events_per_conversation |
4 |
uint64 |
optional |
|
sync_filter |
5 |
SyncFilter |
repeated |
|
SyncRecentConversationsResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
sync_timestamp |
2 |
uint64 |
optional |
|
conversation_state |
3 |
ConversationState |
repeated |
|
UpdateWatermarkRequest
Field |
Number |
Type |
Label |
Description |
request_header |
1 |
RequestHeader |
optional |
|
conversation_id |
2 |
ConversationId |
optional |
|
last_read_timestamp |
3 |
uint64 |
optional |
|
UpdateWatermarkResponse
Field |
Number |
Type |
Label |
Description |
response_header |
1 |
ResponseHeader |
optional |
|
ActiveClientState
Describes which Hangouts client is active.
Name |
Number |
Description |
ACTIVE_CLIENT_STATE_NO_ACTIVE |
0 |
No client is active. |
ACTIVE_CLIENT_STATE_IS_ACTIVE |
1 |
This is the active client. |
ACTIVE_CLIENT_STATE_OTHER_ACTIVE |
2 |
Other client is active. |
FocusType
Name |
Number |
Description |
FOCUS_TYPE_UNKNOWN |
0 |
|
FOCUS_TYPE_FOCUSED |
1 |
|
FOCUS_TYPE_UNFOCUSED |
2 |
|
FocusDevice
Name |
Number |
Description |
FOCUS_DEVICE_UNSPECIFIED |
0 |
|
FOCUS_DEVICE_DESKTOP |
20 |
|
FOCUS_DEVICE_MOBILE |
300 |
|
TypingType
Name |
Number |
Description |
TYPING_TYPE_UNKNOWN |
0 |
|
TYPING_TYPE_STARTED |
1 |
Started typing. |
TYPING_TYPE_PAUSED |
2 |
Stopped typing with inputted text. |
TYPING_TYPE_STOPPED |
3 |
Stopped typing with no inputted text. |
ClientPresenceStateType
Name |
Number |
Description |
CLIENT_PRESENCE_STATE_UNKNOWN |
0 |
|
CLIENT_PRESENCE_STATE_NONE |
1 |
|
CLIENT_PRESENCE_STATE_DESKTOP_IDLE |
30 |
|
CLIENT_PRESENCE_STATE_DESKTOP_ACTIVE |
40 |
|
NotificationLevel
Name |
Number |
Description |
NOTIFICATION_LEVEL_UNKNOWN |
0 |
|
NOTIFICATION_LEVEL_QUIET |
10 |
Notifications are disabled. |
NOTIFICATION_LEVEL_RING |
30 |
Notifications are enabled. |
SegmentType
Name |
Number |
Description |
SEGMENT_TYPE_TEXT |
0 |
Segment is text. |
SEGMENT_TYPE_LINE_BREAK |
1 |
Segment is a line break. |
SEGMENT_TYPE_LINK |
2 |
Segment is hyperlinked text. |
ItemType
A type of embedded item.
Name |
Number |
Description |
ITEM_TYPE_THING |
0 |
|
ITEM_TYPE_PLUS_PHOTO |
249 |
Google Plus photo. |
ITEM_TYPE_PLACE |
335 |
|
ITEM_TYPE_PLACE_V2 |
340 |
Google Map place. |
MembershipChangeType
Name |
Number |
Description |
MEMBERSHIP_CHANGE_TYPE_JOIN |
1 |
|
MEMBERSHIP_CHANGE_TYPE_LEAVE |
2 |
|
HangoutEventType
Name |
Number |
Description |
HANGOUT_EVENT_TYPE_UNKNOWN |
0 |
|
HANGOUT_EVENT_TYPE_START |
1 |
|
HANGOUT_EVENT_TYPE_END |
2 |
|
HANGOUT_EVENT_TYPE_JOIN |
3 |
|
HANGOUT_EVENT_TYPE_LEAVE |
4 |
|
HANGOUT_EVENT_TYPE_COMING_SOON |
5 |
|
HANGOUT_EVENT_TYPE_ONGOING |
6 |
|
OffTheRecordToggle
Whether the OTR toggle is available to the user.
Name |
Number |
Description |
OFF_THE_RECORD_TOGGLE_UNKNOWN |
0 |
|
OFF_THE_RECORD_TOGGLE_ENABLED |
1 |
|
OFF_THE_RECORD_TOGGLE_DISABLED |
2 |
|
OffTheRecordStatus
Name |
Number |
Description |
OFF_THE_RECORD_STATUS_UNKNOWN |
0 |
|
OFF_THE_RECORD_STATUS_OFF_THE_RECORD |
1 |
Conversation is off-the-record (history disabled). |
OFF_THE_RECORD_STATUS_ON_THE_RECORD |
2 |
Conversation is on-the-record (history enabled). |
SourceType
Name |
Number |
Description |
SOURCE_TYPE_UNKNOWN |
0 |
|
EventType
Name |
Number |
Description |
EVENT_TYPE_UNKNOWN |
0 |
|
EVENT_TYPE_REGULAR_CHAT_MESSAGE |
1 |
|
EVENT_TYPE_SMS |
2 |
|
EVENT_TYPE_VOICEMAIL |
3 |
|
EVENT_TYPE_ADD_USER |
4 |
|
EVENT_TYPE_REMOVE_USER |
5 |
|
EVENT_TYPE_CONVERSATION_RENAME |
6 |
|
EVENT_TYPE_HANGOUT |
7 |
|
EVENT_TYPE_PHONE_CALL |
8 |
|
EVENT_TYPE_OTR_MODIFICATION |
9 |
|
EVENT_TYPE_PLAN_MUTATION |
10 |
|
EVENT_TYPE_MMS |
11 |
|
EVENT_TYPE_DEPRECATED_12 |
12 |
|
ConversationType
Name |
Number |
Description |
CONVERSATION_TYPE_UNKNOWN |
0 |
|
CONVERSATION_TYPE_ONE_TO_ONE |
1 |
Conversation is one-to-one (only 2 participants). |
CONVERSATION_TYPE_GROUP |
2 |
Conversation is group (any number of participants). |
ConversationStatus
Name |
Number |
Description |
CONVERSATION_STATUS_UNKNOWN |
0 |
|
CONVERSATION_STATUS_INVITED |
1 |
User is invited to conversation. |
CONVERSATION_STATUS_ACTIVE |
2 |
User is participating in conversation. |
CONVERSATION_STATUS_LEFT |
3 |
User has left conversation. |
ConversationView
Name |
Number |
Description |
CONVERSATION_VIEW_UNKNOWN |
0 |
|
CONVERSATION_VIEW_INBOX |
1 |
Conversation is in inbox. |
CONVERSATION_VIEW_ARCHIVED |
2 |
Conversation has been archived. |
DeliveryMediumType
Name |
Number |
Description |
DELIVERY_MEDIUM_UNKNOWN |
0 |
|
DELIVERY_MEDIUM_BABEL |
1 |
|
DELIVERY_MEDIUM_GOOGLE_VOICE |
2 |
|
DELIVERY_MEDIUM_LOCAL_SMS |
3 |
|
ParticipantType
Name |
Number |
Description |
PARTICIPANT_TYPE_UNKNOWN |
0 |
|
PARTICIPANT_TYPE_GAIA |
2 |
|
InvitationStatus
Name |
Number |
Description |
INVITATION_STATUS_UNKNOWN |
0 |
|
INVITATION_STATUS_PENDING |
1 |
|
INVITATION_STATUS_ACCEPTED |
2 |
|
ForceHistory
Name |
Number |
Description |
FORCE_HISTORY_UNKNOWN |
0 |
|
FORCE_HISTORY_NO |
1 |
|
NetworkType
Name |
Number |
Description |
NETWORK_TYPE_UNKNOWN |
0 |
|
NETWORK_TYPE_BABEL |
1 |
|
BlockState
Name |
Number |
Description |
BLOCK_STATE_UNKNOWN |
0 |
|
BLOCK_STATE_BLOCK |
1 |
|
BLOCK_STATE_UNBLOCK |
2 |
|
ReplyToInviteType
Name |
Number |
Description |
REPLY_TO_INVITE_TYPE_UNKNOWN |
0 |
|
REPLY_TO_INVITE_TYPE_ACCEPT |
1 |
|
REPLY_TO_INVITE_TYPE_DECLINE |
2 |
|
ClientId
Identifies the client.
Name |
Number |
Description |
CLIENT_ID_UNKNOWN |
0 |
|
CLIENT_ID_ANDROID |
1 |
Hangouts app for Android. |
CLIENT_ID_IOS |
2 |
Hangouts app for iOS. |
CLIENT_ID_CHROME |
3 |
Hangouts Chrome extension. |
CLIENT_ID_WEB_GPLUS |
5 |
Hangouts web interface in Google Plus. |
CLIENT_ID_WEB_GMAIL |
6 |
Hangouts web interface in Gmail. |
CLIENT_ID_ULTRAVIOLET |
13 |
Hangouts Chrome app (“ultraviolet”). |
ClientBuildType
Build type of the client.
Name |
Number |
Description |
BUILD_TYPE_UNKNOWN |
0 |
|
BUILD_TYPE_PRODUCTION_WEB |
1 |
Web app. |
BUILD_TYPE_PRODUCTION_APP |
3 |
Native app. |
ResponseStatus
Status of the response from the server to the client.
Name |
Number |
Description |
RESPONSE_STATUS_UNKNOWN |
0 |
|
RESPONSE_STATUS_OK |
1 |
|
RESPONSE_STATUS_UNEXPECTED_ERROR |
3 |
|
RESPONSE_STATUS_INVALID_REQUEST |
4 |
|
PhotoUrlStatus
Status of EntityProperties.photo_url.
Name |
Number |
Description |
PHOTO_URL_STATUS_UNKNOWN |
0 |
|
PHOTO_URL_STATUS_PLACEHOLDER |
1 |
URL is a placeholder. |
PHOTO_URL_STATUS_USER_PHOTO |
2 |
URL is a photo set by the user. |
Gender
Name |
Number |
Description |
GENDER_UNKNOWN |
0 |
|
GENDER_MALE |
1 |
|
GENDER_FEMALE |
2 |
|
ProfileType
Name |
Number |
Description |
PROFILE_TYPE_NONE |
0 |
|
PROFILE_TYPE_ES_USER |
1 |
|
ConfigurationBitType
A type of binary configuration option.
Name |
Number |
Description |
CONFIGURATION_BIT_TYPE_UNKNOWN |
0 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_1 |
1 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_2 |
2 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_3 |
3 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_4 |
4 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_5 |
5 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_6 |
6 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_7 |
7 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_8 |
8 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_9 |
9 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_10 |
10 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_11 |
11 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_12 |
12 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_13 |
13 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_14 |
14 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_15 |
15 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_16 |
16 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_17 |
17 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_18 |
18 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_19 |
19 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_20 |
20 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_21 |
21 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_22 |
22 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_23 |
23 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_24 |
24 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_25 |
25 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_26 |
26 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_27 |
27 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_28 |
28 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_29 |
29 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_30 |
30 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_31 |
31 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_32 |
32 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_33 |
33 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_34 |
34 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_35 |
35 |
|
CONFIGURATION_BIT_TYPE_UNKNOWN_36 |
36 |
|
RichPresenceType
Name |
Number |
Description |
RICH_PRESENCE_TYPE_UNKNOWN |
0 |
|
RICH_PRESENCE_TYPE_IN_CALL_STATE |
1 |
|
RICH_PRESENCE_TYPE_UNKNOWN_3 |
3 |
|
RICH_PRESENCE_TYPE_UNKNOWN_4 |
4 |
|
RICH_PRESENCE_TYPE_UNKNOWN_5 |
5 |
|
RICH_PRESENCE_TYPE_DEVICE |
2 |
|
RICH_PRESENCE_TYPE_LAST_SEEN |
6 |
|
FieldMask
Name |
Number |
Description |
FIELD_MASK_REACHABLE |
1 |
|
FIELD_MASK_AVAILABLE |
2 |
|
FIELD_MASK_DEVICE |
7 |
|
DeleteType
Name |
Number |
Description |
DELETE_TYPE_UNKNOWN |
0 |
|
DELETE_TYPE_UPPER_BOUND |
1 |
|
SyncFilter
Name |
Number |
Description |
SYNC_FILTER_UNKNOWN |
0 |
|
SYNC_FILTER_INBOX |
1 |
|
SYNC_FILTER_ARCHIVED |
2 |
|
SoundState
Name |
Number |
Description |
SOUND_STATE_UNKNOWN |
0 |
|
SOUND_STATE_ON |
1 |
|
SOUND_STATE_OFF |
2 |
|
CallerIdSettingsMask
Name |
Number |
Description |
CALLER_ID_SETTINGS_MASK_UNKNOWN |
0 |
|
CALLER_ID_SETTINGS_MASK_PROVIDED |
1 |
|
PhoneVerificationStatus
Name |
Number |
Description |
PHONE_VERIFICATION_STATUS_UNKNOWN |
0 |
|
PHONE_VERIFICATION_STATUS_VERIFIED |
1 |
|
PhoneDiscoverabilityStatus
Name |
Number |
Description |
PHONE_DISCOVERABILITY_STATUS_UNKNOWN |
0 |
|
PHONE_DISCOVERABILITY_STATUS_OPTED_IN_BUT_NOT_DISCOVERABLE |
2 |
|
PhoneValidationResult
Name |
Number |
Description |
PHONE_VALIDATION_RESULT_IS_POSSIBLE |
0 |
|