|
|
|
@ -5,66 +5,11 @@ All communication in Matrix is expressed in the form of data objects called
|
|
|
|
|
Events. These are the fundamental building blocks common to the client-server,
|
|
|
|
|
server-server and application-service APIs, and are described below.
|
|
|
|
|
|
|
|
|
|
{{common_event_fields}}
|
|
|
|
|
|
|
|
|
|
{{common_room_event_fields}}
|
|
|
|
|
|
|
|
|
|
Common event fields
|
|
|
|
|
-------------------
|
|
|
|
|
All events MUST have the following fields:
|
|
|
|
|
|
|
|
|
|
``event_id``
|
|
|
|
|
Type:
|
|
|
|
|
String.
|
|
|
|
|
Description:
|
|
|
|
|
Represents the globally unique ID for this event.
|
|
|
|
|
|
|
|
|
|
``type``
|
|
|
|
|
Type:
|
|
|
|
|
String.
|
|
|
|
|
Description:
|
|
|
|
|
Contains the event type, e.g. ``m.room.message``
|
|
|
|
|
|
|
|
|
|
``content``
|
|
|
|
|
Type:
|
|
|
|
|
JSON Object.
|
|
|
|
|
Description:
|
|
|
|
|
Contains the content of the event. When interacting with the REST API, this is the HTTP body.
|
|
|
|
|
|
|
|
|
|
``room_id``
|
|
|
|
|
Type:
|
|
|
|
|
String.
|
|
|
|
|
Description:
|
|
|
|
|
Contains the ID of the room associated with this event.
|
|
|
|
|
|
|
|
|
|
``user_id``
|
|
|
|
|
Type:
|
|
|
|
|
String.
|
|
|
|
|
Description:
|
|
|
|
|
Contains the fully-qualified ID of the user who *sent* this event.
|
|
|
|
|
|
|
|
|
|
State events have the additional fields:
|
|
|
|
|
|
|
|
|
|
``state_key``
|
|
|
|
|
Type:
|
|
|
|
|
String.
|
|
|
|
|
Description:
|
|
|
|
|
Contains the state key for this state event. If there is no state key for this state event, this
|
|
|
|
|
will be an empty string. The presence of ``state_key`` makes this event a state event.
|
|
|
|
|
|
|
|
|
|
``required_power_level``
|
|
|
|
|
Type:
|
|
|
|
|
Integer.
|
|
|
|
|
Description:
|
|
|
|
|
Contains the minimum power level a user must have before they can update this event.
|
|
|
|
|
|
|
|
|
|
``prev_content``
|
|
|
|
|
Type:
|
|
|
|
|
JSON Object.
|
|
|
|
|
Description:
|
|
|
|
|
Optional. Contains the previous ``content`` for this event. If there is no previous content, this
|
|
|
|
|
key will be missing.
|
|
|
|
|
|
|
|
|
|
.. TODO-spec
|
|
|
|
|
How do "age" and "ts" fit in to all this? Which do we expose?
|
|
|
|
|
{{common_state_event_fields}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Room Events
|
|
|
|
|