View on GitHub

ickstream-docs

Public documentation about the ickStream Music Platform

Add or update a track in the cloud library

The number of typical usage scenarios are:

Request:

{
    "jsonrpc": 2.0,
    "id": < A unique number used to correlate requests with responses, see JSON-RPC specification for more information >,
    "method": "saveTrack",
    "params": {
        "occurrenceTimestamp": <Optional, the time when the track was modified>,
        "loved": <true if the track is loved, false to remove a previously set love indication,
                  if not specified the previously set love indication will be kept>
        "banned": <true if the track is banned, false to remove a previously set ban indication,
                   if not specified the previously set ban indication will be kept>
        "rating": <Optional, an integer between 0-100,
                   0 is used to remove a previously set rating,
                   1-100 is used to set the rating, if not specified the previously set rating wil be kept>
        "tags": [ <An array of strings representing the tags which should be attached to the track,
                   if not specifed the previously set tags will be kept>
            ...
        ],
        "tagsToAdd": [ <An array of string representing the tags that should be added on top of
                        previously set tags, this attribute will never remove any previously set tags>
            ...
        ],
        "tagsToRemove": [ <An array of string representing the tags that should be removed from the
                           previously set tags, this attribute will never add any new tags and it
                           won't fail if a tag that isn't previously set is specified>
            ...
        ],
        "track": {
            "id": < Globally unique track identity, for example soundcloud:track:somenicetrack >,
            "type": < Type of item, one of [track|stream] >,
            "text": < Text representation of this track >,
            "sortText": < Optional, if specified it represents the appropriate sorting order >,
            "image": < Optional, URL to an image which represent this item >
            "streamingRefs": [
                {
                    "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 >
                }
                ...
            ]
            "itemAttributes": {
                < Model attibute identity >: < Model attribute value >
            }
        }
    }
}

Response:

{
    "jsonrpc": 2.0,
    "id": < The request identity >,
    "result": <true if the reporting succeeds, else false >
}

Specific information:

Category:Library Management Protocol