View on GitHub

ickstream-docs

Public documentation about the ickStream Music Platform

The findItems command will return items with in a specified context.

Request:

{
    "jsonrpc": 2.0,
    "id": < A unique number used to correlate requests with responses, see JSON-RPC specification for more information >,
    "method": "findItems",
    "params": {
        "offset": <Optional, numeric index of first item to retrieve >
        "count": <Optional, number of items to retrieve >
        "contextId": < Optional, restrict result to specified context >
        "language": <Optional, language which is preferred, if not specified the default language will be used>
        ...
    }
}

Some important things to notice:

If artist objects are available, the Controller should be able to request them with:

"params": {
    "contextId": "myMusic",
    "type": "artist"
}

The same should also work for other “type” value supported by the content service.

For more information about exactly what additional parameters the findItems method support for a specific content service, see the getProtocolDescription2 method.

Response:

{
    "jsonrpc": 2.0,
    "id": < The request identity >,
    "result": {
        "offset": <numeric index of the first item which is part of this response,
                           this is set based on the "offset" parameter provided in the request >
        "count": < number of items in this response, if "count" has been specified in request
                           it is the maximum value of this item >,
        "countAll": <Optional, total number of items available within the specified "context">,
        "lastChanged": <Optional, UTC time in seconds that indicates when this data
                                        was last changed, this can be used to detect if local cache needs to be refreshed. If this attribute is not
                                        specified the data should not be cached>
        "items": [
            {
                "id": < Unique identity for this item within the ickStream concept >,
                "text": < Textual representation of this item >,
                "sortText": < Optional, if specified it represents the appropriate sorting order >,
                "type": < Type of item >,
                            "preferredChildItems": [ < Optional, list of item types that are most suitable to offer a method to access based on this item. Deprecated, replaced with preferredChildRequest in API version 2.0 and later >
                            ]
                "preferredChildRequest": <Optional, reference to request identity in getProtocolDescription2 method. Introduced in API version 2.0 >
                "streamingRefs": [ < Optional, streaming references for this item,
                                                     can be a single track or a continuous stream >
                    {
                        "format": < format of stream, for example "mp3" >,
                        "intermediate": <Optional, true if pointed to a redirected stream >,
                        "sampleRate": <Optional, sample rate, for example 44100 >,
                        "sampleSize": <Optional, sample size, for example 16 >,
                        "channels": <Optional, number of channels, for example 2 >,
                        "streamFormatInformation": <Optional, additional format information about the
                                                    stream, for example aac container type >
                        "url": < Url of this streaming reference >
                    },
                    ...
                ],
                "image": < Optional, URL to an image which represent this item >,
                "itemAttributes": {
                    < Model attribute identity >: <Model attribute value>
                    ...
                },
                "tracks": { < Optional, parameters to use in findItems method to retrieve
                                              all track objects below this object
                    ...
                },
            },
            ...
        ]
    }
}

Some important things to notice:

"streamingRefs": [
    {
        "url": "http://example.org/track.flac",
        "format": "audio/flac"
    },
    {
        "url": "http://example.org/track.mp3",
        "format": "audio/mpeg"
    }
}

Category:Content Access Protocol