ID: 1766

Zoom Web API

List of Zoom Web APIs with Parameter Explanations and Examples

The Zoom Web APIs allow web services or web clients to access the DAM and Workflow functions easily. Except for the UI Launcher and metadata API, all the other APIs are remote APIs and do not require a local working copy.

These APIs are invoked on the Zoom Web Administration server. Default TCP port: 8443. Role needed to execute these APIS: Project Admin or Super Admin unless otherwise stated.

Form request data refers to the Http Form data that must be send either as a URL-encoded query parameter or in a POST.

Below is a list of a few our web administration APIs. Please refer to the Zoom Web Administration Reference guide for an exhaustive list of the APIs on our support site.

Description:

Get the current logged in user’s profile.

Role required:

Any authenticated user can access their profile

Request URL:

http://zoom-server-address:8443/jsp/login/getuser.jsp?fullprofile=true|false

Sample Response JSON:

{

“success”: true,

“username”: “rahul”,

“firstname”: “Rahul”,

“lastname”: “Bhargava”,

“email”: “rahul@evolphin.com”,

“fullname”: “Rahul Bhargava”,

“rate”: 0,

“projectlist”: “Project With Jobs, Shared-Project, Perich, Job 7.2, FAAC, Job 7.1 Retail Chain Ad, Job 8.1, defproj”,

“password”: “rahul”,

“note”: “”,

“allowProfileEdit”: true

}

GET USER ACCOUNT LIST

Description:

List all user profiles. Some filtering can be done through the control of request parameters, such as getting users starting from a specific list index, limiting the number of users in the response, and, getting only those users whose usernames start with the specified letters.

Request URL:

http://zoom-server-address:8443/jsp/users/usr-json.jsp

Form Request Data

start: <index in user table>

limit: <number of users to return>

query: <prefix string – to get only those users whose usernames start with the given prefix string, if any>

onlyName: <true – if only user name fields requested: displayname, username, lastname, firstname>

Sample Response JSON:

{

    “success”: true,

    “nentries”: “12”,

    “entries”: [

        {

            “username”: “gary”,

            “lastname”: “Harr”,

            “firstname”: “Gary”,

            “email”: “”,

            “password”: “gary.harr982″,

            “note”: “”,

            “rate”: “0”

        },

        {

            “username”: “min”,

            “lastname”: “Min”,

            “firstname”: “Min”,

            “email”: “”,

            “password”: “min”,

            “note”: “”,

            “rate”: “0”

        },

    ……………..

}

Description:

Add a new user or edit the user’s profile of the specified user

Request URL:

Add user:
http://zoom-server-address:8443/jsp/users/modifyuserform.jsp
Edit user:
http://zoom-server-address:8443/jsp/users/modifyuserform.jsp?edit=true&username=<user id>

Form Request Data:

lastname:Cathy

firstname:Batee

password:cathy

cpassword:cathy

email:batee.cathy@evolphin.com

rate:0

note:

Sample Response JSON:

{

“success”: “true”,

“info”: “User account updated!”

}

Description:

Delete the user accounts for the specified list of usernames. The response contains the list of user accounts, after the deletion has been performed. The request parameters for getting the user account list can be specified additionally, to control the response user list, as described above.

Request URL:

http://zoom-server-address:8443/jsp/users/usr-json.jsp

Form Request Data

delData: <list of usernames to be deleted, if any>

Description:

List roles already setup in the Zoom server for managing permissions

Request URL:

http://zoom-server-address:8443/jsp/security/rolelist-json.jsp

Sample Response JSON:

[

{
id: "developerdesigner",
project: "*",
note: "Developer / Designer",
perm: "CONTRIBUTE",
uiProvider: "col",
iconCls: "icon-role-list",
qtip: "Can read all project items and add new items",
projEditable: true

},

{

id: "webapprover",
project: "*",
note: "Zoom Default Web Approver",
perm: "REVIEW",
uiProvider: "col",
iconCls: "icon-role-wa",
qtip: "Can read those project items that have been marked for review",
projEditable: true

},

{
id: "reader",
project: "*",
note: "Reader",
perm: "READ",
uiProvider: "col",
iconCls: "icon-role-list",
qtip: "Can read all project items",
projEditable: true

},

{

id: "projectadmin",
project: "*",
note: "Project Admin",
perm: "EDIT_ALL",
uiProvider: "col",
iconCls: "icon-role-list",
qtip: "Can read/write/delete all items",
projEditable: true
},
...
]

The Zoom Find API allows you to search assets and read metadata from assets inside the Zoom repository. You can search the repository based on a variety of different search parameters. It is required to provide at least 1 search criteria – either filename, changeset, or metadata criteria.

Form request data refers to the Http Form data that must be send either as a URL encoded query parameter or in a POST.

The command request supports the following main search criteria:

 
Name Description
allMatchedRevisions Boolean flag. Set to “true” to send all matching revisions of an asset.
limit Integer representing the limit on number of returned results (total revisions of files + dirs)
fileName Asset name e.g. “*.jpg”. The name need not be the current name and would be matched throughout the history.
rrnCriteria Changeset criteria such as author, comment, time, and rrn (Repository Revision Number)
metadata Asset metadata in the form of metadata name and its value to be searched for.
searchPaths Narrow the range of search to assets within these paths. A search path may be in the form of either a project, or, a branch, or, an absolute path, or, any combination of these three. The absolute path must lie within the specified project. If no search paths are provided then it will search inside all user accessible projects. Only users in super-admin role will be able to search an entire branch or non-project paths.

 

Please note the response JSON doesn’t directly return the fully qualified file paths. Check in the doc here to check how you can obtain the full paths from the Asset ID  (FUID) values.

 

Given below are some samples that will help you see how to construct the request queries, and interpret the responses.

Description:
Find all of the assets in Zoom that are InDesign files.

Request URL:
http://zm.server:8443/command?zm_username=joe&zm_password=joe&data={clientVersion:%22ZoomClient/5.2-b8852%22,cmd:%22find%22,fileName:%22*.indd%22}

Sample JSON Request:

data: {

clientVersion: “ZoomClient/5.2-b8852″,

cmd: “find”,

fileName: “*.indd”

}

Sample JSON response:

{

  “branchMap”: {

    “nentries”: 1,

    “entries”: [

      {

        "id": 1,

        "name": "head"

      }

    ]

  },

  “files”: {

    “nentries”: 7,

    “entries”: [

      {

        “pFuid”: 7,

        “rev”: {

          “nentries”: 1,

          “entries”: [

            {

              “action”: “Added”,

              “rrn”: 27,

              “len”: 2899968,

              “frn”: 1,

              “metadata”: {

                “nentries”: 5,

                “entries”: [

                  {

                    "val": "1378958400000",

                    "id": 1

                  },

                  {

                    "val": "application/x-indesign",

                    "id": 2

                  },

                  {

                    "val": "Adobe InDesign CC (Macintosh)",

                    "id": 3

                  },

                  {

                    "val": "1379995200000",

                    "id": 4

                  },

                  {

                    "val": "1379995200000",

                    "id": 5

                  }

                ]

              }

            }

          ]

        },

        “fuid”: 24,

        “bid”: 1,

        “name”: “What is Electricity.indd”

      },

      {

        “pFuid”: 15,

        “rev”: {

          “nentries”: 1,

          “entries”: [

            {

              “action”: “Added”,

              “rrn”: 26,

              “len”: 2433024,

              “frn”: 1,

              “metadata”: {

                “nentries”: 5,

                “entries”: [

                  {

                    "val": "1377748800000",

                    "id": 1

                  },

                  {

                    "val": "application/x-indesign",

                    "id": 2

                  },

                  {

                    "val": "Adobe InDesign CC (Macintosh)",

                    "id": 3

                  },

                  {

                    "val": "1378094400000",

                    "id": 4

                  },

                  {

                    "val": "1378094400000",

                    "id": 5

                  }

                ]

              }

            }

          ]

        },

        “fuid”: 17,

        “bid”: 1,

        “name”: “EditorsNote_v.indd”

      },

      {

        “pFuid”: 15,

        “rev”: {

          “nentries”: 1,

          “entries”: [

            {

              “action”: “Added”,

              “rrn”: 26,

              “len”: 2428928,

              “frn”: 1,

              “metadata”: {

                “nentries”: 5,

                “entries”: [

                  {

                    "val": "1377748800000",

                    "id": 1

                  },

                  {

                    "val": "application/x-indesign",

                    "id": 2

                  },

                  {

                    "val": "Adobe InDesign CC (Macintosh)",

                    "id": 3

                  },

                  {

                    "val": "1378094400000",

                    "id": 4

                  },

                  {

                    "val": "1378094400000",

                    "id": 5

                  }

                ]

              }

            }

          ]

        },

        “fuid”: 16,

        “bid”: 1,

        “name”: “EditorsNote_h.indd”

      },

      {

        “pFuid”: 5,

        “rev”: {

          “nentries”: 1,

          “entries”: [

            {

              “action”: “Added”,

              “rrn”: 26,

              “len”: 2433024,

              “frn”: 1,

              “metadata”: {

                “nentries”: 5,

                “entries”: [

                  {

                    "val": "1377748800000",

                    "id": 1

                  },

                  {

                    "val": "application/x-indesign",

                    "id": 2

                  },

                  {

                    "val": "Adobe InDesign CC (Macintosh)",

                    "id": 3

                  },

                  {

                    "val": "1377835200000",

                    "id": 4

                  },

                  {

                    "val": "1377835200000",

                    "id": 5

                  }

                ]

              }

            }

          ]

        },

        “fuid”: 9,

        “bid”: 1,

        “name”: “03_EditorsNote_v.indd”

      },

      {

        “pFuid”: 5,

        “rev”: {

          “nentries”: 1,

          “entries”: [

            {

              “action”: “Added”,

              “rrn”: 26,

              “len”: 3575808,

              “frn”: 1,

              “metadata”: {

                “nentries”: 5,

                “entries”: [

                  {

                    "val": "1378958400000",

                    "id": 1

                  },

                  {

                    "val": "application/x-indesign",

                    "id": 2

                  },

                  {

                    "val": "Adobe InDesign CC (Macintosh)",

                    "id": 3

                  },

                  {

                    "val": "1378958400000",

                    "id": 4

                  },

                  {

                    "val": "1378958400000",

                    "id": 5

                  }

                ]

              }

            }

          ]

        },

        “fuid”: 10,

        “bid”: 1,

        “name”: “Chapter_Layout.indd”

      },

      {

        “pFuid”: 12,

        “rev”: {

          “nentries”: 1,

          “entries”: [

            {

              “action”: “Added”,

              “rrn”: 26,

              “len”: 1507328,

              “frn”: 1,

              “metadata”: {

                “nentries”: 5,

                “entries”: [

                  {

                    "val": "1377748800000",

                    "id": 1

                  },

                  {

                    "val": "application/x-indesign",

                    "id": 2

                  },

                  {

                    "val": "Adobe InDesign CC (Macintosh)",

                    "id": 3

                  },

                  {

                    "val": "1378094400000",

                    "id": 4

                  },

                  {

                    "val": "1378094400000",

                    "id": 5

                  }

                ]

              }

            }

          ]

        },

        “fuid”: 13,

        “bid”: 1,

        “name”: “00_Cover_h.indd”

      },

      {

        “pFuid”: 12,

        “rev”: {

          “nentries”: 1,

          “entries”: [

            {

              “action”: “Added”,

              “rrn”: 26,

              “len”: 1507328,

              “frn”: 1,

              “metadata”: {

                “nentries”: 5,

                “entries”: [

                  {

                    "val": "1377748800000",

                    "id": 1

                  },

                  {

                    "val": "application/x-indesign",

                    "id": 2

                  },

                  {

                    "val": "Adobe InDesign CC (Macintosh)",

                    "id": 3

                  },

                  {

                    "val": "1378094400000",

                    "id": 4

                  },

                  {

                    "val": "1378094400000",

                    "id": 5

                  }

                ]

              }

            }

          ]

        },

        “fuid”: 14,

        “bid”: 1,

        “name”: “00_Cover_v.indd”

      }

    ]

  },

  “changesetEntries”: {

    “nentries”: 2,

    “entries”: [

      {

        "comment": " ",

        "mtime": 1380724505454,

        "author": "ben",

        "rrn": 27

      },

      {

        "comment": " ",

        "mtime": 1380724490286,

        "author": "ben",

        "rrn": 26

      }

    ]

  },

  “metadataNameMap”: {

    “nentries”: 5,

    “entries”: [

      {

        "id": 1,

        "name": "FIPR_Date Created"

      },

      {

        "id": 2,

        "name": "FIPR_Document Format"

      },

      {

        "id": 3,

        "name": "FIPR_Application"

      },

      {

        "id": 4,

        "name": "FIPR_Metadata Date "

      },

      {

        "id": 5,

        "name": "FIPR_Date Modified"

      }

    ]

  },

  “numMatches”: 7,

  “dirs”: {

    “nentries”: 6,

    “entries”: [

      {

        "pFuid": 2,

        "bid": 1,

        "name": "Adobe PDF",

        "fuid": 7

      },

      {

        "pFuid": 0,

        "bid": 1,

        "name": "Demos",

        "fuid": 2

      },

      {

        "pFuid": 11,

        "bid": 1,

        "name": "01-EditorialTemplate",

        "fuid": 15

      },

      {

        "pFuid": 5,

        "bid": 1,

        "name": "DPS-iPad",

        "fuid": 11

      },

      {

        "pFuid": 2,

        "bid": 1,

        "name": "InDesign Demo",

        "fuid": 5

      },

      {

        "pFuid": 11,

        "bid": 1,

        "name": "00-Cover",

        "fuid": 12

      }

    ]

  },

  “success”: true

}

 

Description:
Finds all PDF and InDesign files in the project “Adobe PDF”.

Request URL:
http://zm.server:8443/command?zm_username=joe&zm_password=joe&data={clientVersion:”ZoomClient/4.1-b5835″,cmd:”find”,fileName:”*.((pdf)|(indd))”,searchPaths:{nentries:1,entries:[{project:"Adobe%20PDF"}]}}

Sample JSON Request:

data:

{

clientVersion: “ZoomClient/4.1-b5835″,

cmd: “find”,

fileName: “*.((pdf)|(indd))”,

searchPaths:

{

                              nentries: 1,

entries: [

{

project: "Adobe PDF"

}

]

                }

}

 

Sample JSON Response:

{

“branchMap”: {

“nentries”: 1,

“entries”: [

{

"id": 1,

"name": "head"

}

]

},

“files”: {

“nentries”: 2,

“entries”: [

{

“pFuid”: 7,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Added”,

“rrn”: 27,

“len”: 50143,

“frn”: 1,

“metadata”: {

“nentries”: 7,

“entries”: [

{

"val": "7.25",

"id": 8

},

{

"val": "72.0",

"id": 9

},

{

"val": "522",

"id": 10

},

{

"val": "72.0",

"id": 11

},

{

"val": "9.25",

"id": 12

},

{

"val": "8-bit",

"id": 13

},

{

"val": "666",

"id": 14

}

]

}

}

]

},

“fuid”: 25,

“bid”: 1,

“name”: “What is Electricity.pdf”

},

{

“pFuid”: 7,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Added”,

“rrn”: 27,

“len”: 2899968,

“frn”: 1,

“metadata”: {

“nentries”: 5,

“entries”: [

{

"val": "1378958400000",

"id": 1

},

{

"val": "application/x-indesign",

"id": 2

},

{

"val": "Adobe InDesign CC (Macintosh)",

"id": 3

},

{

"val": "1379995200000",

"id": 4

},

{

"val": "1379995200000",

"id": 5

}

]

}

}

]

},

“fuid”: 24,

“bid”: 1,

“name”: “What is Electricity.indd”

}

]

},

“changesetEntries”: {

“nentries”: 1,

“entries”: [

{

"comment": " ",

"mtime": 1380724505454,

"author": "ben",

"rrn": 27

}

]

},

“metadataNameMap”: {

“nentries”: 12,

“entries”: [

{

"id": 8,

"name": "FIPR_Print Size X"

},

{

"id": 9,

"name": "FIPR_Resolution Y"

},

{

"id": 10,

"name": "FIPR_Image Width"

},

{

"id": 11,

"name": "FIPR_Resolution X"

},

{

"id": 12,

"name": "FIPR_Print Size Y"

},

{

"id": 13,

"name": "FIPR_Color Depth"

},

{

"id": 14,

"name": "FIPR_Image Height"

},

{

"id": 1,

"name": "FIPR_Date Created"

},

{

"id": 2,

"name": "FIPR_Document Format"

},

{

"id": 3,

"name": "FIPR_Application"

},

{

"id": 4,

"name": "FIPR_Metadata Date "

},

{

"id": 5,

"name": "FIPR_Date Modified"

}

]

},

“numMatches”: 2,

“dirs”: {

“nentries”: 2,

“entries”: [

{

"pFuid": 2,

"bid": 1,

"name": "Adobe PDF",

"fuid": 7

},

{

"pFuid": 0,

"bid": 1,

"name": "Demos",

"fuid": 2

}

]

},

“success”: true

}

 

Description:
Search for PDF or InDesign files within specified paths in projects.

Request URL:
http://zm.server:8443/command?zm_username=joe&zm_password=joe&data={clientVersion:”ZoomClient/4.1-b5835″,cmd:”find”,fileName:”*.((pdf)|(indd))”,searchPaths:{nentries:2,entries:%20[{project:"InDesign%20Demo",%20path:"/Demos/InDesign%20Demo/DPS-iPad/00-Cover"},{project:"InDesign%20Demo",path:"/Demos/InDesign%20Demo/DPS-iPad/01-EditorialTemplate"}]}}

Sample JSON Request:

data:

{

clientVersion: “ZoomClient/4.1-b5835″,

cmd: “find”,

fileName: “*.((pdf)|(indd))”,

searchPaths:

{

nentries: 2,

entries:

[

{

project: "InDesign Demo",

path:"/Demos/InDesign Demo/DPS-iPad/00-Cover"

},

{

project: "InDesign Demo",

path:"/Demos/InDesign Demo/DPS-iPad/01-EditorialTemplate"

}

]

}

}

Sample JSON Response:

{

“branchMap”: {

“nentries”: 1,

“entries”: [

{

"id": 1,

"name": "head"

}

]

},

“files”: {

“nentries”: 4,

“entries”: [

{

“pFuid”: 15,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Added”,

“rrn”: 26,

“len”: 2433024,

“frn”: 1,

“metadata”: {

“nentries”: 5,

“entries”: [

{

"val": "1377748800000",

"id": 1

},

{

"val": "application/x-indesign",

"id": 2

},

{

"val": "Adobe InDesign CC (Macintosh)",

"id": 3

},

{

"val": "1378094400000",

"id": 4

},

{

"val": "1378094400000",

"id": 5

}

]

}

}

]

},

“fuid”: 17,

“bid”: 1,

“name”: “EditorsNote_v.indd”

},

{

“pFuid”: 15,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Added”,

“rrn”: 26,

“len”: 2428928,

“frn”: 1,

“metadata”: {

“nentries”: 5,

“entries”: [

{

"val": "1377748800000",

"id": 1

},

{

"val": "application/x-indesign",

"id": 2

},

{

"val": "Adobe InDesign CC (Macintosh)",

"id": 3

},

{

"val": "1378094400000",

"id": 4

},

{

"val": "1378094400000",

"id": 5

}

]

}

}

]

},

“fuid”: 16,

“bid”: 1,

“name”: “EditorsNote_h.indd”

},

{

“pFuid”: 12,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Added”,

“rrn”: 26,

“len”: 1507328,

“frn”: 1,

“metadata”: {

“nentries”: 5,

“entries”: [

{

"val": "1377748800000",

"id": 1

},

{

"val": "application/x-indesign",

"id": 2

},

{

"val": "Adobe InDesign CC (Macintosh)",

"id": 3

},

{

"val": "1378094400000",

"id": 4

},

{

"val": "1378094400000",

"id": 5

}

]

}

}

]

},

“fuid”: 13,

“bid”: 1,

“name”: “00_Cover_h.indd”

},

{

“pFuid”: 12,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Added”,

“rrn”: 26,

“len”: 1507328,

“frn”: 1,

“metadata”: {

“nentries”: 5,

“entries”: [

{

"val": "1377748800000",

"id": 1

},

{

"val": "application/x-indesign",

"id": 2

},

{

"val": "Adobe InDesign CC (Macintosh)",

"id": 3

},

{

"val": "1378094400000",

"id": 4

},

{

"val": "1378094400000",

"id": 5

}

]

}

}

]

},

“fuid”: 14,

“bid”: 1,

“name”: “00_Cover_v.indd”

}

]

},

“changesetEntries”: {

“nentries”: 1,

“entries”: [

{

"comment": " ",

"mtime": 1380724490286,

"author": "ben",

"rrn": 26

}

]

},

“metadataNameMap”: {

“nentries”: 5,

“entries”: [

{

"id": 1,

"name": "FIPR_Date Created"

},

{

"id": 2,

"name": "FIPR_Document Format"

},

{

"id": 3,

"name": "FIPR_Application"

},

{

"id": 4,

"name": "FIPR_Metadata Date "

},

{

"id": 5,

"name": "FIPR_Date Modified"

}

]

},

“numMatches”: 4,

“dirs”: {

“nentries”: 5,

“entries”: [

{

"pFuid": 11,

"bid": 1,

"name": "01-EditorialTemplate",

"fuid": 15

},

{

"pFuid": 5,

"bid": 1,

"name": "DPS-iPad",

"fuid": 11

},

{

"pFuid": 2,

"bid": 1,

"name": "InDesign Demo",

"fuid": 5

},

{

"pFuid": 0,

"bid": 1,

"name": "Demos",

"fuid": 2

},

{

"pFuid": 11,

"bid": 1,

"name": "00-Cover",

"fuid": 12

}

]

},

“success”: true

}

 

Description:
Will return all files that have a width 1920.

Request URL:
http://zm.server:8443/command?zm_username=joe&zm_password=joe&data={clientVersion:%20″ZoomClient/4.1-b5835″,%20cmd:%20″find”,%20fileName:%20″*”,%20searchPaths:%20{%20nentries:%201,%20entries:%20[{project:%20"Media"}]%20},%20metadata:%20{%20nentries:%201,%20entries:%20[{%20name:%20"FIPR_Image%20Width",%20value:%20"1920"%20}%20]%20}%20}

Sample JSON Request:

data:

{

clientVersion: “ZoomClient/4.1-b5835″,

cmd: “find”,

fileName: “*”,

searchPaths:

{

nentries: 1,

entries: [

{

project: "Media"

}

]

 },

metadata:

{

nentries: 1,

entries: [

{

name: "FIPR_Image Width",

value: "1920"

}

]

}

}

Sample JSON Response:

{

“branchMap”: {

“nentries”: 1,

“entries”: [

{

"id": 1,

"name": "head"

}

]

},

“files”: {

“nentries”: 8,

“entries”: [

{

“pFuid”: 38,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Moved”,

“rrn”: 36,

“len”: 17817235,

“frn”: 1,

“metadata”: {

“nentries”: 8,

“entries”: [

{

"val": "26.67",

"id": 8

},

{

"val": "72.0",

"id": 9

},

{

"val": "1920",

"id": 10

},

{

"val": "Chicago",

"id": 56

},

{

"val": "72.0",

"id": 11

},

{

"val": "15.0",

"id": 12

},

{

"val": "8-bit",

"id": 13

},

{

"val": "1080",

"id": 14

}

]

}

}

]

},

“fuid”: 39,

“bid”: 1,

“name”: “Boat and Water.mp4″

},

{

“pFuid”: 33,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Added”,

“rrn”: 32,

“len”: 8662365,

“frn”: 1,

“metadata”: {

“nentries”: 32,

“entries”: [

{

"val": "1345176000000",

"id": 1

},

{

"val": "image/jpeg",

"id": 2

},

{

"val": "1377662400000",

"id": 4

},

{

"val": "1345176000000",

"id": 5

},

{

"val": "72.0",

"id": 8

},

{

"val": "72.0",

"id": 9

},

{

"val": "5184",

"id": 10

},

{

"val": "72.0",

"id": 11

},

{

"val": "48.0",

"id": 12

},

{

"val": "8-bit",

"id": 13

},

{

"val": "3456",

"id": 14

},

{

"val": "499712/65536",

"id": 15

},

{

"val": "Normal Program;Auto exposure",

"id": 17

},

{

"val": "Canon",

"id": 19

},

{

"val": "Normal Process",

"id": 18

},

{

"val": "100",

"id": 21

},

{

"val": "sRGB",

"id": 20

},

{

"val": "1345176000000",

"id": 23

},

{

"val": "inches",

"id": 22

},

{

"val": "47/1",

"id": 25

},

{

"val": "Standard",

"id": 24

},

{

"val": "0",

"id": 27

},

{

"val": "0",

"id": 26

},

{

"val": "Pattern",

"id": 29

},

{

"val": "1345176000000",

"id": 28

},

{

"val": "417792/65536",

"id": 31

},

{

"val": "1/200",

"id": 30

},

{

"val": "Canon EOS 60D",

"id": 32

},

{

"val": "Outside;green;blue;sky;flowers;trees",

"id": 36

},

{

"val": "A beautiful image of flowers with trees in the background. ",

"id": 37

},

{

"val": "Huntley Photography",

"id": 41

},

{

"val": "Blue Flowers with Trees",

"id": 46

}

]

}

}

]

},

“fuid”: 35,

“bid”: 1,

“name”: “Blue Flowers.jpg”

},

{

“pFuid”: 33,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Added”,

“rrn”: 32,

“len”: 350150,

“frn”: 1,

“metadata”: {

“nentries”: 14,

“entries”: [

{

"val": "image/jpeg",

"id": 2

},

{

"val": "1377662400000",

"id": 4

},

{

"val": "flower;blue;orange;pink;technicolor;yellow",

"id": 36

},

{

"val": "Technicolor flower makes you want to sing praises.",

"id": 37

},

{

"val": "26.67",

"id": 8

},

{

"val": "72.0",

"id": 9

},

{

"val": "1920",

"id": 10

},

{

"val": "Joseph Glanz",

"id": 41

},

{

"val": "72.0",

"id": 11

},

{

"val": "Technicolor Flower",

"id": 46

},

{

"val": "15.0",

"id": 12

},

{

"val": "8-bit",

"id": 13

},

{

"val": "1080",

"id": 14

},

{

"val": "uncalibrated",

"id": 20

}

]

}

}

]

},

“fuid”: 36,

“bid”: 1,

“name”: “Technicolor Flowers.jpg”

},

{

“pFuid”: 33,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Added”,

“rrn”: 32,

“len”: 1682805,

“frn”: 1,

“metadata”: {

“nentries”: 40,

“entries”: [

{

"val": "1310443200000",

"id": 1

},

{

"val": "image/jpeg",

"id": 2

},

{

"val": "Picasa",

"id": 3

},

{

"val": "1377662400000",

"id": 4

},

{

"val": "1354597200000",

"id": 5

},

{

"val": "6.92",

"id": 8

},

{

"val": "480.0",

"id": 9

},

{

"val": "3323",

"id": 10

},

{

"val": "480.0",

"id": 11

},

{

"val": "5.67",

"id": 12

},

{

"val": "8-bit",

"id": 13

},

{

"val": "2724",

"id": 14

},

{

"val": "833/100",

"id": 15

},

{

"val": "Normal Program;Auto exposure",

"id": 17

},

{

"val": "EASTMAN KODAK COMPANY",

"id": 19

},

{

"val": "Custom Process",

"id": 18

},

{

"val": "64",

"id": 21

},

{

"val": "sRGB",

"id": 20

},

{

"val": "1310443200000",

"id": 23

},

{

"val": "inches",

"id": 22

},

{

"val": "65/10",

"id": 25

},

{

"val": "Standard",

"id": 24

},

{

"val": "0",

"id": 26

},

{

"val": "Pattern",

"id": 29

},

{

"val": "1310443200000",

"id": 28

},

{

"val": "326/100",

"id": 31

},

{

"val": "3125/1000000",

"id": 30

},

{

"val": "KODAK EASYSHARE M531 Digital Camera",

"id": 32

},

{

"val": "White;red;flowers;green",

"id": 36

},

{

"val": "Red and white flowers on the side of the road in summer",

"id": 37

},

{

"val": "Karen Swanson",

"id": 41

},

{

"val": "Red and blue flowers in summer",

"id": 46

},

{

"val": "1",

"id": 51

},

{

"val": "64/1",

"id": 50

},

{

"val": "70/10",

"id": 49

},

{

"val": "One-chip color area sensor",

"id": 48

},

{

"val": "36",

"id": 55

},

{

"val": "3",

"id": 54

},

{

"val": "None",

"id": 53

},

{

"val": "0/10",

"id": 52

}

]

}

}

]

},

“fuid”: 37,

“bid”: 1,

“name”: “White and Red.JPG”

},

{

“pFuid”: 38,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Added”,

“rrn”: 32,

“len”: 53872640,

“frn”: 1,

“metadata”: {

“nentries”: 7,

“entries”: [

{

"val": "26.67",

"id": 8

},

{

"val": "72.0",

"id": 9

},

{

"val": "1920",

"id": 10

},

{

"val": "72.0",

"id": 11

},

{

"val": "15.0",

"id": 12

},

{

"val": "8-bit",

"id": 13

},

{

"val": "1080",

"id": 14

}

]

}

}

]

},

“fuid”: 43,

“bid”: 1,

“name”: “Flowers.mpeg”

},

{

“pFuid”: 38,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Added”,

“rrn”: 32,

“len”: 329084653,

“frn”: 1,

“metadata”: {

“nentries”: 7,

“entries”: [

{

"val": "27.0",

"id": 8

},

{

"val": "72.0",

"id": 9

},

{

"val": "1944",

"id": 10

},

{

"val": "72.0",

"id": 11

},

{

"val": "18.0",

"id": 12

},

{

"val": "8-bit",

"id": 13

},

{

"val": "1296",

"id": 14

}

]

}

}

]

},

“fuid”: 40,

“bid”: 1,

“name”: “Clouds on Pond.mov”

},

{

“pFuid”: 38,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Added”,

“rrn”: 32,

“len”: 31161418,

“frn”: 1,

“metadata”: {

“nentries”: 7,

“entries”: [

{

"val": "26.67",

"id": 8

},

{

"val": "72.0",

"id": 9

},

{

"val": "1920",

"id": 10

},

{

"val": "72.0",

"id": 11

},

{

"val": "15.0",

"id": 12

},

{

"val": "8-bit",

"id": 13

},

{

"val": "1080",

"id": 14

}

]

}

}

]

},

“fuid”: 41,

“bid”: 1,

“name”: “Clouds.mov”

},

{

“pFuid”: 38,

“rev”: {

“nentries”: 1,

“entries”: [

{

“action”: “Added”,

“rrn”: 32,

“len”: 28612608,

“frn”: 1,

“metadata”: {

“nentries”: 7,

“entries”: [

{

"val": "26.67",

"id": 8

},

{

"val": "72.0",

"id": 9

},

{

"val": "1920",

"id": 10

},

{

"val": "72.0",

"id": 11

},

{

"val": "15.0",

"id": 12

},

{

"val": "8-bit",

"id": 13

},

{

"val": "1080",

"id": 14

}

]

}

}

]

},

“fuid”: 45,

“bid”: 1,

“name”: “Young Egret.mpeg”

}

]

},

“changesetEntries”: {

“nentries”: 3,

“entries”: [

{

"comment": " ",

"mtime": 1380724910756,

"author": "admin",

"rrn": 32

},

{

"comment": "Moved file(s)",

"mtime": 1380920444436,

"author": "admin",

"rrn": 35

},

{

"comment": "Moved file(s)",

"mtime": 1380922527522,

"author": "admin",

"rrn": 36

}

]

},

“metadataNameMap”: {

“nentries”: 42,

“entries”: [

{

"id": 8,

"name": "FIPR_Print Size X"

},

{

"id": 9,

"name": "FIPR_Resolution Y"

},

{

"id": 10,

"name": "FIPR_Image Width"

},

{

"id": 11,

"name": "FIPR_Resolution X"

},

{

"id": 12,

"name": "FIPR_Print Size Y"

},

{

"id": 13,

"name": "FIPR_Color Depth"

},

{

"id": 14,

"name": "FIPR_Image Height"

},

{

"id": 56,

"name": "IPTC_City"

},

{

"id": 1,

"name": "FIPR_Date Created"

},

{

"id": 2,

"name": "FIPR_Document Format"

},

{

"id": 4,

"name": "FIPR_Metadata Date "

},

{

"id": 5,

"name": "FIPR_Date Modified"

},

{

"id": 15,

"name": "CAME_Shutter Speed Value"

},

{

"id": 17,

"name": "CAME_Exposure Mode"

},

{

"id": 19,

"name": "CAME_Make"

},

{

"id": 18,

"name": "CAME_Custom Rendered"

},

{

"id": 21,

"name": "CAME_ISO Speed Ratings"

},

{

"id": 20,

"name": "FIPR_Color Space"

},

{

"id": 23,

"name": "CAME_Date Time Orinigal"

},

{

"id": 22,

"name": "FIPR_Resolution Unit"

},

{

"id": 25,

"name": "CAME_Focal Length"

},

{

"id": 24,

"name": "CAME_Scene Capture Type"

},

{

"id": 27,

"name": "IPTC_Rating"

},

{

"id": 26,

"name": "CAME_White Balance"

},

{

"id": 29,

"name": "CAME_Metering Mode"

},

{

"id": 28,

"name": "IPTC_Date Created"

},

{

"id": 31,

"name": "CAME_Aperture Value"

},

{

"id": 30,

"name": "CAME_Exposure Time"

},

{

"id": 32,

"name": "CAME_Model"

},

{

"id": 36,

"name": "IPTC_Keywords"

},

{

"id": 37,

"name": "IPTC_Description"

},

{

"id": 41,

"name": "IPTC_Creator"

},

{

"id": 46,

"name": "IPTC_Title"

},

{

"id": 3,

"name": "FIPR_Application"

},

{

"id": 51,

"name": "CAME_Scene Type"

},

{

"id": 50,

"name": "CAME_Exposure Index"

},

{

"id": 49,

"name": "CAME_Brightness Value"

},

{

"id": 48,

"name": "CAME_Sensing Method"

},

{

"id": 55,

"name": "CAME_Focal Length in 35mm Film"

},

{

"id": 54,

"name": "CAME_File Source"

},

{

"id": 53,

"name": "CAME_Gain Control"

},

{

"id": 52,

"name": "CAME_Digital Zoom Ratio"

}

]

},

“numMatches”: 8,

“dirs”: {

“nentries”: 3,

“entries”: [

{

"pFuid": 32,

"bid": 1,

"name": "Videos",

"fuid": 38

},

{

"pFuid": 0,

"bid": 1,

"name": "Media",

"fuid": 32

},

{

"pFuid": 32,

"bid": 1,

"name": "Images",

"fuid": 33

}

]

},

“success”: true

}

 

 

This section covers the API invocations related to previews and thumbnails in Zoom.

All JSON responses contain these standard fields:

“success” : “true|false”
“errorInfo” : “<Error msg if success is false, else this element will not be present>”
“errorCode”: A key that exists in the Zoom message catalog

Description:
Get thumbnail or preview associated with an asset version.

Request URL:
http://192.168.1.6:8873/review/preview/assetPreview

If param “resolution” is absent or is set to 0, then the request just fetches a small thumbnail; otherwise, it fetches the preview at the specified resolution.If you specify the resolution as -1, it will return a copy of the original asset.

Sample URL with url encoded query string parameters:

 

Request parameters to get thumbnail:

“bid” : int

“fuid” : int

“rrn” : long

“frn” : int

fqPath:String

 

Using Ls command or other Zoom commands, or using the Find Web API, the above parameters can be fetched for an asset.

Response:

<Streamed thumbnail>

 

Request parameters to get preview:

“bid” : int

“fuid” : int

“rrn” : long

“resolution” : int // requested resolution minimum (height, width), aspect ratio automatically maintained

“aspectRatio”:”true”|”false”

“fqPath” : String

“filename”:String // base file name

 

Response:

<Streamed preview>

or

HTTP error code 404 if failed to create preview

or

HTTP error code 449 to retry if resources are unavailable.

 

 

It is possible to trigger default preview generation for some assets on Preview server. For video assets only FLV file format is supported and for images only JPEG file format is supported.

 

The follow URL can be used to trigger the preview generation:

http://<YOUR-PREVIEW-SERVER>:8873/review/preview/assetPreview

To trigger the default preview generation for video files, following parameters has to be passed to above URL

  1. zm_server = http://<YOUR-ZOOM-SERVER>:8880
  2. zm_username = <USER NAME>
  3. zm_password = <USER PASSWORD>
  4. bid = 1
    1. Default is 1.
  5. fuid = 227 (Asset id of which preview generation needs to be triggered)
  6. rrn = 197 (Repository Revision Number aka RRN. Revision number on which asset has changed)
  7. aspectRatio = true
  8. resolution 480 (Default preview generation resolution.)
    1. This value must be same as the value specified in “Preview/Review Server Settings” in Zoom web management console.
  9. fqName = <Full path to Asset on Zoom server>
    1. /defproj/acme/video/cartoon.mp4
  10. fileType = FLV

 

For e.g: To trigger the preview generation for asset: “/defproj/acme/video/cartoon.mp4″ with id 304 at RRN: 10, following url has to be created:

http://192.168.0.144:8873/review/preview/assetPreview?
zm_server=http://192.168.0.144:8880&
zm_username=admin&
zm_password=admin&
bid=1&
fuid=304&
rrn=10&
aspectRatio=true&
resolution=480&
fqName=/defproj/acme/video/cartoon.mp4&
fileType=FLV

 

Response on the above URL is the actual FLV file, streamed using HTTP protocol. Above request will block till the preview is generated. If you just want to trigger the preview generation, then set some lower value timeout, so that connection is break after triggering the call.

Zoom client installation includes a client proxy service that is automatically installed on the desktop. The proxy listens on HTTP port 7770 for commands. Application plugins can invoke JSP based services on this port to access the local working copy assets as well as invoke commands to launch Zoom UI via the HTTP  proxy.

Request URL:
http://127.0.0.1:7770/webmin/jsp/process/forker.jsp

Request Query Parameters:

server:  Zoom Server host:port or server alias

branch: null // Placeholder for future

remotepath: Fully qualified path in Zoom repository

rrn: Default -1 (latest) or a long corresponding to revision number

cmdname:  Command for which to launch the UI on the desktop

block: true or false. //Block the JSP call till the launched UI exists

extraargs: Command specific arguments to pass via the UI launcher

 

The cmdname parameter can be one of the following:

cmdname Description
autoco Silently checkout the file and open it in the registered application such as Adobe Illustrator
checkout Launch normal checkout dialog
showlog Launch Visual version history log
status Launch the Status popuop to show local & remote status
update Launch Update from server dialog
cset Launch popup to view the change sets
commit Launch the check-in dialog to commit the files in a local working copy
import Launch the import dialog
open_location Launch OS file browser with the folder containing the asset opened
workflow Launch the Workflow Task manager
asset_browser Launch the Visual Asset Browser
revert Launch the Revert command to revert the changes to last checked out state
setting Launch the Settings dialog
repobrowser Launch the Zoom file browser
lock Launch the lock/unlock dialog
reveal Launch the OS file browser with the asset revealed on the local working copy folder
open Launch the application and open the asset as a read-only copy if it’s not checked out

 

Response:

Returns a string, “true” | “false”, to indicate if the GUI was launched successfully or not.

Zoom metadata can be fetched by the Zoom Find command easily. Once you have the desired metadata for an asset, you can edit it using the JSON API as described below.

Request URL:

http://zm.server:8443/internal?zm_username=<zm_username>&zm_cookie=<zm_cookie>

You could specify either the “zm_password” parameter or the “zm_cookie” parameter. If the password parameter is specified, that takes precedence.

Request JSON Syntax: 

data=

{

clientVersion:”ZoomClient/4.1-b5835″,

cmd:setmetadata,

message:

{

newData:

[

{

key:<name of the metadata property>,

value:<value to be assigned>

},

... so on

],

delData:

[

<name of the metadata property to be deleted>,

... so on

],

assetsInfo:

[

{

fuid:<Asset ID of the asset on which the metadata modifications must be applied>,

rrn:<Repository Revision Number at which the modifications must be applied>

},

... so on

],

append: true | false // append = false will replace the existing values with the request parameters

}

}

 

Request JSON Sample:

data=

{

clientVersion:”ZoomClient/4.1-b5835″,

cmd:setmetadata,

message:

{

newData:

[

{

key:"IPTC_Keywords",value:"grey"

}

],

delData:

[

],

assetsInfo:

[

{

fuid:187,

rrn:429

}

],

append:false

}

}

 

Response JSON syntax:

{

“success”:<true/false>

}

 

Keywords are critical metadata and Zoom offers some special Web APIs targeted towards keywords management.

Request URL:

http://zm.server:8443/internal?zm_username=<zm_username>&zm_cookie=<zm_cookie>

Request JSON Syntax:

data=

{

clientVersion:”ZoomClient/4.1-b5835″,

cmd:setmetadata,

message:

{

mtime: <long value corresponding to the time since which you want to fetch the changes in the Zoom keyword database; set to 0 if you want to fetch the entire stock>

}

}

 

Request JSON Sample:

data=

{

clientVersion:”ZoomClient/4.1-b5835″,

cmd:setmetadata,

message:

{

mtime: 0

}

}

 

Response JSON Syntax: 

If successful, all entries that were either modified or added to the keyword stock since the specified “mtime” will be returned in the form of JSON, along with the total count of keywords available. Each keyword entry contains the following:

parentKwid: <Keyword ID of the parent under which this keyword is defined; -1 if defined at the ROOT>

kwid: <Keyword ID of the current entry>

value: <String associated with the current entry>

 

Response JSON Sample: 

{
“entries”:

[

{

"parentKwid": 74,
"kwid": 76,
"value": "fir"

},
{

"parentKwid": -1,
"kwid": 59,
"value": "brent"

},

... so on

],
“nentries”: 94,
“success”: true

}

 

Request URL:

http://zm.server:8443/internal?zm_username=<zm_username>&zm_cookie=<zm_cookie>

Request JSON Syntax: 

The request must carry apart from the cmdname (editkwstock), JSON data called “message” which will be interpreted by the Zoom API engine, to retrieve the required input arguments to execute the editing of the stock. This message consists of the following two components:

newData:

[

{

kwid: <A negative number < -1 if you want to create a new keyword, or the keyword ID of the entry that you want to edit>

parentKwid: <The keyword ID of the parent under which this keyword is to be created / moved to; specify -1 for ROOT>,

value: <The keyword string>

}

]

 

delData:

[

< specify the list of comma-separated keyword IDs, of the entries that must be deleted from the stock>

]

 

Request JSON Sample:

data=

{

clientVersion:”ZoomClient/4.1-b5835″,

cmd:editkwstock,

message:

{

newData:

[

{

kwid: -100,

parentKwid: -1,

value: "Newly created sample keyword"

},

{

kwid: -101,

parentKwid: -100,

value: "Newly created child keyword"

},

],

delData:

[

40, 38, 100

]

}

}