23 December 2009 - Extended GetStatus action

Simple mode

<?xml version="1.0"?>
<response>
    <id>[MediaID]</id>
    <userid><<id>></userid>
    <sourcefile>[SourceFile]</sourcefile>
    <status>[MediaStatus]</status>
    <notifyurl>[NotifyURL]</notifyurl>
    <created>[Date]</created>
    <started>[Date]</started>
    <finished>[Date]</finished>
    <prevstatus>[MediaStatus]</prevstatus>
    <downloaded>[Date]</downloaded>
    <uploaded>[Date]</uploaded>
    <time_left>[TotalTimeLeft]</time_left>
    <progress>[TotalProgress]</progress>
    <time_left_current>[StatusTimeLeft]</time_left_current>
    <progress_current>[StatusProgress]</progress_current>   
    <format>
        <id>[ID]</id>
        <status>[Status]</status>
        <created>[Date]</created>
        <started>[Date]</started>
        <finished>[Date]</finished>
        <!-- Format fields -->
        <s3_destination>[TempS3Link]</s3_destination> <!-- optional -->
        <cf_destination>[TempCFLink]</cf_destination> <!-- optional -->
    </format>
    <format>
        <!-- ... -->
    </format>
</response>
{
    "response": {
        "id": "[MediaID]",
        "userid": "<<id>>",
        "sourcefile": "[SourceFile]",
        "status": "[MediaStatus]",
        "notifyurl": "[NotifyURL]",
        "created": "[Date]",
        "started": "[Date]",
        "finished": "[Date]",
        "prevstatus": "[MediaStatus]",
        "downloaded": "[Date]",
        "uploaded": "[Date]",
        "time_left": "[TotalTimeLeft]",
        "progress": "[TotalProgress]",
        "time_left_current": "[StatusTimeLeft]",
        "progress_current": "[StatusProgress]",
        "format": [
            {
                "id": "[ID]",
                "status": "[Status]",
                "created": "[Date]",
                "started": "[Date]",
                "finished": "[Date]",
                "s3_destination": "[TempS3Link]",
                "cf_destination": "[TempCFLink]"
            }
        ]
    }
}

Where Date is of the format: YYYY-MM-DD HH:MM:SS 

FormatFields is a set of fields corresponding to section of an user's API request

TotalTimeLeft is an estimated time until the media processing would be finished

StatusTimeLeft is an estimated time left for the media's current status

TotalProgress is an estimated progress for entire media processing (in percent)

StatusProgress is an estimated progress for the media's current status (in percent)

TempS3Link S3 URL of the encoded file, if the was empty and result put to S3

TempCFLink CDN URL of the encoded file, if the was empty and result put to Rackspace CloudFiles

 

MediaStatus can take the following values: 'New', 'Downloading', 'Ready to process', 'Waiting for encoder', 'Processing', 'Saving', 'Finished', 'Error'.

 

Status can take the following values: 'New', 'Waiting for encoder', 'Processing', 'Saving', 'Finished', 'Error'.

 

Extended (batch) mode

to request the status of several medias in one request:

 

Request:

<?xml version="1.0"?>
<query>
     <userid><<id>></userid>
     <userkey><<key>></userkey>
     <action>GetStatus</action>
     <extended>yes</extended>
     <mediaid>[CommaSeparatedList]</mediaid>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "GetStatus",
        "extended": "yes",
        "mediaid": "[CommaSeparatedList]"
    }
}

Response:

<response>
     <job>
         <id>[MediaID]</id>
         <userid><<id>></userid>
         <sourcefile>[SourceFile]</sourcefile>
         <status>[MediaStatus]</status>
         <notifyurl>[NotifyURL]</notifyurl>
         <created>[Date]</created>
         <started>[Date]</started>
         <finished>[Date]</finished>
         <prevstatus>[MediaStatus]</prevstatus>
         <downloaded>[Date]</downloaded>
         <filesize>[FileSize]</filesize>
         <processor>[AMAZON | RACKSPACE]</processor>
         <progress>[TotalProgress]</progress>
         <time_left>[TotalTimeLeft]</time_left>
         <format>
             <id>[ID]</id>
             <status>[Status]</status>
             <created>[Date]</created>
             <started>[Date]</started>
             <finished>[Date]</finished>
             <s3_destination>[TempS3Link]</s3_destination> <!-- optional -->
             <cf_destination>[TempCFLink]</cf_destination> <!-- optional -->
             <convertedsize>[FileSize]</convertedsize>
             <time_left>[TotalTimeLeft]</time_left>
             <progress>[TotalProgress]</progress>
             <time_left_current>[StatusTimeLeft]</time_left_current>
             <progress_current>[StatusPorgress]</progress_current>
             <file_size>[FileSize]</file_size>
         </format>
         <format>
             <!-- ... -->
         </format>
     </job>
     <job>
         <!-- ... -->
     </job>
     <!-- ... -->
</response>
{
    "response": {
        "job": [
            {
                "id": "[MediaID]",
                "userid": "<<id>>",
                "sourcefile": "[SourceFile]",
                "status": "[MediaStatus]",
                "notifyurl": "[NotifyURL]",
                "created": "[Date]",
                "started": "[Date]",
                "finished": "[Date]",
                "prevstatus": "[MediaStatus]",
                "downloaded": "[Date]",
                "filesize": "[FileSize]",
                "processor": "[AMAZON | RACKSPACE]",
                "progress": "[TotalProgress]",
                "time_left": "[TotalTimeLeft]",
                "format": [
                    {
                        "id": "[ID]",
                        "status": "[Status]",
                        "created": "[Date]",
                        "started": "[Date]",
                        "finished": "[Date]",
                        "s3_destination": "[TempS3Link]",
                        "cf_destination": "[TempCFLink]",
                        "convertedsize": "[FileSize]",
                        "time_left": "[TotalTimeLeft]",
                        "progress": "[TotalProgress]",
                        "time_left_current": "[StatusTimeLeft]",
                        "progress_current": "[StatusPorgress]",
                        "file_size": "[FileSize]"
                    }
                ]
            }
        ]
    }
}