Skip to content

Sequence Events Feed

cavalle edited this page Dec 4, 2012 · 31 revisions

Introduction

In order to track changes in resources, a client of the Sequence API can use the events feed.

Each event in the feed represents something relevant that happened on a specified resource at specified time.

Currently, entries in the feed are generated for three types of events per resource:

  • The creation of the resource.
  • The modification of any attribute or link of the resource.
  • The deletion of the resource.

This is an example of the XML representation of the event feed:

<events type="array">
  <event>
    <id type="integer">40393</id>
    <event-type>job_created</event-type>
    <timestamp type="datetime">2012-12-03T09:35:37+00:00</timestamp>
    <link href="https://sequence/api/work_areas/85/jobs/97185" rel="subject"/>
  </event>
  <event>
    <id type="integer">40397</id>
    <event-type>asset_updated</event-type>
    <changes>status,name</changes>
    <timestamp type="datetime">2012-12-03T09:35:39+00:00</timestamp>
    <link href="https://sequence/api/work_areas/85/jobs/97185/assets/467237" rel="subject"/>
  </event>
  <event>
    <id type="integer">40401</id>
    <event-type>task_destroyed</event-type>
    <timestamp type="datetime">2012-12-04T14:46:55+00:00</timestamp>
    <link href="https://sequence/api/work_areas/85/jobs/97144/tasks/3030" rel="subject"/>
  </event>
</events>

Available attributes:

Event ID (id)

Integer: Read only

The identifier of the event. Events are presented sorted by id and can be filtered with the newer_than parameter (see below). Clients may want to store the id of the last processed event so that they don't process twice the same event.

Event Type (event-type)

String: Read only

The type of the event. The list of supported events is specified below. The format of the event-type is as follows:

{{resource_type}}_{{operation}}

Currently, there are three possible operations:

  • created. For the creation of the resource.
  • updated. For the modification of any attribute or link of the resource.
  • deleted. For the deletion of the resource.

Changes (event-type)

Comma-separated string: Read only

The list of attributes and links that changed. This attribute is only present if the event-type is an _update. This list refers to the names of the changed attributes and to the "rels" of the links that have changed. To know what are the new values for those attributes or links, you'll have to follow the subject link.

Timestamp (timestamp)

Datetime: Read only

The date and time when the event occurred.

Available links:

Subject (subject)

The resource that was created, updated or deleted.

GETting the event feed

The event feed is linked from the root of the Sequence API:

$ curl --digest -u api_user http://sequence/api
<?xml version='1.0' encoding='utf-8' ?>
<sequence>
  <!-- ... -->
  <link href="http://sequence.local/api/events" rel="events"/>
</sequence>

Following the events link you'll get the event feed:

$ curl --digest -u api_user http://sequence/api/events
<?xml version='1.0' encoding='utf-8' ?>
<events type="array">
  <!-- ... -->
</events>
Clone this wiki locally