The Interplay WS API provides SOAP web services for interacting with Avid Interplay. The current release provides operations for exchanging and modifying metadata in the Avid Interplay Engine as well as managing Interplay users and groups. This document outlines what is required for 3rd party developers to use the Interplay WS API.
Avid Interplay WS 2.6 introduces the following bug fixes and features:
Avid Interplay WS 2.5 introduces the following new features:
Avid Interplay WS 2.5 introduces the following bug fixes
Avid Interplay WS 2.4 introduces the following bug fixes and features
Avid Interplay WS 2.3.2 fixes the following bugs:
Avid Interplay WS v2.3.1 fixes the following bugs:
Avid Interplay WS 2.3 introduces the following new features:
In addition, Avid Interplay WS 2.3 introduces the following minor bug fixes or enhancements:
Avid Interplay WS 2.2 introduces the following new features:
In addition, Avid Interplay WS 2.2 introduces the following bug fixes:
Avid Interplay WS 2.0.1 adds minor enhancements to existing features, improved stability, and bug fixes:
Avid Interplay WS 2.0 extends asset management capabilities and introduces Interplay Transfer and Interplay Media Services support. In addition, it adds support for the new Interplay 2.0 WAN proxies. With the exception of the GetStreamingURL (WAN proxy) operation, Interplay WS 2.0 is fully backwards compatible with Interplay 1.x systems.
The Assets Service adds support for creating sparse masterclips, creating simple shotlists with locators, getting Interplay Streaming URIs, managing UMID-based locators, and retrieving the list of custom user properties for a workgroup.
The Transfer Service adds support for listing the Interplay Transfer Engines in the workgroup, listing the configured devices on an Interplay Transfer Engine, sending sequences to playback devices, and sending assets to remote workgroups.
The new Jobs Services offers support for submitting Avid Interplay Media Services (DMS) jobs via profiles or specific parameters. This includes archive, restore, transcode, mixdown, and WAN publish jobs. In addition, the Jobs Service provides operations for managing Interplay Media Services and Interplay Transfer jobs (getting status, canceling, etc).
Interplay WS 2.0 also includes minor enhancements and bug fixes: maximum allowed memory usage has been increased to 1 GB, temporary AAF/JPG files are now cleaned up better, a rare bug in CreateFolders has been fixed, reservations can now be set to never expire, and more.
The default Interplay WS 2.0 installation can only submit jobs to Interplay 2.x Media Services Engines. Submitting jobs to Interplay 1.x Media Services Engines is supported, but requires the additional Interplay Web Services Updater installer to be run after installation.
Deprecation warnings for integrators: The original locator operations will be deprecated in a future version of Interplay. We advise all integrators to begin using the new UMID based locator operations. In addition, we have also identified that user, group, and permission management may change in future versions of Interplay. Some aspects of the User Management Service may not be fully compatible with the next generation of Interplay.
Avid Interplay WS v1.5 adds the GetMetaSyncXML operation and fixes several bugs found in the field.
The new GetMetaSyncXML operation is a service-based version of the Avid MetaSync Publisher tool. It allows integrators to extract a MetaSync enhancements XML file from a sequence.
In addition, this release fixes the following bugs:
Avid Interplay WS v1.4 extends its asset management capabilities as well as improving installation and configuration.
The Assets Service adds support for reservations, restrictions, categories, querying for links and relatives, and getting file details for masterclips.
The Transfer Service adds the capability to list the indexed workspaces.
The new Infrastructure Service adds the ability to query for the Interplay WS configuration and version information.
New web pages allow you to view, edit, and test your Interplay WS configuration in a web browser. In addition, Interplay WS now publishes usage statistics that can be viewed in the Avid Service Framework Health Monitor.
This release also fixes a bug in the Archive Service that caused clips checked in through Archive Service's CheckInAAF function to not allow partial restore.
Avid Interplay WS v1.3 adds support for browsing and updating Interplay Archive, checking if a sequence is ready for playback, and more streamlined metadata management.
The archive integration operations are exposed in a new Archive service. This new service has its own WSDL, XSD, and endpoint. While querying the Interplay Archive may be useful in general integrations, the operations to update the Archive database are intended mainly for archive vendors. More details can be found in the section of this document on the Archive Service.
The operation to check if a sequence is fully online and rendered (ready to be sent to playback) is in a new Transfer service. This new service has its own WSDL, XSD, and endpoint. Currently, the CheckSequenceIsReadyForXfer operation is the only call in this service. More details can be found in the section of this document on the Transfer Service.
Some calls in the Assets service have been enhanced to allow better efficiency in certain workflows. A new CreateFolders operation has been added that allows multiple folders to be created in one batch call. The Duplicate operation now takes an optional set of attributes to set on the new duplicated asset. In addition, the DeleteAssets operation now allows empty folders to be deleted.
In addition, minor bug fixes, performance improvements (including search and delete), and documentation updates are included in this release.
Avid Interplay WS v1.2 adds support for deleting assets, modifying folder permissions, and user/group management.
The user and group management operations are exposed in a new UserManagement service. This new service has its own WSDL, XSD, and endpoint. More details can be found in the section of this document on User Management.
In addition, common XML types have been extracted from the assets.xsd file and incorporated into a new common.xsd file. The common.xsd file is included by the assets.xsd file (and retains its namespace), so old code should still function seamlessly with it. This change has been made in order to support additional services as we add them.
Avid Interplay WS v1.1 adds support for locators, headframes, and the creation of subclips. If you are already familiar with v1.0, you may want to read the documentation on just the new operations and types: LocatorType, SaveLocators, GetLocators, RemoveLocators, SetHeadframe, GetHeadframe, and CreateSubclip. In addition, the CheckInAAF operation was modified to accept an optional headframe.
Integrators should also be aware of a new 30-byte limit on attribute names. This limit is enforced on any operations that create new attributes, such as CheckIn, CheckInAAF, CreateSubclip, and SetAttributes. This 30 byte limit is enforced by an approximation algorithm that assumes 1 byte for each ASCII character and 4 bytes for each non-ASCII character.
Avid Interplay WS is a WS-I Basic Profile compliant document/literal SOAP web service. In general practice, 3rd parties will use a SOAP toolkit to generate client-side bindings to the service. Microsoft Visual Studio .NET, Sun Metro, Apache CXF, Apache Axis 2, and gSOAP are popular examples of SOAP toolkits, but there are many options available for different languages and platforms. For the most efficient transfer of binary files, developers should choose a toolkit that supports MTOM (although this is not a requirement).
Developers should be proficient in the language supported by their chosen SOAP toolkit. In addition, developers should have at least a working knowledge of XML. Tools such as SOAPui and TCPMon may also be helpful in development and debugging.
The server name and port of the Interplay WS services will be different for each site. For the purposes of this documentation, we will assume that the server name is iws-srv and the port is 80 (the default port). For simplicity, this documentation will also use http, although https is recommended on production systems.
The Interplay WS application must be configured with WebServices workgroup name and server mappings. This can be done via the "Edit Configuration" URL link in the "Avid Interplay WS Documentation" web page or Avid Interplay Framework Configuration client. For the purposes of this documentation, we will assume that the WebServices workgroup name WGA is mapped to our Primary Engine hostname and Archive Engine hostname.
The WebServices Workgroup Name is not the same as the ASF Workgroup Name. The WebServices Workgroup Name is just a representation for the WS URI
Where XSD definitions are included in the documentation, assume the default namespace of the service it is documenting ( http://avid.com/interplay/ws/archive/types for the Archive service; http://avid.com/interplay/ws/assets/types for the Assets service; http://avid.com/interplay/ws/infrastructure/types for the Infrastructure service; http://avid.com/interplay/ws/jobs/types for the Jobs service; http://avid.com/interplay/ws/transfer/types for the Transfer service; http://avid.com/interplay/ws/user/types for the UserManagement service). The full namespace declarations for other aliases can be found in the full XSDs.
This documentation includes examples of SOAP XML input and output messages. In many cases, these examples will include references to specific assets that do not exist in your system. For your development and testing, you will need to use MOB IDs, Monikers, and paths that are valid for your system. In addition, these examples may omit parts of the XML in order to give more focus to the relevant parts.
Since Interplay WS is a SOAP web service, it uses a Web Services Description Language (WSDL) file to describe its interface. This WSDL also references an XML Schema Document (XSD) to define the XML types used in the messages. In development, your SOAP toolkit will use the WSDL file to generate client code to access the service.
The WSDL and XSDs used for the Interplay WS Archive service can be found at:
http://localhost/services/Archive?wsdl
http://localhost/services/Archive?xsd=archive.xsd
http://localhost/services/Archive?xsd=common.xsd
The WSDL and XSDs used for the Interplay WS Assets service can be found at:
http://localhost/services/Assets?wsdl
http://localhost/services/Assets?xsd=assets.xsd
http://localhost/services/Assets?xsd=common.xsd
The WSDL and XSDs used for the Interplay WS Infrastructure service can be found at:
http://localhost/services/Infrastructure?wsdl
http://localhost/services/Infrastructure?xsd=infrastructure.xsd
http://localhost/services/Infrastructure?xsd=common.xsd
The WSDL and XSDs used for the Interplay WS Jobs service can be found at:
http://localhost/services/Jobs?wsdl
http://localhost/services/Jobs?xsd=jobs.xsd
http://localhost/services/Jobs?xsd=common.xsd
The WSDL and XSDs used for the Interplay WS Transfer service can be found at:
http://localhost/services/Transfer?wsdl
http://localhost/services/Transfer?xsd=transfer.xsd
http://localhost/services/Transfer?xsd=common.xsd
The WSDL and XSDs used for the Interplay WS UserManagement service can be found at:
http://localhost/services/UserManagement?wsdl
http://localhost/services/UserManagement?xsd=user.xsd
http://localhost/services/UserManagement?xsd=common.xsd
Remember to change the server name "localhost" and port of the above URLs to match your environment. These URLs can also be found on the home page of your Interplay WS server.
Each SOAP operation requires user credentials to be passed in via the SOAP header. This should be the username and password the user would use to log into the Interplay Engine or Interplay Archive.
XSD Definition of UserCredentialsType
<xsd:complexType name="UserCredentialsType"> <xsd:sequence> <xsd:element name="Username" type="xsd:string" /> <xsd:element name="Password" type="xsd:string" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
Interplay WS uses a string referred to as the Interplay URI to reference assets, paths, users, and groups, and workgroups. This URI can have several forms, but it always begins with interplay://WGA, where WGA is assumed to be the workgroup name configured to point to the Interplay Engine.
Interplay URIs are used throughout the service as both inputs and outputs. There are different forms of the Interplay URI depending on the type of object it represents and the identifier you wish to use. It will be important for developers to understand how to format and parse these Interplay URIs.
Interplay URI for Folder by Path interplay://WGA/Projects/Rainforest Interplay URI for Avid Asset by MOB ID interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80 Interplay URI for Avid Asset by Path interplay://WGA/Incoming Media/WS1/060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80 Interplay URI for File Mob by File Mob ID interplay://WGA?filemobid=060a2b340101010101010f0013-000000-00163a16e5e91a4a-060e2b347f7f-2a80 Interplay URI for Source Mob by Source Mob ID interplay://WGA?sourceid=060a2b340101010101010f0013-000000-000000003d40ede1-060e2b347f7f-2a80 Interplay URI for Non-Avid Asset by Moniker interplay://WGA?moniker=1|214A72C2-DFD6-4388-AA25-E4AF7F26E18F|*|237409|* Interplay URI for Non-Avid Asset by Path interplay://WGA/Catalogs/Images/jungle.jpg Interplay URI for Media Services Job interplay://WGA/DMS?jobid=1260980985656.1 Interplay URI for Transfer Job interplay://WGA/XFER?jobid=26_wga-tm Interplay URI for User interplay://WGA?username=jsmith Interplay URI for Group interplay://WGA?group=journalist Interplay URI for Workgroup interplay://WGA
SYSTEM attributes that represent dates will be formatted based on the WC3 Date and Time Formats note. This format will be used in the response of all date-based SYSTEM attributes. In addition, the Search operation expects any date-based parameters to be submitted using the same format.
Format of All Date-based System Attributes in Interplay WS Responses
YYYY-MM-DDThh:mm:ss.sTZD ex. 2007-07-31T17:42:47.343-0400Valid Date Formats for Search Input Parameters
YYYY-MM-DDThh:mm:ss.sTZD ex. 2007-07-31T17:42:47.343-0400 YYYY-MM-DDThh:mm:ssTZD ex. 2007-07-31T17:42:47-0400 YYYY-MM-DDThh:mm:ss.s ex. 2007-07-31T17:42:47.343 YYYY-MM-DDThh:mm:ss ex. 2007-07-31T17:42:47
Each operation in Interplay WS can optionally return a list of errors that occurred during the processing of the request. In the case of operations that perform on multiple objects at a time, errors will only be returned for those objects that failed. If an error is not received, you can assume that the operation was successful.
An Error includes an error code, a message, details, and an optional Interplay URI. The Interplay URI is only included if the error relates to a specific object (asset, folder, user, group, etc).
XSD Definition of ErrorType
<xsd:complexType name="ErrorType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" minOccurs="0" /> <xsd:element name="Message" type="xsd:string" /> <xsd:element name="Details" type="xsd:string" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="Code" type="xsd:string" use="required" /> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The error code is a string that indicates the type of error that occurred. There is a finite set of possible error codes, so developers can write their code to behave differently based on the error code they receive. Future versions may add error codes, so it is recommended that developers account for error codes they may not recognize.
Valid Error Codes for ErrorType
INVALID_CREDENTIALS: The username or password is incorrect. ACCESS_DENIED: The user does not have access to the requested resource. INVALID_PARAMETER: An invalid parameter was used. UNSUPPORTED_OPERATION: The operation is not supported OBJECT_NOT_FOUND: The requested object was not found. PATH_NOT_FOUND: The requested path was not found. BINARY_TRANSFER_ERROR: The attached file could not be processed. MAX_RESULTS: The maximum number of results has been reached. NO_META_TRACKS: No matching meta tracks were found. GetMetaSyncXML Only. TARGET_RESOLUTION_UNAVAILABLE: The target resolution is unavailable. Transfer Service Only. RENDER_NOT_FOUND: There were unrendered effects. Transfer Service Only. MEDIA_OFFLINE: There was media that is offline. Transfer Service Only. SAMPLE_SIZE_MISMATCH: Audio sample sizes did not match. Transfer Service Only. BITS_PER_SAMPLE_MISMATCH: Audio bits per sample did not match. Transfer Service Only. VIDEO_ID_NOT_FOUND: There was no Video ID present. Transfer Service Only. OTHER_ERROR: An uncategorized error has occurred.
The following is an example of an error indicating that the requested path does not exist.
Example SOAP Response with PATH_NOT_FOUND error
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetChildrenResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Errors> <Error Code="PATH_NOT_FOUND"> <Message>The requested path was not found</Message> <Details>interplay://WGA/MyFollder does not reference a valid folder.</Details> </Error> </Errors> </GetChildrenResponse> </soap:Body> </soap:Envelope>
When an unexpected server-side error occurs, a SOAP fault will be returned instead of a normal SOAP response. If the service is operating correctly, however, most errors will be returned as ErrorType elements in the response. Because SOAP faults are only issued in unexpected conditions, the quality and helpfulness of the provided details will vary depending on the cause.
The following is an example of an unexpected error that occurred while creating a folder:
Example SOAP Fault with AssetsFaultType Details
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>An unexpected error occurred creating folder /folder2</faultstring> <detail> <AssetsFaultType Code="OTHER_ERROR" xmlns="http://avid.com/interplay/ws/assets/types"> <Message>An unexpected error occurred creating folder /folder2</Message> <Details>An unexpected error occurred creating folder /folder2</Details> </AssetsFaultType> </detail> </soap:Fault> </soap:Body> </soap:Envelope>
Note that in the above example, an AssetsFaultType is specified in the fault detail. Operations in the other services will return their own respected fault type instead.
In some cases, there may be no details available for the error that occurred:
Example SOAP Fault without Details
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>Fault occurred while processing.</faultstring> </soap:Fault> </soap:Body> </soap:Envelope>In these cases, the log files on the server may need to be examined to determine the actual cause of the error.
The Interplay WS Assets service provides integration with the Interplay Engine for managing assets in Avid Interplay. This includes adding, retrieving, updating, and removing assets, getting and setting metadata, working with locators, working with headframes, working with streaming proxies, creating masterclips and shotlists, and more.
The WSDL and XSDs used for the Interplay WS Assets service can be found at:
http://iws-srv/services/Assets?wsdl
http://iws-srv/services/Assets?xsd=assets.xsd
http://iws-srv/services/Assets?xsd=common.xsd
Remember to change the server name and port of the above URLs to match your environment.
Interplay WS attributes are also used in many of the Interplay WS operations. These attributes represent the metadata of the asset. Attributes are separated into groups: SYSTEM attributes and USER attributes. USER attributes can be created and modified by users, while SYSTEM attributes are read-only. Many Interplay WS Assets operations return a default set of attributes if specific attributes are not requested.
Default Set of Attributes for Avid Assets
SYSTEM: CFPS, Created By, Creation Date, Duration, End, Media File Format, Media Size, Media Status, MOB ID, Modified By, Modified Date, Moniker, Path, Start, Source ID, Tape, Tracks, Type, Version Comment USER: Comments, Display Name, Video ID and any other custom USER attributes in the systemDefault Set of Attributes for Non-Avid Assets
SYSTEM: Created By, Creation Date, File Size, Modified By, Modification Date, Moniker, Path, Type, Version Comment
You can access a complete list of attributes via a link on the main Interplay WS homepage, or by going directly to the following URL:
http://iws-srv/web/docs/attributes
(Remember to change the server name and port to match your environment)
An attribute consists of the group, name, and an optional value.
XSD Definition of AttributeType
<xsd:complexType name="AttributeType"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="Group" type="xsd:string" use="required"/> <xsd:attribute name="Name" type="xsd:string" use="required"/> <xsd:anyAttribute processContents="lax"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
Some operations allow a set of attributes to be specified for retrieval. In these cases, a value should not be specified. The following example shows an instance of this:
Example SOAP Request with Attributes to Retrieve
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetAttributes> <typ:InterplayURIs> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</typ:InterplayURI> </typ:InterplayURIs> <typ:Attributes> <typ:Attribute Group="USER" Name="Display Name" /> <typ:Attribute Group="SYSTEM" Name="Creation Date" /> <typ:Attribute Group="SYSTEM" Name="Status" /> <typ:Attribute Group="SYSTEM" Name="Duration" /> </typ:Attributes> </typ:GetAttributes> </soapenv:Body> </soapenv:Envelope>
Some operations allow a set of attributes to be changed or added. In these cases, the value is nested in the Attribute tag. The following example shows an instance of this:
Example SOAP Request with Attributes to Set
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:SetAttributes> <typ:InterplayURIs> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</typ:InterplayURI> </typ:InterplayURIs> <typ:Attributes> <typ:Attribute Group="USER" Name="Display Name">Monkeys Playing</typ:Attribute> <typ:Attribute Group="USER" Name="Camera Man">John Smith</typ:Attribute> </typ:Attributes> </typ:SetAttributes> </soapenv:Body> </soapenv:Envelope>
The AssetDescriptionType XML type is used in several of the operation responses in the Interplay WS Assets service. It is simply a container for an Interplay URI of an asset and a list of attributes pertaining to that asset.
XSD Definition of AssetDescriptionType
<xsd:complexType name="AssetDescriptionType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="Attributes" type="tns:AttributeListType" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The AssetDescriptionType will always include the SYSTEM MOB ID attribute for Avid assets, and the SYSTEM Moniker attribute for Avid and non-Avid assets.
Example AssetDescriptionType For a Sequence
<AssetDescription> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-46a4ed0c4ffc00d1-060e2b347f7f-2a80</InterplayURI> <Attributes> <Attribute Name="MOB ID" Group="SYSTEM">060a2b340101010101010f0013-000000-46a4ed0c4ffc00d1-060e2b347f7f-2a80</Attribute> <Attribute Name="Moniker" Group="SYSTEM">1|CD399F57-7385-442A-B8C2-19086BB0C1B5|*|1232|*</Attribute> <Attribute Name="CFPS" Group="SYSTEM">25.00</Attribute> <Attribute Name="Created By" Group="SYSTEM">jsmith</Attribute> <Attribute Name="Creation Date" Group="SYSTEM">2007-04-23T14:01:48.000-0400</Attribute> <Attribute Name="Display Name" Group="USER">Monkeys Playing</Attribute> <Attribute Name="Duration" Group="SYSTEM">00:00:09:24</Attribute> <Attribute Name="End" Group="SYSTEM">01:00:09:24</Attribute> <Attribute Name="Media Status" Group="SYSTEM">online</Attribute> <Attribute Name="Modified By" Group="SYSTEM">jsmith</Attribute> <Attribute Name="Modified Date" Group="SYSTEM">2007-04-25T13:51:24.000-0400</Attribute> <Attribute Name="Path" Group="SYSTEM">/Projects/Rainforest/060a2b340101010101010f0013-000000-46a4ed0c4ffc00d1-060e2b347f7f-2a80</Attribute> <Attribute Name="Start" Group="SYSTEM">01:00:00:00</Attribute> <Attribute Name="Tracks" Group="SYSTEM">V1-2 A1-4 TC1</Attribute> <Attribute Name="Type" Group="SYSTEM">sequence</Attribute> </Attributes> </AssetDescription>
WARNING: This style of locator will be deprecated in a future version of Interplay. Although it will continue to work with Interplay 1.x and 2.x systems, integrators are advised to use the new UMID Locator operations and types instead.
The LocatorType XML type is used as an input or output in several of the locator related operations: GetLocators, RemoveLocators, and SaveLocators. It is used to describe a frame-based locator.
XSD Definition of LocatorType
<xsd:complexType name="LocatorType"> <xsd:sequence> <xsd:element name="LocatorID" type="xsd:int" minOccurs="0" /> <xsd:element name="FrameNumber" type="xsd:long" minOccurs="0" /> <xsd:element name="Timecode" type="xsd:string" minOccurs="0" /> <xsd:element name="Username" type="xsd:string" minOccurs="0" /> <xsd:element name="Comment" type="xsd:string" /> <xsd:element name="Color" type="xsd:string" /> <xsd:element name="Track" type="xsd:string" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The LocatorID is optional when saving locators. If no Locator ID is specified, then a new locator is added. Any operations that return locators will also include the LocatorID in the response. This ID is not guaranteed to remain unique or persist over time. It should be used immediately. Please use UMID Locators for unique and persisting IDs.
Please see the documentation on UMIDLocatorType for information on the remaining elements (they have the same meaning).
Example LocatorType
<Locator> <LocatorID>1</LocatorID> <FrameNumber>6532</FrameNumber> <Username>sam</Username> <Comment>Ortiz hits a double</Comment> <Color>Blue</Color> <Track>V1</Track> </Locator>
The UMIDLocatorType XML type is used as an input or output in several of the locator related operations: GetUMIDLocators, RemoveUMIDLocators, SaveUMIDLocators, and CreateShotlist. It is used to describe a frame-based locator. It differs from the original (soon to be deprecated) LocatorType in that it has a unique and persisting UMID (represented in the LocatorURI) and supports headframes.
XSD Definition of UMIDLocatorType
<xsd:complexType name="UMIDLocatorType"> <xsd:sequence> <xsd:element name="LocatorURI" type="xsd:string" minOccurs="0" /> <xsd:element name="FrameNumber" type="xsd:long" minOccurs="0" /> <xsd:element name="Timecode" type="xsd:string" minOccurs="0" /> <xsd:element name="Username" type="xsd:string" minOccurs="0" /> <xsd:element name="Comment" type="xsd:string" /> <xsd:element name="Color" type="xsd:string" /> <xsd:element name="Track" type="xsd:string" /> <xsd:element name="Headframe" type="xsd:base64Binary" xmime:expectedContentTypes="application/octet-stream" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The LocatorURI is optional when saving locators. If no LocatorURI is specified, then a new locator is added. Any operations that return locators will also include the LocatorURI in the response. The LocatorURI is based on a unique and persisting UMID.
The position of the locator must be specified via the FrameNumber or Timecode. All locators must specify one or the other. If both are specified, the FrameNumber will be used and Timecode will be discarded. (This would normally be designed using an xsd:choice element, but xsd:choice is not well-supported by all SOAP toolkits.)
The FrameNumber must be the frame offset from the beginning of the clip. A FrameNumber is considered invalid if it is negative or if it extends past the duration of the clip.
The Timecode is a string representing the position of the locator (for example, 01:30:00:00). The framerate is determined from the target clip. Since Avid editors use offset-based locators, the timecode is converted to the equivalent frame offset before saving the locator metadata.
The Username represents the user associated with this locator (usually the creator of the locator). The Username must match a valid user in the Interplay system. If no Username is provided, the username from the passed in credentials is used instead.
The Comment contains the text of the locator. There are no specific rules in regard to comments.
The Color must be a valid color, as defined by the available set of locator colors in Avid editors. The currently valid colors are: Black, White, Red, Green, Blue, Cyan, Magenta, and Yellow
The Track must contain the type and number of the track to associate the locator with (e.g., V1).
The Headframe is optional and represents a picture associated with this locator. The Headframe element is currently only supported in operations when saving locators (it is not retrieved when getting locators).
Example UMIDLocatorType
<Locator> <LocatorURI>interplay://WGA?locatorid=060a2b340101010101010f0013-000000-e32c3932c5f04b61-85d43b93cca9-f3f6</LocatorURI> <FrameNumber>6532</FrameNumber> <Username>sam</Username> <Comment>Ortiz hits a double</Comment> <Color>Blue</Color> <Track>V1</Track> </Locator>
The RestrictionType XML type is used as an input or output in several of the restriction related operations: addRestrictions and getRestrictions. It is used to describe a frame-based restriction.
XSD Definition of RestrictionType
<xsd:complexType name="RestrictionType"> <xsd:sequence> <xsd:element name="InFrameNumber" type="xsd:long" minOccurs="0" /> <xsd:element name="InTimecode" type="xsd:string" minOccurs="0" /> <xsd:element name="OutFrameNumber" type="xsd:long" minOccurs="0" /> <xsd:element name="OutTimecode" type="xsd:string" minOccurs="0" /> <xsd:element name="Comment" type="xsd:string" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The position of the restriction must be specified via the InFrameNumber or InTimecode. The end of the restriction must be specified via the OutFrameNumber or OutTimecode. If framenumber and timecode are specified for either in or out parameters then the frame number will be used and timecode will be discarded. This would normally be designed using an xsd:choice element, but xsd:choice is not well-supported by all SOAP toolkits.
If you choose to use frame numbers: The InFrameNumber and OutFrameNumber are offsets from the beginning of the clip. A frame number is considered invalid if it is negative or if it extends past the duration of the clip.
If you choose to use timecodes: The InTimecode and OutTimecode are strings representing the position of the restriction start and end times (for example, 01:30:00:00). The framerate is determined from the target clip.
The Comment parameter contains the text description of the restriction.
Example RestrictionType Using Frame Numbers
<typ:Restriction> <InFrameNumber>100</InFrameNumber> <OutFrameNumber>225</OutFrameNumber> <typ:Comment>copyright issue</typ:Comment> </typ:Restriction>Example RestrictionType Using Timecodes
<typ:Restriction> <typ:InTimecode>10;10;21;05</typ:InTimecode> <typ:OutTimecode>10;15;23;11</typ:OutTimecode> <typ:Comment>copyright issue</typ:Comment> </typ:Restriction>
The Interplay WS Assets WSDL defines all of the supported operations. This section of the documentation provides details on each supported operation. Common concepts and data types will not be discussed in detail, as they have already been documented in the previous section.
Reservations are used to mark folders that should not be deleted or moved. It prevents material that is being used from accidentally being removed.
The AddReservation operation is used to add the reservation to one or more folders. This operation can be applied to a list of folders. In cases where this operation is applied to more than one folders, the same time value to expire are set for each folders.
The AddReservationType XML type defines the parameters passed in to the AddReservation operation. These parameters are a list of one or more interplay URIs and a ReservationType to set. Each Interplay URI in the list of Interplay URIs must reference a valid folder.
The ReservationType to define the reservation time to expire(in seconds). If the reservation time is zero or null, the operation will set never expire. If the reservation is negative, the operation will fail with errors.
XSD Definition of AddReservationType
<xsd:complexType name="AddReservationType"> <xsd:sequence> <xsd:element name="FolderURIs" type="tns:InterplayURIListType"/> <xsd:element name="Reservation" type="tns:ReservationType"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for adding reservation on an asset.
Example SOAP Request for the AddReservation Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:AddReservation> <typ:FolderURIs> <typ:InterplayURI>interplay://WGA/Projects</typ:InterplayURI> </typ:FolderURIs> <typ:Reservation> <typ:TimeToExpireInSeconds>360000</typ:TimeToExpireInSeconds> </typ:Reservation> </typ:AddReservation> </soapenv:Body> </soapenv:Envelope>
The AddReservationResponseType element is sent in the SOAP response. The AddReservationResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty AddReservationResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of AddReservationResponseType
<xsd:complexType name="AddReservationResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response form AddReservation operation.
Example Successful SOAP Response for the AddReservation Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <AddReservationResponse xmlns="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The AddRestrictions operation is used to add restrictions to a masterclip. It is not supported for any other asset types.
The AddRestrictionsType XML type defines the parameters passed in to the AddRestrictions operation. The first required parameter is an Interplay URI representing the Avid asset that the restrictions should be added to. If this Interplay URI does not reference a masterclip, an error will be returned since adding Restrictions is currently supported only for masterclips. The second parameter is a list of the RestrictionTypes that should be added.
XSD Definition of AddRestrictionsType
<xsd:complexType name="AddRestrictionsType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="Restrictions" type="tns:RestrictionListType" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for adding new restrictions to an asset. The InFrameNumber and OutFrameNumber are 0 base indexed
Example SOAP Request for AddRestrictions Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:AddRestrictions> <typ:InterplayURI>interplay://AvidWG?mobid=060a2b340101010101010f0013-000000-48c00212af6603f3-060e2b347f7f-2a80</typ:InterplayURI> <typ:Restrictions> <typ:Restriction> <typ:InFrameNumber>12</typ:InFrameNumber> <typ:OutFrameNumber>115</typ:OutFrameNumber> <typ:Comment>Restriction one</typ:Comment> <typ:Extension></typ:Extension> </typ:Restriction> <typ:Restriction> <typ:InTimecode>10;49;35;17</typ:InTimecode> <typ:OutTimecode>10;49;36;22</typ:OutTimecode> <typ:Comment>Restriction two</typ:Comment> </typ:Restriction> </typ:Restrictions> <typ:Extension></typ:Extension> </typ:AddRestrictions> </soapenv:Body> </soapenv:Envelope>
The AddRestrictionsResponse element is sent in the SOAP response. The AddRestrictionsResponse contains an optional list of errors. If the operation encountered any errors, the response will contain one or more errors. If all Restrictions was added successfully, the response will not contain any information.
XSD Definition of AddRestrictionsResponse
<xsd:complexType name="AddRestrictionsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the AddRestrictions operation.
Example Successful SOAP Response for the AddRestrictions Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <AddRestrictionsResponse xmlns="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The following is an example of a partially successful SOAP response for the AddRestrictions operation. Note that the second Restriction inFrameNumber or inTimecode is missing
Example Partially Successful SOAP Response for the AddRestrictions Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <AddRestrictionsResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Errors> <Error Code="INVALID_PARAMETER"> <InterplayURI>interplay://AvidWG?mobid=060a2b340101010101010f0013-000000-48c00212af6603f3-060e2b347f7f-2a80</InterplayURI> <Message>An invalid parameter was used</Message> <Details>Invalid inpoint for restriction at index 1. Please choose a valid inFrameNumber or inTimecode.</Details> </Error> </Errors> </AddRestrictionsResponse> </soap:Body> </soap:Envelope>
The CheckIn operation is used to check in non-Avid file assets to the Interplay Engine. This operation can be used to check in new assets or to update existing assets. Existing assets will be versioned with each check-in.
The CheckInType XML type defines the parameters passed in to the CheckIn operation. These parameters consist of an Interplay URI, the contents of the file to check in, an optional version comment, and an optional list of attributes to set.
The Interplay URI must be of moniker or full path form. If checking in a new non-Avid asset, then the full path form must be used, as it will not yet have an assigned moniker. If the Interplay URI represents a folder or an Avid asset, the operation will fail with an error.
The File element should either contain the base-64 encoded file contents or should reference a mime attachment per the MTOM specifications. The use of MTOM is highly recommended as it is significantly more efficient than inline base-64 encoded content.
If attributes are passed in to be set on the asset, they must be USER attributes. If an attempt is made to set a SYSTEM attribute, the operation will fail with errors. In addition, new attribute names (but not values) are limited to 30 bytes. This 30 byte limit is enforced by an approximation algorithm that assumes 1 byte for each ASCII character and 4 bytes for each non-ASCII character.
XSD Definition of CheckInType
<xsd:complexType name="CheckInType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="File" type="xsd:base64Binary" xmime:expectedContentTypes="application/octet-stream" /> <xsd:element name="VersionComment" type="xsd:string" minOccurs="0" /> <xsd:element name="Attributes" type="tns:AttributeListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of an MTOM SOAP request for checking in a JPG file. Note that we've also chosen to set a few USER attributes.
Example MTOM SOAP Request for the CheckIn Operation
POST /services/Assets HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.832) Host: 127.0.0.1 Content-Type: multipart/related; type="application/xop+xml"; boundary=--MIMEBoundary633235863336759492; start="<[email protected]>"; start-info="text/xml; charset=utf-8" SOAPAction: "" Content-Length: 4989 Expect: 100-continue Connection: Keep-Alive ----MIMEBoundary633235863336759492 content-id: <[email protected]> content-type: application/xop+xml; charset=utf-8; type="text/xml; charset=utf-8" content-transfer-encoding: binary <soap:Envelope xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!-- credentials go here --> </soap:Header> <soap:Body> <CheckIn xmlns="http://avid.com/interplay/ws/assets/types"> <InterplayURI>interplay://WGA/Projects/Rainforest/Images/monkey.gif</InterplayURI> <File> <xop:Include href="cid:[email protected]" /> </File> <VersionComment>Adding the small monkey image</VersionComment> <Attributes> <Attribute Group="USER" Name="Photographer">John Smith</Attribute> </Attributes> </CheckIn> </soap:Body> </soap:Envelope> ----MIMEBoundary633235863336759492 content-id: <[email protected]> content-type: application/octet-stream content-transfer-encoding: binary a bunch of binary data would go here ----MIMEBoundary633235863336759492--
The CheckInResponseType element is sent in the SOAP response. The CheckInResponseType contains an optional list of errors and/or an Interplay URI. If the operation was successful, then the response will contain an Interplay URI referencing the file asset by its moniker. If the operation was not successful, the response will contain one or more errors and no Interplay URI.
XSD Definition of CheckInResponseType
<xsd:complexType name="CheckInResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="InterplayURI" type="xsd:string" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the CheckIn operation.
Example Successful MTOM SOAP Response for the CheckIn Operation
HTTP/1.1 200 OK Content-Type: multipart/related; type="application/xop+xml"; boundary="----=_Part_0_21523281.1188003933957"; start="<[email protected]>"; start-info="text/xml" SOAPAction: "" Content-Length: 541 Server: Jetty(6.1.1) ------=_Part_0_21523281.1188003933957 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml; charset=UTF-8" Content-Transfer-Encoding: binary Content-ID: <[email protected]> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckInResponse xmlns="http://avid.com/interplay/ws/assets/types"> <InterplayURI>interplay://WGA?moniker=1|214A72C2-DFD6-4388-AA25-E4AF7F26E18F|*|237592|*</InterplayURI> </CheckInResponse> </soap:Body> </soap:Envelope> ------=_Part_0_21523281.1188003933957--
The CheckInAAF operation is used to check in Avid assets to the Interplay Engine. Sequences, master clips, subclips, and rendered effects are all examples of Avid assets. This operation can be used to check in new Avid assets or to update existing Avid assets. The actual file checked in should always be a binary AAF file.
The CheckInAAFType XML type defines the parameters passed in to the CheckInAAF operation. These parameters consist of an Interplay URI, the contents of the AAF file to check in, and an optional list of attributes to set.
The Interplay URI must be of MOB ID or path form. If checking in a new Avid asset, then the path form must be used and must reference a valid folder. Existing Avid assets can be checked in using a path-formatted or mobid-formatted Interplay URI. If the Interplay URI represents a non-Avid file asset, the operation will fail with an error.
The AAF element should either contain the base-64 encoded AAF file contents or should reference a mime attachment per the MTOM specifications. The use of MTOM is highly recommended as it is significantly more efficient than inline base-64 encoded content.
The Headframe element (if specified) should either contain a base-64 encoded file or should reference a mime attachment per the MTOM specifications. Headframes can be JPEG, GIF, PNG, or BMP files, but they will be converted to JPEG and resized to 400 (w) x 300 (h) before being stored.
If attributes are passed in to be set on the asset, they must be USER attributes. If an attempt is made to set a SYSTEM attribute, the operation will fail with errors. In addition, new attribute names (but not values) are limited to 30 bytes. This 30 byte limit is enforced by an approximation algorithm that assumes 1 byte for each ASCII character and 4 bytes for each non-ASCII character.
The OverrideUserProp flag indicate if USER attributes should be updated.
XSD Definition of CheckInAAFType
<xsd:complexType name="CheckInAAFType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="AAF" type="xsd:base64Binary" xmime:expectedContentTypes="application/octet-stream" /> <xsd:element name="Headframe" type="xsd:base64Binary" xmime:expectedContentTypes="application/octet-stream" minOccurs="0" /> <xsd:element name="Attributes" type="tns:AttributeListType" minOccurs="0" /> <xsd:element name="OverrideUserProp" type="xsd:boolean" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of an MTOM SOAP request for checking in an existing Avid master clip. Note that we've also chosen to set a few USER attributes.
Example MTOM SOAP Request for the CheckInAAF Operation
POST /services/Assets HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.832) Host: 127.0.0.1 Content-Type: multipart/related; type="application/xop+xml"; boundary=--MIMEBoundary633235863336759492; start="<[email protected]>"; start-info="text/xml; charset=utf-8" Content-Length: 292839 Expect: 100-continue Connection: Keep-Alive ----MIMEBoundary633235863336759492 content-id: <[email protected]> content-type: application/xop+xml; charset=utf-8; type="text/xml; charset=utf-8" content-transfer-encoding: binary <soap:Envelope xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!-- credentials go here --> </soap:Header> <soap:Body> <CheckInAAF xmlns="http://avid.com/interplay/ws/assets/types"> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</InterplayURI> <AAF> <xop:Include href="cid:[email protected]" /> </AAF> <Attributes> <Attribute Group="USER" Name="Camera Man">John Smith</Attribute> </Attributes> </CheckInAAF> </soap:Body> </soap:Envelope> ----MIMEBoundary633235863336759492 content-id: <[email protected]> content-type: application/octet-stream content-transfer-encoding: binary a bunch of binary data would go here ----MIMEBoundary633235863336759492--
The CheckInAAFResponseType element is sent in the SOAP response. The CheckInAAFResponseType contains an optional list of errors and/or an Interplay URI. If the operation was successful, then the response will contain an Interplay URI referencing the Avid asset by its MOB ID. If the operation was not successful, the response will contain one or more errors and no Interplay URI.
XSD Definition of CheckInAAFResponseType
<xsd:complexType name="CheckInAAFResponseType"< <xsd:sequence< <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /< <xsd:element name="InterplayURI" type="xsd:string" minOccurs="0" /< <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /< <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /< </xsd:sequence< <xsd:anyAttribute processContents="lax" /< </xsd:complexType<
The following is an example of a successful SOAP response for the CheckInAAF operation.
Example Successful MTOM SOAP Response for the CheckInAAF Operation
HTTP/1.1 200 OK Content-Type: multipart/related; type="application/xop+xml"; boundary="----=_Part_0_21523281.1188003933957"; start="<[email protected]>"; start-info="text/xml" SOAPAction: "" Content-Length: 541 Server: Jetty(6.1.1) ------=_Part_0_21523281.1188003933957 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml; charset=UTF-8" Content-Transfer-Encoding: binary Content-ID: <[email protected]> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckInAAFResponse xmlns="http://avid.com/interplay/ws/assets/types"> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</InterplayURI> </CheckInAAFResponse> </soap:Body> </soap:Envelope> ------=_Part_0_21523281.1188003933957--
Many integrators use the CheckInAAF operation in conjunction with directly writing MXF files to ISIS shared storage. For best results, please consult the Guidelines for Client Applications on Avid Unity ISIS that is distributed with Interplay WS.
In addition, integrators writing to ISIS should be aware of the following restrictions:
The CreateFolder operation is used to create a folder or nested path of folders in the asset management database. Once created, other assets can be check into these folders.
The CreateFolderType XML type defines the parameters passed in to the CreateFolder operation. The only necessary parameter is a path-formatted Interplay URI representing the folder to create. If parent folders do not yet exist, they will be created as well. An Owner can also be optionally passed in. This should correspond to the username of the user who should be the owner of the created folder(s).
XSD Definition of CreateFolderType
<xsd:complexType name="CreateFolderType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="Owner" type="xsd:string" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for creating a new folder. Note: For this and all other operations that do not exchange binary files, we will use straight XML examples instead of MTOM.
Example SOAP Request for the CreateFolder Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:CreateFolder> <typ:InterplayURI>interplay://WGA/Projects/Rainforest/Hold</typ:InterplayURI> </typ:CreateFolder> </soapenv:Body> </soapenv:Envelope>
The CreateFolderResponseType element is sent in the SOAP response. The CreateFolderResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty CreateFolderResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of CreateFolderResponseType
<xsd:complexType name="CreateFolderResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the CreateFolder operation.
Example Successful SOAP Response for the CreateFolder Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CreateFolderResponse xmlns="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The CreateFolders operation is used to create several folders or nested paths of folders in the asset management database. Once created, other assets can be check into these folders.
The CreateFoldersType XML type defines the parameters passed in to the CreateFolders operation. The only necessary parameter is a list of path-formatted Interplay URIs representing the folders to create. If parent folders do not yet exist, they will be created as well. An Owner can also be optionally passed in. This should correspond to the username of the user who should be the owner of the created folders
XSD Definition of CreateFoldersType
<xsd:complexType name="CreateFoldersType"> <xsd:sequence> <xsd:element name="InterplayURIs" type="tns:InterplayURIListType"/> <xsd:element name="Owner" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for creating three new folders.
Example SOAP Request for the CreateFolders Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:CreateFolders> <typ:InterplayURIs> <typ:InterplayURI>interplay://interplay/Catalogs/AA</typ:InterplayURI> <typ:InterplayURI>interplay://interplay/Catalogs/BB</typ:InterplayURI> <typ:InterplayURI>interplay://interplay/Catalogs/CC</typ:InterplayURI> </typ:CreateFolders> </soapenv:Body> </soapenv:Envelope>
The CreateFoldersResponseType element is sent in the SOAP response. The CreateFoldersResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty CreateFolderResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of CreateFoldersResponseType
<xsd:complexType name="CreateFoldersResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the CreateFolders operation
Example Successful SOAP Response for the CreateFolders Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CreateFoldersResponse xmlns="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The CreateMasterClip operation is used to create an empty master clip with the standard master clip metadata. This can be used as a placeholder for media that is to be captured later. At this time, masterclips created with this operation can only be captured via the Batch Capture feature of Avid professional editors. Future versions of this operation may support Batch Import and Transfer Engine ingests as well. In additional film rates (23.98p, 24p, 24i) are not currently supported.
The CreateMasterClipType XML type defines the parameters passed in to the CreateMasterClip operation. It accepts a DestinationFolderURI, an optional UMID ClipID (if not supplied, it will be generated, if the ClipID already exists in the Asset database an error will be returned), a ClipName, a Timebase/Framerate, a Tape Name, a StartTimecode, a Duration or EndTimecode, a boolean to indicate if there should be a Video track, and the number of Audio tracks. It also optionally accepts a UMID Source ID (if not supplied, it will be generated), optional Source Mob Type indicate the source mob type of Tape or Import (if not supplied, default is Tape), optional Source Mob offset in frames (if not supplied, default is 0), optional SourceBox input BoxX, BoxY, BoxWidth, BoxHeight (if not supplied or one of these four argunments is 0, then SourceBox is not set) and an optional list of user defined attributes.
The DestinationFolderURI is the location in Interplay to check the masterclip in. The format of the StartTimecode and EndTimecode parameters is HH:MM:SS:FF. If Duration and EndTimecode are specified then the Duration will be used and EndTimecode will be discarded. This would normally be designed using an xsd:choice element, but xsd:choice is not well-supported by all SOAP toolkits.
The valid values for Timebase can be found below (Timebase is on left):
Valid values for Timebase
Non-Drop Timecode 25i: 25i PAL, 1080i/50 25p: 25p PAL, 720p/25, 1080p/25 30i: 30i NTSC, 1080i/59.94 30p: 720p/29.97 50p: 720p/50 60p: 720p/59.94 Drop Timecode 30i_df: 30i NTSC, 1080i/59.94 30p_df: 720p/29.97 60p_df: 720p/59.94
The following is the XSD for the CreateMasterClipType:
XSD Definition of CreateMasterClipType
<xsd:complexType name="CreateMasterClipType"> <xsd:sequence> <xsd:element name="DestinationFolderURI" type="xsd:string"/> <xsd:element minOccurs="0" name="ClipID" type="xsd:string"/> <xsd:element name="ClipName" type="xsd:string"/> <xsd:element name="Timebase" type="xsd:string"/> <xsd:element name="TapeName" type="xsd:string"/> <xsd:element name="StartTimecode" type="xsd:string"/> <xsd:element name="Duration" type="xsd:long" minOccurs="0" /> <xsd:element name="EndTimecode" type="xsd:string" minOccurs="0"/> <xsd:element name="Video" type="xsd:boolean"/> <xsd:element name="AudioTracks" type="xsd:int"/> <xsd:element name="SourceID" type="xsd:string" minOccurs="0"/> <xsd:element minOccurs="0" name="SourceMobType" type="xsd:string"/> <xsd:element minOccurs="0" name="SourceMobOffset" type="xsd:int"/> <xsd:element minOccurs="0" name="BoxX" type="xsd:int"/> <xsd:element minOccurs="0" name="BoxY" type="xsd:int"/> <xsd:element minOccurs="0" name="BoxHeight" type="xsd:int"/> <xsd:element minOccurs="0" name="BoxWidth" type="xsd:int"/> <xsd:element name="Attributes" type="tns:AttributeListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType>
The following is an example of a SOAP request for creating a master clip.
Example SOAP Request for the CreateMasterClip Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:CreateMasterClip> <typ:DestinationFolderURI>interplay://WGA/catalogs/test</typ:DestinationFolderURI> <typ:ClipID>interplay://WGB?mobid=060a2b340101010101010f0013-000000-000e3cc1e8e8143d-060e2b333f7f-2a80</typ:ClipID> <typ:ClipName>Monkeys Swinging</typ:ClipName> <typ:Timebase>30i_df</typ:Timebase> <typ:TapeName>Africa_20090615_3</typ:TapeName> <typ:StartTimecode>01:03:12:20</typ:StartTimecode> <typ:Duration>976</typ:Duration> <typ:Video>true</typ:Video> <typ:AudioTracks>2</typ:AudioTracks> <typ:SourceID>interplay://WGA?sourceid=060a2b340101010101010f0013-000000-000000003d40ede1-060e2b347f7f-2a80</typ:SourceID> <typ:SourceMobType>Tape</typ:SourceMobType> <typ:SourceMobOffset>3</typ:SourceMobOffset> <typ:BoxX>-800</typ:BoxX> <typ:BoxY>-450</typ:BoxY> <typ:BoxHeight>900</typ:BoxHeight> <typ:BoxWidth>1600</typ:BoxWidth> </typ:CreateMasterClip> </soapenv:Body> </soapenv:Envelope>
The CreateMasterClipResponseType element is sent in the SOAP response. If the operation was successful, then the response will contain a CreateMasterClipResponseType element with the new clip's InterplayURI and SourceID URI. If the operation was not successful, the response will contain one or more errors.
XSD Definition of CreateMasterClipResponseType
<xsd:complexType name=" CreateMasterClipResponseType "> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Result" type="tns:NewMasterClipURLType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType>
The following is an example of a successful SOAP response for the CreateMasterClip operation.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CreateMasterClipResponse xmlns=http://avid.com/interplay/ws/assets/types> <Result> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-000000003e99ede1-060e2b347f7f-2a80</InterplayURI> <SourceID>interplay://WGA?sourceid=060a2b340101010101010f0013-000000-000000003d40ede1-060e2b347f7f-2a80</SourceID> </Result> </CreateMasterClipResponse> </soap:Body> </soap:Envelope>
The CreateShotlist operation is used to create a simple cuts-only shotlist. The shotlist is a sequential list of master clips with in/out points and related locators. In addition, attributes and locators may optionally be set on the new shotlist. If the shotlist is created successfully, its Interplay URI will be returned in the response.
The CreateShotlistType XML type defines the parameters passed into the CreateShotlist operation. DestinationFolderURI references the folder that will contain the shotlist to be created. ShotlistName specifies the name that will be set for the shotlist. ShotlistMobID specifies the id that will be set for the shotlist mob id. StartTimecode specifies the start timecode for the shotlist and should be of format HH:MM:SS:FF. ShotlistElements is a sequential list of shotlist elements (masterclips with in/out points) that make up the shotlist. All shotlist elements must have the same framerate and come from the same workgroup. The optional Attributes parameter specifies a list of attributes to be set on the new shotlist. The optional locators parameter allows you to add locators to the shotlist relative to the shotlist starting timecode.
XSD Definition of CreateShotlistType
<xsd:element name="CreateShotlist" type="tns:CreateShotlistType"/> <xsd:complexType name="CreateShotlistType"> <xsd:sequence> <xsd:element name="DestinationFolderURI" type="xsd:string"/> <xsd:element name="ShotlistName" type="xsd:string"/> <xsd:element name="ShotlistMobID" type="xsd:string"/> <xsd:element name="StartTimecode" type="xsd:string"/> <xsd:element name="ShotlistElements" type="tns:ShotlistElementListType"/> <xsd:element name="Attributes" type="tns:AttributeListType" minOccurs="0"/> <xsd:element name="Locators" type="tns:UMIDLocatorListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The ShotlistElementType XML type is used as an input in the CreateShotlist operation. It specifies a master clip with in/out points and any related locators.
XSD Definition of ShotlistElementType
<xsd:complexType name="ShotlistElementType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string"/> <xsd:element name="ShotlistMobID" type="xsd:string"/> <xsd:element name="InTimecode" type="xsd:string"/> <xsd:element name="Duration" type="xsd:long" minOccurs="0"/> <xsd:element name="OutTimecode" type="xsd:string" minOccurs="0"/> <xsd:element name="Locators" type="tns:UMIDLocatorListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType>
The InterplayURI must point to a valid masterclip in the Interplay system.
The InTimecode and OutTimecode specify the in/out points for the masterclip in the shotlist. InTimecode is inclusive, while OutTimecode is exclusive. You may also specify a duration instead of an OutTimecode. If both OutTimecode and Duration are specified, the Duration will be used and OutTimecode will be discarded.
The Locators element is an optional list of UMID locators which are defined relative to the current clip's in timecode.
The following is an example of a SOAP request for the Createshotlist operation:
Example SOAP Request for the CreateShotlist Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soap:Header> <!-- credentials go here --> </soap:Header> <soapenv:Body> <typ:CreateShotlist> <typ:DestinationFolderURI>interplay://WGA/Projects/Jungle/Jungle Bin</typ:DestinationFolderURI> <typ:ShotlistName>Monkeys Clapping</typ:ShotlistName> <typ:StartTimecode>01;00;00;00</typ:StartTimecode> <typ:ShotlistMobID>060a2b340101010101010f0013-000000-0000001f49b69999-060e2b347f7f-2a80</typ:ShotlistMobID> <typ:ShotlistElements> <typ:ShotlistElement> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-0013071456aa105f-060e2b347f7f-2a80</typ:InterplayURI> <typ:InTimecode>02;43;48;00</typ:InTimecode> <typ:OutTimecode>02;44;39;19</typ:OutTimecode> <typ:Locators> <typ:Locator> <typ:FrameNumber>20</typ:FrameNumber> <typ:Comment>Good Close-Up</typ:Comment> <typ:Color>Green</typ:Color> <typ:Track>V1</typ:Track> </typ:Locator> </typ:Locators> </typ:ShotlistElement> <typ:ShotlistElement> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-000502148b9d105a-060e2b347f7f-2a80</typ:InterplayURI> <typ:InTimecode>01;35;47;27</typ:InTimecode> <typ:Duration>150</typ:Duration> </typ:ShotlistElement> </typ:ShotlistElements> <typ:Attributes> <typ:Attribute Group="USER" Name="Needs Review">Yes</typ:Attribute> </typ:Attributes> <typ:Locators> <typ:Locator> <typ:Timecode>01;00;45;25</typ:Timecode> <typ:Comment>Wide Shot</typ:Comment> <typ:Color>Green</typ:Color> <typ:Track>V1</typ:Track> </typ:Locator> </typ:Locators> </typ:CreateShotlist> </soapenv:Body> </soapenv:Envelope>
The CreateShotlistResponseType element is sent in the SOAP response. The CreateShotlistResponseType contains an optional interplayURI and/or an optional list of errors. If the operation was successful, then It should return the new shotlist interplayURI. If the operation was not successful, the response will contain one or more errors.
XSD Definition of CreateShotlistResponseType
<xsd:complexType name="CreateShotlistResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="InterplayURI" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the CreateShotlist operation.
Example Successful SOAP Response for the CreateShotlist Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CreateShotlistResponse xmlns="http://avid.com/interplay/ws/assets/types"> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-001d1d0026e41f04-060e2b347f7f-2a80</InterplayURI> </CreateShotlistResponse> </soap:Body> </soap:Envelope>
The CreateSubclip operation is used to create a new subclip in the asset management database. The subclip is based on an existing masterclip along with a starting point and subclip length (in frames). In addition, a headframe file and/or attributes may optionally be set on the new subclip.
The CreateSubclipType XML type defines the parameters passed in to the CreateSubclip operation. The MasterclipURI element should be a valid Interplay URI pointing to the masterclip that the subclip will be extracted from. If the URI does not reference a masterclip, an error will be returned.
The SubclipPathURI is a path-based Interplay URI indicating the folder where the subclip should be checked in.
The Name element indicates the desired display name of the clip.
The StartingOffset or StartingTimecode define the point in the masterclip where the subclip should begin. Only one of these elements should be used. (This would normally be designed using an xsd:choice element, but xsd:choice is not well-supported by all SOAP toolkits.)
The StartingOffset defines the starting point as an offset, in frames, from the start of the masterclip. If the StartingOffset is greater than the length of the masterclip, an error will be returned.
The StartingTimecode defines the starting point as a timecode in the masterclip. If the Timecode is not within the range of the masterclip, an error will be returned.
The Length element specifies the desired length of the subclip in frames. If the length extends beyond the end of the masterclip, an error will be returned.
The Headframe element should either contain a base-64 encoded file or should reference a mime attachment per the MTOM specifications. The use of MTOM is highly recommended as it is significantly more efficient than inline base-64 encoded content. Headframes can be JPEG, GIF, PNG, or BMP files, but they will be converted to JPEG and resized to 400 (w) x 300 (h) before being stored.
If attributes are passed in to be set on the subclip, they must be USER attributes. If an attempt is made to set a SYSTEM attribute, the operation will fail with errors. In addition, new attribute names (but not values) are limited to 30 bytes. This 30 byte limit is enforced by an approximation algorithm that assumes 1 byte for each ASCII character and 4 bytes for each non-ASCII character.
XSD Definition of CreateSubclipType
<xsd:complexType name="CreateSubclipType"> <xsd:sequence> <xsd:element name="MasterclipURI" type="xsd:string" /> <xsd:element name="SubclipPathURI" type="xsd:string" /> <xsd:element name="Name" type="xsd:string" /> <xsd:element name="StartingOffset" type="xsd:long" minOccurs="0" /> <xsd:element name="StartingTimecode" type="xsd:string" minOccurs="0" /> <xsd:element name="Length" type="xsd:long" /> <xsd:element name="Headframe" type="xsd:base64Binary" xmime:expectedContentTypes="application/octet-stream" minOccurs="0" /> <xsd:element name="Attributes" type="tns:AttributeListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for creating a new subclip.
Example SOAP Request for the CreateSubclip Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:CreateSubclip> <typ:MasterclipURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-46a4ed0c4ffc00d1-060e2b347f7f-2a80</typ:MasterclipURI> <typ:SubclipPathURI>interplay://WGA/Projects/Rainforest/Monkeys/</typ:SubclipPathURI> <typ:Name>Monkeys Combing Hair</typ:Name> <typ:StartingOffset>4765</typ:StartingOffset> <typ:Length>564</typ:Length> </typ:CreateSubclip> </soapenv:Body> </soapenv:Envelope>
The CreateSubclipResponseType element is sent in the SOAP response. The CreateSubclipResponseType contains an optional list of errors and/or an Interplay URI. If the operation was successful, then the response will contain an Interplay URI referencing the new subclip. If the operation was not successful, the response will contain one or more errors and no Interplay URI.
XSD Definition of CreateSubclipResponseType
<xsd:complexType name="CreateSubclipResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="InterplayURI" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the CreateSubclip operation.
Example Successful SOAP Response for the CreateSubclip Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CreateSubclipResponse xmlns="http://avid.com/interplay/ws/assets/types"> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-00130614633f0b10-060e2b347f7f-2a80</InterplayURI> </CreateSubclipResponse> </soap:Body> </soap:Envelope>
The DeleteAssets operation is used to delete assets, associated media, and/or empty folders from the Avid Interplay system. This is a permanent operation and cannot be undone. In Interplay 2.3+ environments, deleting a sequence will also automatically remove an unused reference assets from the folder.
The DeleteAssetsType XML type defines the parameters passed in to the DeleteAssets operation. The first required parameter is a list of Interplay URIs representing the assets to be deleted. These must be path-based URIs, since deleting by mob ID only is not allowed. For each Interplay URI that does not reference a valid asset, an OBJECT_NOT_FOUND error will be returned.
The DeleteMetadata parameter is optional and indicates if specified metadata files should be deleted. Default behavior is that metadata will always be deleted. Folders and media MXF files are unaffected by this parameter
The DeleteMedia parameter is required and indicates if the corresponding MXF media files should also be deleted. If set to false, then only the metadata will be deleted. Please note that affinity is always used when deleting media. It should also be noted that if there are errors deleting the media, then one error will be returned for each MXF that cannot be deleted, but the metadata will still be deleted from the database. Associated media can only be deleted along with its masterclip, so this parameter has no meaning when used with subclips, sequences, or empty folders.
The Resolutions parameter is optional and allows the user to specify if only certain resolutions should be deleted. You can use the GetResolutions command to find all of the online resolutions for a masterclip. If an invalid resolution is passed in, no errors are returned and the operation continues as normal. If this parameter is not specified at all, then all resolutions for the specified asset will be deleted. Note that the Resolutions parameter is only effective when the DeleteMedia parameter is set to true.
The Simulation parameter is optional and allows for a simulated delete. If this parameter is set to true, the operation will report back the assets and media that would have been deleted, but they will not actually be deleted. It should be noted that there are some errors that cannot be triggered in the simulation, so an error-free simulation does not necessarily guarantee an error-free actual delete. If the Simulation parameter is not specified, it defaults to false and an actual delete will be performed.
This operation requires at least a READ_WRITE_DELETE permission level.
XSD Definition of DeleteAssetsType
<xsd:complexType name="DeleteAssetsType"> <xsd:sequence> <xsd:element name="InterplayURIs" type="tns:InterplayURIListType" /> <xsd:element name="DeleteMetadata" type="xsd:boolean" minOccurs="0" /> <xsd:element name="DeleteMedia" type="xsd:boolean" /> <xsd:element name="Resolutions" type="tns:ResolutionListType" minOccurs="0" /> <xsd:element name="Simulation" type="xsd:boolean" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for deleting an asset and its media.
Example SOAP Request for the DeleteAssets Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:DeleteAssets> <typ:InterplayURIs> <typ:InterplayURI>interplay://WGA/Incoming Media/WS1/060a2b340101010101010f0013- 000000-492db86a79b81a1f-060e2b347f7f-2a80</typ:InterplayURI> </typ:InterplayURIs> <typ:DeleteMedia>true</typ:DeleteMedia> </typ:DeleteAssets> </soapenv:Body> </soapenv:Envelope>
The DeleteAssetsResponseType element is sent in the SOAP response. The DeleteAssetsResponseType contains an optional list of errors, an optional list of deleted assets (metadata), and an optional list of deleted media files.
If the operation was successful, then the Errors element will not exist in the response. If there are errors deleting the asset or its media, then one error will be returned for each asset and/or media file that failed to delete.
The DeletedAssets element contains a list of the interplay URIs corresponding to the assets that were successfully deleted from the database. This indicates that the metadata has been deleted, but does not necessarily mean the media has been deleted. If no assets were deleted from the database, this element will not exist in the response.
The DeletedMedia element contains a list of the media files that were deleted. Each media file is represented in a MediaDetails type that specifies the file path of the MXF file and the corresponding resolution. If no media files were deleted, this element will not exist in the response.
XSD Definition of DeleteAssetsResponseType
<xsd:complexType name="DeleteAssetsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="DeletedAssets" type="tns:InterplayURIListType" minOccurs="0" /> <xsd:element name="DeletedMedia" type="tns:MediaDetailsListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the DeleteAssets operation.
Example Successful SOAP Response for the DeleteAssets Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <DeleteAssetsResponse xmlns="http://avid.com/interplay/ws/assets/types"> <DeletedAssets> <InterplayURI>interplay://WGA/Incoming Media/WS1/060a2b340101010101010f0013-000000-492db86a79b81a1f-060e2b347f7f-2a80</InterplayURI> </DeletedAssets> <DeletedMedia> <MediaDetails> <FilePath>//istore/ws1/avid mediafiles/mxf/tm_bobxp/c0013a0219fcc001.mxf</FilePath> <Resolution>PCM</Resolution> </MediaDetails> <MediaDetails> <FilePath>//istore/ws1/avid mediafiles/mxf/tm_bobxp/c0013a0119fcc001.mxf</FilePath> <Resolution>PCM</Resolution> </MediaDetails> <MediaDetails> <FilePath>>//istore/ws1/avid mediafiles/mxf/tm_bobxp/c001348e426cf.mxf</FilePath> <Resolution>DV 25 411</Resolution> </MediaDetails> </DeletedMedia> </DeleteAssetsResponse> </soap:Body> </soap:Envelope>
The Duplicate operation is used to create a duplicate (or copy) of an asset in another location and set attributes on the new duplicate of the asset. This operation works for Avid assets and non-Avid assets, but does not work for folders. If an Avid asset is duplicated, it will have its own new Mob ID.
The Duplicate XML type defines the parameters passed in to the Duplicate operation. The InterplayAssetURI references the asset that should be duplicated. The InterplayFolderURI references the folder that the duplicate should be created in. This folder must already exist. The Attributes parameter is optional, and can be used to specify a list of attributes to set of the new duplicated asset.
If attributes are passed in to be set on the asset, they must be USER attributes. If an attempt is made to set a SYSTEM attribute, the operation will fail with errors. In addition, new attribute names (but not values) are limited to 30 bytes. This 30 byte limit is enforced by an approximation algorithm that assumes 1 byte for each ASCII character and 4 bytes for each non-ASCII character.
This operation currently requires at least a READ_WRITE permission level.
XSD Definition of DuplicateType
<xsd:complexType name="DuplicateType"> <xsd:sequence> <xsd:element name="InterplayAssetURI" type="xsd:string"/> <xsd:element name="InterplayFolderURI" type="xsd:string"/> <xsd:element name="Attributes" type="tns:AttributeListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for duplicating an asset.
Example SOAP Request for the Duplicate Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:Duplicate> <typ:InterplayAssetURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-46a4ed0c4ffc00d1-060e2b347f7f-2a80</typ:InterplayAssetURI> <typ:InterplayFolderURI>interplay://WGA/Projects/Rainforest/</typ:InterplayFolderURI> <typ:Attributes> <typ:Attribute Group="USER" Name="Camera">A</typ:Attribute> <typ:Attribute Name="CameraMan" Group="USER">Bob</typ:Attribute> </typ:Attributes> </typ:Duplicate> </soapenv:Body> </soapenv:Envelope>
The DuplicateResponseType element is sent in the SOAP response. The DuplicateResponseType contains an optional list of errors and/or an Interplay URI. If the operation was successful, then the response will contain an Interplay URI referencing the new asset. If the operation was not successful, the response will contain one or more errors and no Interplay URI.
XSD Definition of DuplicateResponseType
<xsd:complexType name="DuplicateResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="InterplayURI" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the Duplicate operation.
Example Successful SOAP Response for the Duplicate Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <DuplicateResponse xmlns="http://avid.com/interplay/ws/assets/types"> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-0b26340063c200da-060e2b347f7f-d080</InterplayURI> </DuplicateResponse> </soap:Body> </soap:Envelope>
The FindLinks operation is used to get all of the representations of an asset in the asset tree. In Interplay, links are like aliases; they are just references to a real asset in the database.
The FindLinksType XML type defines the parameters passed in to the FindLinks operation. The only parameter is an Interplay URI referencing a valid Avid asset. If the Interplay URI references a non-Avid asset or a folder, the operation will fail with an error.
XSD Definition of FindLinksType
<xsd:complexType name="FindLinksType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for finding all links.
Example SOAP Request for the FindLinks Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here--> </soapenv:Header> <soapenv:Body> <typ:FindLinks> <typ:InterplayURI>interplay://WGA?mobid=060a2b3f0013000-48c534da3000f-060e2b347f7f-2a80</typ:InterplayURI> </typ:FindLinks> </soapenv:Body> </soapenv:Envelope>
The FindLinksResponseType element is sent in the SOAP response. The FindLinksResponseType contains an optional list of errors and/or a list of path-based InterplayURIs referencing each link to the asset. If there are no errors, the Errors element is omitted entirely.
XSD Definition of FindLinksResponseType
<xsd:complexType name="FindLinksResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Results" type="tns:InterplayURIListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the FindLinks operation.
Example Successful SOAP Response for the FindLinks Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <FindLinksResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Results> <InterplayURI>interplay://WGA/Catalogs/Rainforest/060a2b340101010f0013-000000-48c5349eeda3000f-060e2b347f7f-2a80</InterplayURI> <InterplayURI>interplay://WGA/Projects/Conservation/Conservation Bin/060a2b340101010f0013-000000-48c5349eeda3000f-060e2b347f7f-2a80</InterplayURI> </Results> </FindLinksResponse> </soap:Body> </soap:Envelope>
The FindRelatives operation is used to get a list of the Avid assets (masterclip, sequence, subclip, effect, etc) related to a specific asset. For example, the relatives of a masterclip would be the sequences it is used in as well as the subclips created from it. The response also contains attributes for each of the related assets.
The FindRelativesType XML type defines the parameters passed in to the FindRelatives operation. These parameters consist of an Interplay URI referencing an Avid asset, and an optional list of attributes to return.
If the ReturnAttributes element is not included in the request, then a default set of attributes will be returned. For a list of what the default attributes are, please see the documentation on Attributes in the previous section. If a list of attributes is provided in the ReturnAttributes parameter, then only those attributes will be returned. If the attribute is not set on an asset, that attribute will be excluded from the response.
XSD Definition of FindRelativesType
<xsd:complexType name="FindRelativesType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="ReturnAttributes" type="tns:AttributeListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for finding all relatives. In this example, we find the relatives of a sequence.
Example SOAP Request for the FindRelatives Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here--> </soapenv:Header> <soapenv:Body> <typ:FindRelatives> <typ:InterplayURI>interplay://WGA?mobid=060a2b34010101f0013-000000-48c1997008d-0602b347f7f-2a80</typ:InterplayURI> <typ:ReturnAttributes> <typ:Attribute Group="USER" Name="Display Name" /> <typ:Attribute Group="SYSTEM" Name="Type" /> </typ:ReturnAttributes> </typ:FindRelatives> </soapenv:Body> </soapenv:Envelope>
The FindRelativesResponse element is sent in the SOAP response. The FindRelativesResponse contains an optional list of errors, and/or a list of AssetDescriptionType results. Each asset will be returned with the requested return attributes or a default set of attributes.
XSD Definition of FindRelativesResponseType
<xsd:complexType name="FindRelativesResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Results" type="tns:AssetDescriptionListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the FindRelatives operation.
Example Successful SOAP Response for the FindRelatives Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <FindRelativesResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Results> <AssetDescription> <InterplayURI>interplay://WGA?mobid=060a2b340010100f01-00000-471ff008d-060b347f7f-2a80</InterplayURI> <Attributes> <Attribute Name="MOB ID" Group="SYSTEM">060a2b340101010101010f0013-000000-48c1937231ff008d-060e2b347f7f-2a80</Attribute> <Attribute Name="Moniker" Group="SYSTEM">1|44A47538-2C24-44E1-A783-50172C591AA4|*|3084|*</Attribute> <Attribute Name="Display Name" Group="USER">Monkeys</Attribute> <Attribute Name="Type" Group="SYSTEM">masterclip</Attribute> </Attributes> </AssetDescription> <!-- more results go here, but clipping out for space reasons --> </Results> </FindRelativesResponse> </soap:Body> </soap:Envelope>
The GetAttributes operation is used to get a set of attributes for one or more assets. This operation can be applied to a list of assets in order to reduce the number of calls needed. Either a default set or a user-specified set of attributes can be returned.
The GetAttributesType XML type defines the parameters passed in to the GetAttributes operation. These parameters are a list of one or more Interplay URIs and an optional list of attributes to retrieve.
Each Interplay URI in the list of Interplay URIs must reference a valid asset or folder. Note that for this operation, all forms of Interplay URIs can be used.
If the Attributes element is not included in the request, then a default set of attributes will be returned. For a list of what the default attributes are, please see the documentation on Attributes in the previous section. If a list of attributes is provided in the Attributes parameter, then only those attributes will be returned. If the attribute is not set on an asset, that attribute will be excluded from the response.
XSD Definition of GetAttributesType
<xsd:complexType name="GetAttributesType"> <xsd:sequence> <xsd:element name="InterplayURIs" type="tns:InterplayURIListType" /> <xsd:element name="Attributes" type="tns:AttributeListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for getting specific attributes from two assets.
Example SOAP Request for the GetAttributes Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetAttributes> <typ:InterplayURIs> <typ:InterplayURI>interplay://WGA?moniker=1|214A72C2-DFD6-4388-AA25-E4AF7F26E18F|*|237409|*</typ:InterplayURI> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</typ:InterplayURI> </typ:InterplayURIs> <typ:Attributes> <typ:Attribute Group="USER" Name="Display Name" /> <typ:Attribute Group="USER" Name="Camera Man" /> <typ:Attribute Group="SYSTEM" Name="Status" /> </typ:Attributes> </typ:GetAttributes> </soapenv:Body> </soapenv:Envelope>
The GetAttributesResponseType element is sent in the SOAP response. The GetAttributesResponseType contains an optional list of errors, and/or a list of AssetDescriptionType results. It is possible for the operation to be successful for some assets and unsuccessful for others. If there was an error getting attributes for any assets, a corresponding error will be returned in the errors list.
XSD Definition of GetAttributesResponseType
<xsd:complexType name="GetAttributesResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Results" type="tns:AssetDescriptionListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetAttributes operation. Note that because the SYSTEM:Status attribute is not applicable for non-Avid assets, that attribute is excluded from the asset description for the non-Avid asset.
Example Successful SOAP Response for the GetAttributes Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetAttributesResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Results> <AssetDescription> <InterplayURI>interplay://WGA?moniker=1|214A72C2-DFD6-4388-AA25-E4AF7F26E18F|*|237409|*</InterplayURI> <Attributes> <Attribute Name="Moniker" Group="SYSTEM">1|214A72C2-DFD6-4388-AA25-E4AF7F26E18F|*|237409|*</Attribute> <Attribute Name="Camera Man" Group="USER">Matt Smith</Attribute> <Attribute Name="Display Name" Group="USER">tree.jpg</Attribute> </Attributes> </AssetDescription> <AssetDescription> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</InterplayURI> <Attributes> <Attribute Name="MOB ID" Group="SYSTEM">060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</Attribute> <Attribute Name="Moniker" Group="SYSTEM">1|02361023-3685-47F8-91A1-739795248673|*|73984|*</Attribute> <Attribute Name="Status" Group="SYSTEM">online</Attribute> <Attribute Name="Camera Man" Group="USER">John Smith</Attribute> <Attribute Name="Display Name" Group="USER">Monkeys Jumping</Attribute> </Attributes> </AssetDescription> </Results> </GetAttributesResponse> </soap:Body> </soap:Envelope>
Categories are a special type of metadata to describe clips. Valid categories are configured by an Interplay administrator and can then be assigned to specific clips.
The GetCategories operation is used to get a list of the currently configured categories in the system or the categories assigned to one or more specific assets.
The GetCategoriesType XML type defines the parameters passed in to the GetCategories operation. A workgroup URI and/or a list of Interplay URIS can be provided. If a workgroup URI is provided, the full set of configured categories will be returned. If one or more Interplay URIs are provided, then the categories for each will be returned. This operation is valid for all types of assets and folders.
XSD Definition of GetCategoriesType
<xsd:complexType name="GetCategoriesType"> <xsd:sequence> <xsd:element name="WorkgroupURI" type="xsd:string" minOccurs="0" /> <xsd:element name="InterplayURIs" type="tns:InterplayURIListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for getting the full list of configured categories and the categories for two specific Interplay URIs.
Example SOAP Request for the GetAttributes Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetCategories> <typ:WorkgroupURI>interplay://WGA</typ:WorkgroupURI> <typ:InterplayURIs> <typ:InterplayURI>interplay://WGA/Projects/Rainforest</typ:InterplayURI> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-46a4ed0c4ffc00d1-060e2b347f7f-2a80</typ:InterplayURI> </typ:InterplayURIs> </typ:GetCategories> </soapenv:Body> </soapenv:Envelope>
The GetCategoriesResponseType element is sent in the SOAP response. Errors contains a list of errors that occurred. If there are no errors, the Errors element is omitted entirely. ConfiguredCategories contains the full set of configured categories in the workgroup, and is only returned if a WorkgroupURI is passed in. AssetCategories contains a list of the requested assets along with the categories for each one. The ConfiguredCategories and AssetCategories elements will be omitted if errors caused the entire operation to fail.
XSD Definition of GetCategoriesResponseType
<xsd:complexType name="GetCategoriesResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="ConfiguredCategories" type="tns:CategoriesListType" minOccurs="0" /> <xsd:element name="AssetCategories" type="tns:AssetCategoriesListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetCategories operation.
Example Successful SOAP Response for the GetAttributes Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetCategoriesResponse xmlns="http://avid.com/interplay/ws/assets/types"> <ConfiguredCategories> <Category>sports</Category> <Category>highlights</Category> <Category>interest</Category> <Category>weather</Category> </ConfiguredCategories> <AssetCategories> <AssetCategories> <InterplayURI>interplay://WGA/Projects/Rainforest</InterplayURI> <Categories> <Category>weather</Category> <Category>highlights</Category> </Categories> </AssetCategories> <AssetCategories> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-46a4ed0c4ffc00d1-060e2b347f7f-2a80</InterplayURI> <Categories> <Category>sports</Category> </Categories> </AssetCategories> </AssetCategories> </GetCategoriesResponse> </soap:Body> </soap:Envelope>
The GetChildren operation is used to get a list of the assets contained in a specific folder. This operation is not recursive— it will only go one level deep. The response also contains attributes for each asset listed.
The GetChildrenType XML type defines the parameters passed in to the GetChildren operation. These parameters consist of an Interplay URI referencing a valid folder, flags for including or excluding folders, files, and MOBs, an optional name filter, and an optional list of attributes to return.
The includeFolders, includeFiles, and includeMOBs boolean parameters can be used to narrow the results to specific types of assets. For these parameters, the term Files refers to non-Avid file-based assets and the term MOBs refers to Avid assets. For Avid assets, referenced clips are excluded.
An optional name filter can also be included for filtering the responses using a regular expression on the asset's display name.
If the ReturnAttributes element is not included in the request, then a default set of attributes will be returned. For a list of what the default attributes are, please see the documentation on Attributes in the previous section. If a list of attributes is provided in the ReturnAttributes parameter, then only those attributes will be returned. If the attribute is not set on an asset, that attribute will be excluded from the response.
XSD Definition of GetChildrenType
<xsd:complexType name="GetChildrenType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="IncludeFolders" type="xsd:boolean" /> <xsd:element name="IncludeFiles" type="xsd:boolean" /> <xsd:element name="IncludeMOBs" type="xsd:boolean" /> <xsd:element name="NameFilter" type="xsd:string" minOccurs="0" /> <xsd:element name="ReturnAttributes" type="tns:AttributeListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for getting the children of the Projects/Rainforest folder. In this example, we only want folders returned. In addition, we only want folders whose name contains the word rain.
Example SOAP Request for the GetChildren Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetChildren> <typ:InterplayURI>interplay://WGA/Projects/Rainforest</typ:InterplayURI> <typ:IncludeFolders>true</typ:IncludeFolders> <typ:IncludeFiles>false</typ:IncludeFiles> <typ:IncludeMOBs>false</typ:IncludeMOBs> <typ:NameFilter>.*rain.*</typ:NameFilter> </typ:GetChildren> </soapenv:Body> </soapenv:Envelope>
The GetChildrenResponseType element is sent in the SOAP response. The GetChildrenResponseType contains an optional list of errors, and/or a list of AssetDescriptionType results. Each asset will be returned with a default set of attributes.
XSD Definition of GetChildrenResponseType
<xsd:complexType name="GetChildrenResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Results" type="tns:AssetDescriptionListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetChildren operation.
Example Successful SOAP Response for the GetChildren Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetChildrenResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Results> <AssetDescription> <InterplayURI>interplay://WGA/Projects/Rainforest/raindances</InterplayURI> <Attributes> <Attribute Name="Moniker" Group="SYSTEM">1|02361023-3685-47F8-91A1-739795248673|*|73984|*</Attribute> <Attribute Name="Created By" Group="SYSTEM">jsmith</Attribute> <Attribute Name="File Size" Group="SYSTEM">0</Attribute> <Attribute Name="DbPath" Group="SYSTEM">/Projects/Rainforest/raindances/</Attribute> <Attribute Name="Creation Date" Group="SYSTEM">2007-02-12T11:42:47.343-0400</Attribute> <Attribute Name="Asset Type" Group="SYSTEM">folder</Attribute> <Attribute Name="Modification Date" Group="SYSTEM">2007-02-12T11:42:47.343-0400</Attribute> <Attribute Name="Modified By" Group="SYSTEM">jsmith</Attribute> <Attribute Name="Display Name" Group="USER">raindances</Attribute> </Attributes> </AssetDescription> <!-- more results go here, but clipping out for space reasons --> </Results> </GetChildrenResponse> </soap:Body> </soap:Envelope>
The GetCustomUserAttributes operation is used to retrieve the registered User Attributes for the workgroup..
The GetCustomUserAttributes XML type defines the parameters passed in to the GetCustomUserAttributes operation. The only parameter is a Workgroup URI.
XSD Definition of GetCustomUserAttributesType
<xsd:complexType name="GetCustomUserAttributesType"> <xsd:sequence> <xsd:element name="WorkgroupURI" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for getting User Attributes.
Example SOAP Request for the GetCustomUserAttributes Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetCustomUserAttributes> <typ:WorkgroupURI>interplay://WGA</typ:WorkgroupURI><typ:Extension> </typ:GetCustomUserAttributes> </soapenv:Body> </soapenv:Envelope>
The GetCustomUserAttributesResponseType element is sent in the SOAP response. The GetCustomUserAttributesResponseType contains an optional list of errors or the list of AttributeTypes corresponding to the User Attributes in the system..
XSD Definition of GetCustomUserAttributesResponseType
<xsd:complexType name="GetCustomUserAttributesResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Attributes" type="tns:AttributesListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the GetCustomUserAttributes operation.
Example Successful SOAP Response for the GetCustomUserAttributes Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetCustomUserAttributesResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Attributes> <Attribute Name="Tape Date" Group="USER"/> <Attribute Name="PlaceName" Group="USER"/> <Attribute Name="LastUpdatePerson" Group="USER"/> </CustomUserAttributesList> </Attributes> </soap:Body> </soap:Envelope>
The GetFileDetails operation is used to get information about the media files used by a masterclip. It contains the same information as can be found in Avid Interplay Access's "File Locations" tab. This operation is only valid for Avid masterclips-- all other asset types will result in an error.
The GetFileDetailsType XML type defines the parameters passed in to the GetFileDetails operation. These parameters are one or more Interplay URIs referencing valid masterclips.
XSD Definition of GetFileDetailsType
<xsd:complexType name="GetFileDetailsType"> <xsd:sequence> <xsd:element name="InterplayURIs" type="tns:InterplayURIListType"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for GetFileDetails.
Example SOAP Request for the GetFileDetails Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetFileDetails> <typ:InterplayURIs> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-00143b14e0180b1f-060e2b347f7f-2a80</typ:InterplayURI> </typ:InterplayURIs> </typ:GetFileDetails> </soapenv:Body> </soapenv:Envelope>
The GetFileDetailsResponseType element is sent in the SOAP response. The GetFileDetailsResponseType contains an optional list of errors and/or a list of FileLocationDetailsType objects. Each FileLocationDetailsType object should have an Interplay URI and a list of FileLocationType objects. If the operation was successful, then It should return all file location details for every asset. If the operation was not successful, the response will contain one or more errors.
XSD Definition of GetFileDetailsResponseType
<xsd:complexType name="GetFileDetailsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Results" type="tns:FileLocationDetailsListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The FileLocationType XML type contains many of the same details as the File Locations tab in Avid Interplay Access.
XSD Definition of FileLocationType
<xsd:complexType name="FileLocationType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string"/> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="Track" type="xsd:string"/> <xsd:element name="Status" type="xsd:string"/> <xsd:element name="FilePath" type="xsd:string"/> <xsd:element name="Type" type="xsd:string"/> <xsd:element name="CreatedBy" type="xsd:string"/> <xsd:element name="Format" type="xsd:string"/> <xsd:element name="Size" type="xsd:string"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType>
The following is an example of a successful SOAP response for the GetFileDetails operation.
Example Successful SOAP Response for the GetFileDetails Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetFileDetailsResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Results> <FileLocationDetails> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-00143b14e0180b1f-060e2b347f7f-2a80</InterplayURI> <FileLocations> <FileLocation> <InterplayURI>interplay://WGA?filemobid=060a2b340101010101010f0013-000000-001501150e0206d1-060e2b347f7f-2a80</InterplayURI> <Name>FileMobName</Name> <Track>V1</Track> <Status>Online</Status> <FilePath>//asflock1/aspd-10/Avid MediaFiles/MXF/TM_wg5speed-10/aspd10V01B1FE018.mxf</FilePath> <Type>filemob</Type> <CreatedBy>Airspeed</CreatedBy> <Format>DV 50</Format> <Size>1271165</Size> </FileLocation> <FileLocation> <InterplayURI>interplay://WGA?filemobid=060a2b340101010101010f0013-000000-001501150e0306d1-060e2b347f7f-2a80</InterplayURI> <Name>FileMobName</Name> <Track>A1</Track> <Status>Online</Status> <FilePath>//asflock1/aspd-10/Avid MediaFiles/MXF/TM_wg5speed-10/aspd10A01B1FE018.mxf</FilePath> <Type>filemob</Type> <CreatedBy>Airspeed</CreatedBy> <Format>PCM</Format> <Size>17344</Size> </FileLocation> <FileLocation> <InterplayURI>interplay://WGA?filemobid=060a2b340101010101010f0013-000000-001501150e0406d1-060e2b347f7f-2a80</InterplayURI> <Name>FileMobName</Name> <Track>A2</Track> <Status>Online</Status> <FilePath>//asflock1/aspd-10/Avid MediaFiles/MXF/TM_wg5speed-10/aspd10A02B1FE018.mxf</FilePath> <Type>filemob</Type> <CreatedBy>Airspeed</CreatedBy> <Format>PCM</Format> <Size>17344</Size> </FileLocation> <FileLocation> <InterplayURI>interplay://WGA?filemobid=060a2b340101010101010f0013-000000-001501150e0506d1-060e2b347f7f-2a80</InterplayURI> <Name>FileMobName</Name> <Track>A3</Track> <Status>Online</Status> <FilePath>//asflock1/aspd-10/Avid MediaFiles/MXF/TM_wg5speed-10/aspd10A03B1FE018.mxf</FilePath> <Type>filemob</Type> <CreatedBy>Airspeed</CreatedBy> <Format>PCM</Format> <Size>17344</Size> </FileLocation> <FileLocation> <InterplayURI>interplay://WGA?filemobid=060a2b340101010101010f0013-000000-001501150e0606d1-060e2b347f7f-2a80</InterplayURI> <Name>FileMobName</Name> <Track>A4</Track> <Status>Online</Status> <FilePath>//asflock1/aspd-10/Avid MediaFiles/MXF/TM_wg5speed-10/aspd10A04B1FE018.mxf</FilePath> <Type>filemob</Type> <CreatedBy>Airspeed</CreatedBy> <Format>PCM</Format> <Size>17344</Size> </FileLocation> </FileLocations> </FileLocationDetails> </Results> </GetFileDetailsResponse> </soap:Body> </soap:Envelope>
The GetHeadframe operation is used to get the binary headframe of an Avid asset. If the SOAP request uses MTOM, then the response will also use MTOM. Otherwise, the request will base-64 encode the binary file in the response. The use of MTOM is highly recommended as it is significantly more efficient than inline base-64 encoded content.
The GetHeadframeType XML type defines the parameters passed in to the GetHeadframe operation. The only parameter is an Interplay URI referencing a valid Avid asset. If the Interplay URI references a non-Avid asset or a folder, the operation will fail with an error.
XSD Definition of GetHeadframeType
<xsd:complexType name="GetHeadframeType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of an MTOM SOAP request for getting a headframe.
Example MTOM SOAP Request for the GetHeadframe Operation
POST /services/Assets HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.832) Host: 127.0.0.1 Content-Type: multipart/related; type="application/xop+xml"; boundary=--MIMEBoundary633235840061319756; start="<[email protected]>"; start-info="text/xml; charset=utf-8" SOAPAction: "" Content-Length: 1611 Expect: 100-continue Connection: Keep-Alive ----MIMEBoundary633235840061319756 content-id: <[email protected]> content-type: application/xop+xml; charset=utf-8; type="text/xml; charset=utf-8" content-transfer-encoding: binary <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!-- credentials go here --> </soap:Header> <soap:Body> <GetHeadframe xmlns="http://avid.com/interplay/ws/assets/types"> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-417ff6a49a030068-060e2b347f7f-2a80</InterplayURI> </GetHeadframe> </soap:Body> </soap:Envelope> ----MIMEBoundary633235840061319756--
The GetHeadframeResponseType element is sent in the SOAP response. The GetHeadframeResponseType contains an optional list of errors and/or the contents of the binary headframe requested. Headframes are JPEG images and are usually 400 (w) x 300 (h). If the operation was not successful, the response will contain one or more errors and no Headframe element. If the targeted asset does not have a headframe, this is considered an error, and will have an error code of "OBJECT_NOT_FOUND".
XSD Definition of GetHeadframeResponseType
<xsd:complexType name="GetLatestResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="File" type="xsd:base64Binary" minOccurs="0" xmime:expectedContentTypes="application/octet-stream" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetHeadframe operation.
Example Successful MTOM SOAP Response for the GetHeadframe Operation
HTTP/1.1 200 OK Content-Type: multipart/related; type="application/xop+xml"; boundary="----=_Part_0_14385651.1188001606319"; start="<[email protected]>"; start-info="text/xml" SOAPAction: "" Content-Length: 17376 Server: Jetty(6.1.1) ------=_Part_0_14385651.1188001606319 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml; charset=UTF-8" Content-Transfer-Encoding: binary Content-ID: <[email protected]> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetHeadframeResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Headframe> <xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:[email protected]" /> </Headframe> </GetHeadframeResponse> </soap:Body> </soap:Envelope> ------=_Part_0_14385651.1188001606319 Content-Type: application/octet-stream Content-Transfer-Encoding: binary Content-ID: <[email protected]> a bunch of binary data should be here ------=_Part_0_14385651.1188001606319--
The GetLatest operation is used to get the latest version of a non-Avid asset or to get the AAF of an Avid asset. If the SOAP request uses MTOM, then the response will also use MTOM. Otherwise, the service will base-64 encode the binary file in the response. The use of MTOM is highly recommended as it is significantly more efficient than inline base-64 encoded content.
The GetLatestType XML type defines the parameters passed in to the GetLatest operation. The only parameter is an Interplay URI referencing a valid file-based asset. If the Interplay URI references a folder, the operation will fail with an error.
XSD Definition of GetLatestType
<xsd:complexType name="GetLatestType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of an MTOM SOAP request for getting a JPG file.
Example MTOM SOAP Request for the GetLatest Operation
POST /services/Assets HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.832) Host: 127.0.0.1 Content-Type: multipart/related; type="application/xop+xml"; boundary=--MIMEBoundary633235840061319756; start="<[email protected]>"; start-info="text/xml; charset=utf-8" SOAPAction: "" Content-Length: 1542 Expect: 100-continue Connection: Keep-Alive ----MIMEBoundary633235840061319756 content-id: <[email protected]> content-type: application/xop+xml; charset=utf-8; type="text/xml; charset=utf-8" content-transfer-encoding: binary <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!-- credentials go here --> </soap:Header> <soap:Body> <GetLatest xmlns="http://avid.com/interplay/ws/assets/types"> <InterplayURI>interplay://WGA/Projects/Rainforest/Images/monkeys.jpg</InterplayURI> </GetLatest> </soap:Body> </soap:Envelope> ----MIMEBoundary633235840061319756--
The GetLatestResponseType element is sent in the SOAP response. The GetLatestResponseType contains an optional list of errors and/or the contents of the file or AAF requested. If the operation was not successful, the response will contain one or more errors and no file.
XSD Definition of GetLatestResponseType
<xsd:complexType name="GetLatestResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="File" type="xsd:base64Binary" minOccurs="0" xmime:expectedContentTypes="application/octet-stream" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetLatest operation.
Example Successful MTOM SOAP Response for the GetLatest Operation
HTTP/1.1 200 OK Content-Type: multipart/related; type="application/xop+xml"; boundary="----=_Part_0_14385651.1188001606319"; start="<[email protected]>"; start-info="text/xml" SOAPAction: "" Content-Length: 292839 Server: Jetty(6.1.1) ------=_Part_0_14385651.1188001606319 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml; charset=UTF-8" Content-Transfer-Encoding: binary Content-ID: <[email protected]> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetLatestResponse xmlns="http://avid.com/interplay/ws/assets/types"> <File> <xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:[email protected]" /> </File> </GetLatestResponse> </soap:Body> </soap:Envelope> ------=_Part_0_14385651.1188001606319 Content-Type: application/octet-stream Content-Transfer-Encoding: binary Content-ID: <[email protected]> a bunch of binary data should be here ------=_Part_0_14385651.1188001606319--
WARNING: This operation will be deprecated in a future version of Interplay. Although it will continue to work with Interplay 1.x and 2.x systems, integrators are advised to use the new UMID Locator operations and types instead.
The GetLocators operation is used to get a list of locators for a given Avid asset.
The GetLocatorsType XML type defines the parameters passed in to the GetLocators operation. This operation only requires an Interplay URI referencing the Avid asset from which to retrieve the locators. This Interplay URI must reference a valid Avid asset.
XSD Definition of GetLocatorsType
<xsd:complexType name="GetLocatorsType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for getting the locators from a masterclip.
Example SOAP Request for the GetLocators Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetLocators> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4786499b4f5b006c-060e2b347f7f-2a80</typ:InterplayURI> </typ:GetLocators> </soapenv:Body> </soapenv:Envelope>
The GetLocatorsResponseType element is sent in the SOAP response. The GetLocatorsResponseType contains an optional list of errors, and/or a list of LocatorType results. For more information on the LocatorType, see the Common Data Types and Concepts section.
XSD Definition of GetLocatorsResponseType
<xsd:complexType name="GetLocatorsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Results" type="tns:LocatorListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetLocators operation. Note that depending on how the locator was added, it may be returned with just a FrameNumber or a FrameNumber and Timecode.
Example Successful SOAP Response for the GetLocators Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetLocatorsResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Results> <Locator> <LocatorID>1</LocatorID> <FrameNumber>6532</FrameNumber> <Username>sam</Username> <Comment>Ortiz hits a double</Comment> <Color>Blue</Color> <Track>V1</Track> </Locator> <Locator> <LocatorID>2</LocatorID> <FrameNumber>9015</FrameNumber> <Username>sam</Username> <Comment>Manny hits a homerun</Comment> <Color>Green</Color> <Track>V1</Track> </Locator> </Results> </GetLocatorsResponse> </soap:Body> </soap:Envelope>
The GetMetaSyncXML operation is used to extract the MetaSyncXML from a sequence. This operation provides the same data as you would receive from the Avid MetaSync Publisher. Rather than inlining the response, the MetaSync XML is returned as a separate XML document. If the SOAP request uses MTOM, then the response will also use MTOM. Otherwise, the service will base-64 encode the binary file in the response. The use of MTOM is highly recommended as it is significantly more efficient than inline base-64 encoded content.
The GetMetaSyncXMLType XML type defines the parameters passed in to the GetMetaSyncXML operation. The only required parameter is an Interplay URI referencing a valid sequence containing MetaSync enhancements. The optional EnhancementType, EnhancementSubType, and Track parameters allow the results to be filtered to only specific enhancements. If no enhancements are found, an error will be returned.
XSD Definition of GetMetaSyncXMLType
<xsd:complexType name="GetMetaSyncXMLType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string"/> <xsd:element minOccurs="0" name="EnhancementType" type="xsd:string"/> <xsd:element minOccurs="0" name="EnhancementSubType" type="xsd:string"/> <xsd:element minOccurs="0" name="TrackName" type="xsd:string"/> <xsd:element minOccurs="0" name="Extension" type="tns:ExtensionType"/> <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of an MTOM SOAP request for getting MetaSync XML.
Example MTOM SOAP Request for the GetMetaSyncXML Operation
POST http://localhost/services/Assets HTTP/1.1 SOAPAction: "" Content-Type: multipart/related; type="application/xop+xml"; start="<[email protected]>"; start-info="text/xml"; boundary="----=_Part_0_28432383.1256924138090" MIME-Version: 1.0 User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost Content-Length: 776 ------=_Part_0_28432383.1256924138090 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml" Content-Transfer-Encoding: 8bit Content-ID: <[email protected]> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetMetaSyncXML> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4ae9ddd2a74b0a35-060e2b347f7f-2a80</typ:InterplayURI> </typ:GetMetaSyncXML> </soapenv:Body> </soapenv:Envelope> ------=_Part_0_28432383.1256924138090--
The GetMetaSyncXMLResponseType XML Type is sent in the SOAP response. The GetMetaSyncXMLResponseType contains an optional list of errors and/or the contents of the MetaSync XML file. If the input sequence does not contain any enhancements that match the query, an error with error code NO_META_TRACKS will be returned. In addition, the MetaSync XML will still be returned, but will not contain any enhancements. This is consistent with the way that Avid MetaSync Publisher operates.
XSD Definition of GetMetaSyncXMLResponseType
<xsd:complexType name="GetMetaSyncXMLResponseType"> <xsd:sequence> <xsd:element minOccurs="0" name="Errors" type="tns:ErrorListType"/> <xsd:element minOccurs="0" name="MetaSyncXML" type="xsd:base64Binary" xmime:expectedContentTypes="application/octet-stream"/> <xsd:element minOccurs="0" name="Extension" type="tns:ExtensionType"/> <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the GetMetaSyncXML operation.
Example Successful MTOM SOAP Response for the GetMetaSyncXML Operation
HTTP/1.1 200 OK Content-Type: multipart/related; type="application/xop+xml"; boundary="----=_Part_0_28367248.1256924139129"; start="<[email protected]>"; start-info="text/xml" SOAPAction: "" Transfer-Encoding: chunked Server: Jetty(6.1.7) ------=_Part_0_28367248.1256924139129 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"; Content-Transfer-Encoding: binary Content-ID: <[email protected]> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetMetaSyncXMLResponse xmlns="http://avid.com/interplay/ws/assets/types"> <MetaSyncXML> <xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:[email protected]"/> </MetaSyncXML> </GetMetaSyncXMLResponse> </soap:Body> </soap:Envelope> ------=_Part_0_28367248.1256924139129 Content-Type: application/octet-stream Content-Transfer-Encoding: binary Content-ID: <[email protected]> a bunch of binary data should be here ------=_Part_0_28367248.1256924139129--
The GetReservations operation is used to get all of the reservations for a list of folders and/or assets.
The GetReservationsType XML type defines the parameters passed in to the GetReservations operation. It accepts a list of Interplay URIs and an optional Boolean parameter called CheckAllLinks. The Interplay URIs must reference valid Avid assets or folders. The CheckAllLinks parameter specifies if reservations should be returned for all references of this asset in the database. It defaults to false.
XSD Definition of GetReservationsType
<xsd:complexType name="GetReservationsType"> <xsd:sequence> <xsd:element name="InterplayURIs" type="tns:InterplayURIListType"/> <xsd:element name="CheckAllLinks" type="xsd:boolean" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for get reservations.
Example SOAP Request for the GetReservations Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetReservations> <typ:InterplayURIs> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-46a4ed0c4ffc00d1-060e2b347f7f-2a80</typ:InterplayURI> </typ:InterplayURIs> <typ:CheckAllLinks>true</typ:CheckAllLinks> </typ:GetReservations> </soapenv:Body> </soapenv:Envelope>
The GetReservationsResponseType element is sent in the SOAP response. The GetReservationsResponseType contains an optional list of errors/or a list of reservation information objects. If there are no errors, the Errors element is omitted entirely.
XSD Definition of GetReservationsResponseType
<xsd:complexType name="GetReservationsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Results" type="tns:ReservationListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The ReservationDetailsType XML type is used as part of the output to describe a reservation.
XSD Definition of ReservationDetailsType
<complexType name="ReservationDetailsType"> <xsd:sequence> <xsd:element name="ReservedBy" type="xsd:string"/> <xsd:element name="ExpirationDate" type="xsd:string"/> <xsd:element name="ReservedAsset" type="xsd:string"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </complexType>
ReservedBy is a string representing who created the reservation that governs this folder or asset.
ExpirationDate shows the time when the reservation is scheduled to expire.
ReservedAsset indicates where the reservation is actually set. For example, a clip may be under reservation because its parent folder has been reserved. In this case, ReservedAsset would refer to the parent folder that actually has the reservation set.
The following is an example of a successful SOAP response for the GetReservations operation.
Example Successful SOAP Response for the GetReservations Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetReservationsResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Results> <ReservationInformation> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-46a4ed0c4ffc00d1-060e2b347f7f-2a80</InterplayURI> <ReservationDetails> <ReservedBy>Administrator</ReservedBy> <ExpirationDate>2009-07-25T14:52:05.210-0400</ExpirationDate> <ReservedAsset>interplay://WGA/Projects/Rainforest/Rainforest Bin/</ReservedAsset> </ReservationDetails> </ReservationInformation> </Results> </GetReservationsResponse> </soap:Body> </soap:Envelope>
The GetResolutions operation is used to get a list of resolutions available for a given Avid asset. At this time, this operation only supports getting resolutions for masterclips.
The GetResolutionsType XML type defines the parameters passed in to the GetResolutions operation. This operation requires a list of Interplay URIs referring to the Avid assets. The Interplay URIs must reference a valid Avid masterclip.
The OnlineResolutionsOnly parameter determines if all resolutions will be returned or just those that are currently online.
If ReportDetails is set to true, then the response will also contain a report of the resolutions for each individual asset. Otherwise only an aggregate result of the resolutions will be returned.
XSD Definition of GetResolutionsType
<xsd:complexType name="GetResolutionsType"> <xsd:sequence> <xsd:element name="InterplayURIs" type="tns:InterplayURIListType" /> <xsd:element name="OnlineResolutionsOnly" type="xsd:boolean" minOccurs="0" /> <xsd:element name="ReportDetails" type="xsd:boolean" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for getting the resolutions of a masterclip.
Example SOAP Request for the GetResolutions Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetResolutions> <typ:InterplayURIs> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-0032371098ff09d2-060e2b347f7f-2a80</typ:InterplayURI> </typ:InterplayURIs> <typ:OnlineResolutionsOnly>false</typ:OnlineResolutionsOnly> <typ:ReportDetails>true</typ:Re portDetails> </typ:GetResolutions> </soapenv:Body> </soapenv:Envelope>
The GetResolutionsResponseType element is sent in the SOAP response. The GetResolutionsResponseType contains an optional list of errors, and/or a list of ResolutionListTypes and ResolutionDetailListTypes results.
XSD Definition of GetResolutionsResponseType
<xsd:complexType name="GetResolutionsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Summary" type="tns:ResolutionListType" minOccurs="0" /> <xsd:element name="Details" type="tns:ResolutionDetailsListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetResolutions operation, with ResolutionDetails included.
Example Successful SOAP Response for the GetResolutions Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetResolutionsResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Summary> <Resolution>DV 25 411</Resolution> <Resolution>MPEG 50</Resolution> <Resolution>PCM</Resolution> </Summary> <Details> <ResolutionDetails> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-0032371098ff09d2-060e2b347f7f-2a80</InterplayURI> <Resolutions> <Resolution>MPEG 50</Resolution> <Resolution>PCM</Resolution> </Resolutions> </ResolutionDetails> <ResolutionDetails> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4796185a7e343547-060e2b347f7f-2a80</InterplayURI> <Resolutions> <Resolution>DV 25 411</Resolution> <Resolution>PCM</Resolution> </Resolutions> </ResolutionDetails> </Details> </GetResolutionsResponse> </soap:Body> </soap:Envelope>
The GetRestrictions operation is used to get the restrictions for an asset or set of assets. This operation is only valid for Avid assets-- all other asset types will result in an error.
The GetRestrictions XML type defines the parameters passed in to the GetRestrictions operation. The GetRestrictions operation should accept a list of Interplay URIs representing valid Avid assets.
XSD Definition of GetRestrictionsType
<xsd:complexType name="GetRestrictionsType"> <xsd:sequence> <xsd:element name="InterplayURIs" type="tns:InterplayURIListType"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for getting restrictions.
Example SOAP Request for the GetRestrictions Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <typ:UserCredentials> <!-- credentials go here--> </typ:UserCredentials> </soapenv:Header> <soapenv:Body> <typ:GetRestrictions> <typ:InterplayURIs> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-0032331047fa0a3d-060e2b347f7f-2a80</typ:InterplayURI> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-48c00212af5503f3-060e2b347f7f-2a80</typ:InterplayURI> </typ:InterplayURIs> </typ:GetRestrictions> </soapenv:Body> </soapenv:Envelope>
The GetRestrictionsResponse element is sent in the SOAP response. The GetRestrictionsResponse contains an optional list of errors and/or a list of RestrictionDetails objects. Each RestrictionDetails contains an Interplay URI and a list of RestrictionType objects. For more information about the RestrictionType, see the Assets Service Common Data Types and Concepts section.
XSD Definition of GetRestrictionsResponseType
<xsd:complexType name="GetRestrictionsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Results" type="tns:RestrictionDetailsListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the GetRestrictions operation. Note that frame numbers are always used to describe the in and out points in the response.
Example Successful SOAP Response for the GetRestrictions Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetRestrictionsResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Results> <RestrictionDetails> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-0032331047fa0a3d-060e2b347f7f-2a80</InterplayURI> <Restrictions> <Restriction> <InFrameNumber>10</InFrameNumber> <OutFrameNumber>20</OutFrameNumber> <Comment>copyright</Comment> </Restriction> <Restriction> <InFrameNumber>105</InFrameNumber> <OutFrameNumber>206</OutFrameNumber> <Comment>explicit language</Comment> </Restriction> </Restrictions> </RestrictionDetails> <RestrictionDetails> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-48c00212af5503f3-060e2b347f7f-2a80</InterplayURI> <Restrictions> <Restriction> <InFrameNumber>44</InFrameNumber> <OutFrameNumber>55</OutFrameNumber> <Comment>copyright</Comment> </Restriction> </Restrictions> </RestrictionDetails> </Results> </GetRestrictionsResponse> </soap:Body> </soap:Envelope>
The GetSegmentsFromComposition operation is used to get a list segments used by an assets. The asset must be composition type i.e. Sequence, Subclip and etc. The response contains a list of segments used by the composition, each segment contains the following. SegmentMarkIn - the start frame of the segment in the master clip defined in frames from the start of the clip. SegmentDuration - contains the duration of the segment in frames. SegmentTrack - the clip's track that is cut in this segment. SegmentFileMOB - reference to the file mob referred to by this segment. SegmentStartOffset - start offset relative to the composition CompositionPosition - position to the composition. CompositionDuration - duration to the composition. CompositionTrack - track in the composition. AssetDescription of the master clip of the segment and master clip attributes.
The GetSegmentsFromCompositionType XML type defines the parameters passed in to the GetSegmentsFromComposition operation. These parameters consist of an Interplay URI referencing an asset, flags defines if all segments of the composition are returned or just the top track, and an optional list of attributes to return.
The TopTrackOnly boolean parameters can be used to narrow the results to top segments of the composition only.
If the Attributes element is not included in the request, then a default set of attributes will be returned. For a list of what the default attributes are, please see the documentation on Attributes in the previous section. If a list of attributes is provided in the Attributes parameter, then only those attributes will be returned. If the attribute is not set on an asset, that attribute will be excluded from the response.
XSD Definition of GetSegmentsFromComposition
<xsd:complexType name="GetSegmentsFromCompositionType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="TopTrackOnly" type="xsd:boolean" /> <xsd:element name="Attributes" type="tns:AttributeListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for getting the segment of a composition. In this example, we only want segments of the top track returned.
Example SOAP Request for the GetSegmentsFromComposition Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetSegmentsFromComposition> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4b031dc04a620095-060e2b347f7f-2a80</typ:InterplayURI> <typ:TopTrackOnly>true</typ:TopTrackOnly> </typ:GetSegmentsFromComposition> </soapenv:Body> </soapenv:Envelope>
The GetSegmentsFromCompositionType element is sent in the SOAP response. The GetSegmentsFromCompositionType contains an optional list of errors, and/or a list of segments.
XSD Definition of GetSegmentsFromCompositionResponseType
<xsd:complexType name="GetSegmentsFromCompositionType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Results" type="tns:AssetDescriptionListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetSegmentsFromComposition operation.
Example Successful SOAP Response for the GetSegmentsFromComposition Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetSegmentsFromCompositionResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Segments> <Segment> <AssetDescription> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4b03158f48790075-060e2b347f7f-2a80</InterplayURI> <Attributes> <Attribute Name="Moniker" Group="SYSTEM">1|02361023-3685-47F8-91A1-739795248673|*|73984|*</Attribute> <Attribute Name="Created By" Group="SYSTEM">jsmith</Attribute> <Attribute Name="File Size" Group="SYSTEM">0</Attribute> <Attribute Name="DbPath" Group="SYSTEM">/Projects/Rainforest/raindances/</Attribute> <Attribute Name="Creation Date" Group="SYSTEM">2007-02-12T11:42:47.343-0400</Attribute> <Attribute Name="Asset Type" Group="SYSTEM">folder</Attribute> <Attribute Name="Modification Date" Group="SYSTEM">2007-02-12T11:42:47.343-0400</Attribute> <Attribute Name="Modified By" Group="SYSTEM">jsmith</Attribute> <Attribute Name="Display Name" Group="USER">raindances</Attribute> </Attributes> </AssetDescription> <SegmentMarkIn>765</SegmentMarkIn> <SegmentDuration>119</SegmentDuration> <SegmentTrack>V1</SegmentTrack> <SegmentFileMOB>060a2b340101010101010f0013-000000-4b03158f487a0075-060e2b347f7f-2a80</SegmentFileMOB> <SegmentStartOffset>0</SegmentStartOffset> <CompositionPosition>0</CompositionPosition> <CompositionTrack>V1</CompositionTrack> <CompositionDuration>114</CompositionDuration> <!-- more results go here, but clipping out for space reasons --> </Segment> </Segments> </GetSegmentsFromCompositionResponse> </soap:Body> </soap:Envelope>
The GetStreamingURL operation is used to get a streamable URL for a masterclip or sequence that has been published via Interplay 2's WAN proxy workflow. This streaming URL can be played in a QuickTime based video player.
The GetStreamingURLType XML type defines the parameters passed in to the GetStreamingURL operation. This operation only requires an Interplay URI referencing the Avid asset. The Interplay URI must reference a masterclip that has been WAN published or a sequence that has been mixed down to a clip that has been WAN published. If the sequence has been modified since the last mixdown/publish then no streaming URL will be returned.
XSD Definition of GetStreamingURLType
<xsd:complexType name="GetStreamingURLType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for getting the streaming URL from a masterclip.
Example SOAP Request for the GetStreamingURL Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetStreamingURL> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4786499b4f5b006c-060e2b347f7f-2a80</typ:InterplayURI> </typ:GetStreamingURL> </soapenv:Body> </soapenv:Envelope>
The GetStreamingURLResponseType element is sent in the SOAP response. The GetStreamingURLResponseType contains an optional list of errors, and/or a streaming URL result.
XSD Definition of GetStreamingURLResponseType
<xsd:complexType name="GetStreamingURLResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="StreamingURL" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetStreamingURL operation:
Example Successful SOAP Response for the GetStreamingURL Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetStreamingURLResponse xmlns="http://avid.com/interplay/ws/assets/types"> <StreamingURL>rtsp://wga-we/d3/7d/206.-746753036.1194987869.mov</StreamingURL> </GetStreamingURLResponse> </soap:Body> </soap:Envelope>
The GetUMIDLocators operation is used to get a list of locators for a given Avid asset. This is the preferred method, as the original GetLocators operation will be deprecated in a future version of Interplay. In addition, GetUMIDLocators uses unique and enduring IDs for locators (the original GetLocators does not).
The GetLocatorsType XML type defines the parameters passed in to the GetUMIDLocators operation. This operation only requires an Interplay URI referencing the Avid asset from which to retrieve the locators. This Interplay URI must reference a valid Avid asset. This is the same type as is used for the original GetLocators operation.
XSD Definition of GetUMIDLocatorsType
<xsd:complexType name="GetLocatorsType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for getting the locators from a masterclip.
Example SOAP Request for the GetUMIDLocators Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetUMIDLocators> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4786499b4f5b006c-060e2b347f7f-2a80</typ:InterplayURI> </typ:GetUMIDLocators> </soapenv:Body> </soapenv:Envelope>
The GetUMIDLocatorsResponseType element is sent in the SOAP response. The GetUMIDLocatorsResponseType contains an optional list of errors, and/or a list of UMIDLocatorType results. For more information on the UMIDLocatorType, see the the Common Data Types and Concepts section.
XSD Definition of GetUMIDLocatorsResponseType
<xsd:complexType name="GetUMIDLocatorsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Results" type="tns:UMIDLocatorListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetUMIDLocators operation. Note that depending on how the locator was added, it may be returned with just a FrameNumber or a FrameNumber and Timecode.
Example Successful SOAP Response for the GetUMIDLocators Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetUMIDLocatorsResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Results> <Locator> <LocatorURI>interplay://WGA?locatorid=060a2b340101020101010f0013-000000-e32c3932c5f04b61-85d43b93cca9-f3f6</LocatorURI> <FrameNumber>6532</FrameNumber> <Username>sam</Username> <Comment>Ortiz hits a double</Comment> <Color>Blue</Color> <Track>V1</Track> </Locator> <Locator> <LocatorURI>interplay://WGA?locatorid=060a2b340101010101010f0013-000000-e32c3932c5f04b62-85d43b93cca9-f3f6</LocatorURI> <FrameNumber>9015</FrameNumber> <Username>sam</Username> <Comment>Manny hits a homerun</Comment> <Color>Green</Color> <Track>V1</Track> </Locator> </Results> </GetUMIDLocatorsResponse> </soap:Body> </soap:Envelope>
The LinkToMOB operation is used to create a link within a specified folder to an existing Avid asset.
The LinkToMOBType XML type defines the parameters passed in to the LinkToMOB operation. The InterplayMOBURI parameter should reference the valid Avid asset for which to create a link. The InterplayPathURI should be a path to the folder in which to create the link. The operation will fail if InterplayMOBURI does not reference an existing Avid asset or InterplayPathURI does not reference an existing folder.
XSD Definition of LinkToMOBType
<xsd:complexType name="LinkToMOBType"> <xsd:sequence> <xsd:element name="InterplayMOBURI" type="xsd:string" /> <xsd:element name="InterplayPathURI" type="xsd:string" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for creating a link to an Avid asset.
Example SOAP Request for the LinkToMOB Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:LinkToMOB> <typ:InterplayMOBURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</typ:InterplayMOBURI> <typ:InterplayPathURI>interplay://WGA/Projects/Rainforest</typ:InterplayPathURI> </typ:LinkToMOB> </soapenv:Body> </soapenv:Envelope>
The LinkToMOBResponseType element is sent in the SOAP response. The LinkToMOBResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty LinkToMobResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of LinkToMOBResponseType
<xsd:complexType name="LinkToMOBResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the LinkToMOB operation.
Example Successful SOAP Response for LinkToMOB Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <LinkToMOBResponse xmlns="http://avid.com/interplay/ws/assets/types" /> </soap:Body> </soap:Envelope>
The ModifyFolderACLs operation accepts a list of Interplay folders, and for each folder allows you to:
The ModifyFolderACLs XML type defines the parameters passed in to the ModifyFolderACLs operation. The only parameter is a FolderACLsListType.
XSD Definition of ModifyFolderACLsType
<xsd:complexType name="ModifyFolderACLsType"> <xsd:sequence> <xsd:element name="Folders" type="tns:FolderACLListType" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The FolderACLType defines the parameters that may be defined for each folder to be modified.
The FolderURI is the Interplay URI referencing the folder to modify permissions for.
The OwnerURI contains the Interplay URI referencing the new owner you wish to set on the folder. If no OwnerURI is specified, the existing owner will remain the same.
The PermissionListType contains a list of permissions. Each permission is a pairing of a user or group URI and a permission level. Valid permission levels are: ADMIN, READ_WRITE_DELETE, READ_WRITE, READ, and NO_ACCESS.
XSD Definition of FolderACLType
<xsd:complexType name="FolderACLType"> <xsd:sequence> <xsd:element name="FolderURI" type="xsd:string" /> <xsd:element name="OwnerURI" type="xsd:string" minOccurs="0" /> <xsd:element name="Permissions" type="tns:PermissionListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for modifying a list of Interplay folders.
Example SOAP Request for the ModifyFolderACLS Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:ModifyFolderACLs> <typ:Folders> <typ:Folder> <typ:FolderURI>interplay://WGA/Folder1</typ:FolderURI> <typ:OwnerURI>interplay://WGA?username=jsmith</typ:OwnerURI> <typ:Permissions> <typ:Permission> <typ:UserOrGroupURI>interplay://WGA?username=jdoe</typ:UserOrGroupURI> <typ:PermissionLevel>READ_WRITE_DELETE</typ:PermissionLevel> </typ:Permission> </typ:Permissions> </typ:Folder> </typ:Folders> </typ:ModifyFolderACLs> </soapenv:Body> </soapenv:Envelope>
The ModifyFolderACLsResponseType element is sent in the SOAP response. The ModifyFolderACLsResponseType contains an optional list of errors. If the operation was successful, then the response will contain one or more errors.
XSD Definition of ModifyFolderACLsResponseType
<xsd:complexType name="ModifyFolderACLsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the ModifyFolderACLs operation.
Example Successful SOAP Response for the ModifyFolderACLs Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ModifyFolderACLsResponse xmlns="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The Move operation is used to move an asset to a different folder in Interplay. This operation works for Avid assets and non-Avid assets, including folders. If a sequence is moved, then the reference clips it uses are also copied to the new location. Any remaining unused reference clips in the source folder will be removed (although they may not be removed immediately).
The Move XML type defines the parameters passed in to the Move operation. The InterplayAssetURI references the asset that should be moved. This asset must be in the form of a path URI. The InterplayFolderURI references the folder that the asset should be moved to. This folder must already exist. If an asset is reserved, it will not be moved unless OverrideReservations is set to true. OverrideReservations is false by default.
This operation requires at least a READ_WRITE_DELETE permission level.
XSD Definition of MoveType
<xsd:complexType name="MoveType"> <xsd:sequence> <xsd:element name="InterplayAssetURI" type="xsd:string" /> <xsd:element name="InterplayFolderURI" type="xsd:string" /> <xsd:element name="OverrideReservations" type="xsd:boolean" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for moving an asset.
Example SOAP Request for the Move Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:Move> <typ:InterplayAssetURI>interplay://WGA/Projects/Rainforest/New/060a2b340101010101010f0013-000000-46a4ed0c4ffc00d1-060e2b347f7f-2a80</typ:InterplayAssetURI> <typ:InterplayFolderURI>interplay://WGA/Projects/Rainforest/Reviewed/</typ:InterplayFolderURI> </typ:Move> </soapenv:Body> </soapenv:Envelope>
The MoveResponseType element is sent in the SOAP response. The MoveResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty MoveResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of MoveResponseType
<xsd:complexType name="MoveResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the Move operation.
Example Successful SOAP Response for the Move Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <MoveResponse xmlns="http://avid.com/interplay/ws/assets/types" /> </soap:Body> </soap:Envelope>
WARNING: This operation will be deprecated in a future version of Interplay. Although it will continue to work with Interplay 1.x and 2.x systems, integrators are advised to use the new UMID Locator operations and types instead.
The RemoveLocators operation is used to remove locators from an Avid asset. This is a permanent operation and cannot be undone. This operation is not supported for sequences.
The RemoveLocatorsType XML type defines the parameters passed in to the RemoveLocators operation. The first required parameter is an Interplay URI representing the Avid asset from which the locators will be removed. If this Interplay URI references a sequence, an error will be returned since removal of locators is currently unsupported for sequences. The second parameter is a list of the LocatorIDs referencing the locators that should be removed. If a LocatorID does not reference an existing locator, it will fail silently.
XSD Definition of RemoveLocatorsType
<xsd:complexType name="RemoveLocatorsType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="LocatorIDs" type="tns:LocatorIDListType" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for removing two locators from an asset.
Example SOAP Request for the RemoveLocators Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:RemoveLocators> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4786499b4f5b006c-060e2b347f7f-2a80</typ:InterplayURI> <typ:LocatorIDs> <typ:LocatorID>2</typ:LocatorID> <typ:LocatorID>5</typ:LocatorID> </typ:LocatorIDs> </typ:RemoveLocators> </soapenv:Body> </soapenv:Envelope>
The RemoveLocatorsResponseType element is sent in the SOAP response. The RemoveLocatorsResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty RemoveLocatorsResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of RemoveLocatorsResponseType
<xsd:complexType name="RemoveLocatorsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the RemoveLocators operation.
Example Successful SOAP Response for the RemoveLocators Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RemoveLocatorsResponse xmlns="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The RemoveReservations operation is used to remove a user's reservations from one or more folders.
The RemoveReservationsType XML type defines the parameters passed in to the RemoveReservations operation. The FolderURIs parameter is a list of Interplay URIs referencing the folders to remove the reservations from. The optional Username parameter specifies the owner of the reservations to remove. If a Username is not specified, the username of the currently credentialed user will be used.
XSD Definition of RemoveReservationsType
<xsd:complexType name="RemoveReservationsType"> <xsd:sequence> <xsd:element name="FolderURIs" type="tns:InterplayURIListType"/> <xsd:element name="Username" type="xsd:string" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for removing reservations from a folder.
Example SOAP Request for RemoveReservations Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:RemoveReservations> <typ:FolderURIs> <typ:InterplayURI>interplay://WGA/Projects/Rainforest</typ:InterplayURI> </typ:FolderURIs> <typ:Username> <typ:Username>betty</typ:Username> </typ:Username> </typ:RemoveReservations> </soapenv:Body> </soapenv:Envelope>
The RemoveReservationsResponseType element is sent in the SOAP response. The RemoveReservationsResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty RemoveReservationsResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of RemoveReservationsResponseType
<xsd:complexType name="RemoveReservationsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response form RemoveReservations operation.
Example Successful SOAP Response for the RemoveReservations operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RemoveReservationsResponse xmlns="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The RemoveUMIDLocators operation is used to remove locators from an Avid asset. This is the preferred method, as the original RemoveLocators operation will be deprecated in a future version of Interplay. This is a permanent operation and cannot be undone. This operation is not supported for sequences.
The RemoveUMIDLocatorsType XML type defines the parameters passed in to the RemoveUMIDLocators operation. The first required parameter is an Interplay URI representing the Avid asset from which the locators will be removed. If this Interplay URI references a sequence, an error will be returned since removal of locators is currently unsupported for sequences. The second parameter is a list of the LocatorURIs referencing the locators that should be removed.
XSD Definition of RemoveUMIDLocatorsType
<xsd:complexType name="RemoveUMIDLocatorsType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="LocatorURIs" type="tns:LocatorURIListType" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for removing two locators from an asset.
Example SOAP Request for the RemoveUMIDLocators Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:RemoveUMIDLocators> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4786499b4f5b006c-060e2b347f7f-2a80</typ:InterplayURI> <typ:LocatorURIs> <typ:LocatorURI>interplay://WGA?locatorid=060a2b340101010101010f0013-000000-e32c3932c5f04b61-85d43b93cca9-f3f6</typ:LocatorURI> <typ:LocatorURI>interplay://WGA?locatorid=060a2b340101010101010f0013-000000-e35c3932c5f04b61-85d43b93cca9-f3f6</typ:LocatorURI> </typ:LocatorURIs> </typ:RemoveUMIDLocators> </soapenv:Body> </soapenv:Envelope>
The RemoveUMIDLocatorsResponseType element is sent in the SOAP response. The RemoveUMIDLocatorsResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty RemoveUMIDLocatorsResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of RemoveUMIDLocatorsResponseType
<xsd:complexType name="RemoveLocatorsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the RemoveUMIDLocators operation.
Example Successful SOAP Response for the RemoveUMIDLocators Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RemoveUMIDLocatorsResponse xmlns="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The Rename operation is used to rename an asset in Interplay. This operation works for Avid assets and non-Avid assets, including folders (although Interplay has some special folders that cannot be renamed).
The Rename XML type defines the parameters passed in to the Rename operation. The InterplayAssetURI references the asset that should be renamed. The Name references the desired new name of the asset. This must be only the asset name, not a full URI.
This operation requires at least a READ_WRITE_DELETE permission level.
XSD Definition of RenameType
<xsd:complexType name="RenameType"> <xsd:sequence> <xsd:element name="InterplayAssetURI" type="xsd:string" /> <xsd:element name="Name" type="xsd:string" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for moving an asset.
Example SOAP Request for the Rename Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:Rename> <typ:InterplayAssetURI>interplay://WGA/Projects/Rainforest/New/Foo</typ:InterplayAssetURI> <typ:Name>Bar</typ:Name> </typ:Rename> </soapenv:Body> </soapenv:Envelope>
The RenameResponseType element is sent in the SOAP response. The RenameResponseType contains an optional list of errors and/or an Interplay URI. If the operation was successful, then the response will contain an Interplay URI referencing the asset with its new name. If the operation was not successful, the response will contain one or more errors and no Interplay URI.
XSD Definition of RenameResponseType
<xsd:complexType name="RenameResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Result" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the Rename operation.
Example Successful SOAP Response for the Rename Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RenameResponse xmlns="http://avid.com/interplay/ws/assets/types" /> <Result>interplay://WGA/Projects/Rainforest/New/Bar</Result> </RenameResponse> </soap:Body> </soap:Envelope>
WARNING: This operation will be deprecated in a future version of Interplay. Although it will continue to work with Interplay 1.x and 2.x systems, integrators are advised to use the new UMID Locator operations and types instead.
The SaveLocators operation is used to save locators for an Avid asset. It is capable of adding new locators as well as modifying existing locators. This operation is currently not supported for sequences.
The SaveLocatorsType XML type defines the parameters passed in to the SaveLocators operation. The first required parameter is an Interplay URI representing the Avid asset that the locators should be saved to. If this Interplay URI references a sequence, an error will be returned since modifying locators is currently unsupported for sequences. The second parameter is a list of the LocatorTypes that should be saved.
If a passed in LocatorType specifies a LocatorID matching an existing locator, then that locator will be updated. Otherwise, a new locator will be added. For more information on the LocatorType, see the the Common Data Types and Concepts section.
XSD Definition of SaveLocatorsType
<xsd:complexType name="SaveLocatorsType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="Locators" type="tns:LocatorListType" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for adding new locators to an asset. Note that the LocatorTypes do not specify a LocatorID.
Example SOAP Request for the Adding Locators with the SaveLocators Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:SaveLocators> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4796182ba38b1893-060e2b347f7f-2a80</typ:InterplayURI> <typ:Locators> <typ:Locator> <typ:FrameNumber>65</typ:FrameNumber> <typ:Username>sam</typ:Username> <typ:Comment>Opening Pitch</typ:Comment> <typ:Color>Green</typ:Color> <typ:Track>V1</typ:Track> </typ:Locator> <typ:Locator> <typ:FrameNumber>4765</typ:FrameNumber> <typ:Username>sam</typ:Username> <typ:Comment>Ortiz hits a double</typ:Comment> <typ:Color>Blue</typ:Color> <typ:Track>V1</typ:Track> </typ:Locator> </typ:Locators> </typ:SaveLocators> </soapenv:Body> </soapenv:Envelope>
The following is an example of a SOAP request for updating an existing locator on an asset. Note that the LocatorType specifies the LocatorID. If the specified LocatorID does not reference an existing locator, a new locator will be created with the given ID.
Example SOAP Request for the Updating Locators with the SaveLocators Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:SaveLocators> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4796182ba38b1893-060e2b347f7f-2a80</typ:InterplayURI> <typ:Locators> <typ:Locator> <typ:LocatorID>2</typ:LocatorID> <typ:Timecode>01;04;16;00</typ:Timecode> <typ:Username>sam</typ:Username> <typ:Comment>Fan waving sign</typ:Comment> <typ:Color>Red</typ:Color> <typ:Track>V1</typ:Track> </typ:Locator> </typ:Locators> </typ:SaveLocators> </soapenv:Body> </soapenv:Envelope>
The SaveLocatorsResponseType element is sent in the SOAP response. The SaveLocatorsResponseType contains an optional list of errors and/or an optional list of LocatorIDs. If the operation encountered any errors, the response will contain one or more errors.
The returned list of LocatorIDs will be in the same order as the passed in list of LocatorTypes. This allows the caller to easily match the returned LocatorIDs to the locators. If a given locator cannot be saved due to an error, that spot in the returned list of IDs will be nil. See the example responses for more info.
XSD Definition of SaveLocatorsResponseType
<xsd:complexType name="SaveLocatorsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Results" type="tns:LocatorIDListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the SaveLocators operation.
Example Successful SOAP Response for the SaveLocators Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SaveLocatorsResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Results> <LocatorID>1</LocatorID> <LocatorID>2</LocatorID> <LocatorID>3</LocatorID> </Results> </SaveLocatorsResponse> </soap:Body> </soap:Envelope>
The following is an example of a partially successful SOAP response for the SaveLocators operation. Note that the second locator passed in contained a framenumber that was out of range.
Example Partially Successful SOAP Response for the SaveLocators Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SaveLocatorsResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Errors> <Error Code="INVALID_PARAMETER"> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4796182ba38b1893-060e2b347f7f-2a80</InterplayURI> <Message>An invalid parameter was used</Message> <Details>Invalid position for locator (id=null) at index 1. The locator framenumber (30,000) must be from 0 to 20,145 frames (the duration). </Details> </Error> </Errors> <Results> <LocatorID>1</LocatorID> <LocatorID xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <LocatorID>2</LocatorID> <LocatorID>3</LocatorID> </Results> </SaveLocatorsResponse> </soap:Body> </soap:Envelope>
The SaveUMIDLocators operation is used to save locators for an Avid asset. It is capable of adding new locators as well as modifying existing locators. This operation is currently not supported for sequences. This is the preferred method for saving locators, as the original SaveLocators operation will be deprecated in a future version of Interplay. In addition, SaveUMIDLocators uses unique and enduring IDs for locators (the original SaveLocators does not).
The SaveUMIDLocatorsType XML type defines the parameters passed in to the SaveUMIDLocators operation. The first required parameter is an Interplay URI representing the Avid asset that the locators should be saved to. If this Interplay URI references a sequence, an error will be returned since modifying locators is currently unsupported for sequences. The second parameter is a list of the UMIDLocatorTypes that should be saved.
If a passed in UMIDLocatorType specifies a LocatorURI matching an existing locator, then that locator will be updated. Otherwise, a new locator will be added. For more information on the UMIDLocatorType, see the Common Data Types and Concepts section.
XSD Definition of SaveUMIDLocatorsType
<xsd:complexType name="SaveUMIDLocatorsType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="Locators" type="tns:UMIDLocatorListType" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for adding new locators to an asset. Note that the UMIDLocatorTypes do not specify a LocatorURI. FrameNumber is 0 base indexed.
Example SOAP Request for the Adding Locators with the SaveUMIDLocators Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:SaveUMIDLocators> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4796182ba38b1893-060e2b347f7f-2a80</typ:InterplayURI> <typ:Locators> <typ:Locator> <typ:FrameNumber>65</typ:FrameNumber> <typ:Username>sam</typ:Username> <typ:Comment>Opening Pitch</typ:Comment> <typ:Color>Green</typ:Color> <typ:Track>V1</typ:Track> </typ:Locator> <typ:Locator> <typ:FrameNumber>4765</typ:FrameNumber> <typ:Username>sam</typ:Username> <typ:Comment>Ortiz hits a double</typ:Comment> <typ:Color>Blue</typ:Color> <typ:Track>V1</typ:Track> </typ:Locator> </typ:Locators> </typ:SaveUMIDLocators> </soapenv:Body> </soapenv:Envelope>
The following is an example of a SOAP request for updating an existing locator on an asset. Note that the UMIDLocatorType specifies the LocatorURI. If the specified LocatorURI does not reference an existing locator, a new locator will be created with the given ID.
Example SOAP Request for the Updating Locators with the SaveUMIDLocators Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:SaveUMIDLocators> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4796182ba38b1893-060e2b347f7f-2a80</typ:InterplayURI> <typ:Locators> <typ:Locator> <typ:LocatorURI>interplay://WGA?locatorid=060a2b340101010101010f0013-000000-e32c3932c5f04b61-85d43b93cca9-f3f6</typ:LocatorURI> <typ:Timecode>01;04;16;00</typ:Timecode> <typ:Username>sam</typ:Username> <typ:Comment>Fan waving sign</typ:Comment> <typ:Color>Red</typ:Color> <typ:Track>V1</typ:Track> <typ:Headframe>cid:12.jpg</typ:Headframe> </typ:Locator> </typ:Locators> </typ:SaveUMIDLocators> </soapenv:Body> </soapenv:Envelope>
The SaveUMIDLocatorsResponseType element is sent in the SOAP response. The SaveUMIDLocatorsResponseType contains an optional list of errors and/or an optional list of LocatorURIs. If the operation encountered any errors, the response will contain one or more errors.
The returned list of LocatorURIs will be in the same order as the passed in list of UMIDLocatorTypes. This allows the caller to easily match the returned LocatorURIs to the locators. If a given locator cannot be saved due to an error, that spot in the returned list of URIs will be nil. See the example responses for more info.
XSD Definition of SaveUMIDLocatorsResponseType
<xsd:complexType name="SaveUMIDLocatorsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Results" type="tns:LocatorURIListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the SaveUMIDLocators operation.
Example Successful SOAP Response for the SaveUMIDLocators Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SaveUMIDLocatorsResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Results> <LocatorURI>interplay://WGA?locatorid=060a2b340101010101010f0013-000000-e32c3932c5f04b61-85d43b93cca9-f3f6</LocatorURI> <LocatorURI>interplay://WGA?locatorid=060a2b340101010101030f0013-000000-e32c3932c5f04b61-85d43b93cca9-f3f6</LocatorURI> <LocatorURI>interplay://WGA?locatorid=060a2b340101010201010f0013-000000-e32c3932c5f04b61-85d43b93cca9-f3f6</LocatorURI> </Results> </SaveUMIDLocatorsResponse> </soap:Body> </soap:Envelope>
The following is an example of a partially successful SOAP response for the SaveUMIDLocators operation. Note that the second locator passed in contained a framenumber that was out of range.
Example Partially Successful SOAP Response for the SaveUMIDLocators Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SaveUMIDLocatorsResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Errors> <Error Code="INVALID_PARAMETER"> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4796182ba38b1893-060e2b347f7f-2a80</InterplayURI> <Message>An invalid parameter was used</Message> <Details>Invalid position for locator (id=null) at index 1. The locator framenumber (30,000) must be from 0 and to 20,145 frames (the duration).</Details> </Error> </Errors> <Results> <LocatorURI> interplay://WGA?locatorid=060a2b340101010101010f0013-000000-e32c3932c5f04b61-85d43b93cca9-f3f6 </LocatorURI> </Results> </SaveLocatorsResponse> </soap:Body> </soap:Envelope>
The Search operation is used to search for assets based on various parameters of criteria. The search is performed from a specified root search path and searches all folders below that path. The response contains a list of matching assets along with a set of attributes for each one.
The SearchType XML type defines the parameters passed in to the Search operation. These parameters consist of an InterplayPathURI representing the root folder to search from, a SearchGroup representing the search criteria, an optional ReturnAttributes for specifying the attributes to be returned, and an optional MaxResults for limiting search results.
If InterplayPathURI does not reference a valid folder, the operation will fail with an error. More information on the SearchGroup parameter can be found on the next page.
If the ReturnAttributes element is not included in the request, then a default set of attributes will be returned. For a list of what the default attributes are, please see the documentation on Attributes in the previous section. If a list of attributes is provided in the ReturnAttributes parameter, then only those attributes will be returned. If the attribute is not set on an asset, that attribute will be excluded from the response.
If MaxResults is specified, then any results will be limited to the number passed in. This can help to improve performance, as queries with many results take much more time to complete. If MaxResults is not specified, all results will be returned.
XSD Definition of SearchType
<xsd:complexType name="SearchType"> <xsd:sequence> <xsd:element name="InterplayPathURI" type="xsd:string" /> <xsd:element name="SearchGroup" type="tns:SearchGroupType" /> <xsd:element name="ReturnAttributes" type="tns:AttributeListType" minOccurs="0" /> <xsd:element name="MaxResults" type="xsd:int" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The SearchGroupType XML type represents a group of conditions and an operator such as AND or OR. If the AND operator is used, then all conditions must be true. If the OR operator is used, then at least one of the conditions must be true. If the Negated attribute is set to true, then the search must return all results that do not meet the criteria.
Each condition in a search group is either another search group or a supported condition type. More information on conditions is below. Please note that a SearchGroupType must contain at least one SearchGroup or condition type. (This would normally be designed using an xsd:choice element, but xsd:choice is not well-supported by all SOAP toolkits.) Only one FileInUseCondition is allowed per SearchGroupType, because they are by their nature mutually exclusive to other FileInUseConditionType conditions
XSD Definition of SearchGroupType
<xsd:complexType name="SearchGroupType"> <xsd:sequence> <xsd:element name="AttributeCondition" type="tns:AttributeConditionType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="CategoryCondition" type="tns:CategoryConditionType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="FileInUseCondition" type="tns:FileInUseConditionType" minOccurs="0" maxOccurs="1" /> <xsd:element name="ResolutionCondition" type="tns:ResolutionConditionType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="SearchGroup" type="tns:SearchGroupType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="Operator" type="xsd:string" use="required" /> <xsd:attribute name="Negated" type="xsd:boolean" use="optional" /> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The AttributeConditionType XML type represents a condition based on the value of an asset's attribute. The value to base the condition on should be the content of the Attribute element. Currently, only text-based and date-based conditions are supported. Date-based conditions can only be used on SYSTEM date attributes and must use ISO-formatted dates (see the earlier section Dates for more information).
XSD Definition of AttributeConditionType
<xsd:complexType name="AttributeConditionType"> <xsd:sequence> <xsd:element name="Attribute" type="tns:AttributeType" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="Condition" type="xsd:string" use="required" /> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following are valid values for the Condition attribute on AttributeConditionType.
Valid Values for the Condition Attribute
EQUALS: The attribute value must be an exact match NOT_EQUALS: The attribute value can be anything except an exact match CONTAINS: The search phrase must be contained somewhere in the attribute value NOT_CONTAINS: The search phrase must not be contained anywhere in the attribute value LESS_THAN: Useful for date-based searches to find matches before the given date and time LESS_THAN_OR_EQUAL_TO: Like LESS_THAN, but inclusive of the passed in date and time GREATER_THAN: Useful for date-based searches to find matches after the given date and time GREATER_THAN_OR_EQUAL_TO: Like GREATER_THAN, but inclusive of the passed in date and time
The CategoryConditionType XML type represents a condition based on an asset's assigned categories. The category attributes comes from the server's valid categories, see GetCategories.
XSD Definition of CategoryConditionType
<xsd:complexType name="CategoryConditionType"> <xsd:attribute name="Category" type="xsd:string" use="required" /> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The FileInUseConditionType XML type represents a condition based on whether or a not a file is currently labeled as in use (referenced by another asset). Not specifying a FileInUseConditionType will disregard the asset's state of usage.
XSD Definition of FileInUseConditionType
<xsd:complexType name="FileInUseConditionType"> <xsd:attribute name="InUse" type="xsd:boolean" use="required" /> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The ResolutionConditionType XML type represents a condition based on an Avid asset's available resolutions. The resolution attributes comes from the server's valid resolutions, see GetResolutions.
XSD Definition of ResolutionConditionType
<xsd:complexType name="ResolutionConditionType"> <xsd:attribute name="Resolution" type="xsd:string" use="required" /> <xsd:attribute name="Condition" type="xsd:string" use="required" /> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following are valid values for the Condition attribute on ResolutionConditionType.
Valid Values for the Condition attribute
EQUALS: The resolution value must be an exact match NOT_EQUALS: The resolution value can be anything except an exact match
The following is an example of a SOAP request for searching online clips in the Rainforest project that were created during a specific week, categorized as news, used in a sequence, and available as DV 25 411.
Example SOAP Request for the Search Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:Search> <typ:InterplayPathURI>interplay://WGA/Projects/Rainforest</typ:InterplayPathURI> <typ:SearchGroup Operator="AND"> <typ:AttributeCondition Condition="EQUALS"> <typ:Attribute Group="SYSTEM" Name="Status">online</typ:Attribute> </typ:AttributeCondition> <typ:AttributeCondition Condition="GREATER_THAN_OR_EQUAL_TO"> <typ:Attribute Group="SYSTEM" Name="Creation Date">2007-07-01T00:00:00.000-0400</typ:Attribute> </typ:AttributeCondition> <typ:AttributeCondition Condition="LESS_THAN"> <typ:Attribute Group="SYSTEM" Name="Creation Date">2007-07-08T00:00:00.000-0400</typ:Attribute> </typ:AttributeCondition> <typ:CategoryCondition Category="news"/> <typ:FileInUseCondition InUse="true"/> <typ:ResolutionCondition Resolution="DV 25 411" Condition="EQUALS"/> </typ:SearchGroup> </typ:Search> </soapenv:Body> </soapenv:Envelope>
The SearchResponseType element is sent in the SOAP response. The SearchResponseType contains an optional list of errors, and/or a list of AssetDescriptionType results for assets matching the search criteria.
XSD Definition of SearchResponseType
<xsd:complexType name="SearchResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Results" type="tns:AssetDescriptionListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the Search operation.
Example Successful SOAP Response for the Search Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SearchResponse xmlns="http://avid.com/interplay/ws/assets/types"> <Results> <AssetDescription> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-0f150b003f160006-060e2b347f7f-d080</InterplayURI> <Attributes> <Attribute Name="MOB ID" Group="SYSTEM">060a2b340101010101010f0013-000000-0f150b003f160006-060e2b347f7f-d080</Attribute> <Attribute Name="Moniker" Group="SYSTEM">1|02361023-3685-47F8-91A1-739795248673|*|73984|*</Attribute> <Attribute Name="Tape" Group="SYSTEM">ASD4</Attribute> <Attribute Name="File Size" Group="SYSTEM">29147</Attribute> <Attribute Name="Video" Group="SYSTEM">DV 25 411</Attribute> <Attribute Name="Start" Group="SYSTEM">11;29;59;27</Attribute> <Attribute Name="Created By" Group="SYSTEM">jsmith</Attribute> <Attribute Name="End" Group="SYSTEM">11;30;06;22</Attribute> <Attribute Name="Duration" Group="SYSTEM">00;00;06;25</Attribute> <Attribute Name="Modification Date" Group="SYSTEM">2007-07-02T13:28:25.000-0400</Attribute> <Attribute Name="DbPath" Group="SYSTEM">/Projects/Rainforest/animals/060a2b340101010101010f0013-000000-0f150b003f160006-060e2b347f7f-d080</Attribute> <Attribute Name="Asset Type" Group="SYSTEM">masterclip</Attribute> <Attribute Name="Status" Group="SYSTEM">online</Attribute> <Attribute Name="Tracks" Group="SYSTEM">V1 A1-A4</Attribute> <Attribute Name="Creation Date" Group="SYSTEM">2007-07-02T13:27:58.000-0400</Attribute> <Attribute Name="Modified By" Group="SYSTEM">jsmith</Attribute> <Attribute Name="Display Name" Group="USER">Monkeys Playing</Attribute> </Attributes> </AssetDescription> <!-- more results go here, but clipping out for space reasons --> </Results> </SearchResponse> </soap:Body> </soap:Envelope>
The SetAttributes operation is used to set the USER attributes of one or more assets. This operation can be applied to a list of assets in order to reduce the number of calls needed. In cases where this operation is applied to more than one asset, the same attributes and values are set for each asset.
The SetAttributesType XML type defines the parameters passed in to the SetAttributes operation. These parameters are a list of one or more Interplay URIs and a list of attributes to set.
Each Interplay URI in the list of Interplay URIs must reference a valid asset or folder. Note that for this operation, all forms of Interplay URIs can be used.
The Attributes list must contain only USER attributes, since they are the only attributes that can be set. If an attempt is made to set a SYSTEM attribute, the operation will fail with errors. In addition, new attribute names (but not values) are limited to 30 bytes. This 30 byte limit is enforced by an approximation algorithm that assumes 1 byte for each ASCII character and 4 bytes for each non-ASCII character.
XSD Definition of SetAttributesType
<xsd:complexType name="SetAttributesType"> <xsd:sequence> <xsd:element name="InterplayURIs" type="tns:InterplayURIListType" /> <xsd:element name="Attributes" type="tns:AttributeListType" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for setting attributes on an asset.
Example SOAP Request for the SetAttributes Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:SetAttributes> <typ:InterplayURIs> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80 </typ:InterplayURI> </typ:InterplayURIs> <typ:Attributes> <typ:Attribute Group="USER" Name="Camera Man">Bob</typ:Attribute> <typ:Attribute Group="USER" Name="Rating">PG-13</typ:Attribute> </typ:Attributes> </typ:SetAttributes> </soapenv:Body> </soapenv:Envelope>
The SetAttributesResponseType element is sent in the SOAP response. The SetAttributesResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty SetAttributesResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of SetAttributesResponseType
<xsd:complexType name="SetAttributesResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the SetAttributes operation.
Example Successful SOAP Response for the SetAttributes Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SetAttributesResponse xmlns="http://avid.com/interplay/ws/assets/types" /> </soap:Body> </soap:Envelope>
The SetCategories operation is used to add and remove categories to/from an asset. You can only add categories which have already been configured for the workgroup.
The SetCategoriesType XML type defines the parameters passed in to the SetCategories operation. InterplayURI references the asset or folder on which to add and/or remove categories. CategoriesToAdd is a list of categories to add to the asset and must reference valid categories for the workgroup. CategoriesToRemove is a list of categories to remove from the asset.
XSD Definition of SetCategoriesType
<xsd:complexType name="SetCategoriesType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="CategoriesToAdd" type="tns:CategoriesListType" minOccurs="0" /> <xsd:element name="CategoriesToRemove" type="tns:CategoriesListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for setting categories on an asset.
Example SOAP Request for the SetAttributes Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:SetCategories> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-00143b14e0180b1f-060e2b347f7f-2a80</typ:InterplayURI> <typ:CategoriesToAdd> <typ:Category>weather</typ:Category> </typ:CategoriesToAdd> <typ:CategoriesToRemove> <typ:Category>highlights</typ:Category> <typ:Category>current</typ:Category> </typ:CategoriesToRemove> </typ:SetCategories> </soapenv:Body> </soapenv:Envelope>
The SetCategoriesResponseType element is sent in the SOAP response. The SetCategoriesResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty SetCategoriesResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of SetCategoriesResponseType
<xsd:complexType name="SetCategoriesResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the SetCategories operation.
Example Successful SOAP Response for the SetAttributes Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SetCategoriesResponse xmlns="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The SetHeadframe operation is used to check in a headframe file for an Avid asset.
The SetHeadframeType XML type defines the parameters passed in to the SetHeadframe operation. These parameters consist of an Interplay URI and the contents of the headframe file to check in.
The Interplay URI must reference a valid Avid asset. If the Interplay URI references a non-Avid asset or a folder, the operation will fail with an error.
The Headframe element should either contain a base-64 encoded file or should reference a mime attachment per the MTOM specifications. The Headframe can be a JPEG, GIF, PNG, or BMP file, but it will be converted to JPEG and resized to 400 (w) x 300 (h) before being stored.
XSD Definition of SetHeadframeType
<xsd:complexType name="SetHeadframeType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="Headframe" type="xsd:base64Binary" xmime:expectedContentTypes="application/octet-stream" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of an MTOM SOAP request for setting a headframe.
Example MTOM SOAP Request for the SetHeadframe Operation
POST /services/Assets HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.832) Host: 127.0.0.1 Content-Type: multipart/related; type="application/xop+xml"; boundary=--MIMEBoundary633235863336759492; start="<[email protected]>"; start-info="text/xml; charset=utf-8" SOAPAction: "" Content-Length: 18462 Expect: 100-continue Connection: Keep-Alive ----MIMEBoundary633235863336759492 content-id: <[email protected]> content-type: application/xop+xml; charset=utf-8; type="text/xml; charset=utf-8" content-transfer-encoding: binary <soap:Envelope xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!-- credentials go here --> </soap:Header> <soap:Body> <SetHeadframe xmlns="http://avid.com/interplay/ws/assets/types"> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-417ff6a49a030068-060e2b347f7f-2a80</InterplayURI> <Headframe> <xop:Include href="cid:[email protected]" /> </Headframe> </SetHeadframe > </soap:Body> </soap:Envelope> ----MIMEBoundary633235863336759492 content-id: <[email protected]> content-type: application/octet-stream content-transfer-encoding: binary a bunch of binary data would go here ----MIMEBoundary633235863336759492--
The SetHeadframeResponseType element is sent in the SOAP response. The SetHeadframeResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty SetHeadframeResponseType element. If the operation was not successful (for example, if the headframe was not a valid image file), the response will contain one or more errors.
XSD Definition of SetHeadframeResponseType
<xsd:complexType name="SetHeadframeResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the SetHeadframe operation.
Example Successful MTOM SOAP Response for the SetHeadframe Operation
HTTP/1.1 200 OK Content-Type: multipart/related; type="application/xop+xml"; boundary="----=_Part_0_21523281.1188003933957"; start="<[email protected]>"; start-info="text/xml" SOAPAction: "" Content-Length: 412 Server: Jetty(6.1.1) ------=_Part_0_21523281.1188003933957 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml; charset=UTF-8" Content-Transfer-Encoding: binary Content-ID: <[email protected]> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SetHeadframeResponse xmlns="http://avid.com/interplay/ws/assets/types" /> </soap:Body> </soap:Envelope> ------=_Part_0_21523281.1188003933957--
The Interplay WS Archive service provides integration with the Interplay Archive Engine for managing assets in Avid Archive. This includes searching and retrieving asset metadata, checking in new assets, and updating the status of individual file mobs.
In general, assets in the Interplay Archive Engine should not be added or updated by integrators for standard workflows. These capabilities are exposed for the benefit of archive vendors who need to synchronize status changes back to the Interplay Archive Engine database.
The WSDL and XSDs used for the Interplay WS Archive service can be found at:
http://iws-srv/services/Archive?wsdl
http://iws-srv/services/Archive?xsd=archive.xsd
http://iws-srv/services/Archive?xsd=common.xsd
Remember to change the server name and port of the above URLs to match your environment.
The Interplay WS Archive WSDL defines all of the supported operations. This section of the documentation provides details on each supported operation. Common concepts and data types will not be discussed in detail, as they have already been documented in the previous section.
The CheckInAAF operation is used to check in Avid assets to the Interplay Archive Engine. In rare occasions, the archive vendor may detect that an archived asset has been erroneously deleted from the Interplay Archive Engine database. If the archive vendor has the original AAF file, the CheckInAAF operation can be used to re-register the asset in Interplay Archive. This operation should not be used for any other purposes.
The CheckInAAFType XML type defines the parameters passed in to the CheckInAAF operation. These parameters consist of an Interplay URI, the contents of the AAF file to check in, and an optional list of attributes to set.
The Interplay URI must be of path form and must reference a valid folder. If the Interplay URI represents a non-Avid file asset, the operation will fail with an error.
The AAF element should either contain the base-64 encoded AAF file contents or should reference a mime attachment per the MTOM specifications. The use of MTOM is highly recommended as it is significantly more efficient than inline base-64 encoded content.
The Headframe element (if specified) should either contain a base-64 encoded file or should reference a mime attachment per the MTOM specifications. Headframes can be JPEG, GIF, PNG, or BMP files, but they will be converted to JPEG and resized to 400 (w) x 300 (h) before being stored.
If attributes are passed in to be set on the asset, they must be USER attributes. If an attempt is made to set a SYSTEM attribute, the operation will fail with errors. In addition, new attribute names (but not values) are limited to 30 bytes. This 30 byte limit is enforced by an approximation algorithm that assumes 1 byte for each ASCII character and 4 bytes for each non-ASCII character.
XSD Definition of CheckInAAFType
<xsd:complexType name="CheckInAAFType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="AAF" type="xsd:base64Binary" xmime:expectedContentTypes="application/octet-stream" /> <xsd:element name="Headframe" type="xsd:base64Binary" xmime:expectedContentTypes="application/octet-stream" minOccurs="0" /> <xsd:element name="Attributes" type="comm:AttributeListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of an MTOM SOAP request for checking in an existing Avid master clip.
Example MTOM SOAP Request for the CheckInAAF Operation
POST /services/Assets HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.832) Host: 127.0.0.1 Content-Type: multipart/related; type="application/xop+xml"; boundary=--MIMEBoundary633235863336759492; start="<[email protected]>"; start-info="text/xml; charset=utf-8" Content-Length: 292750 Expect: 100-continue Connection: Keep-Alive ----MIMEBoundary633235863336759492 content-id: <[email protected]> content-type: application/xop+xml; charset=utf-8; type="text/xml; charset=utf-8" content-transfer-encoding: binary <soap:Envelope xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!-- credentials go here --> </soap:Header> <soap:Body> <CheckInAAF xmlns="http://avid.com/interplay/ws/archive/types"> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</InterplayURI> <AAF> <xop:Include href="cid:[email protected]" /> </AAF> </CheckInAAF> </soap:Body> </soap:Envelope> ----MIMEBoundary633235863336759492 content-id: <[email protected]> content-type: application/octet-stream content-transfer-encoding: binary a bunch of binary data would go here ----MIMEBoundary633235863336759492--
The CheckInAAFResponseType element is sent in the SOAP response. The CheckInAAFResponseType contains an optional list of errors and/or an Interplay URI. If the operation was successful, then the response will contain an Interplay URI referencing the Avid asset by its MOB ID. If the operation was not successful, the response will contain one or more errors and no Interplay URI.
XSD Definition of CheckInAAFResponseType
<xsd:complexType name="CheckInAAFResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0" /> <xsd:element name="InterplayURI" type="xsd:string" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the CheckInAAF operation.
Example Successful MTOM SOAP Response for the CheckInAAF Operation
HTTP/1.1 200 OK Content-Type: multipart/related; type="application/xop+xml"; boundary="----=_Part_0_21523281.1188003933957"; start="<[email protected]>"; start-info="text/xml" SOAPAction: "" Content-Length: 542 Server: Jetty(6.1.1) ------=_Part_0_21523281.1188003933957 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml; charset=UTF-8" Content-Transfer-Encoding: binary Content-ID: <[email protected]> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckInAAFResponse xmlns="http://avid.com/interplay/ws/archive/types"> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</InterplayURI> </CheckInAAFResponse> </soap:Body> </soap:Envelope> ------=_Part_0_21523281.1188003933957--
The CreateFolders operation is used to create several folders or nested paths of folders in the Interplay Archive Engine. Once created, other assets can be check into these folders.
The CreateFoldersType XML type defines the parameters passed in to the CreateFolders operation. The only necessary parameter is a list of path-formatted Interplay URIs representing the folders to create. If parent folders do not yet exist, they will be created as well. An Owner can also be optionally passed in. This should correspond to the username of the user who should be the owner of the created folders
XSD Definition of CreateFoldersType
<xsd:complexType name="CreateFoldersType"> <xsd:sequence> <xsd:element name="InterplayURIs" type="tns:InterplayURIListType"/> <xsd:element name="Owner" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for creating three new folders.
Example SOAP Request for the CreateFolders Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:CreateFolders> <typ:InterplayURIs> <typ:InterplayURI>interplay://Archive/Catalogs/AA</typ:InterplayURI> <typ:InterplayURI>interplay://Archive/Catalogs/BB</typ:InterplayURI> <typ:InterplayURI>interplay://Archive/Catalogs/CC</typ:InterplayURI> </typ:CreateFolders> </soapenv:Body> </soapenv:Envelope>
The CreateFoldersResponseType element is sent in the SOAP response. The CreateFoldersResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty CreateFolderResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of CreateFoldersResponseType
<xsd:complexType name="CreateFoldersResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the CreateFolders operation
Example Successful SOAP Response for the CreateFolders Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CreateFoldersResponse xmlns="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The GetAttributes operation is used to get a set of attributes for one or more assets. This operation can be applied to a list of assets in order to reduce the number of calls needed. Either a default set or a user-specified set of attributes can be returned.
The GetAttributesType XML type defines the parameters passed in to the GetAttributes operation. These parameters are a list of one or more Interplay URIs and an optional list of attributes to retrieve.
Each Interplay URI in the list of Interplay URIs must reference a valid asset or folder. Note that for this operation, all forms of Interplay URIs can be used.
If the Attributes element is not included in the request, then a default set of attributes will be returned. For a list of what the default attributes are, please see the documentation on Attributes in the previous section. If a list of attributes is provided in the Attributes parameter, then only those attributes will be returned. If the attribute is not set on an asset, that attribute will be excluded from the response.
XSD Definition of GetAttributesType
<xsd:complexType name="GetAttributesType"> <xsd:sequence> <xsd:element name="InterplayURIs" type="comm:InterplayURIListType" /> <xsd:element name="Attributes" type="comm:AttributeListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for getting specific attributes from an asset.
Example SOAP Request for the GetAttributes Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/archive/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetAttributes> <typ:InterplayURIs> <comm:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</comm:InterplayURI> </typ:InterplayURIs> <typ:Attributes> <comm:Attribute Group="USER" Name="Display Name" /> <comm:Attribute Group="USER" Name="Camera Man" /> <comm:Attribute Group="SYSTEM" Name="Status" /> </typ:Attributes> </typ:GetAttributes> </soapenv:Body> </soapenv:Envelope>
The GetAttributesResponseType element is sent in the SOAP response. The GetAttributesResponseType contains an optional list of errors, and/or a list of AssetDescriptionType results. It is possible for the operation to be successful for some assets and unsuccessful for others. If there was an error getting attributes for any assets, a corresponding error will be returned in the errors list.
XSD Definition of GetAttributesResponseType
<xsd:complexType name="GetAttributesResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0" /> <xsd:element name="Results" type="comm:AssetDescriptionListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetAttributes operation.
Example Successful SOAP Response for the GetAttributes Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetAttributesResponse xmlns="http://avid.com/interplay/ws/archive/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <Results> <comm:AssetDescription> <comm:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</comm:InterplayURI> <comm:Attributes> <comm:Attribute Name="MOB ID" Group="SYSTEM">060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</comm:Attribute> <comm:Attribute Name="Moniker" Group="SYSTEM">1|02361023-3685-47F8-91A1-739795248673|*|73984|*</comm:Attribute> <comm:Attribute Name="Status" Group="SYSTEM">online</comm:Attribute> <comm:Attribute Name="Camera Man" Group="USER">John Smith</comm:Attribute> <comm:Attribute Name="Display Name" Group="USER">Monkeys Jumping</comm:Attribute> </comm:Attributes> </comm:AssetDescription> </Results> </GetAttributesResponse> </soap:Body> </soap:Envelope>
The GetChildren operation is used to get a list of the assets contained in a specific folder. This operation is not recursive. It will only go one level deep. The response also contains attributes for each asset listed.
The GetChildrenType XML type defines the parameters passed in to the GetChildren operation. These parameters consist of an Interplay URI referencing a valid folder, flags for including or excluding folders, files, and MOBs, an optional name filter, and an optional list of attributes to return.
The includeFolders, includeFiles, and includeMOBs boolean parameters can be used to narrow the results to specific types of assets. For these parameters, the term Files refers to non-Avid file-based assets and the term MOBs refers to Avid assets.
An optional name filter can also be included for filtering the responses using a regular expression on the asset's display name.
If the ReturnAttributes element is not included in the request, then a default set of attributes will be returned. For a list of what the default attributes are, please see the documentation on Attributes in the previous section. If a list of attributes is provided in the ReturnAttributes parameter, then only those attributes will be returned. If the attribute is not set on an asset, that attribute will be excluded from the response.
XSD Definition of GetChildrenType
<xsd:complexType name="GetChildrenType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="IncludeFolders" type="xsd:boolean" /> <xsd:element name="IncludeFiles" type="xsd:boolean" /> <xsd:element name="IncludeMOBs" type="xsd:boolean" /> <xsd:element name="NameFilter" type="xsd:string" minOccurs="0" /> <xsd:element name="ReturnAttributes" type="comm:AttributeListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for getting the children of the Projects/Rainforest folder. In this example, we only want folders returned. In addition, we only want folders whose name contains the word rain.
Example SOAP Request for the GetChildren Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/archive/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetChildren> <typ:InterplayURI>interplay://WGA/Projects/Rainforest</typ:InterplayURI> <typ:IncludeFolders>true</typ:IncludeFolders> <typ:IncludeFiles>false</typ:IncludeFiles> <typ:IncludeMOBs>false</typ:IncludeMOBs> <typ:NameFilter>.*rain.*</typ:NameFilter> </typ:GetChildren> </soapenv:Body> </soapenv:Envelope>
The GetChildrenResponseType element is sent in the SOAP response. The GetChildrenResponseType contains an optional list of errors, and/or a list of AssetDescriptionType results. Each asset will be returned with a default set of attributes.
XSD Definition of GetChildrenResponseType
<xsd:complexType name="GetChildrenResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0" /> <xsd:element name="Results" type="comm:AssetDescriptionListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetChildren operation.
Example Successful SOAP Response for the GetChildren Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetChildrenResponse xmlns="http://avid.com/interplay/ws/archive/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <Results> <comm:AssetDescription> <comm:InterplayURI>interplay://WGA/Projects/Rainforest/raindances</InterplayURI> <comm:Attributes> <comm:Attribute Name="Moniker" Group="SYSTEM">1|02361023-3685-47F8-91A1-739795248673|*|73984|*</comm:Attribute> <comm:Attribute Name="Created By" Group="SYSTEM">jsmith</comm:Attribute> <comm:Attribute Name="File Size" Group="SYSTEM">0</comm:Attribute> <comm:Attribute Name="DbPath" Group="SYSTEM">/Projects/Rainforest/raindances/</comm:Attribute> <comm:Attribute Name="Creation Date" Group="SYSTEM">2007-02-12T11:42:47.343-0400</comm:Attribute> <comm:Attribute Name="Asset Type" Group="SYSTEM">folder</comm:Attribute> <comm:Attribute Name="Modification Date" Group="SYSTEM">2007-02-12T11:42:47.343-0400</comm:Attribute> <comm:Attribute Name="Modified By" Group="SYSTEM">jsmith</comm:Attribute> <comm:Attribute Name="Display Name" Group="USER">raindances</comm:Attribute> </comm:Attributes> </comm:AssetDescription> <!-- more results go here, but clipping out for space reasons --> </Results> </GetChildrenResponse> </soap:Body> </soap:Envelope>
The GetHeadframe operation is used to get the binary headframe of an Avid asset. If the SOAP request uses MTOM, then the response will also use MTOM. Otherwise, the request will base-64 encode the binary file in the response. The use of MTOM is highly recommended as it is significantly more efficient than inline base-64 encoded content.
The GetHeadframeType XML type defines the parameters passed in to the GetHeadframe operation. The only parameter is an Interplay URI referencing a valid Avid asset. If the Interplay URI references a non-Avid asset or a folder, the operation will fail with an error.
XSD Definition of GetHeadframeType
<xsd:complexType name="GetHeadframeType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of an MTOM SOAP request for getting a headframe.
Example MTOM SOAP Request for the GetHeadframe Operation
POST /services/Assets HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.832) Host: 127.0.0.1 Content-Type: multipart/related; type="application/xop+xml"; boundary=--MIMEBoundary633235840061319756; start="<[email protected]>"; start-info="text/xml; charset=utf-8" SOAPAction: "" Content-Length: 1611 Expect: 100-continue Connection: Keep-Alive ----MIMEBoundary633235840061319756 content-id: <[email protected]> content-type: application/xop+xml; charset=utf-8; type="text/xml; charset=utf-8" content-transfer-encoding: binary <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!-- credentials go here --> </soap:Header> <soap:Body> <GetHeadframe xmlns="http://avid.com/interplay/ws/archive/types"> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-417ff6a49a030068-060e2b347f7f-2a80</InterplayURI> </GetHeadframe> </soap:Body> </soap:Envelope> ----MIMEBoundary633235840061319756--
The GetHeadframeResponseType element is sent in the SOAP response. The GetHeadframeResponseType contains an optional list of errors and/or the contents of the binary headframe requested. Headframes are JPEG images and are usually 400 (w) x 300 (h). If the operation was not successful, the response will contain one or more errors and no Headframe element. If the targeted asset does not have a headframe, this is considered an error, and will have an error code of OBJECT_NOT_FOUND.
XSD Definition of GetHeadframeResponseType
<xsd:complexType name="GetLatestResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0" /> <xsd:element name="File" type="xsd:base64Binary" minOccurs="0" xmime:expectedContentTypes="application/octet-stream" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetHeadframe operation.
Example Successful MTOM SOAP Response for the GetHeadframe Operation
HTTP/1.1 200 OK Content-Type: multipart/related; type="application/xop+xml"; boundary="----=_Part_0_14385651.1188001606319"; start="<[email protected]>"; start-info="text/xml" SOAPAction: "" Content-Length: 17376 Server: Jetty(6.1.1) ------=_Part_0_14385651.1188001606319 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml; charset=UTF-8" Content-Transfer-Encoding: binary Content-ID: <[email protected]> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetHeadframeResponse xmlns="http://avid.com/interplay/ws/archive/types"> <Headframe> <xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:[email protected]" /> </Headframe> </GetHeadframeResponse> </soap:Body> </soap:Envelope> ------=_Part_0_14385651.1188001606319 Content-Type: application/octet-stream Content-Transfer-Encoding: binary Content-ID: <[email protected]> a bunch of binary data should be here ------=_Part_0_14385651.1188001606319--
The GetLatest operation is used to get the latest version of a non-Avid asset or to get the AAF of an Avid asset. If the SOAP request uses MTOM, then the response will also use MTOM. Otherwise, the request will base-64 encode the binary file in the response. The use of MTOM is highly recommended as it is significantly more efficient than inline base-64 encoded content.
The GetLatestType XML type defines the parameters passed in to the GetLatest operation. The only parameter is an Interplay URI referencing a valid file-based asset. If the Interplay URI references a folder, the operation will fail with an error.
XSD Definition of GetLatestType
<xsd:complexType name="GetLatestType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of an MTOM SOAP request for getting an AAF representing an Avid asset.
Example MTOM SOAP Request for the GetLatest Operation
POST /services/Assets HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.832) Host: 127.0.0.1 Content-Type: multipart/related; type="application/xop+xml"; boundary=--MIMEBoundary633235840061319756; start="<[email protected]>"; start-info="text/xml; charset=utf-8" SOAPAction: "" Content-Length: 1542 Expect: 100-continue Connection: Keep-Alive ----MIMEBoundary633235840061319756 content-id: <[email protected]> content-type: application/xop+xml; charset=utf-8; type="text/xml; charset=utf-8" content-transfer-encoding: binary <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!-- credentials go here --> </soap:Header> <soap:Body> <GetLatest xmlns="http://avid.com/interplay/ws/archive/types"> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-417ff6a49a030068-060e2b347f7f-2a80</InterplayURI> </GetLatest> </soap:Body> </soap:Envelope> ----MIMEBoundary633235840061319756--
The GetLatestResponseType element is sent in the SOAP response. The GetLatestResponseType contains an optional list of errors and/or the contents of the file or AAF requested. If the operation was not successful, the response will contain one or more errors and no file.
XSD Definition of GetLatestResponseType
<xsd:complexType name="GetLatestResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0" /> <xsd:element name="File" type="xsd:base64Binary" minOccurs="0" xmime:expectedContentTypes="application/octet-stream" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetLatest operation.
Example Successful MTOM SOAP Response for the GetLatest Operation
HTTP/1.1 200 OK Content-Type: multipart/related; type="application/xop+xml"; boundary="----=_Part_0_14385651.1188001606319"; start="<[email protected]>"; start-info="text/xml" SOAPAction: "" Content-Length: 292839 Server: Jetty(6.1.1) ------=_Part_0_14385651.1188001606319 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml; charset=UTF-8" Content-Transfer-Encoding: binary Content-ID: <[email protected]> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetLatestResponse xmlns="http://avid.com/interplay/ws/archive/types"> <File> <xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:[email protected]" /> </File> </GetLatestResponse> </soap:Body> </soap:Envelope> ------=_Part_0_14385651.1188001606319 Content-Type: application/octet-stream Content-Transfer-Encoding: binary Content-ID: <[email protected]> a bunch of binary data should be here ------=_Part_0_14385651.1188001606319--
The Search operation is used to search for assets based on various parameters of criteria. The search is performed from a specified root search path and searches all folders below that path. The response contains a list of matching assets along with a set of attributes for each one.
The SearchType XML type defines the parameters passed in to the Search operation. These parameters consist of an InterplayPathURI representing the root folder to search from, a SearchGroup representing the search criteria, an optional ReturnAttributes for specifying the attributes to be returned, and an optional MaxResults for limiting search results.
If InterplayPathURI does not reference a valid folder, the operation will fail with an error. More information on the SearchGroup parameter can be found on the next page.
If the ReturnAttributes element is not included in the request, then a default set of attributes will be returned. For a list of what the default attributes are, please see the documentation on Attributes in the previous section. If a list of attributes is provided in the ReturnAttributes parameter, then only those attributes will be returned. If the attribute is not set on an asset, that attribute will be excluded from the response.
If MaxResults is specified, then any results will be limited to the number passed in. This can help to improve performance, as queries with many results take much more time to complete. If MaxResults is not specified, all results will be returned.
For detailed documentation on SearchGroupType and the various condition types, please see the documentation for the Assets Service Search operation.
XSD Definition of SearchType
<xsd:complexType name="SearchType"> <xsd:sequence> <xsd:element name="InterplayPathURI" type="xsd:string" /> <xsd:element name="SearchGroup" type="comm:SearchGroupType" /> <xsd:element name="ReturnAttributes" type="comm:AttributeListType" minOccurs="0" /> <xsd:element name="MaxResults" type="xsd:int" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for searching online clips in the Rainforest project that were created during a specific week.
Example SOAP Request for the Search Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/archive/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:Search> <typ:InterplayPathURI>interplay://WGA/Projects/Rainforest</typ:InterplayPathURI> <typ:SearchGroup Operator="AND"> <comm:AttributeCondition Condition="EQUALS"> <comm:Attribute Group="SYSTEM" Name="Status">online</comm:Attribute> </comm:AttributeCondition> <comm:AttributeCondition Condition="GREATER_THAN_OR_EQUAL_TO"> <comm:Attribute Group="SYSTEM" Name="Creation Date">2007-07-01T00:00:00.000-0400</comm:Attribute> </comm:AttributeCondition> <comm:AttributeCondition Condition="LESS_THAN"> <comm:Attribute Group="SYSTEM" Name="Creation Date">2007-07-08T00:00:00.000-0400</comm:Attribute> </comm:AttributeCondition> <typ:CategoryCondition Category="news"/> <typ:CategoryCondition Category="sports"/> <typ:FileInUseCondition InUse="true"/> <typ:ResolutionCondition Resolution="DV 25 411" Condition="EQUALS"/> <typ:ResolutionCondition Resolution="DV 25 420" Condition="NOT_EQUALS"/> </typ:SearchGroup> </typ:Search> </soapenv:Body> </soapenv:Envelope>
The SearchResponseType element is sent in the SOAP response. The SearchResponseType contains an optional list of errors, and/or a list of AssetDescriptionType results for assets matching the search criteria.
XSD Definition of SearchResponseType
<xsd:complexType name="SearchResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0" /> <xsd:element name="Results" type="comm:AssetDescriptionListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the Search operation.
Example Successful SOAP Response for the Search Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SearchResponse xmlns="http://avid.com/interplay/ws/archive/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <Results> <comm:AssetDescription> <comm:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-0f150b003f160006-060e2b347f7f-d080</comm:InterplayURI> <comm:Attributes> <comm:Attribute Name="MOB ID" Group="SYSTEM">060a2b340101010101010f0013-000000-0f150b003f160006-060e2b347f7f-d080</comm:Attribute> <comm:Attribute Name="Moniker" Group="SYSTEM">1|02361023-3685-47F8-91A1-739795248673|*|73984|*</comm:Attribute> <comm:Attribute Name="Tape" Group="SYSTEM">ASD4</comm:Attribute> <comm:Attribute Name="File Size" Group="SYSTEM">29147</comm:Attribute> <comm:Attribute Name="Video" Group="SYSTEM">DV 25 411</comm:Attribute> <comm:Attribute Name="Start" Group="SYSTEM">11;29;59;27</comm:Attribute> <comm:Attribute Name="Created By" Group="SYSTEM">jsmith</comm:Attribute> <comm:Attribute Name="End" Group="SYSTEM">11;30;06;22</comm:Attribute> <comm:Attribute Name="Duration" Group="SYSTEM">00;00;06;25</comm:Attribute> <comm:Attribute Name="Modification Date" Group="SYSTEM">2007-07-02T13:28:25.000-0400</comm:Attribute> <comm:Attribute Name="DbPath" Group="SYSTEM">/Projects/Rainforest/animals/060a2b340101010101010f0013-000000-0f150b003f160006-060e2b347f7f-d080</comm:Attribute> <comm:Attribute Name="Asset Type" Group="SYSTEM">masterclip</comm:Attribute> <comm:Attribute Name="Status" Group="SYSTEM">online</comm:Attribute> <comm:Attribute Name="Tracks" Group="SYSTEM">V1 A1-A4</comm:Attribute> <comm:Attribute Name="Creation Date" Group="SYSTEM">2007-07-02T13:27:58.000-0400</comm:Attribute> <comm:Attribute Name="Modified By" Group="SYSTEM">jsmith</comm:Attribute> <comm:Attribute Name="Display Name" Group="USER">Monkeys Playing</comm:Attribute> </comm:Attributes> </comm:AssetDescription> <!-- more results go here, but clipping out for space reasons --> </Results> </SearchResponse> </soap:Body> </soap:Envelope>
The SetFileStatus operation allows archive vendors to update the online/offline status of one or more filemobs. This can be useful in instances where specific files have been permanently deleted from the archive. When the status of a filemob is modified, the overall status of the related clips is recalculated and updated in the database.
It is important to note the distinction between filemobs and mastermobs (or masterclips). Filemobs are the objects that represent the underlying media files (usually MXFs) in a masterclip. It is also important to note that this operation should only be used by archive vendors for synchronization purposes.
The SetFileStatusType XML type defines the parameters passed in to the SetFileStatus operation. The only parameter is a list of FileStatuses. The FileStatus contains a FileMobURI and a Status. Valid values for the Status are ONLINE and OFFLINE.
XSD Definition of SetFileStatusType
<xsd:complexType name="SetFileStatusType"> <xsd:sequence> <xsd:element name="FileStatuses" type="tns:FileStatusListType"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for setting file status.
Example SOAP Request for the SetFileStatusOperation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/archive/types"> <soapenv:Header> <!-- credentials go here--> </soapenv:Header> <soapenv:Body> <typ:SetFileStatus> <typ:FileStatuses> <typ:FileStatus> <typ:FileMobURI>interplay://WGA?filemobid=060a2b340101010101010f0013-000000-00163a16e5e91a4a-060e2b347f7f-2a80</typ:FileMobURI> <typ:Status>ONLINE</typ:Status> </typ:FileStatus> <typ:FileStatus> <typ:FileMobURI>interplay://WGA?filemobid=060a2b340101010101010f0013-000000-001132130fdb199d-060e2b347f7f-2a80</typ:FileMobURI> <typ:Status>OFFLINE</typ:Status> </typ:FileStatus> </typ:FileStatuses> </typ:SetFileStatus> </soapenv:Body> </soapenv:Envelope>
The SetFileStatusResponseType element is sent in the SOAP response. The SetFileStatusResponseType contains an optional list of errors. If there are no errors, the Errors element is omitted entirely.
XSD Definition of SetFileStatusResponseType
<xsd:complexType name="SetFileStatusResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the SetFileStatus operation.
Example Successful SOAP Response for the SetFileStatus Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SetFileStatusResponse xmlns="http://avid.com/interplay/ws/archive/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The GetFileDetails operation is used to get information about the media files used by a masterclip. It contains the same information as can be found in Avid Interplay Access's "File Locations" tab. This operation is only valid for Avid masterclips-- all other asset types will result in an error.
The GetFileDetailsType XML type defines the parameters passed in to the GetFileDetails operation. These parameters are one or more Interplay URIs referencing valid masterclips.
XSD Definition of GetFileDetailsType
<xsd:complexType name="GetFileDetailsType"> <xsd:sequence> <xsd:element name="InterplayURIs" type="tns:InterplayURIListType"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for GetFileDetails.
Example SOAP Request for the GetFileDetails Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types" xmlns:typ1="http://avid.com/interplay/ws/archive/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetFileDetails> <typ:InterplayURIs> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-00143b14e0180b1f-060e2b347f7f-2a80</typ:InterplayURI> </typ:InterplayURIs> </typ:GetFileDetails> </soapenv:Body> </soapenv:Envelope>
The GetFileDetailsResponseType element is sent in the SOAP response. The GetFileDetailsResponseType contains an optional list of errors and/or a list of FileLocationDetailsType objects. Each FileLocationDetailsType object should have an Interplay URI and a list of FileLocationType objects. If the operation was successful, then It should return all file location details for every asset. If the operation was not successful, the response will contain one or more errors.
XSD Definition of GetFileDetailsResponseType
<xsd:complexType name="GetFileDetailsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="Results" type="tns:FileLocationDetailsListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The FileLocationType XML type contains many of the same details as the File Locations tab in Avid Interplay Access.
XSD Definition of FileLocationType
<xsd:complexType name="FileLocationType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string"/> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="Track" type="xsd:string"/> <xsd:element name="Status" type="xsd:string"/> <xsd:element name="FilePath" type="xsd:string"/> <xsd:element name="Type" type="xsd:string"/> <xsd:element name="CreatedBy" type="xsd:string"/> <xsd:element name="Format" type="xsd:string"/> <xsd:element name="Size" type="xsd:string"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType>
The following is an example of a successful SOAP response for the GetFileDetails operation.
Example Successful SOAP Response for the GetFileDetails Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetFileDetailsResponse xmlns="http://avid.com/interplay/ws/archive/types"> <Results> <FileLocationDetails> <InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-00143b14e0180b1f-060e2b347f7f-2a80</InterplayURI> <FileLocations> <FileLocation> <InterplayURI>interplay://WGA?filemobid=060a2b340101010101010f0013-000000-001501150e0206d1-060e2b347f7f-2a80</InterplayURI> <Name>060a2b340101010101010f0013-000000-001501150e0206d1-060e2b347f7f-2a80</Name> <Track>V1</Track> <Status>Online</Status> <FilePath>//asflock1/aspd-10/Avid MediaFiles/MXF/TM_wg5speed-10/aspd10V01B1FE018.mxf</FilePath> <Type>filemob</Type> <CreatedBy>Airspeed</CreatedBy> <Format>DV 50</Format> <Size>1271165</Size> </FileLocation> <FileLocation> <InterplayURI>interplay://WGA?filemobid=060a2b340101010101010f0013-000000-001501150e0306d1-060e2b347f7f-2a80</InterplayURI> <Name>060a2b340101010101010f0013-000000-001501150e0306d1-060e2b347f7f-2a80</Name> <Track>A1</Track> <Status>Online</Status> <FilePath>//asflock1/aspd-10/Avid MediaFiles/MXF/TM_wg5speed-10/aspd10A01B1FE018.mxf</FilePath> <Type>filemob</Type> <CreatedBy>Airspeed</CreatedBy> <Format>PCM</Format> <Size>17344</Size> </FileLocation> <FileLocation> <InterplayURI>interplay://WGA?filemobid=060a2b340101010101010f0013-000000-001501150e0406d1-060e2b347f7f-2a80</InterplayURI> <Name>060a2b340101010101010f0013-000000-001501150e0406d1-060e2b347f7f-2a80</Name> <Track>A2</Track> <Status>Online</Status> <FilePath>//asflock1/aspd-10/Avid MediaFiles/MXF/TM_wg5speed-10/aspd10A02B1FE018.mxf</FilePath> <Type>filemob</Type> <CreatedBy>Airspeed</CreatedBy> <Format>PCM</Format> <Size>17344</Size> </FileLocation> <FileLocation> <InterplayURI>interplay://WGA?filemobid=060a2b340101010101010f0013-000000-001501150e0506d1-060e2b347f7f-2a80</InterplayURI> <Name>060a2b340101010101010f0013-000000-001501150e0506d1-060e2b347f7f-2a80</Name> <Track>A3</Track> <Status>Online</Status> <FilePath>//asflock1/aspd-10/Avid MediaFiles/MXF/TM_wg5speed-10/aspd10A03B1FE018.mxf</FilePath> <Type>filemob</Type> <CreatedBy>Airspeed</CreatedBy> <Format>PCM</Format> <Size>17344</Size> </FileLocation> <FileLocation> <InterplayURI>interplay://WGA?filemobid=060a2b340101010101010f0013-000000-001501150e0606d1-060e2b347f7f-2a80</InterplayURI> <Name>060a2b340101010101010f0013-000000-001501150e0606d1-060e2b347f7f-2a80</Name> <Track>A4</Track> <Status>Online</Status> <FilePath>//asflock1/aspd-10/Avid MediaFiles/MXF/TM_wg5speed-10/aspd10A04B1FE018.mxf</FilePath> <Type>filemob</Type> <CreatedBy>Airspeed</CreatedBy> <Format>PCM</Format> <Size>17344</Size> </FileLocation> </FileLocations> </FileLocationDetails> </Results> </GetFileDetailsResponse> </soap:Body> </soap:Envelope>
The Interplay WS Infrastructure service currently provides two operations for getting workgroup information.
The WSDL and XSDs used for the Interplay WS Infrastructure service can be found at:
http://iws-srv/services/Infrastructure?wsdl
http://iws-srv/services/Infrastructure?xsd=infrastructure.xsd
http://iws-srv/services/Assets?xsd=common.xsd
Remember to change the server name and port of the above URLs to match your environment.
The WorkgroupType is used as an output in GetConfigurationInformation operation.
XSD Definition of WorkgroupType
<xsd:complexType name="WorkgroupType"> <xsd:sequence> <xsd:element name="WorkgroupName" type="xsd:string"/> <xsd:element name="InterplayEngineHost" type="xsd:string"/> <xsd:element name="ArchiveEngineHost" type="xsd:string"/> <xsd:element name="MediaServicesEngineHost" type="xsd:string"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The workgroup is configured through the Interplay WS web interface or the ASF Service Configuration tool. The configuration of a workgroup in Interplay WS includes the workgroup name, the Interplay engine host, the archive engine host and the media services engine host.
Example WorkgroupType
<Workgroup> <WorkgroupName>WGA</WorkgroupName> <InterplayEngineHost>wga-ie</InterplayEngineHost> <ArchiveEngineHost>wga-am</ArchiveEngineHost> <MediaServicesEngineHost>wga-ms</MediaServicesEngineHost> </Workgroup>
The WorkGroupDetailsType is used as an output in getVersionInformation operation.
XSD Definition of WorkGroupDetailsType
<xsd:complexType name="WorkGroupDetailsType"> <xsd:sequence> <xsd:element name="WorkgroupName" type="xsd:string"/> <xsd:element name="InterplayEngineHost" type="xsd:string"/> <xsd:element name="InterplayEngineVersion" type="xsd:string" minOccurs="0"/> <xsd:element name="ArchiveEngineHost" type="xsd:string"/> <xsd:element name="ArchiveEngineVersion" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType>
The details contain the configured workgroup name,the Interplay Engine host name, the Interplay Engine version, the Archive Engine host name, and the Archive Engine version. Getting the Media Services version number is currently not supported.
Example WorkGroupDetailsType
<Workgroup> <WorkgroupName>WGA</WorkgroupName> <InterplayEngineHost>wga-ie</InterplayEngineHost> <InterplayEngineVersion>2.0.1.13920</InterplayEngineVersion> <ArchiveEngineHost>wga-am</ArchiveEngineHost> <ArchiveVersion>2.0.1.13920</ ArchiveVersion> </Workgroup>
The Interplay WS Infrastructure WSDL defines all of the supported operations related to the infrastructure of Interplay WS. This section of the documentation provides details on each supported operation.
The GetConfigurationInformation operation is used to get the configuration information for an installation of Interplay WS.
The GetConfigurationInformation XML type defines the parameters passed in to the GetConfigurationInformation operation. This operation does not require any parameters. It does not even require any UserCredentials.
XSD Definition of GetConfigurationInformationType
<xsd:complexType name="GetConfigurationInformationType"> <xsd:sequence> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for getting Configuration Information.
Example SOAP Request for the GetConfigurationInformation Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/infrastructure/types"> <soapenv:Header/> <soapenv:Body> <typ:GetConfigurationInformation /> </soapenv:Body> </soapenv:Envelope>
The GetConfigurationInformationResponse element is sent in the SOAP response. The GetConfigurationInformationResponse contains an optional list of errors and/or list of Workgroups containing the configuration info. If the operation was successful, it will return the configuration for all of the configured workgroups. If the operation was not successful, the response will contain one or more errors.
XSD Definition of GetConfigurationInformationResponseType
<xsd:complexType name="GetConfigurationInformationResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0"/> <xsd:element name="Results" type="tns:WorkgroupListType" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the GetConfigurationInformation operation.
Example Successful SOAP Response for the GetConfigurationInformation Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetConfigurationInformationResponse xmlns="http://avid.com/interplay/ws/infrastructure/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types"> <Results> <Workgroup> <WorkgroupName>WGA</WorkgroupName> <InterplayEngineHost>wga-ie</InterplayEngineHost> <ArchiveEngineHost>wga-am</ArchiveEngineHost> <MediaServicesEngineHost>wga-ms</MediaServicesEngineHost> </Workgroup> </Results> </GetConfigurationInformationResponse> </soap:Body> </soap:Envelope>
The GetVersionInformation operation returns the version of Interplay Web Services as well as the versions of the Interplay Engines and Archive Engines for one or more configured workgroups. This operation is intended to assist integrators in programmatically determining the capabilities of an installed Interplay WS instance and ensuring they match the requirements of the integrator's application.
The GetVersionInformationType XML type defines the parameters passed in the GetVersionInformation operation. The only parameter is the optional WorkgroupURI referencing a Workgroup. If the WorkgroupURI is provided, the results will contain version information for that configured workgroup. Otherwise, the results will contain version information for each workgroup configured in the Interplay WS system.
XSD Definition of GetVersionInformationType
<xsd:complexType name="GetVersionInformationType"> <xsd:sequence> <xsd:element name="WorkgroupURI" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for getting version information.
Example SOAP Request for the GetVersionInformation Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetVersionInformation> <typ:WorkgroupURI>interplay://WGA</typ:WorkgroupURI> </typ:GetVersionInformation> </soapenv:Body> </soapenv:Envelope>
The GetVersionInformationResponseType element is sent in the SOAP response. The GetVersionInformationResponseType contains an optional list of errors and/or a list of version information for Interplay WS, InterplayEngine(s), and ArchiveEngine(s) configured in the workgroups in Interplay WS.
XSD Definition of GetVersionInformationResponseType
<xsd:complexType name="GetVersionInformationResponseType"> <xsd:sequence> <xsd:element name="Errors" type="tns:ErrorListType" minOccurs="0"/> <xsd:element name="InterplayWebServicesVersion" type="xsd:string" minOccurs="0"/> <xsd:element name="InterplayEngines" type="tns:InterplayEngineDetailsListType" minOccurs="0"/> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response form GetVersionInformation operation.
Example Successful SOAP Response for the GetVersionInformation Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetVersionInformationResponse xmlns="http://avid.com/interplay/ws/ infrastructure/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types" > <InterplayWebServicesVersion>2.0.1</InterplayWebServicesVersion> <Workgroups> <Workgroup> <WorkgroupName>WGA</WorkgroupName> <InterplayEngineHost>wga-ie</InterplayEngineHost> <InterplayEngineVersion>1.6.2.12135</InterplayEngineVersion> <ArchiveEngineHost>wga-am</ArchiveEngineHost> <ArchiveVersion>1.6.2.12135</ ArchiveVersion> </Workgroup> </Workgroups> </GetVersionInformationResponse> </soap:Body> </soap:Envelope>
The default installation of Interplay WS 2.x works with Avid Interplay 2.x based Media Services. To integrate with Media Services in Avid Interplay 1.x workgroups, the Interplay Web Services Updater installer must be run to switch Interplay WS Media Services support to Interplay 1.x mode.>
The Interplay WS Media Services service provides integration with the Media Services for managing jobs in Media Services. This includes canceling, deleting, submitting jobs, getting job status and getting profile
The WSDL and XSDs used for the Interplay WS Media Services service can be found at:
http://iws-srv/services/Jobs?wsdl
http://iws-srv/services/Jobs?xsd=jobs.xsd
http://iws-srv/services/Assets?xsd=common.xsd
Remember to change the server name and port of the above URLs to match your environment.
The Jobs service allows Avid Interplay Media Services jobs to be submitted via profile or via a set of parameters. In either case, a valid service must be specified. The following is a list of services and the corresponding values that should be passed in to the SubmitJob... operations.
Service Names (Name: Value Required by WS)
Archive: com.avid.dms.archive Copy: com.avid.dms.CopyMedia Publish: com.avid.dms.PubService Restore: com.avid.dms.restore STP Encode: com.avid.dms.longgopexport Transcode: com.avid.dms.transcodeservice
The Interplay WS Jobs WSDL defines all of the supported operations. This section of the documentation provides details on each supported operation. Common concepts and data types will not be discussed in detail, as they have already been documented in the previous section.
The CancelJobs operation is used to cancel one or more Media Services or Transfer jobs.
The CancelJobsType XML type defines the parameters passed in to the CancelJobs operation. The only parameter is a list of JobURIs referencing the jobs you wish to cancel.
XSD Definition of CancelJobsType
<xsd:complexType name="CancelJobsType"> <xsd:sequence> <xsd:element name="JobURIs" type="tns:JobURIListType"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request to cancel two jobs (one Media Services and one Transfer):.
Example SOAP Request for the CancelJobs Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/jobs/types" xmlns:typ1="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:CancelJobs> <typ:JobURIs> <typ:JobURI>interplay://WGA/DMS?jobid=123123213123.3</typ:JobURI> <typ:JobURI>interplay://WGA/XFER?jobid=12_wga-tm</typ:JobURI> </typ:JobURIs> </typ:CancelJobs> </soapenv:Body> </soapenv:Envelope>
The CancelJobsResponseType element is sent in the SOAP response. The CancelJobsResponseType contains an optional list of errors. If there are no errors, the Errors element is omitted entirely.
XSD Definition of CancelJobsResponseType
<xsd:complexType name="CancelJobsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the CancelJobs operation.
Example Successful SOAP Response for the CancelJobs Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CancelJobsResponse xmlns=http://avid.com/interplay/ws/jobs/types xmlns:ns2=http://avid.com/interplay/ws/assets/types/> </soap:Body> </soap:Envelope>
The following is an example of a failed SOAP response for the CancelJobs operation.
Example unsuccessful SOAP Response for the CancelJobs Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CancelJobsResponse xmlns=http://avid.com/interplay/ws/jobs/types xmlns:ns2="http://avid.com/interplay/ws/assets/types"> <Errors> <ns2:Error Code="INVALID_PARAMETER"> <ns2:Message>An invalid parameter was used</ns2:Message> <ns2:Details>12312321.3 is not a valid jobURI.</ns2:Details> </ns2:Error> </Errors> </CancelJobsResponse> </soap:Body> </soap:Envelope>
The DeleteJobs operation is used to delete one or more jobs from the Media Services job queue. Transfer jobs cannot be deleted, so if a JobURI is passed in for a Transfer job, it will instead pause the job and return an error..
The DeleteJobsRequest XML type defines the parameters passed in to the DeleteJobs operation. The only parameter is a list of JobURIs referencing the Media Services jobs you wish to delete.
XSD Definition of DeleteJobsRequest
<xsd:element name="DeleteJobsRequest" type="tns:DeleteJobsType"/> <xsd:complexType name="DeleteJobsType"> <xsd:sequence> <xsd:element name="JobURIs" type="tns:JobURIListType" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for deleting a job.
Example SOAP Request for the deleteJobs Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/jobs/types" xmlns:typ1="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here--> </soapenv:Header> <soapenv:Body> <typ:DeleteJobsRequest> <typ:JobURIs> <typ:JobURI> interplay://WGA/DMS?jobid=1239868139578.1</typ:JobURI> </typ:JobURIs> </typ:DeleteJobsRequest> </soapenv:Body> </soapenv:Envelope>
The DeleteJobsResponse element is sent in the SOAP response. The DeleteJobsResponse contains an optional list of errors. If there are no errors, the Errors element is omitted entirely.
XSD Definition of DeleteJobsResponseType
<xsd:complexType name="DeleteJobsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the deleteJobs operation.
Example Successful SOAP Response for the deleteJobs Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <DeleteJobsResponse xmlns="http://avid.com/interplay/ws/jobs/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The GetJobStatus operation is used to track the status of Media Services and transfer jobs.
The GetJobStatusRequest XML type defines the parameters passed in to the GetJobStatus operation. The only parameter is a list of JobURIs referencing the jobs you wish to retrieve the status for. If the job's status is RUNNING,the response will return an additional percentage. If the job's status is Error, the response will return an additional error message.
XSD Definition of GetJobStatus Request
<xsd:element name="GetJobStatus" type="tns:GetJobStatusType"/> <xsd:complexType name="GetJobStatusType"> <xsd:sequence> <xsd:element name="JobURIs" type="tns:JobURIListType"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for getting Job status
Example SOAP Request for the GetJobStatus Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/jobs/types" xmlns:typ1="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here--> </soapenv:Header> <soapenv:Body> <typ:GetJobStatus> <typ:JobURIs> <typ:JobURI>interplay://WGA/DMS?jobid=1239868139578.1</typ:JobURI> <typ:JobURI>interplay://WGA/DMS?jobid=1240197049593.1</typ:JobURI> <typ:JobURI>interplay://WGA/XFER?jobid=33_wga-tm</typ:JobURI> </typ:JobURIs> </typ:GetJobStatus> </soapenv:Body> </soapenv:Envelope>
The GetJobStatusResponse element is sent in the SOAP response. The GetJobStatusResponse contains a list of JobStatusTypes. Each JobStatusType contains the JobURI, and a Status. If the Status is RUNNING, it will also include a PercentageComplete. If the status is ERROR, it will also include a Description regarding the error.
XSD Definition of GetJobStatusResponseType
<xsd:element name="GetJobStatusResponse" type="tns:GetJobStatusResponseType"/> <xsd:complexType name="GetJobStatusResponseType"> <xsd:sequence> <xsd:element name="JobStatusTypes" type="tns:JobStatusListType" minOccurs="0"/> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the GetJobStatus operation
Example Successful SOAP Response for the GetJobStatus Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetJobStatusResponse xmlns="http://avid.com/interplay/ws/jobs/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types"> <JobStatusTypes> <JobStatus> <JobURI>interplay://WGA/DMS?jobid=1239868139578.1</JobURI> <Status>Completed</Status> </JobStatus> <JobStatus> <JobURI>interplay://WGA/DMS?jobid=1240197049593.1</JobURI> <Status>Error</Status> <Description>[Error]Not all source media was found or needed transcoding - 0 of 0</Description> </JobStatus> <JobStatus> <JobURI>interplay://WGA/XFER?jobid=33_192.168.10.31</JobURI> <Status>RUNNING</Status> <PercentComplete>43</PercentComplete> </JobStatus> </JobStatusTypes> </GetJobStatusResponse> </soap:Body> </soap:Envelope>
The GetProfiles operation is used to get the configured profiles for specific services from an Avid Interplay Media Services server. These profiles can then be used to submit jobs to the Media Services Engine.
The GetProfilesType XML type defines the parameters passed in to the GetProfiles operation. The WorkgroupURI is used to determine the Media Services Engine host from the Interplay WS configuration. The Services parameter specifies the list of services you wish to retrieve profiles for. For a list of valid Services values, please see the Jobs Service Common Data Types and Concepts section of this guide. The ShowParameters parameter is optional. If it is true, each ProfileType that is returned will also contain the configured parameters for the profile.
XSD Definition of GetProfilesType
<xsd:complexType name="GetProfilesType"> <xsd:sequence> <xsd:element name="WorkgroupURI" type="xsd:string"/> <xsd:element name="Services" type="tns:ServiceListType"/> <xsd:element name="ShowParameters" type="xsd:boolean" minOccurs="0" default="false"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for getting profiles for the Transcode service.
Example SOAP Request for the GetProfiles Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/jobs/types" xmlns:typ1="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here--> </soapenv:Header> <soapenv:Body> <typ:GetProfiles> <typ:WorkgroupURI>interplay://WGA</typ:WorkgroupURI> <typ:Services> <typ:Name>com.avid.dms.transcodeservice</typ:Name> </typ:Services> <typ:ShowParameters>false</typ:ShowParameters> </typ:GetProfiles> </soapenv:Body> </soapenv:Envelope>
The GetProfilesResponse element is sent in the SOAPresponse.
TheGetProfilesResponse contains an optional list of errors and/or a list of ProfileTypes. If the operation was successful, then It should return all profiles for each service. If the operation was not successful, the response will contain one or more errors.
XSD Definition of GetProfilesResponseType
<xsd:complexType name="GetProfilesResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0"/> <xsd:element name="Results" type="tns:ProfileListType" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The ProfileType XML is simply a container for a profile name, a service, and an optional ProfileParameterType.
XSD Definition of ProfileType
<xsd:complexType name="ProfileType"> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="Service" type="xsd:string"/> <xsd:element name="Parameters" type="tns:ProfileParameterType" minOccurs="0"/> </xsd:sequence> </xsd:complexType>
The ProfileParameterType XML contains a list of ParameterTypes.
XSD Definition of ProfileParameterType
<xsd:complexType name="ProfileParameterType"> <xsd:sequence> <xsd:element name="Parameter" type="tns:ParameterType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType>
The ParameterType XML contains a parameter Name and a value as the contents of the element.
XSD Definition of ParameterType
<xsd:complexType name="ParameterType"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="Name" type="xsd:string" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
The following is an example of a successful SOAP response for the GetProfiles operation.
Example Successful SOAP Response for the GetProfiles Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetProfilesResponse xmlns="http://avid.com/interplay/ws/jobs/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types"> <Results> <Profile> <Name>DNxHD145 1080i60</Name> <Service>com.avid.dms.transcodeservice</Service> <Parameters> <Parameter Name="TargetVideoQualityDual">None</Parameter> <Parameter Name="Workspace">DMS</Parameter> <Parameter Name="TargetVideoQuality">DNxHD 1080 115-120-145</Parameter> <Parameter Name="TargetAudioTrackMapping"/> <Parameter Name="VideoTimeCodeFormat">FUTURE_USE</Parameter> <Parameter Name="Priority">50</Parameter> <Parameter Name="TargetAudioQuality">None</Parameter> <Parameter Name="Mode">WHOLE</Parameter> <Parameter Name="TargetAudioQualityDual">None</Parameter> </Parameters> </Profile> </Results> </GetProfilesResponse> </soap:Body> </soap:Envelope>
The PauseJobs operation is used to pause one or more Transfer jobs. Pausing Media Services jobs is not supported.
The PauseJobsRequest XML type defines the parameters passed in to the PauseJobs operation. The only parameter is a list of Transfer JobURIs referencing the jobs you wish to pause.
XSD Definition of PauseJobsType
<xsd:element name="PauseJobsRequest" type="tns:PauseJobsType"/> <xsd:complexType name="PauseJobsType"> <xsd:sequence> <xsd:element name="JobURIs" type="tns:JobURIListType"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for pausing Jobs.
Example SOAP Request for the PauseJobs Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types" xmlns:typ1="http://avid.com/interplay/ws/jobs/types"> <soapenv:Header> <!-- credentials go here--> </soapenv:Header> <soapenv:Body> <typ1:PauseJobsRequest> <typ1:JobURIs> <typ1:JobURI>interplay://WGA/XFER?jobid=9_wga-tm</typ1:JobURI> <typ1:JobURI>interplay://WGA/XFER?jobid=12_wga-tm</typ1:JobURI> </typ1:JobURIs> </typ1:PauseJobsRequest> </soapenv:Body> </soapenv:Envelope>
The PauseJobsResponse element is sent in the SOAP response. The PauseJobsResponseType contains an optional list of errors. If there are no errors, the Errors element is omitted entirely.
XSD Definition of PauseJobsResponseType
<xsd:element name="PauseJobsResponse" type="tns:PauseJobsResponseType"/> <xsd:complexType name="PauseJobsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the PauseJobs operation.
Example Successful SOAP Response for the PauseJobs Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <PauseJobsResponse xmlns="http://avid.com/interplay/ws/jobs/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The ResumeJobs operation is used to resume one or more Transfer jobs that have been paused. Resuming Media Services jobs is not supported..
The ResumeJobsType XML type defines the parameters passed in to the ResumeJobs operation. The only parameter is a list of Transfer JobURIs referencing the jobs you wish to resume.
XSD Definition of ResumeJobsType
<xsd:complexType name="ResumeJobsType"> <xsd:sequence> <xsd:element name="JobURIs" type="tns:JobURIListType"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request to resume a job.
Example SOAP Request for the ResumeJobs Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/jobs/types" xmlns:typ1="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here--> </soapenv:Header> <soapenv:Body> <typ:ResumeJobs> <typ:JobURIs> <typ:JobURI>interplay://WGA/XFER?jobid=12_wga-tm</typ:JobURI> </typ:JobURIs> </typ:ResumeJobs> </soapenv:Body> </soapenv:Envelope>
The ResumeJobsResponseType element is sent in the SOAP response. The ResumeJobsResponseType contains an optional list of errors. If there are no errors, the Errors element is omitted entirely.
XSD Definition of ResumeJobsResponseType
<xsd:complexType name="ResumeJobsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the ResumeJobs operation.
Example Successful SOAP Response for the ResumeJobs Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ResumeJobsResponse xmlns=http://avid.com/interplay/ws/jobs/types xmlns:ns2=http://avid.com/interplay/ws/assets/types/> </soap:Body> </soap:Envelope>
The RetryJobs operation is used to retry one or more Transfer jobs. Retrying Media Services jobs is not currently supported (but is expected to be supported in a future release).
The RetryJobs XML type defines the parameters passed in to the retryJobs operation. The only parameter is a list of Transfer JobURIs referencing the jobs you wish to pause.
XSD Definition of RetryJobs
<xsd:element name="RetryJobs" type="tns:RetryJobsType"/> <xsd:complexType name="RetryJobsType"> <xsd:sequence> <xsd:element name="JobURIs" type="tns:JobURIListType"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request to retrying a job.
Example SOAP Request for the RetryJobs Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types" xmlns:typ1="http://avid.com/interplay/ws/jobs/types"> <soapenv:Header> <!-- credentials go here--> </soapenv:Header> <soapenv:Body> <typ1:RetryJobs> <typ1:JobURIs> <typ1:JobURI>interplay://WGA/XFER?jobid=21_wga-tm</typ1:JobURI> </typ1:JobURIs> </typ1:RetryJobs> </soapenv:Body> </soapenv:Envelope>
The RetryJobsResponse element is sent in the SOAP response. The RetryJobsResponse contains an optional list of errors. If there are no errors, the Errors element is omitted entirely.
XSD Definition of RetryJobsResponseType
<xsd:element name="RetryJobsResponse" type="tns:RetryJobsResponseType"/> <xsd:complexType name="RetryJobsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the RetryJobs operation.
Example Successful SOAP Response for the retryJobs Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RetryJobsResponse xmlns="http://avid.com/interplay/ws/jobs/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types"/> </soap:Body> </soap:Envelope>
The SubmitJobUsingParameters operation allows integrators to initiate Media Services (DMS) jobs. This operation has been tested with the following Media Services: Archive, Copy, Publish, Restore, STP Encode, and Transcode. For more information on the services, see the Jobs Service Common Data Types and Concepts section of this document.
Integrators should note: DMS job priority is an internal DMS operation and it is not part of the job parameters, setting job priority is not supported by IPWS.
Integrators should note: In order to prevent the Media Services Engine from being overloaded by requests, a threshold has been put in place. No more than 20 jobs per minute may be submitted to the Media Services Engine via Interplay WS. If the limit is exceeded, the submit job request will be rejected with an error saying that the limit has been reached.
The SubmitJobUsingParameters XML type defines the parameters passed in to the SubmitJobUsingParameters operation. These parameters are Service, Parameters, InterplayURI and SourceServerType. The service name requires a specific pre-defined Avid string value (for example com.avid.dms.archive). See the Jobs Service Common Data Types and Concepts section for valid values. The Parameters are name/value pairs specifying the necessary information that would usually be provided by a profile specific for the target service. The InterplayURI parameter references the asset to perform the service on. The SourceServerType parameter defines which database will be used (Interplay Engine or Archive Engine). Valid values are "archive" and "assets". The default value is "assets", which indicates that the Interplay Engine should be used.
XSD Definition of SubmitJobUsingParametersType
<xsd:complexType name="SubmitJobUsingParametersType"/> <xsd:sequence/> <xsd:element name="Service" type="xsd:string"//> <xsd:element name="InterplayURI" type="xsd:string"//> <xsd:element name="Parameters" type="tns:ProfileParameterType" //> <xsd:element name="SourceServerType" type="xsd:string" minOccurs="0"//> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"//> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"//> </xsd:sequence/> <xsd:anyAttribute processContents="lax"//> </xsd:complexType/>
The following is an example of a SOAP request to Mixdown a sequence using parameters.
Example SOAP Request for the SubmitJobUsingParameters Operation to Mixdown
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/jobs/types" xmlns:typ1="http://avid.com/interplay/ws/assets/types"/> <soapenv:Header/> <!-- credentials go here --> </soapenv:Header/> <soapenv:Body/> <typ:SubmitJobUsingParameters/> <typ:Service/>com.avid.dms.transcodeservice</typ:Service/> <typ:InterplayURI/>interplay://WGA?mobid=060a2b340101010101010f0013-000000-46a4ed0c4ffc00d1-060e2b347f7f-2a80</typ:InterplayURI/> <typ:Parameters/> <typ:Parameter Name="Mode"/>MIXDOWN</typ:Parameter/> <typ:Parameter Name="TargetAudioQuality"/>MPEG1Layer2</typ:Parameter/> <typ:Parameter Name="TargetAudioQualityDual"/>None</typ:Parameter/> <typ:Parameter Name="TargetAudioTrackMapping"/></typ:Parameter/> <typ:Parameter Name="TargetVideoQuality"/>MPEG-4 525 500 60</typ:Parameter/> <typ:Parameter Name="TargetVideoQualityDual"/>None</typ:Parameter/> <typ:Parameter Name="VideoTimeCodeFormat"/>FUTURE_USE</typ:Parameter/> <typ:Parameter Name="Workspace"/>Proxies</typ:Parameter/> </typ:Parameters/> </typ:SubmitJobUsingParameters/> </soapenv:Body/> </soapenv:Envelope/>
The following is an example of a SOAP request to restore a clip that exists in the Archive Engine but not in the Interplay Engine. Since the clip exists only in the Archive Engine (bsi-am1), the API must point to the Archive Engine. The user needs to set up a WS URI that points to the Archive Engine host. (Note: The WebServices Workgroup Name is not the same as the ASF Workgroup Name. The WebServices Workgroup Name is just a representation for the WS URI.) In this example, the BSIAM1 workgroup sets both the Primary Engine Hostname and the Archive Engine Hostname as the Archive Engine. The Media Service Engine Hostname will be the hostname of you online workgroup.
The following is an example of a SOAP request to restore a clip that exists in the Archive Engine using parameters.
Example SOAP Request for the SubmitJobUsingParameters Operation to Restore
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types" xmlns:typ1="http://avid.com/interplay/ws/jobs/types"/> <soapenv:Header/> <!-- credentials go here --> </soapenv:Header/> <soapenv:Body/> <typ1:SubmitJobUsingParameters/> <typ1:Service/>com.avid.dms.restore</typ1:Service/> <typ1:InterplayURI/>interplay://BSIAM1?mobid=060a2b340101010101010f0013-000000-46a4ed0c4ffc00d1-060e2b347f7f-2a80</typ1:InterplayURI/> <typ1:Parameters/> <typ1:Parameter Name="unique_mobid"/>060a2b340101010101010f0013-000000-ef924a90669fa72f-169d02228906-7333</typ1:Parameter/> <typ1:Parameter Name="Destination_Server"/>A51-WG6-ENG1</typ1:Parameter/> <typ1:Parameter Name="Destination_Path"/>AvidWG/Catalogs/RestoreTest/</typ1:Parameter/> <typ1:Parameter Name="TargetVideoQuality"/>Highest</typ1:Parameter/> <typ1:Parameter Name="Destination_Workspace"/>copy</typ1:Parameter/> <typ1:Parameter Name="Source_Server"/>BSI-AM1</typ1:Parameter/> <typ1:Parameter Name="Source_Project"/>AvidAM</typ1:Parameter/> <typ1:Parameter Name="Partial"/>true</typ1:Parameter/> </typ1:Parameters/> </typ1:SubmitJobUsingParameters/> </soapenv:Body/> </soapenv:Envelope/>
The SubmitJobUsingParametersResponseType element is sent in the SOAP response. The SubmitJobUsingParametersResponseType contains a JobURI and an optional list of errors. If the operation was successful, then the response will contain a JobURI. If the operation was not successful, the response will contain one or more errors.
XSD Definition of SubmitJobUsingParametersResponseType
<xsd:complexType name="SubmitJobUsingParametersResponseType"/> <xsd:sequence/> <xsd:element name="JobURI" type="xsd:string" minOccurs="0"//> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0"//> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"//> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"//> </xsd:sequence/> <xsd:anyAttribute processContents="lax"//> </xsd:complexType/>
The following is an example of a successful SOAP response from the SubmitJobUsingParameters operation.
Example Successful SOAP Response for the SubmitJobUsingParameters Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"/> <soap:Body/> <SubmitJobUsingParametersResponse xmlns="http://avid.com/interplay/ws/jobs/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types"/> <JobURI/>interplay://BSIAM1/DMS?jobid=1245650293000.1</JobURI/> </SubmitJobUsingParametersResponse/> </soap:Body/> </soap:Envelope/>
The SubmitJobUsingProfile operation allows integrators to initiate Media Services (DMS) jobs. This operation has been tested with the following Media Services: Archive, Copy, Publish, Restore, STP Encode, and Transcode. For more information on the services, see the Jobs Service Common Data Types and Concepts section of this document.
Integrators should note: In order to prevent the Media Services Engine from being overloaded by requests, a threshold has been put in place. No more than 20 jobs per minute may be submitted to the Media Services Engine via Interplay WS. If the limit is exceeded, the submit job request will be rejected with an error saying that the limit has been reached.
The SubmitJobUsingProfileType XML type defines the parameters passed in to the SubmitJobUsingProfile operation. These parameters are Service, Profile, InterplayURI and SourceServerType. The service name requires a specific pre-defined Avid string value (for example com.avid.dms.archive). See the Jobs Service Common Data Types and Concepts section for valid values. The profile name must correspond to a valid profile for the specified service on the Media Services Engine. The InterplayURI parameter references the asset to perform the service on. The SourceServerType parameter defines which database will be used (Interplay Engine or Archive Engine). Valid values are "archive" and "assets". The default value is "assets", which indicates that the Interplay Engine should be used.
XSD Definition of SubmitJobUsingProfileType
<xsd:complexType name="SubmitJobUsingProfileType"> <xsd:sequence> <xsd:element name="Service" type="xsd:string"/> <xsd:element name="Profile" type="xsd:string"/> <xsd:element name="InterplayURI" type="xsd:string"/> <xsd:element name="SourceServerType" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request to submit a transcode job that uses a profile called Mixdown:
Example SOAP Request for the SubmitJobUsingProfile Operation to Transcode
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/jobs/types" xmlns:typ1="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:SubmitJobUsingProfile> <typ:Service>com.avid.dms.transcodeservice</typ:Service> <typ:Profile>Mixdown</typ:Profile> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-49b0db6a281004c3-060e2b347f7f-2a80</typ:InterplayURI> </typ:SubmitJobUsingProfile> </soapenv:Body> </soapenv:Envelope>
The following is an example of a SOAP request to Publish a masterclip using a profile named publish. This operation only works on masterclips that contain MPEG-4 video and MPEG1 Layer 2 audio.
Example SOAP Request for the SubmitJobUsingProfile Operation to Publish
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/jobs/types" xmlns:typ1="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:SubmitJobUsingProfile> <typ:Service>com.avid.dms.PubService</typ:Service> <typ:Profile>publish</typ:Profile> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-49b0db6a281004c3-060e2b347f7f-2a80</typ:InterplayURI> </typ:SubmitJobUsingProfile> </soapenv:Body> </soapenv:Envelope>
The SubmitJobUsingProfileResponseType element is sent in the SOAP response. The SubmitJobUsingProfileResponseType contains a JobURI and an optional list of errors. If the operation was successful, then the response will contain a JobURI. If the operation was not successful, the response will contain one or more errors.
XSD Definition of SubmitJobUsingProfileResponseType
<xsd:complexType name="SubmitJobUsingProfileResponseType"> <xsd:sequence> <xsd:element name="JobURI" type="xsd:string" minOccurs="0"/> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response form SubmitJobUsingProfile operation.
Example Successful SOAP Response for the SubmitJobUsingProfile Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SubmitJobUsingProfileResponse xmlns="http://avid.com/interplay/ws/jobs/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types"> <JobURI>interplay://WGA/DMS?jobid=1240383356203.1</JobURI> </SubmitJobUsingProfileResponse> </soap:Body> </soap:Envelope>
The following is an example of a SOAP request to restore a clip that exists in the Archive Engine but not in the Interplay Engine. Since the clip exists only in the Archive Engine (bsi-am1), the API must point to the Archive Engine. The user needs to set up a WebServices Workgroup Name that points to the Archive Engine host. In this example there are two virtual workgroups: WG6 is the online workgroup and BSIAM1 is archive workgroup. (Note: The WebServices Workgroup Name is not the same as the ASF Workgroup Name. The WebServices Workgroup Name is just a representation for the WS URI.) The BSIAM1 workgroup sets both the Primary Engine Hostname and the Archive Engine Hostname as the Archive Engine. The Media Service Engine Hostname will be the same as the online workgroup.
The following is an example of a SOAP request for the SubmitJobUsingProfile to restore a clip that exists in the Archive Engine. Please note: the URI points to the WebServices Workgroup Name with the Primary Engine Hostname (BSIAMI) set to the Archive Engine (bsi-am1).
Example SOAP Request for the SubmitJobUsingProfile Operation to restore a clip only exists in Archive engine
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/jobs/types" xmlns:typ1="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:SubmitJobUsingProfile> <typ:Service>com.avid.dms.restore</typ:Service> <typ:Profile>RestoreProfile</typ:Profile> <typ:InterplayURI>interplay://BSIAM1?mobid=060a2b340101010101010f0013-000000-49b0db6a281004c3-060e2b347f7f-2a80</typ:InterplayURI> </typ:SubmitJobUsingProfile> </soapenv:Body> </soapenv:Envelope>
The SubmitJobUsingProfileResponseType element is sent in the SOAP response. The SubmitJobUsingProfileResponseType contains a JobURI and an optional list of errors. If the operation was successful, then the response will contain a JobURI. If the operation was not successful, the response will contain one or more errors.
XSD Definition of SubmitJobUsingProfileResponseType
<xsd:complexType name="SubmitJobUsingProfileResponseType"> <xsd:sequence> <xsd:element name="JobURI" type="xsd:string" minOccurs="0"/> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response form the SubmitJobUsingProfile operation.
Example Successful SOAP Response for the SubmitJobUsingProfile Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SubmitJobUsingProfileResponse xmlns="http://avid.com/interplay/ws/jobs/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types"> <JobURI>interplay://BSIAM1/DMS?jobid=1240383356203.1</JobURI> </SubmitJobUsingProfileResponse> </soap:Body> </soap:Envelope>
The Interplay WS Transfer service provides services to assist in transfer workflows with Interplay Transfer Engine. It allows integrators to list the Transfer Engines in a workgroup, list the devices on a Transfer Engine, send sequences to playback, and send assets to remote workgroups. In addition, it provides operations for getting more information about workspaces and checking if a sequence meets the requirements to be transferred via automation.
The WSDL and XSDs used for the Interplay WS Transfer service can be found at:
http://iws-srv/services/Transfer?wsdl
http://iws-srv/services/Transfer?xsd=transfer.xsd
http://iws-srv/services/Transfer?xsd=common.xsd
Remember to change the server name and port of the above URLs to match your environment.
The Avid Interplay Transfer Engine allows media to exchanged in and out of Interplay. While the Avid Interplay Transfer Engine supports ingest, playback, WG-to-WG, and DET transfers, Interplay WS currently only supports send to playback and send to WG.
The Interplay WS Transfer WSDL defines all of the supported operations. This section of the documentation provides details on each supported operation.
The CheckSequenceIsReadyForXfer operation is used to verify that a sequence is ready for transfer by the Transfer Engine. When sending a sequence to playback via the Transfer Automation API, it must meet certain requirements to be successful. The following is a list of the conditions that would result in an unsuccessful send to playback operation. It corresponds to the errors returned by CheckSequenceIsReadyForXfer:
Conditions Causing Send to Playback to Fail with Transfer Automation API
TARGET_RESOLUTION_UNAVAILABLE: The target resolution is not linked for all segments in the sequence. RENDER_NOT_FOUND: There are unrendered effects. MEDIA_OFFLINE: There is media that is offline. SAMPLE_RATE_MISMATCH: Audio sample rates do not match. BITS_PER_SAMPLE_MISMATCH: Audio bits per sample do not match. COMPRESSION_MISMATCH: There are mixed video and/or audio compressions in the sequence. VIDEO_ID_NOT_FOUND: There is no Video ID present. * Note: SAMPLE_RATE_MISMATCH was incorrectly referred to as SAMPLE_SIZE_MISMATCH in Interplay WS 2.0.x.
In order for this operation to work correctly, the Interplay WS server must have an ISIS client installed and configured with read access to the workgroup's workspaces. Otherwise, all requests will come back with MEDIA_OFFLINE errors.
The CheckSequenceIsReadyForXferType XML type defines the parameters passed in to the CheckSequenceIsReadyForXfer operation. These parameters consist of an Interplay URI and an optional parameter for checking for a specific resolution.
The Interplay URI must reference a valid Avid sequence. If the Interplay URI does not reference a sequence, the operation will fail with an error.
If a target resolution is passed, then the operation will verify whether or not that sequence is linked to and ready for transfer in that specific resolution. If the target resolution is unavailable the operation will return a list of errors.
XSD Definition of CheckSequenceIsReadyForXfer
<xsd:complexType name="CheckSequenceIsReadyForXferType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="TargetResolution" type="xsd:string" minOccurs="0" /> <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for checking if a sequence is available in a specific resolution, which in this case is MPEG 50.
Example SOAP Request for the CheckSequenceIsReadyForXfer Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/transfer/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:CheckSequenceIsReadyForXfer> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4967a5831e180135-060e2b347f7f-2a80</typ:InterplayURI> <typ:TargetResolution>MPEG 50</typ:TargetResolution> </typ:CheckSequenceIsReadyForXfer> </soapenv:Body> </soapenv:Envelope>
The CheckSequenceIsReadyForXferResponseType element is sent in the SOAP response. The CheckSequenceIsReadyForXferResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty CheckSequenceIsReadyForXferResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of CheckSequenceIsReadyForXferResponseType
<xsd:complexType name="CheckSequenceIsReadyForXferResponseType"> <xsd:sequence> <xsd:element name="Errors" type="common:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the CheckSequenceIsReadyForXfer operation.
Example Successful SOAP Response for the CheckSequenceIsReadyForXfer Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckSequenceIsReadyForXferResponse xmlns="http://avid.com/interplay/ws/transfer/types" /> </soap:Body> </soap:Envelope>
The following is a subset of the video formats supported by the CheckSequenceIsReadyForXfer operation.
Video File Format | CheckSequenceIsReadyForXfer TargetResolution Value |
---|---|
AVC-Intra | AVC-Intra 50 720p 50 AVC-Intra 50 720p 60 AVC-Intra 50 1080i 50 AVC-Intra 50 1080i 60 AVC-Intra 100 720p 50 AVC-Intra 100 720p 60 AVC-Intra 100 1080i 50 AVC-Intra 100 1080i 60 |
DV 25 I-frame (DVCPRO, DVCAM) | DV 25 411 DV 25 420 DV 25P 411 DV 25P 420 |
DV 50 I-frame (DVCPRO, DVCAM) | DV 50 DV 50P |
DV 100 I-frame (DVCPRO HD 100) | DV100 HD 1080i 50 DV100 HD 1080i 60 DV100 HD 720p 60 DV100 HD 720p 50 |
JFIF | 10:1 2:1 3:1 15:1s 4:1s 2:1s 20:1 3:1 Progressive 2:1 Progressive 35:1 14:1 28:1 10:1m 4:1m 8:1m 3:1m |
IMX 30 I-frame | MPEG 30 |
IMX 40 I-frame | MPEG 40 |
IMX 50 I-frame | MPEG 50 |
VC3 (DNxHD) | DNxHD 1080 175X-185X-220X 1 Field DNxHD 1080 115-120-145 1 Field DNxHD 1080 175-185-220 1 Field DNxHD 1080 175X-185X-220X DNxHD 1080 115-120-145 DNxHD 1080 175-185-220 DNxHD 1080 1440 DNxHD 720 90X-110X-220X DNxHD 720 90-110-220 DNxHD 720 60-75-145 |
The CheckSequenceIsReadyForMixDown operation is used to verify that a sequence is ready for Mixdown operation. When sending a sequence to Transcode service for Mixdown. The following is a list of the conditions that would result in an unsuccessful mixdown operation. It corresponds to the errors returned by CheckSequenceIsReadyForMixDown:
Conditions Causing mixdown to Fail
RENDER_NOT_FOUND: There are unrendered effects. SAMPLE_RATE_MISMATCH: Audio sample rates do not match. BITS_PER_SAMPLE_MISMATCH: Audio bits per sample do not match. COMPRESSION_MISMATCH: There are mixed video and/or audio compressions in the sequence.The CheckSequenceIsReadyForMixDownType XML type defines the parameters passed in to the CheckSequenceIsReadyForMixDown operation. These parameters consist of an Interplay URI and an optional parameter for checking for a specific resolution.
The Interplay URI must reference a valid Avid sequence. If the Interplay URI does not reference a sequence, the operation will fail with an error.
XSD Definition of CheckSequenceIsReadyForMixDown
<xsd:complexType name="CheckSequenceIsReadyForMixDownType"> <xsd:sequence> <xsd:element name="InterplayURI" type="xsd:string" /> <xsd:element name="TargetResolution" type="xsd:string" minOccurs="0" /> <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>The CheckSequenceIsReadyForMixDownResponseType element is sent in the SOAP response. The CheckSequenceIsReadyForMixDownResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty CheckSequenceIsReadyForXferResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of CheckSequenceIsReadyForXferResponseType
<xsd:complexType name="CheckSequenceIsReadyForMixDownResponseType"> <xsd:sequence> <xsd:element name="Errors" type="common:ErrorListType" minOccurs="0"/> <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>The following is an example of a successful SOAP response for the CheckSequenceIsReadyForMixDown operation.
Example Successful SOAP Response for the CheckSequenceIsReadyForMixDown Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckSequenceIsReadyForMixDownResponse xmlns="http://avid.com/interplay/ws/transfer/types" /> </soap:Body> </soap:Envelope>
The GetIndexedWorkspaces operation is used to get all of the indexed workspaces on the Interplay's shared storage system (ISIS or MediaNet). The workspaces are returned as a list of UNC paths and correspond to the paths listed in the Media Indexer's storage configuration.
The GetIndexedWorkspacesType XML type defines the parameters passed in to the GetIndexedWorkspaces operation. The only parameter is a Workgroup URI referencing Workgroup on the Interplay system. If the Workgroup URI does not reference a valid Workgroup, the operation will fail with an error.
XSD Definition of GetIndexedWorkspacesType
<xsd:complexType name="GetIndexedWorkspacesType"> <xsd:sequence> <xsd:element name="WorkgroupURI" type="xsd:string"/> <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for getting available workspaces.
Example SOAP Request for the GetIndexedWorkspaces Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/transfer/types"> <soapenv:Header> <!-- credentials go here--> </soapenv:Header> <soapenv:Body> <typ:GetIndexedWorkspaces> <typ:WorkgroupURI>interplay://WGA</typ:WorkgroupURI> </typ:GetIndexedWorkspaces> </soapenv:Body> </soapenv:Envelope>
The GetIndexedWorkspacesResponseType element is sent in the SOAP response. The GetIndexedWorkspacesResponseType contains an optional list of errors and/or a list of UNC paths to the indexed workspaces. If there are no errors, the Errors element is omitted entirely.
XSD Definition of GetIndexedWorkspacesResponseType
<xsd:complexType name="GetIndexedWorkspacesResponseType"> <xsd:sequence> <xsd:element name="Errors" type="common:ErrorListType" minOccurs="0"/> <xsd:element name="Results" type="tns:WorkspaceListType" minOccurs="0"/> <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response for the GetIndexedWorkspaces operation.
Example Successful SOAP Response for the GetIndexedWorkspaces Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetIndexedWorkspacesResponse xmlns="http://avid.com/interplay/ws/transfer/types"> <Results> <Workspace>\\isis-sd\ws_01</Workspace> <Workspace>\\isis-sd\ws_02</Workspace> </Results> </GetIndexedWorkspacesResponse> </soap:Body> </soap:Envelope>
The GetTransferDevices operation allows integrators to query a Transfer Engine for its configured ingest devices, playback devices, and remote WGs. These devices can then be used in subsequent Transfer operations. Please note that the current version of Interplay WS does not support any operations that use ingest devices.
The GetTransferDevicesType XML type defines the parameters passed in the GetTransferDevices operation. The parameters are a TransferEngineHostName and optionally a DeviceType. Valid DeviceTypes are: INGEST, PLAYBACK, and WORKGROUP. If a DeviceType is not passed in then all DeviceTypes will be returned.
XSD Definition of ListTransferEnginesType
<xsd:complexType name="GetTransferDevicesType"> <xsd:sequence> <xsd:element name="TransferEngineHostName" type="xsd:string"/> <xsd:element name="DeviceType" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for listing Transfer devices:
Example SOAP Request for the GetTransferDevices Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/transfer/types"> <soapenv:Header/> <soapenv:Body> <typ:GetTransferDevices> <typ:TransferEngineHostName>wga-tm</typ:TransferEngineHostName> <typ:DeviceType>WORKGROUP</typ:DeviceType><typ:Extension> </typ:GetTransferDevices> </soapenv:Body> </soapenv:Envelope>
The GetTransferDevicesResponseType element is sent in the SOAP response. The GetTransferDevicesResponseType contains an optional list of errors and/or a list of devices. If the operation was successful, then the response will contain a DeviceListType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of GetTransferDevicesResponseType
<xsd:complexType name="GetTransferDevicesResponseType"> <xsd:sequence> <xsd:element name="Devices" type="tns:DeviceListType" minOccurs="0"/> <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0"/> <xsd:element name="Errors" type="common:ErrorListType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response form GetTransferDevices operation.
Example Successful SOAP Response for the GetTransferDevices Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetTransferDevicesResponse xmlns="http://avid.com/interplay/ws/transfer/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types"> <Devices> <Device> <Type>WORKGROUP</Type> <Name>WGB</Name> </Device> </Devices> </GetTransferDevicesResponse> </soap:Body> </soap:Envelope>
The ListTransferEngines operation returns the list of Transfer Engine hostnames as configured on the workgroup (via the Interplay Administrator tool).
The ListTransferEnginesType XML type defines the parameters passed into the ListTransferEngines operation. The only parameter required it the WorkgroupURI which references the workgroup to query for Transfer Engines.
XSD Definition of ListTransferEnginesType
<xsd:complexType name="ListTransferEnginesType"> <xsd:sequence> <xsd:element name="WorkgroupURI" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request for listing Transfer Engines
Example SOAP Request for the ListTransferEngines Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/transfer/types" xmlns:typ1="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:ListTransferEngines> <typ:WorkgroupURI>interplay://WGA</typ:WorkgroupURI> </typ:ListTransferEngines> </soapenv:Body> </soapenv:Envelope>
The ListTransferEnginesResponseType element is sent in the SOAP response. The ListTransferEnginesResponseType contains an optional list of errors and/or a list of Transfer Engine hostnames. If the operation was successful, then the response will contain a TransferEngineServerNameListType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of ListTransferEnginesResponseType
<xsd:complexType name="ListTransferEnginesResponseType" > <xsd:sequence > <xsd:element name="Errors" type="common:ErrorListType" minOccurs="0"/ > <xsd:element name="TransferEngines" type="tns:TransferEngineServerNameListType" minOccurs="0"/ > <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0"/ > <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/ > </xsd:sequence > <xsd:anyAttribute processContents="lax"/ > </xsd:complexType >
The following is an example of a successful SOAP response form ListTransferEngines operation. Note that TransferEngine hostnames with brackets (ex. Tm1[1]) refer to studios and are currently unsupported via Interplay WS Transfer automation.
Example Successful SOAP Response for the ListTransferEngines Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > <soap:Body > <ListTransferEnginesResponse xmlns="http://avid.com/interplay/ws/transfer/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types" > <TransferEngines > <TransferEngine >wga-tm1[1]</TransferEngine > <TransferEngine >wga-tm0</TransferEngine > <TransferEngine >wga-tm1</TransferEngine > <TransferEngine >wga-tm0[1]</TransferEngine > <TransferEngine >wga-tm</TransferEngine > </TransferEngines > </ListTransferEnginesResponse > </soap:Body > </soap:Envelope >
The SendToPlayback operation allows integrators to initiate send-to-playback (DHM) transfers to an external video server or other playback device. One example might be to an FTP server via the Transfer Engine's Generic FTP DHM module. This operation supports sequences, masterclips, and subclips.
WARNING: In order for a send-to-playback to be successful in automation, the sequence must meet certain requirements such as being fully online, fully rendered, matching audio bitrates, tape ID, etc. It is recommended that integrators first check that a sequence is ready for transfer via the CheckSequenceIsReadyForXfer operation. In addition, please note that this operation does not currently support sending to an Airspeed Studio setup.
The SendToPlaybackType XML type defines the parameters passed into the SendToPlayback operation. The TransferEngineHostName parameter defines the hostname of the transfer engine. The InterplayURI parameter must reference a valid sequence that is ready to be sent to playback. The DestinationPlaybackDevice parameter references the playback device and must match one of the configured playback devices on the transfer engine. The Priority parameter is a string: NORMAL, PWT, or UNASSIGNED. In most cases, NORMAL should be used. The Overwrite parameter is an optional boolean indicating if it is OK to overwrite a clip with the same name on the destination device.
XSD Definition of SendToPlaybackType
<xsd:complexType name="SendToPlaybackType"> <xsd:sequence> <xsd:element name="TransferEngineHostName" type="xsd:string"/> <xsd:element name="InterplayURI" type="xsd:string"/> <xsd:element name="DestinationPlaybackDevice" type="xsd:string"/> <xsd:element name="Priority" type="xsd:string" minOccurs="0" default="NORMAL"/> <xsd:element name="Overwrite" type="xsd:boolean" minOccurs="0"/> <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request to initiate a SendToPlayback on a Generic FTP server.
Example SOAP Request for the SendToPlayback Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/assets/types" xmlns:typ1="http://avid.com/interplay/ws/transfer/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ1:SendToPlayback> <typ1:TransferEngineHostName>wga-tm</typ1:TransferEngineHostName> <typ1:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-4a65611f8b820025-060e2b347f7f-2a80</typ1:InterplayURI> <typ1:DestinationPlaybackDevice>wga-tm:6534/AvidCM_FTP</typ1:DestinationPlaybackDevice> <typ1:Priority>NORMAL</typ1:Priority><typ1:Overwrite>true</typ1:Overwrite> </typ1:SendToPlayback> </soapenv:Body> </soapenv:Envelope>
The SendToPlaybackResponseType element is sent in the SOAP response. The SendToPlaybackResponseType contains the JobURI of the transfer. If the operation was not successful, the response will contain one or more errors.
XSD Definition of SendToPlaybackResponseType
<xsd:complexType name="SendToPlaybackResponseType"> <xsd:sequence> <xsd:element name="Errors" type="common:ErrorListType" minOccurs="0"/> <xsd:element name="JobURI" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response form SendToPlayback operation.
Example Successful SOAP Response for the SendToPlayback Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SendToPlaybackResponse xmlns="http://avid.com/interplay/ws/transfer/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types"> <JobURI>interplay://WGA/XFER?jobid=122_wga-tm</JobURI> </SendToPlaybackResponse> </soap:Body> </soap:Envelope>
The SendToWG operation allows integrators to initiate workgroup-to-workgroup transfers of Avid assets. Once a transfer has been initiated, you can track and manage the job using the relevant operations in the Jobs Service.
The SendToWGType XML type defines the parameters passed into the SendToWG operation. The TransferEngineHostName specifies the hostname of the Interplay Transfer Engine in the source workgroup. The InterplayURI references an Avid asset in the source workgroup. The DestinationWorkgroup specifies the WG to send to and must match one of the configured remote workgroups on the source Transfer Engine. The optional DestinationWorkspace specifies the workspace where the media should go on the remote workgroup. The DestinationWorkspace is not the UNC path to the workspace, but rather the workspace name. If no DestinationWorkspace is specified, the default workspace configured on the remote Transfer Engine will be used.
XSD Definition of SendToWGType
<xsd:complexType name="SendToWGType"> <xsd:sequence> <xsd:element name="TransferEngineHostName" type="xsd:string"/> <xsd:element name="InterplayURI" type="xsd:string"/> <xsd:element name="DestinationWorkgroup" type="xsd:string"/> <xsd:element name="DestinationWorkspace" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a SOAP request to send an asset to the remote workgroup called WGB.
Example SOAP Request for the SendToWG Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/transfer/types" xmlns:typ1="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:SendToWG> <typ:TransferEngineHostName>wga-tm</typ:TransferEngineHostName> <typ:InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-46a4ed0c4ffc00d1-060e2b347f7f-2a80</typ:InterplayURI> <typ:DestinationWorkgroup>WGB</typ:DestinationWorkgroup> <typ:DestinationWorkspace>Transfer</typ:DestinationWorkspace> </typ:SendToWG> </soapenv:Body> </soapenv:Envelope>
The SendToWGResponseType element is sent in the SOAP response. The SendToWGResponseType contains the JobURI of the transfer. If the operation was not successful, the response will contain one or more errors.
XSD Definition of SendToWGResponseType
<xsd:complexType name="SendToWGResponseType"> <xsd:sequence> <xsd:element name="Errors" type="common:ErrorListType" minOccurs="0"/> <xsd:element name="JobURI" type="xsd:string" minOccurs="0"/> <xsd:element name="Extension" type="common:ExtensionType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute processContents="lax"/> </xsd:complexType>
The following is an example of a successful SOAP response form SendToWG operation.
Example Successful SOAP Response for the SendToWG Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SendToWGResponse xmlns="http://avid.com/interplay/ws/transfer/types" xmlns:ns2="http://avid.com/interplay/ws/assets/types"> <JobURI>interplay://WGA/XFER?jobid=30_wga-tm</JobURI> </SendToWGResponse> </soap:Body> </soap:Envelope>
The Interplay WS User Management service provides integration with the Interplay Engine for managing users and groups in Avid Interplay. This includes adding, retrieving, and updating users, adding and removing users from groups, and adding, retrieving, updating, and deleting groups.
Integrators should be aware that user, group, and permission management may change in future versions of Interplay. Unfortunately, due to the nature of these changes, some aspects of the User Management Service may not be fully compatible with the next generation of Interplay.
The WSDL and XSDs used for the Interplay WS UserManagement service can be found at:
http://iws-srv/services/UserManagement?wsdl
http://iws-srv/services/UserManagement?xsd=user.xsd
http://iws-srv/services/UserManagement?xsd=common.xsd
Remember to change the server name and port of the above URLs to match your environment.
The GroupType defines a user group in the Interplay system.
XSD Definition of GroupType
<xsd:complexType name="GroupType"> <xsd:sequence> <xsd:element name="GroupURI" type="xsd:string" /> <xsd:element name="Description" type="xsd:string" minOccurs="0" /> <xsd:element name="PermissionLevel" type="xsd:string" minOccurs="0" /> <xsd:element name="UserURIs" type="tns:InterplayURIListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" />
The GroupURI is an Interplay URI containing the group name and has the following format:
interplay://$WG?group=$GROUP_NAME
The Description contains a plain text description of the group.
The PermissionLevel defines the permission level of the group. The following are valid PermissionLevel values:
The UserURIs contains a list of User URIs referencing the users that belong to the group.
Example GroupType
<Group> <GroupURI>interplay://WGA?group=MyGroup</GroupURI> <Description>My Custom Group</Description> <PermissionLevel>READ_WRITE</PermissionLevel> <UserURIs> <InterplayURI>interplay://WGA?username=jsmith</InterplayURI> <InterplayURI>interplay://WGA?username=jdoe</InterplayURI> </UserURIs> </Group>
The UserType defines a user in the Interplay system.
XSD Definition of UserType
<xsd:complexType name="UserType"> <xsd:sequence> <xsd:element name="UserURI" type="xsd:string" /> <xsd:element name="Password" type="xsd:string" minOccurs="0" /> <xsd:element name="Description" type="xsd:string" minOccurs="0" /> <xsd:element name="Email" type="xsd:string" minOccurs="0" /> <xsd:element name="PermissionLevel" type="xsd:string" minOccurs="0" /> <xsd:element name="GroupURIs" type="tns:InterplayURIListType" minOccurs="0" /> <xsd:element name="Extension" type="tns:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The UserURI is an Interplay URI containing the user name and has the following format:
interplay://$WG?username=$USER_NAME
The Password contains the password for the user. This field is only used when creating a user. When retrieving users, the password is never returned.
The Description contains a plain text description of the person, usually the person's full name.
The Email parameter contains the user's email address. Invalid email addresses are rejected.
The PermissionLevel defines the permission level of the user. This is not set directly, but instead is based on the aggregate of the groups the user belongs to. The following are valid permission levels:
The UserURIs contains a list of User URIs referencing the users that belong to the group.
Example UserType
<User> <UserURI>interplay://WGA?username=jsmith</UserURI> <Password>pa$$w0rd</Password> <Description>John Smith</Description> <Email>[email protected]</Email> <PermissionLevel>READ</PermissionLevel> <GroupURIs> <InterplayURI>interplay://WGA?group=Everyone</InterplayURI> <InterplayURI>interplay://WGA?group=Users</InterplayURI> </GroupURIs> </User>
The Interplay WS User Management WSDL defines all of the supported operations. This section of the documentation provides details on each supported operation. Common concepts and data types will not be discussed in detail, as they have already been documented in the previous section.
The CreateGroups operation is used to create a user group in the Interplay system (rooted under the top Users group). Users already existing in the system may be added to a user group when the user group is created. A description and role (permission level) may be added to a user group when it is created.
The CreateGroupsType XML type defines the parameters passed into the CreateGroups operation. A list of user groups may be passed in. Each user group may also contain a list of users to add to the group. For more information on GroupType, please see the documentation in the Common Types section of this document.
This operation requires the ADMIN permission level.
XSD Definition of CreateGroupsType
<xsd:complexType name="CreateGroupsType"> <xsd:sequence> <xsd:element name="Groups" type="tns:GroupListType" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for creating a new group.
Example SOAP Request for the CreateGroups Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/user/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:CreateGroups> <typ:Groups> <typ:Group> <typ:GroupURI>interplay://WGA?group=Group1</typ:GroupURI> <typ:Description>The first group</typ:Description> <typ:PermissionLevel>READ_WRITE</typ:PermissionLevel> <typ:UserURIs> <typ1:InterplayURI>interplay://WGA?username=eddieMunster</typ:InterplayURI> <typ1:InterplayURI>interplay://WGA?username=hermanMunster</typ:InterplayURI> </typ:UserURIs> </typ:Group> </typ:Groups> </typ:CreateGroups> </soapenv:Body> </soapenv:Envelope>
The CreateGroupsResponseType element is sent in the SOAP response. The CreateGroupsResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty CreateGroupsResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of CreateGroupsResponseType
<xsd:complexType name="CreateGroupsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the CreateGroups operation.
Example Successful SOAP Response for the CreateGroups Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CreateGroupsResponse xmlns="http://avid.com/interplay/ws/user/types"/> </soap:Body> </soap:Envelope>
The CreateUsers operation is used to create a user in the Interplay system. By default, the user is added to the Users and Everyone groups. When the user is created, it can also be added to other existing groups. A password, description, and email address may also be added to a user when it is created.
The CreateUsersType XML type defines the parameters passed in to the CreateUsers operation. A list of users may be passed in. Each user may also contain a list of groups to add the user to. For more information on UserType, please see the documentation in the Common Types section of this document.
This operation requires the ADMIN permission level.
XSD Definition of CreateUsersType
<xsd:complexType name="CreateUsersType"> <xsd:sequence> <xsd:element name="Users" type="tns:UserListType" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for creating a new user.
Example SOAP Request for the CreateUsers Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/user/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:CreateUsers> <typ:Users> <typ:User> <typ:UserURI>interplay://WGA?username=User1</typ:UserURI> <typ:Password>123</typ:Password> <typ:GroupURIs> <comm:InterplayURI>interplay://WGA?group=MyGroup</comm:InterplayURI> <comm:InterplayURI>interplay://WGA?group=SomeGroup</comm:InterplayURI> </typ:GroupURIs> </typ:User> </typ:Users> </typ:CreateUsers> </soapenv:Body> </soapenv:Envelope>
The CreateUsersResponseType element is sent in the SOAP response. The CreateUsersResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty CreateUsersResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of CreateUsersResponseType
<xsd:complexType name="CreateUsersResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the CreateUsers operation.
Example Successful SOAP Response for the CreateUsers Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CreateUsersResponse xmlns="http://avid.com/interplay/ws/user/types"/> </soap:Body> </soap:Envelope>
The DeleteGroups operation is used to delete user groups from the Avid Interplay system. This operation only deletes the group structures; no users are ever deleted using this operation. This is a permanent operation and cannot be undone.
The DeleteGroupsType XML type defines the parameters passed in to the DeleteGroups operation. The first required parameter is a list of Interplay URIs representing the groups to be deleted. If any Interplay URIs do not reference a valid group, an OBJECT_NOT_FOUND error will be returned for each invalid group.
The OnlyIfEmpty parameter is optional. If set to true, then groups that contain users will fail with an error and not be deleted. If the parameter is not included in the request, it will default to false and allow groups to be deleted regardless of membership.
This operation requires the ADMIN permission level.
XSD Definition of DeleteGroupsType
<xsd:complexType name="DeleteGroupsType"> <xsd:sequence> <xsd:element name="GroupURIs" type="comm:InterplayURIListType" /> <xsd:element name="OnlyIfEmpty" type="xsd:boolean" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for deleting two groups.
Example SOAP Request for the DeleteGroups Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/user/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:DeleteGroups> <typ:GroupURIs> <comm:InterplayURI>interplay://WGA?group=TempGroup1</comm:InterplayURI> <comm:InterplayURI>interplay://WGA?group=TempGroup2</comm:InterplayURI> </typ:GroupURIs> <typ:OnlyIfEmpty>false</typ:OnlyIfEmpty> </typ:DeleteGroups> </soapenv:Body> </soapenv:Envelope>
The DeleteGroupsResponseType element is sent in the SOAP response. The DeleteGroupsResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty DeleteGroupsResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of DeleteGroupsResponseType
<xsd:complexType name="DeleteGroupsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the DeleteGroups operation.
Example Successful SOAP Response for the DeleteGroups Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <DeleteGroupsResponse xmlns="http://avid.com/interplay/ws/user/types"/> </soap:Body> </soap:Envelope>
The GetGroups operation is used to retrieve a list of user groups from the Interplay system. The response will also contain attributes for each group returned.
The GetGroupsType XML type defines the parameters passed in to the GetGroups operation. These parameters consist of:
1) a Workgroup URI, for cases where the Interplay WS
integrator wants to get a list of all user groups within an Interplay
Workgroup,
2) a list of specific Group URIs, for cases where the
Interplay WS integrator wants to retrieve a list of specific user
groups,
3) a boolean parameter that specifies whether or not to
include a list of User URIs for each User Group returned.
On any Interplay WS call using GetGroups, either the WorkgroupURI parameter or the GroupURIs parameter should be utilized, but not both. (This would normally be designed using an xsd:choice element, but xsd:choice is not well-supported by all SOAP toolkits.)
This operation requires the ADMIN permission level.
XSD Definition of GetGroupsType
<xsd:complexType name="GetGroupsType"> <xsd:sequence> <xsd:element name="WorkgroupURI" type="xsd:string" minOccurs="0" /> <xsd:element name="GroupURIs" type="comm:InterplayURIListType" minOccurs="0" /> <xsd:element name="IncludeUserMembership" type="xsd:boolean" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for retrieving the user group TestGroup1 from Interplay Workgroup WGA. In this example, we want to also retrieve the list of users assigned to this user group.
Example SOAP Request for the GetGroups Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/user/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetGroups> <typ:GroupURIs> <comm:InterplayURI>interplay://WGA?group=TestGroup1</comm:InterplayURI> </typ:GroupURIs> <typ:IncludeUserMembership>true</typ:IncludeUserMembership> </typ:GetGroups> </soapenv:Body> </soapenv:Envelope>
The GetGroupsResponseType element is sent in the SOAP response. The GetGroupsResponseType contains a list of GroupListType results and a list of possible errors.
XSD Definition of GetGroupsResponseType
<xsd:complexType name="GetGroupsResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0" /> <xsd:element name="Groups" type="tns:GroupListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetGroups operation.
Example Successful SOAP Response for the GetGroups Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetGroupsResponse xmlns="http://avid.com/interplay/ws/user/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <Groups> <Group> <GroupURI>interplay://WGA?group= TestGroup1</GroupURI> <Description>The first group</Description> <PermissionLevel>READ</PermissionLevel> <UserURIs> <comm:InterplayURI>interplay://WGA?username=jsmith</comm:InterplayURI> </UserURIs> </Group> </Groups> </GetGroupsResponse> </soap:Body> </soap:Envelope>
The GetUsers operation is used to get the entire list of users in a given workgroup or to get a subset of users by passing in individual User URIs.
The GetUsersType XML type defines the parameters passed in to the GetUsers operation.
The WorkgroupURI is the Interplay URI indicating the workgroup you'd like to retrieve users from. All of the users within the workgroup will be returned.
The UserURIs element is a list of User Interplay URIs indicating the users you'd like to retrieve. If this is omitted then the WorkgroupURI element is expected.
Only one of WorkgroupURI or UserURIs should be used. It is incorrect to pass in both. (This would normally be designed using an xsd:choice element, but xsd:choice is not well-supported by all SOAP toolkits.)
If the IncludeGroupMembership flag is set to true, then each user returned will contain a list of Group URIs pertaining to the groups they are associated with.
This operation requires the ADMIN permission level.
XSD Definition of GetUsersType
<xsd:complexType name="GetUsersType"> <xsd:sequence> <xsd:element name="WorkgroupURI" type="xsd:string" minOccurs="0" /> <xsd:element name="UserURIs" type="comm:InterplayURIListType" minOccurs="0" /> <xsd:element name="IncludeGroupMembership" type="xsd:boolean" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for getting the users in the WGA workgroup. In this example we would like to also include group membership.
Example SOAP Request for the GetUsers Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/user/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:GetUsers> <typ:WorkgroupURI>interplay://WGA</typ:WorkgroupURI> <typ:IncludeGroupMembership>true</typ:IncludeGroupMembership> </typ:GetUsers> </soapenv:Body> </soapenv:Envelope>
The GetUsersResponseType element is sent in the SOAP response. The GetUsersResponseType contains an optional list of errors, and/or a list of UserType results. If the operation was not successful, the response will contain one or more errors.
XSD Definition of GetUsersResponseType
<xsd:complexType name="GetUsersResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0" /> <xsd:element name="Users" type="tns:UserListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the GetUsers operation.
Example Successful SOAP Response for the GetUsers Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetUsersResponse xmlns="http://avid.com/interplay/ws/user/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <Users> <User> <UserURI>interplay://WGA?username=jsmith</UserURI> <Description>John Smith</Description> <PermissionLevel>ADMIN</PermissionLevel> <GroupURIs> <comm:InterplayURI>interplay://WGA?group=Everyone</comm:InterplayURI> <comm:InterplayURI>interplay://WGA?group=Users</comm:InterplayURI> <comm:InterplayURI>interplay://WGA?group=SomeGroup</comm:InterplayURI> </GroupURIs> </User> </Users> </GetUsersResponse> </soap:Body> </soap:Envelope>
The ModifyGroup operation is used to modify the properties of a group in the Interplay system. In addition, users may also be added to or removed from the group. Adding or removing users from groups applies only to the group; this operation does not add or remove users from the Interplay system itself.
The ModifyGroup XML type defines the parameters passed in to the ModifyGroup operation.
The GroupURI is an Interplay URI indicating the user group to modify.
The NewDescription is an optional parameter for setting a new description. If this parameter is not passed in, then the group will retain its original description.
The NewPermissionLevel is an optional parameter for setting the permission level (or role) that should be applied to the group. If this parameter is not passed in, then the group will retain its original permission level.
The MembersToAdd element is an optional list of users that will be added to the group. Only users that already exist in the system can be added.
The MembersToRemove element is an optional list of users that will be removed from the group.
This operation requires the ADMIN permission level.
XSD Definition of ModifyGroupType
<xsd:complexType name="ModifyGroupType"> <xsd:sequence> <xsd:element name="GroupURI" type="xsd:string" /> <xsd:element name="NewDescription" type="xsd:string" minOccurs="0" /> <xsd:element name="NewPermissionLevel" type="xsd:string" minOccurs="0" /> <xsd:element name="MembersToAdd" type="tns:UserListType" minOccurs="0" /> <xsd:element name="MembersToRemove" type="tns:UserListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for modifying the existing members and permission level of a group.
Example SOAP Request for the ModifyGroup Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/user/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:ModifyGroup> <typ:GroupURI>interplay://WG3?group=Group1</typ:GroupURI> <typ:NewPermissionLevel>READ_WRITE</typ:NewPermissionLevel> <typ:MembersToAdd> <comm:User><comm:UserURI>interplay://WG3?username=User1</comm:UserURI></comm:User> </typ:MembersToAdd> <typ:MembersToRemove> <comm:User><comm:UserURI>interplay://WG3??username=User2l</comm:UserURI></comm:User> </typ:MembersToRemove> </typ:ModifyGroup> </soapenv:Body> </soapenv:Envelope>
The ModifyGroupResponseType element is sent in the SOAP response. The ModifyGroupResponseType contains an optional list of errors. If the operation was successful, then the response will contain one or more errors.
XSD Definition of ModifyGroupResponseType
<xsd:complexType name="ModifyGroupResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the ModifyGroup operation.
Example Successful SOAP Response for the ModifyGroup Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ModifyGroupResponse xmlns="http://avid.com/interplay/ws/user/types"/> </soap:Body> </soap:Envelope>
The ModifyUsers operation can be used to modify the description, email, and group membership of an existing user in the Interplay system. In addition, it can be used to change a user's password.
The ModifyUsersType XML type defines the parameters passed in to the ModifyUsers operation. A list of UserModifications may be passed in.
This operation requires the ADMIN permission level.
XSD Definition of ModifyUsersType
<xsd:complexType name="ModifyUsersType"> <xsd:sequence> <xsd:element name="UserModifications" type="tns:UserModificationListType" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The UserModificationType contains a number of elements representing values that can be changed for the user.
The UserURI represents the specially formatted Interplay URI that represents the user to be modified.
The NewPassword is an optional parameter to allow the user's password to be changed. If this parameter is not passed in, then the user will retain his/her original password.
The NewDescription is an optional parameter to allow the user's description to be changed. In most cases, the description is the user's full name. If this parameter is not passed in, then the user will retain his/her original description.
The NewEmail is an optional parameter to allow the user's email address to be changed. If this parameter is not passed in, then the user will retain his/her original email address.
The AddToGroups is an optional parameter that takes a list of InterplayURIs representing the groups that the user should be added to.
The RemoveFromGroups is an optional parameter that takes a list of InterplayURIs representing the groups that the user should be removed from.
XSD Definition of UserModificationType
<xsd:complexType name="UserModificationType"> <xsd:sequence> <xsd:element name="UserURI" type="xsd:string" /> <xsd:element name="NewPassword" type="xsd:string" minOccurs="0" /> <xsd:element name="NewDescription" type="xsd:string" minOccurs="0" /> <xsd:element name="NewEmail" type="xsd:string" minOccurs="0" /> <xsd:element name="AddToGroups" type="comm:InterplayURIListType" minOccurs="0" /> <xsd:element name="RemoveFromGroups" comm="tns:InterplayURIListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a SOAP request for modifying the email for a user, and removing him from the Administrators group.
Example SOAP Request for the ModifyUsers Operation
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://avid.com/interplay/ws/user/types" xmlns:comm="http://avid.com/interplay/ws/assets/types"> <soapenv:Header> <!-- credentials go here --> </soapenv:Header> <soapenv:Body> <typ:ModifyUsers> <typ:UserModifications> <typ:UserModification> <typ:UserURI>interplay://WGA?username=bsmith</typ:UserURI> <typ:NewEmail>[email protected]</typ:NewEmail> <typ:RemoveFromGroups> <comm:InterplayURI>interplay://WGA?group=Administrators</comm:InterplayURI> </typ:RemoveFromGroups> </typ:UserModification> </typ:UserModifications> </typ:ModifyUsers> </soapenv:Body> </soapenv:Envelope>
The ModifyUsersResponseType element is sent in the SOAP response. The ModifyUsersResponseType contains an optional list of errors. If the operation was successful, then the response will contain an empty ModifyUsersResponseType element. If the operation was not successful, the response will contain one or more errors.
XSD Definition of ModifyUsersResponseType
<xsd:complexType name="ModifyUsersResponseType"> <xsd:sequence> <xsd:element name="Errors" type="comm:ErrorListType" minOccurs="0" /> <xsd:element name="Extension" type="comm:ExtensionType" minOccurs="0" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute processContents="lax" /> </xsd:complexType>
The following is an example of a successful SOAP response for the ModifyUsers operation.
Example Successful SOAP Response for the ModifyUsers Operation
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ModifyUsersResponse xmlns="http://avid.com/interplay/ws/user/types"/> </soap:Body> </soap:Envelope>