2018-06-23 17:31:12 +02:00
|
|
|
# Get messages
|
|
|
|
|
2020-04-28 20:00:46 +02:00
|
|
|
{generate_api_description(/messages:get)}
|
2018-06-23 17:31:12 +02:00
|
|
|
|
|
|
|
## Usage examples
|
|
|
|
|
2018-09-17 16:27:32 +02:00
|
|
|
{start_tabs}
|
|
|
|
{tab|python}
|
2018-06-23 17:31:12 +02:00
|
|
|
|
|
|
|
{generate_code_example(python)|/messages:get|example}
|
|
|
|
|
2018-09-17 16:27:32 +02:00
|
|
|
{tab|js}
|
2018-06-23 17:31:12 +02:00
|
|
|
|
|
|
|
More examples and documentation can be found [here](https://github.com/zulip/zulip-js).
|
|
|
|
```js
|
|
|
|
const zulip = require('zulip-js');
|
|
|
|
|
2019-01-07 14:27:58 +01:00
|
|
|
// Pass the path to your zuliprc file here.
|
2018-06-23 17:31:12 +02:00
|
|
|
const config = {
|
2019-01-07 14:27:58 +01:00
|
|
|
zuliprc: 'zuliprc',
|
2018-06-23 17:31:12 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
zulip(config).then((client) => {
|
|
|
|
const readParams = {
|
|
|
|
stream,
|
|
|
|
type: 'stream',
|
|
|
|
anchor: res.id,
|
|
|
|
num_before: 1,
|
|
|
|
num_after: 1,
|
|
|
|
};
|
|
|
|
|
|
|
|
// Fetch messages anchored around id (1 before, 1 after)
|
|
|
|
return client.messages.retrieve(readParams);
|
|
|
|
}).then(console.log);
|
|
|
|
```
|
|
|
|
|
2018-09-17 16:27:32 +02:00
|
|
|
{tab|curl}
|
|
|
|
|
2020-01-29 02:58:17 +01:00
|
|
|
{generate_code_example(curl, exclude=["client_gravatar", "apply_markdown", "use_first_unread_anchor"])|/messages:get|example}
|
2018-06-23 17:31:12 +02:00
|
|
|
|
2018-09-17 16:27:32 +02:00
|
|
|
{end_tabs}
|
2018-06-23 17:31:12 +02:00
|
|
|
|
|
|
|
## Arguments
|
|
|
|
|
|
|
|
{generate_api_arguments_table|zulip.yaml|/messages:get}
|
|
|
|
|
|
|
|
## Response
|
|
|
|
|
|
|
|
#### Return values
|
|
|
|
|
|
|
|
When a request is successful, this endpoint returns a dictionary
|
|
|
|
containing the following (in addition to the `msg` and `result` keys
|
|
|
|
present in all Zulip API responses).
|
|
|
|
|
|
|
|
* `anchor`: the same `anchor` specified in the request.
|
|
|
|
* `found_newest`: whether the `messages` list includes the latest message in
|
|
|
|
the narrow.
|
|
|
|
* `found_oldest`: whether the `messages` list includes the oldest message in
|
|
|
|
the narrow.
|
|
|
|
* `found_anchor`: whether it was possible to fetch the requested anchor, or
|
|
|
|
the closest in the narrow has been used.
|
|
|
|
* `messages`: an array of `message` objects, each containing the following
|
|
|
|
fields:
|
|
|
|
* `avatar_url`: The URL of the user's avatar.
|
|
|
|
* `client`: A Zulip "client" string, describing what Zulip client
|
|
|
|
sent the message.
|
|
|
|
* `content`: The content/body of the message.
|
|
|
|
* `content_type`: The HTTP `content_type` for the message content. This
|
|
|
|
will be `text/html` or `text/x-markdown`, depending on
|
|
|
|
whether `apply_markdown` was set.
|
|
|
|
* `display_recipient`: Data on the recipient of the message;
|
|
|
|
either the name of a stream or a dictionary containing data on
|
|
|
|
the users who received the message.
|
2019-06-04 13:02:35 +02:00
|
|
|
* `flags`: The user's [message flags][message-flags] for the message.
|
2018-06-23 17:31:12 +02:00
|
|
|
* `id`: The unique message ID. Messages should always be
|
|
|
|
displayed sorted by ID.
|
|
|
|
* `is_me_message`: Whether the message is a [/me status message][status-messages]
|
|
|
|
* `reactions`: Data on any reactions to the message.
|
2020-04-22 23:24:28 +02:00
|
|
|
* `emoji_code`: An encoded version of the emoji's unicode codepoint.
|
|
|
|
* `emoji_name`: Name of the emoji.
|
|
|
|
* `reaction_type`: If the reaction uses a [custom emoji](/help/add-custom-emoji),
|
|
|
|
`reaction_type` will be set to `realm_emoji`.
|
|
|
|
* `user_id`: The ID of the user who added the reaction.
|
2020-04-29 05:55:42 +02:00
|
|
|
**Changes**: New in Zulip 2.2 (feature level 2). The `user`
|
|
|
|
object is deprecated and will be removed in the future.
|
2020-04-22 23:24:28 +02:00
|
|
|
* `user`: Dictionary with data on the user who added the reaction, including
|
|
|
|
the user ID as the `id` field. **Note**: In the [events
|
|
|
|
API](/api/get-events-from-queue), this `user` dictionary
|
|
|
|
confusing had the user ID in a field called `user_id`
|
|
|
|
instead. We recommend ignoring fields other than the user
|
|
|
|
ID. **Deprecated** and to be removed in a future release
|
|
|
|
once core clients have migrated to use the `user_id` field.
|
2018-06-23 17:31:12 +02:00
|
|
|
* `recipient_id`: A unique ID for the set of users receiving the
|
|
|
|
message (either a stream or group of users). Useful primarily
|
|
|
|
for hashing.
|
|
|
|
* `sender_email`: The email address of the message's sender.
|
|
|
|
* `sender_full_name`: The full name of the message's sender.
|
|
|
|
* `sender_id`: The user ID of the message's sender.
|
|
|
|
* `sender_realm_str`: A string identifier for the realm the sender
|
|
|
|
is in.
|
|
|
|
* `sender_short_name`: Reserved for future use.
|
|
|
|
* `stream_id`: Only present for stream messages; the ID of the stream.
|
|
|
|
* `subject`: The `topic` of the message (only present for stream
|
|
|
|
messages). The name is a legacy holdover from when topics were
|
|
|
|
called "subjects".
|
2020-02-07 13:09:17 +01:00
|
|
|
* `topic_links`: Data on any links to be included in the `topic`
|
2020-04-29 05:55:42 +02:00
|
|
|
line (these are generated by [custom linkification
|
|
|
|
filters][linkification-filters] that match content in the
|
|
|
|
message's topic.) **Changes**: New in Zulip 2.2 (feature level
|
|
|
|
1). Previously, this field was called `subject_links`; clients
|
|
|
|
are recommended to rename `subject_links` to `topic_links` if
|
|
|
|
present for compatibility with older Zulip servers.
|
2018-06-23 17:31:12 +02:00
|
|
|
* `submessages`: Data used for certain experimental Zulip integrations.
|
|
|
|
* `timestamp`: The UNIX timestamp for when the message was sent,
|
|
|
|
in UTC seconds.
|
|
|
|
* `type`: The type of the message: `stream` or `private`.
|
|
|
|
|
|
|
|
#### Example response
|
|
|
|
|
|
|
|
A typical successful JSON response may look like:
|
|
|
|
|
|
|
|
{generate_code_example|/messages:get|fixture(200)}
|
|
|
|
|
|
|
|
[status-messages]: /help/format-your-message-using-markdown#status-messages
|
2018-10-16 21:03:38 +02:00
|
|
|
[linkification-filters]: /help/add-a-custom-linkification-filter
|
2019-06-04 13:02:35 +02:00
|
|
|
[message-flags]: /api/update-message-flags#available-flags
|