View on GitHub

ickstream-docs

Public documentation about the ickStream Music Platform

Principles

All items returned from findItems and getItem methods have a type, depending on the type different structures are provided in the itemAttributes structure.

To be able to handle protocol changes in the future a controller must be able to handle new type values but it can for unknown type values either ignore the itemAttributes structure or just use the generic parameters which are available on all type of items.

Below follows the currently defined type values.

Item attributes

Mandatory attributes (for all type of items)

Generally, the only mandatory model attribute to provide is “id” and “name” the other attributes might not exist so a controller need to handle the situation when they don’t exist.

artist

Represents an artist or band who is performing, composing or conducting the music.

For an item of type=artist the following attributes may exist in itemAttributes structure

 "musicbrainz": "29762c82-bb92-4acd-b1fb-09cc4da250d2",
     "spotify": "spotify:artist:2yzxX2DI9LFK8VFTyW2zZ8"

album

For an item of type=album the following attributes may exist in itemAttributes structure

 "musicbrainz": "7896d321-3b81-3b8b-8e6c-2b3ee8474a3d",
     "spotify": "spotify:album:6aDSlt7I0dFRtJ8gxR9Gh7"

playlist

For an item of type=playlist the following attributes may exist in itemAttributes structure

"spotify": "spotify:someuser:playlist:1JxzRVqYhAF9UsM2q04UC8"

track

Represents a track with a fixed duration.

For an item of type=track the following attributes may exist in itemAttributes structure

 "musicbrainz": "8142b073-82ed-402a-9e75-8ad8ee04ffe6",
     "spotify": "spotify:track:1JCWSZIHhXyw24LV5YpZ54"

stream

Represents a stream of music which will continuously play, typically a radio station.

For an item of type=stream the following attributes may exist in itemAttributes structure

 "musicbrainz": "8142b073-82ed-402a-9e75-8ad8ee04ffe6",
     "spotify": "spotify:track:1JCWSZIHhXyw24LV5YpZ54"

category

For an item of type=category the following attributes may exist in itemAttributes structure

 "discogs_genre": "Rock",
     "lastfm_tag": "rock"

friend

For an item of type=friend the following attributes may exist in itemAttributes structure

Represents a generic textual item, typically used for menus defined by the content service.

For an item of type=menu the following attributes may exist in itemAttributes structure