2018-04-28 02:01:41 +02:00
|
|
|
# Get events from an event queue
|
2018-01-04 00:07:26 +01:00
|
|
|
|
2020-04-28 20:00:46 +02:00
|
|
|
{generate_api_description(/events:get)}
|
2018-01-04 00:07:26 +01:00
|
|
|
|
|
|
|
## Usage examples
|
|
|
|
|
2018-09-17 16:27:32 +02:00
|
|
|
{start_tabs}
|
|
|
|
{tab|python}
|
2018-01-04 00:07:26 +01:00
|
|
|
|
|
|
|
```
|
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
|
|
import sys
|
|
|
|
import zulip
|
|
|
|
|
2019-01-07 14:27:58 +01:00
|
|
|
# Pass the path to your zuliprc file here.
|
|
|
|
client = zulip.Client(config_file="~/zuliprc")
|
2018-01-04 00:07:26 +01:00
|
|
|
|
|
|
|
# If you already have a queue registered and thus, have a queue_id
|
|
|
|
# on hand, you may use client.get_events() and pass in the above
|
2020-06-18 15:35:25 +02:00
|
|
|
# parameters, like so:
|
2018-01-04 00:07:26 +01:00
|
|
|
print(client.get_events(
|
|
|
|
queue_id="1515010080:4",
|
|
|
|
last_event_id=-1
|
|
|
|
))
|
|
|
|
```
|
|
|
|
|
|
|
|
`call_on_each_message` and `call_on_each_event` will automatically register
|
|
|
|
a queue for you.
|
|
|
|
|
2018-09-17 16:27:32 +02:00
|
|
|
{tab|js}
|
2018-01-04 00:07:26 +01:00
|
|
|
|
|
|
|
More examples and documentation can be found [here](https://github.com/zulip/zulip-js).
|
2020-06-29 18:14:47 +02:00
|
|
|
|
|
|
|
{generate_code_example(javascript)|/events:get|example}
|
2018-01-04 00:07:26 +01:00
|
|
|
|
2018-09-17 16:27:32 +02:00
|
|
|
{tab|curl}
|
|
|
|
|
2019-10-14 12:25:54 +02:00
|
|
|
{generate_code_example(curl, include=["queue_id", "last_event_id"])|/events:get|example}
|
2018-01-04 00:07:26 +01:00
|
|
|
|
2018-09-17 16:27:32 +02:00
|
|
|
{end_tabs}
|
2018-01-04 00:07:26 +01:00
|
|
|
|
2020-06-18 15:35:25 +02:00
|
|
|
## Parameters
|
2018-01-20 22:03:05 +01:00
|
|
|
|
2018-06-21 01:05:11 +02:00
|
|
|
{generate_api_arguments_table|zulip.yaml|/events:get}
|
2018-01-20 22:03:05 +01:00
|
|
|
|
2020-06-18 15:35:25 +02:00
|
|
|
**Note**: The parameters documented above are optional in the sense that
|
2018-01-20 22:03:05 +01:00
|
|
|
even if you haven't registered a queue by explicitly requesting the
|
2020-06-18 15:35:25 +02:00
|
|
|
`{{ api_url}}/v1/register` endpoint, you could pass the parameters for
|
2018-01-20 22:03:05 +01:00
|
|
|
[the `{{ api_url}}/v1/register` endpoint](/api/register-queue) to this
|
|
|
|
endpoint and a queue would be registered in the absence of a `queue_id`.
|
|
|
|
|
2018-01-04 00:07:26 +01:00
|
|
|
## Response
|
|
|
|
|
|
|
|
#### Return values
|
|
|
|
|
2020-05-20 11:57:57 +02:00
|
|
|
{generate_return_values_table|zulip.yaml|/events:get}
|
2018-01-04 00:07:26 +01:00
|
|
|
|
|
|
|
#### Example response
|
|
|
|
|
|
|
|
A typical successful JSON response may look like:
|
|
|
|
|
2018-06-21 01:05:11 +02:00
|
|
|
{generate_code_example|/events:get|fixture(200)}
|
2018-06-01 21:41:50 +02:00
|
|
|
|
|
|
|
#### BAD_EVENT_QUEUE_ID errors
|
|
|
|
|
|
|
|
If the target event queue has been garbage collected, you'll get the
|
|
|
|
following error response:
|
|
|
|
|
2018-06-21 01:05:11 +02:00
|
|
|
{generate_code_example|/events:get|fixture(400)}
|
2018-06-01 21:41:50 +02:00
|
|
|
|
|
|
|
A compliant client will handle this error by re-initializing itself
|
2021-05-14 00:16:30 +02:00
|
|
|
(e.g. a Zulip web app browser window will reload in this case).
|
2018-06-01 21:41:50 +02:00
|
|
|
|
2018-06-21 01:04:42 +02:00
|
|
|
See [the /register endpoint docs](/api/register-queue) for details on how to
|
|
|
|
handle these correctly.
|