Workflow

This workflow is optimised to help move metatdata and audio to a 3rd party platform.

Methods will return a list of albums that have had recent metadata changes or new tracks from the Original Publisher.


Primary workflow for new albums is as follows:

Process 1: Save "never copied" albums to the workspace

  1. Call getalbumsbyworkspacestatus with status=“NeverCopied” and notcontainstags=”Copied to {accountname} – mp3”
  2. Call getmanagementuserdownload for each album you want to save to the workspace

Process 2:Get workspace items and copy to {accountname} 

  1. Call getalbumsbyworkspacestatus with status=“InWorkspace” and notcontainstags=”Copied to {accountname} – mp3”
  2. Call getworkspacealbumtracks for each album and either download or copy to your S3
  3. Call setalbumtag tag =”Copied to {accountname} – mp3”

 

Checking for metadata changes on albums you have already downloaded:

Process 1: Re-save albums to the workspaceWorkspace items have old metadata

  1. Call getalbumsbyworkspacestatus with status=“MetadataChanged” and containstags =”Copied to {accountname} – mp3”
  2. Call removealbumtag tag =”Copied to {accountname} – mp3”
  3. Call getmanagementuserdownload for each album you want to re-save to the workspace

Process 2:Get workspace items and copy to {accountname} 

  1. Call getalbumsbyworkspacestatus with status=“InWorkspace” and notcontainstags=”Copied to {accountname} – mp3”
  2. Call getworkspacealbumtracks for each album and either download or copy to your S3
  3. Call setalbumtag tag =”Copied to {accountname} – mp3”

 

Checking for albums that you didn't pick up in time:

Process 1: Re-save albums to the workspace, items you didnt pick up in time

  1. Call getalbumsbyworkspacestatus with status=“PreviouslyCopied” and notcontainstags=”Copied to {accountname} – mp3”
  2. Call getmanagementuserdownload for each album you want to save to the workspace

Process 2:Get workspace items and copy to {accountname} 

  1. Call getalbumsbyworkspacestatus with status=“InWorkspace” and notcontainstags=”Copied to {accountname} – mp3”
  2. Call getworkspacealbumtracks for each album and either download or copy to your S3
  3. Call setalbumtag tag =”Copied to {accountname} – mp3”

 

  

METHOD

REQUEST

RESPONSE

POST setalbumtag/{serviceToken}

Sets a tag on an album.

<requestalbumtag>
  <albumid>String</albumid>
  <tag>String</tag>
</requestalbumtag>

 

<responsecode>
  <code>String</code>
  <error>
    <code>String</code>
    <description>String</description>
  </error>
</responsecode>

POST removealbumtag/{serviceToken}

Removes a tag from an album.

<requestalbumtag>
  <albumid>String</albumid>
  <tag>String</tag>
</requestalbumtag>

 

<responsecode>
 <code>String</code>
 <error>
   <code>String</code>
   <description>String</description>
 </error>
</responsecode>

GET getworkspacealbumtracks/
{serviceToken}/
{albumID}/{format}

Accepts album ID and format. Returns album details and all tracks (and other assets) for the album that exist in s3, including bucket and key for each.

Use gettracks to get the track metadata.

 

<responseworkspacealbum>
  <workspacealbums>
    <workspacealbum code="String"
format="String" formatname="String" name="String"
displaytitle="String" libraryid="String" tags="String"
status="String">
      <workspacealbumitems>
        <workspacealbumitem itemtype="String"
tracknumber="String" name="String" filename="String" filesize="2147483647" bucket="String" key="String" />
      </workspacealbumitems >
    </workspacealbum>
  </workspacealbums>
  <error>
    <code>String</code>
    <description>String</description>
  </error>
</responseworkspacealbum>

POST getmanagementuserdownload/
{serviceToken}

Accepts the request object "requestmanagementuserdownload" which has the following fields on note:

  • "managementusertoken" 
    (see GET getmanagementusertoken)
  • "sendtoworkspace" 
    (set this to true for workspace downloads)
  • downloadytpe is always "album"
  • "identifier" is the AlbumID
  • "format" is the FileFormatID

Example body for this request object, used in testing:

<requestmanagementuserdownload> <managementusertoken>d10000714980959
</managementusertoken>
<downloadtype>album</downloadtype>
<identifier>bd00000000000049</identifier>
<format>0c00000000000021</format>
<sendtoworkspace>true</sendtoworkspace>
</ requestmanagementuserdownload >

 

<responsedownload>
  <requestsent>true</requestsent>
  <downloadtoken>String</downloadtoken>
  <error>
    <code>String</code>
    <description>String</description>
  </error>
</responsedownload>

 

POST getalbumsbyworkspacestatus/
{serviceToken}

Lists albums based on library, format, workspace status and tag filters (contains and not contains)

“Workspace status” can be one of these enum values: 

  • "NeverCopied" - either never requested or hasn't successfully transferred to workspace (i.e. was requested but failed)
  • "InWorkspace" - currently available in workspace
  • "MetadataChanged" - metadata has changed on the album since it was last copied to workspace
  • "PreviouslyCopied" - has previously been transferred to workspace


“Containstags” can be a comma separated list of tags that ALL must be contained in the album's tags for the album to be returned in search results.

If nothing is specified, search results won't be filtered by containstags and will return results based on the other parameters in the request (i.e. library, format, workspace status etc)

“notcontainstags” can be a comma separated list of tags that ALL must NOT be contained in the album's tags for the album to be returned in the search results. If nothing is specified, this filter is ignored
as per above

 

Use getlibraries to get the "libraryid"

Use getserviceinfo to get the desired "format"

Here's an example (will return all albums for the specified library and format which are available in the workspace and have not been tagged with "Downloaded"):


< requestalbumsbyworkspacestatus >
 <libraryid>95000000e1</libraryid>
 <format>0cd000000621</format>
 <workspacestatus>InWorkspace
 </workspacestatus>
 <containstags></containstags>
 <notcontainstags>Downloaded</notcontainstags>
</ requestalbumsbyworkspacestatus >

Same response as getAlbums

 

GET getmanagementusertoken/
{serviceToken}/
{username}/{password}      

Using credentials setup in the Admin, authenticate an user to get a management user token.      

 

<responseservicetoken>
  <token value="String content"
expiry="1999-05-31T11:20:00" utcoffset="0" /> 
<error>
    <code>String</code>
    <description>String</description>
  </error>
</responseservicetoken>

 

 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Article is closed for comments.