EQ Network API

Table of Contents

Overview

Sessions
Session_Create.aspx, Session_Check.aspx

Users
User Nodes, User_Create.aspx, User_Update.aspx, User_Delete.aspx, User_ListCollections.aspx, User_Search.aspx, User_ListUsers.aspx, User_AddRelationship.aspx, User_GetNode.aspx

Collections
Collection Nodes, Collection_Create.aspx, Collection_Update.aspx, Collection_Delete.aspx, Collection_AddRelationship.aspx, Collection_ListContentFiles.aspx, Collection_GetNode.aspx

ContentFiles
ContentFile Nodes, ContentFile_Create.aspx, ContentFile_CreateFromUrl.aspx, ContentFile_Update.aspx, ContentFile_Delete.aspx, ContentFile_ListPosts.aspx, ContentFile_GetNode.aspx

Posts
Post Nodes, Post_Create.aspx, Post_Delete.aspx

Categories
Category Nodes, Category_ListAll.aspx

Search
Search Criteria, Search_ContentFiles.aspx, Search_CollectionsAndContentFiles.aspx

Retrieving Media Content
DeliveryRequestId's and MuxKey's, Movie Url, Movie Preview Url, Thumbnail Url, Animated Gif Url, User Icon Url, Collection Icon Url

Users (other)
User_AcceptAgreement.aspx, User_ResendConfirmationEmail.aspx, User_EmailAccounts.aspx, User_RequestPasswordReset.aspx, User_ResetPassword.aspx

Collections (other)
Collection_Viewed.aspx

ContentFiles (other)
ContentFile_ChangeCollection.aspx, ContentFile_Viewed.aspx, ContentFile_FlagAsInappropriate.aspx ContentFile_SocialAdd.aspx ContentFile_SocialRemove.aspx


top
Overview
The technique used to make API calls to the EQ Network backend is an HTTP Form Post with an XML response. Parameters are sent as form elements and responses are returned as 'text/xml'.

As the clients evolved terminology diverged from the backend database (or sometimes, the backend is a little more generic). Here is a list of equivalent objects in the system.

Backend Client
User Account
Collection Channel
ContentFile Video
Post Comment

Users own (or follow, or contribute to) Collections. Collections have ContentFiles. ContentFiles have Posts. Posts have Posts (but only one level deep).

Errors
If an error occurs this is generally returned inside an error node:
-<Response>
 <Error code="0">Invalid User Name or Password</Error>
 </Response>

Note: most Error nodes contain a code attribute... but, so far, this usually is 0.


top
Sessions
Most commands in the system require a SessionGuid. This is a string that is created using Session_Create.aspx with the users login and password. The SessionGuid essentially identifies the User that is executing the command. Sessions do eventually expire.

Session_Create.aspx
Create a new SessionGuid (and return some additional system info.) This is effectively the login for the EQ Network API.
Post Parameters:
UserName: 
Password: 
 
UserName is the unique user (or account) name.
Password is the users case sensitive password.

Xml Response:

-<Session_Create>
 <SessionGuid>ac5c5f39-4ca8-461a-bab9-1d9cb4055940</SessionGuid>
 <User UserTitle="JohnQPublic"UserId="161"Active="True"Created="01/11/2012 21:28:16.513"Modified="04/09/2012 16:24:21.907"UserName="JohnQPublic"Company=""FirstName="John"LastName="Public"Email="mail@brianrice.com"UserTypeId="1"IconFilename=""DateOfBirth="11/30/1958 00:00:00.000"Gender="M"Phone="630-654-9225"Carrier="AT&T"Verified="False"ConfirmationGuid="AC32B380-BE54-4BB8-808B-073E6024D45D"AgreementAccepted="1"/>
 <ExpiredVersion>1.2</ExpiredVersion>
 <InvitationCount>6</InvitationCount>
 <NotificationCount>0</NotificationCount>
 <Following>321,426,981</Following>
 </Session_Create>

SessionGuid is the value generated that you will use for all commands associated with this user.
The User node contains all of the User attributes.
ExpiredVersion, InvitationCount, NotificationCount and Following are all misc. pieces of system information that are useful to have available when the user logs in (and creates a session.)

Session_Check.aspx
Check that a session is still valid. And, retrieves system information.
Post Parameters:
SessionGuid: 
 
SessionGuid identifies the session to check.

Xml Response:

-<Session_Check>
 <InvitationCount>3</InvitationCount>
 <NotificationCount>4</NotificationCount>
 </Session_Check>

InvitationCount and NotificationCount are misc. pieces of system information.

Note: If the session has expired an error would be returned.

TODO: Return everything a Session_Create does


top
Users
Users (or accounts) are the primary entity in the EQ Network environment. The following are the major User functions. (for additional User functions see Users (other).)

User_Create.aspx allows a user to be created. User_Update.aspx allows user attributes to be changed. User_Delete.aspx will delete a user. User_ListCollections.aspx will list a users collections. User_Search.aspx will search users. User_ListUsers.aspx will list a users relationships with other users. User_AddRelationship.aspx will create a relationship between two users. User_GetNode.aspx will retrieve a User node with user attributes.

User Nodes
In Xml Responses you may get one (or a list of) User nodes. A User node is a mix of user attributes and calculated user values. It will look like this:
 <User UnviewedCount="3"UserTitle="JohnQPublic"UserId="161"Active="True"Created="01/11/2012 21:28:16.513"Modified="04/09/2012 16:24:21.907"UserName="JohnQPublic"Company=""FirstName="John"LastName="Public"Email="mail@brianrice.com"UserTypeId="1"IconFilename=""DateOfBirth="11/30/1958 00:00:00.000"Gender="M"Phone="630-654-9225"Carrier="AT&T"Verified="False"ConfirmationGuid="AC32B380-BE54-4BB8-808B-073E6024D45D"AgreementAccepted="1"/>

UnviewedCount is sum of the Collections UnviewedCount being followed by this user.
UserTitle is a calculated value and will be Company, if it exists, or UserName. Use this value to display the user as in the future we may change how a user is displayed on the backend, and then this would propogate to all the clients.
UserId is a unique identifier of a User.
Active is True if the user is active, or false if the user has been deleted (but not yet scrubbed from the database.)
Created is the date and time the User record was created.
Modified is the date and time the User record was last modified.
UserName, Company, FirstName, LastName, Email, DateOfBirth, Gender, Phone and Carrier are all basic attributes of the user.
UserTypeId currently there is only one type of user (1: Normal).
IconFilename this is the filename of the users icon. See
User Icon Url for more information on how to retrieve this image.)
Verified indicates if the user has been verified by their confirmation email.
ConfirmationGuid used to match a confirmation email with a user.
AgreementAccepted is the version level of the agreement the user has accepted.

User_Create.aspx
Create a new user. This will also send a confirmation email if successfull.
Post Parameters:
UserName: 
Password: 
FirstName: 
LastName: 
Email: 
Company: 
DateOfBirth: 
Gender: 
Phone: 
Carrier: 
Icon: 
CreatedOn: 
 
UserName is the unique user (or account) name.
Password is the users case sensitive password.
FirstName, LastName and Email are all required fields.
Company, if it exists, will be used instead of UserName for the users display name.
DateOfBirth and Gender are required fields.
Phone and Carrier are optional.
Icon is optional. It is the Users account icon. This is a local file that will be uploaded as part of the multipart form data.
CreatedOn specifieds the environment that the user account was created on. (e.g. iOS, Web, etc...)

Xml Response:

-<User_Create>
 <UserId>602</UserId>
 </User_Create>

If you are returned a UserId, the user was created successfully.

User_Update.aspx
Update user attributes. This will send a confirmation email if the email address has changed.
Post Parameters:
SessionGuid: 
UserName: 
Password: 
FirstName: 
LastName: 
Email: 
Company: 
DateOfBirth: 
Gender: 
Phone: 
Carrier: 
Icon: 
DeleteIcon: 
 
SessionGuid identifies the user whose attributes will be updated.

(The descriptions for most other parameters can be found in User_Create.aspx.)

If Icon data does not exist then DeleteIcon will indicate wether, or not, this is because it has been deleted.

Note: all parameters must be present or they will be cleared out (except for Icon as noted).

Xml Response:

-<User_Update>
 <Result>Ok</Result>
 </User_Update>

If you are returned an Ok, the user attributes were updated successfully.

User_Delete.aspx
Delete a user.
Post Parameters:
SessionGuid: 
 
SessionGuid identifies the user to delete.

Xml Response:

-<User_Delete>
 <Result>Ok</Result>
 </User_Delete>

If you are returned Ok, the user was successfully deleted.

User_ListCollections.aspx
List Collections associated with a User. Pagination is supported. Search criteria is supported.
Post Parameters:
SessionGuid: 
User_CollectionTypeId: 
AsOfDate: 
IncludeEmpty: 
Search: 
Categories: 
HasPrefix: 
IncludeAdult: 
NotificationCountInSort: 
Start:  End:  OrderBy: 
<== Collections (Alpha, Popularity, Recent, Comments)
 
SessionGuid identifies the user to list collections for.
User_CollectionTypeId this is a comma delimeted string of one or more User_CollectionTypes (1: Owned, 2: Following, 3: Contributor)
AsOfDate see
AsOfDate behaviour
IncludeEmpty will include Collections that have no ContentFiles
Search, Categories, HasPrefix and IncludeAdult are the search criteria. (see Search Criteria.)
NotificationCountInSort will cause Collections to be first sorted by NotificationCount (currently used in the Watch section)
Start, End and OrderBy will cause the Collection results to paginate. (see Pagination.)

Xml Response:

-<Response AsOfDate="04/11/2012 00:57:06.430"InvitationCount="6"NotificationCount="0"Following="1,262,547,549,621,717">
-<Collections>
 <Collection RowNum="1"ContentFileCount="8"UnviewedCount="0"MostRecent="02/23/2012 18:05:22.390"NotificationCount="0"CollectionId="549"Active="True"Created="02/23/2012 08:17:56.107"Modified="03/30/2012 02:22:46.657"SortBy=""Name="About SXSW 2012"Description="Informational videos about the 2012 SXSW - Austin Texas March 8th through the 24th."IconFilename="f6658a13-13a6-4780-b357-cc1e8ec631cb.jpg"CollectionTypeId="1"ViewCount="111"Categories="Arts"NumberOfComments="0"UserId="291"OwnerUserTitle="SXSW"OwnerUserId="291"OwnerUserIconFilename="b14ea3c0-1ecb-4843-a038-57df227347d1.jpg"User_CollectionTypeId="2"/>
 <Collection RowNum="2"ContentFileCount="1"UnviewedCount="0"MostRecent="03/05/2012 02:19:26.557"NotificationCount="0"CollectionId="621"Active="True"Created="03/04/2012 19:02:21.083"Modified="04/04/2012 19:37:50.280"SortBy=""Name="Chicago - Polar Bear Plunge"Description="Each participant is asked to raise a minimum of $125 to support the programs enjoyed by our nearly 5,000 Special Olympics Chicago athletes throughout the year. Plungers will receive a souvenir t-shirt and a warm towel when exiting the water!"IconFilename="911d21c1-93a2-4d81-b04a-9c70ec68afa1.png"CollectionTypeId="1"ViewCount="59"Categories="Adventure"NumberOfComments="0"UserId="1"OwnerUserTitle="SXSW"OwnerUserId="291"OwnerUserIconFilename="b14ea3c0-1ecb-4843-a038-57df227347d1.jpg"User_CollectionTypeId="2"/>
 <Collection RowNum="3"ContentFileCount="2"UnviewedCount="0"MostRecent="03/20/2012 15:29:58.937"NotificationCount="0"CollectionId="262"Active="True"Created="11/25/2011 19:04:20.273"Modified="03/28/2012 00:56:54.730"SortBy=""Name="fff"Description="ggg"IconFilename=""CollectionTypeId="2"ViewCount="1"Categories=""NumberOfComments="0"UserId="1"OwnerUserTitle="SXSW"OwnerUserId="291"OwnerUserIconFilename="b14ea3c0-1ecb-4843-a038-57df227347d1.jpg"User_CollectionTypeId="2"/>
 <Collection RowNum="4"ContentFileCount="11"UnviewedCount="0"MostRecent="02/29/2012 05:59:20.330"NotificationCount="0"CollectionId="1"Active="True"Created="06/11/2011 14:36:44.580"Modified="03/07/2012 22:07:24.660"SortBy=""Name="First Collection"Description="This is the first ever collection"IconFilename=""CollectionTypeId="2"ViewCount="85"Categories="Animation"NumberOfComments="9"UserId="1"OwnerUserTitle="SXSW"OwnerUserId="291"OwnerUserIconFilename="b14ea3c0-1ecb-4843-a038-57df227347d1.jpg"User_CollectionTypeId="2"/>
 </Collections>
 </Response>

AsOfDate see AsOfDate behaviour
InvitationCount, NotificationCount and Following are all misc. pieces of system information (these are values global to the user.)
Collections is an array of Collection nodes (see Collection Nodes.)

User_Search.aspx
Search Users. Pagination is supported. Search criteria is supported.
Post Parameters:
SessionGuid: 
Search: 
 
SessionGuid identifies the user who is creating this relationship.
Search is the search term to use.

Xml Response:

 <Response/>

Users is an array of User nodes (see User Nodes.)

User_ListUsers.aspx
List Users associated with a User. Pagination is supported. Search criteria is supported.
Post Parameters:
SessionGuid: 
Following: 
Blocked: 
ShowInverse: 
Start:  End:  OrderBy: 
<== Users (Alpha, Recent)
 
SessionGuid identifies the user to list users for.
Following only include users that are following
Blocked only include users that are blocked
ShowInverse will show, for example, who is following a user instead of who a user is following.
Start, End and OrderBy will cause the Collection results to paginate. (see
Pagination.)

Xml Response:

 <Response/>

Users is an array of User nodes (see User Nodes.)

User_AddRelationship.aspx
Add a Relationship from one user to another.
Post Parameters:
SessionGuid: 
Other_UserId: 
Following: 
Blocked: 
 
SessionGuid identifies the user who is creating this relationship.
Other_UserId is the user who the relationship is with. Following if set to 'Y' will follow the other user. If blank, no effect.
Block if set to 'Y' will block the other user. If blank, no effect

Xml Response:

-<User_AddRelationship>
 <Response>Ok</Response>
 </User_AddRelationship>

If you are returned an Ok, the relationship was updated successfully.

User_GetNode.aspx
Retrieve the User node for a user.
Post Parameters:
SessionGuid: 
 
SessionGuid identifies the user to retrieve.

Xml Response:

-<User_GetNode>
 <User UnviewedCount=""UserTitle="JohnQPublic"UserId="517"Active="True"Created="04/11/2012 00:16:24.537"Modified="04/11/2012 00:16:24.537"UserName="JohnQPublic"Company=""FirstName="John"LastName="Public"Email="mail@brianrice.com"UserTypeId="1"IconFilename=""DateOfBirth="11/30/1958 00:00:00.000"Gender="M"Phone="630-654-9225"Carrier="AT&T"Verified="False"ConfirmationGuid="4AA0C2F5-7BC8-4AC5-B132-0C3A330503CC"AgreementAccepted="0"/>
 </User_GetNode>

(see User Nodes for User node information.)


top
Collections
Collections (or channels) are essentially folders that ContentFiles can be stored in. They are currently *not* nested. The following are the major Collection functions. (for additional Collection functions see Collections (other).)

Collection_Create.aspx allows a collection to be created. Collection_Update.aspx allows collection attributes to be changed. Collection_Delete.aspx will delete a collection. Collection_AddRelationship.aspx will delete a collection. Collection_ListContentFiles.aspx will list a collections ContentFiles. Collection_GetNode.aspx will retrieve a Collection node with collection attributes.

Collection Nodes
In Xml Responses you may get one (or a list of) Collection nodes. A Collection node is a mix of collection attributes and calculated collection values. It will look like this:
 <Collection RowNum="1"ContentFileCount="1"UnviewedCount="0"MostRecent="03/29/2012 19:10:25.640"NotificationCount="0"CollectionId="717"Active="True"Created="03/24/2012 14:42:20.010"Modified="04/10/2012 16:54:14.037"SortBy=""Name="75th Anniversary Video Contest"Description="Official SFGate 75th Anniversary Celebration Crowd Source Channel"IconFilename="021ef80b-795a-4c9c-ae19-0cb8d15e1b42.jpg"CollectionTypeId="1"ViewCount="48"Categories="Documentary"NumberOfComments="0"UserId="528"OwnerUserTitle="SXSW"OwnerUserId="291"OwnerUserIconFilename="b14ea3c0-1ecb-4843-a038-57df227347d1.jpg"User_CollectionTypeId="3"/>

RowNum is the ordered row number of the list of Collections when the request ultilizes pagination (see Pagination.)
ContentFileCount is the number of ContentFiles in this Collection.
UnviewedCount is the number of ContentFiles that have not been viewed.
MostRecent is the date/time of when the Collection was last viewed.
NotificationCount is the number of ContentFiles that have been added since this Collection was last viewed.
CollectionId is a unique identifier for the collection.
Active is True if the collection is active, or false if the collection has been deleted (but not yet scrubbed from the database.)
Created is the date and time the Collection record was created.
Modified is the date and time the Collection record was last modified.
SortBy a custom sorting sequence for a list of Collections (not implemented).
Name is the name of the collection
Description is the description of the collection.
IconFilename this is the filename of the collections icon. See Collection Icon Url for more information on how to retrieve this image.)
CollectionTypeId is the collection type (1: Normal, 2:Private)
ViewCount is a count of how many times movies inside the collection have been viewed.
Categories is a comma delimited list of Categories (e.g. Sports, Golf)
NumberOfComments is a count of all the comments in this collection.
UserId is the unique identifier of the user this collection belongs to.
OwnerUserTitle is the UserTitle of the user this collection belongs to.
OwnerUserIconFilename is the IconFilename of the user this collection belongs to.
OwnerUserId is the UserId this collection belongs to.
User_CollectionTypeId defines the relationship between the user and the collection (1: Owner, 2: Follower, 3:Contributor).

Note: A Collection can have only one Owner. A Collection can have multiple Followers and/or Contributors. A Follower will receive notifications about changes in a Collection and the Collection will appear in the Followers Watch list. A Contributor is like a Follower, but additionally can add ContentFiles to this Collection.

Collection_Create.aspx
Create a new collection.
Post Parameters:
SessionGuid: 
Name: 
Description: 
Categories: 
Private: 
Icon: 
 
SessionGuid identifies the user that this collection will be added to.
Name is the name of the collection.
Description is the description of the collection.
Categories is a comma delimited list of categories (see
Categories).
Private indicates that the collection is not visible in Search results, etc...
Icon is optional. It is the Collections icon. This is a local file that will be uploaded as part of the multipart form data. If an icon is not uploaded a default icon will be chosen based on one of the Categories.

Xml Response:

-<Collection_Create>
 <CollectionId>716</CollectionId>
 </Collection_Create>

If you are returned a CollectionId, the collection was created successfully.

Collection_Update.aspx
Update collection attributes.
Post Parameters:
SessionGuid: 
CollectionId: 
Name: 
Description: 
Categories: 
Private: 
Icon: 
DeleteIcon: 
 
SessionGuid identifies the user whose collection attributes will be updated. This User must be the owner of the collection.

(The descriptions for most other parameters can be found in Collection_Create.aspx.)

If Icon data does not exist then DeleteIcon will indicate wether, or not, this is because it has been deleted.

Note: all parameters must be present or they will be cleared out (except for Icon as noted).

Xml Response:

-<Collection_Update>
 <Result>Ok</Result>
 </Collection_Update>

If you are returned an Ok, the collection attributes were updated successfully.

Collection_Delete.aspx
The action taken with this command depends on the relation between the User and the Collection. If the User is the owner of this collection, then the collection will be deleted. If the User is a follower of, or contributor to, this collection... then this relationship will be deleted.
Post Parameters:
SessionGuid: 
CollectionId: 
 
SessionGuid identifies the User whose Collection (or collection relationship) is to be deleted.
CollectionId is the unique identifier of the Collection to be deleted (or whose relationship is to be deleted).

Xml Response:

-<Collection_Delete>
 <Result>Ok</Result>
 </Collection_Delete>

If you are returned Ok, the collection (or collection relationship) was successfully deleted.

Collection_AddRelationship.aspx
This will add a "Following", or a "Contributor" relationship between a User and a Collection.
Post Parameters:
SessionGuid: 
CollectionId: 
User_CollectionTypeId: 
 
SessionGuid identifies the User who will add a relationship to this collection.
CollectionId is the unique identifier of the Collection.
User_CollectionTypeId defines the relationship being added between the user and the collection (2: Follower, 3:Contributor).

Xml Response:

-<Collection_AddRelationship>
 <Result>Ok</Result>
 </Collection_AddRelationship>

If you are returned Ok, the collection (or collection relationship) was successfully added.

Note: To remove this relationship, call Collection_Delete.asxp.

Collection_ListContentFiles.aspx
List ContentFiles associated with a Collection. Pagination is supported. Search criteria is supported only in the sense that the content files that match the search criteria get sorted first.
Post Parameters:
SessionGuid: 
CollectionId: 
AsOfDate: 
Search: (optional, used for sorting, will still return all)
Categories: (optional, used for sorting, will still return all)
HasPrefix: (optional, used for sorting, will still return all)
IncludeAdult: 
Start:  End:  OrderBy: 
<== ContentFiles (Alpha, Popularity, Recent, Comments)
 
SessionGuid identifies the user.
CollectionId this is the unique id of the collection to list content files for.
AsOfDate see
AsOfDate behaviour
Search, Categories, HasPrefix and IncludeAdult are the search criteria. (see Search Criteria.)
Start, End and OrderBy will cause the ContentFile results to paginate. (see Pagination.)

Xml Response:

-<Response AsOfDate="04/19/2012 21:52:06.737">
-<ContentFiles>
 <ContentFile RowNum="1"ContentFileId="2902"Active="True"Created="03/09/2012 22:41:34.527"Modified="03/14/2012 04:40:11.017"UserId="406"Name="Death to SXSW - The Dictator"Description="Met The Dictator at SXSW"Keywords="EQ dictator sxsw"ContentFileTypeId="1"Filename="943f6caf-44df-4d33-ae59-94b6eeac3e21.MOV"DeliveryRequestId=""JdiResult=""IsAdult="False"Categories="Celebrity, Comedy, Entertainment"MuxKey="M2102,10139~3G~3,10140~WiFi~3,10141~WebM~3,10142~720p~4"ViewCount="24"OriginalUrl=""OriginalFilesize=""DownloadUrl=""CollectionId="547"UserViewCount="0"NumberOfComments="0"SearchMatched="0"CurrentTime=""/>
 <ContentFile RowNum="2"ContentFileId="2960"Active="True"Created="03/12/2012 04:12:31.830"Modified="03/13/2012 04:31:24.503"UserId="402"Name="#Google #Lego Robots #sxsw"Description="First come first serve contest to build the best robot quickly at SXSW."Keywords="google lego robot sxsw"ContentFileTypeId="1"Filename="041edc02-4d3c-4f17-a5d4-794e562f0a92.MOV"DeliveryRequestId=""JdiResult=""IsAdult="False"Categories="Vlog"MuxKey="M2160,10371~3G~3,10372~WiFi~3,10373~WebM~3,10374~720p~3"ViewCount="12"OriginalUrl=""OriginalFilesize=""DownloadUrl=""CollectionId="547"UserViewCount="0"NumberOfComments="0"SearchMatched="0"CurrentTime=""/>
 </ContentFiles>
 </Response>

AsOfDate see AsOfDate behaviour
ContentFiles is an array of ContentFile nodes (see ContentFile Nodes.)

Collection_GetNode.aspx
Retrieve the Collection node for a collection. If the collection is private, then the user must be the owner of, a contributor to, or a follower of, the collection.
Post Parameters:
SessionGuid: 
CollectionId: 
 
SessionGuid identifies the user making the request (needed, for example, to ensure only valid users can access a private channel).
CollectionId is the unique id of the node to retrieve.

Xml Response:

-<Collection_GetNode>
 <Collection ContentFileCount="0"UnviewedCount=""MostRecent="04/11/2012 23:55:05.270"NotificationCount="0"CollectionId="717"Active="True"Created="04/13/2012 21:52:06.787"Modified="04/13/2012 21:55:43.283"SortBy=""Name="test channel"Description="test"IconFilename=""CollectionTypeId="1"ViewCount="1"Categories="Adventure"NumberOfComments="0"UserId="513"OwnerUserTitle="SXSW"OwnerUserId="291"OwnerUserIconFilename="b14ea3c0-1ecb-4843-a038-57df227347d1.jpg"User_CollectionTypeId="1"/>
 </Collection_GetNode>

(see Collection Nodes for Collection node information.)


top
ContentFiles
ContentFiles are the movies that have been uploaded into a Collection (or Channel). The following are the major ContentFile functions. (for additional ContentFile functions see ContentFiles (other).)

ContentFile_Create.aspx will upload and create a content file. ContentFile_CreateFromUrl.aspx will create a content file from a url provided. ContentFile_Update.aspx allows content file attributes to be changed. ContentFile_Delete.aspx will delete a content file. ContentFile_ListPosts.aspx will list a content files posts (or comments). ContentFile_GetNode.aspx will retrieve a ContentfIle node with content file attributes.

ContentFile Nodes
In Xml Responses you may get one (or a list of) ContentFile nodes. A ContentFile node is a mix of content file attributes and calculated content file values. It will look like this:
 <ContentFile RowNum="1"ContentFileId="2902"Active="True"Created="03/09/2012 22:41:34.527"Modified="03/14/2012 04:40:11.017"UserId="406"Name="Death to SXSW - The Dictator"Description="Met The Dictator at SXSW"Keywords="EQ dictator sxsw"ContentFileTypeId="1"Filename="943f6caf-44df-4d33-ae59-94b6eeac3e21.MOV"DeliveryRequestId=""JdiResult=""IsAdult="False"Categories="Celebrity, Comedy, Entertainment"MuxKey="M2102,10139~3G~3,10140~WiFi~3,10141~WebM~3,10142~720p~4"ViewCount="24"OriginalUrl=""OriginalFilesize=""DownloadUrl=""CollectionId="547"UserViewCount="0"NumberOfComments="0"SearchMatched="0"CurrentTime=""/>

RowNum is the ordered row number of the list of ContentFiles when the request ultilizes pagination (see Pagination.)
ContentFileId is a unique identifier for the content file.
Active is True if the content file is active, or false if the content file has been deleted (but not yet scrubbed from the database.)
Created is the date and time the ContentFile record was created.
Modified is the date and time the ContentFile record was last modified.
UserId is the unique identifier of the user this content file belongs to.
Name is the name of the content file
Description is the description of the content file.
Keywords are the keywords for this content file.
ContentFileTypeId is the content file type (1: Movie)
Filename is the filename of the content file. (this can uniquely identify the ContentFile, without providing a sequential index, for example in sharing.
DeliveryRequestId, JdiResult and MuxKey contains information about the downloading and/or processing of the video. (see DeliveryRequestId's and MuxKey's for more information).
IsAdult a flag that is True if an adult category was chosen for this content file (or containing collection).
Categories is a comma delimited list of Categories (e.g. Sports, Golf).
ViewCount is the number of times this content file has been viewed.
OriginalUrl is the url of where this files was downloaded from (if it was downloaded).
OriginalFilesize is the size of the original file.
DownloadUrl this may be different from the OriginalUrl if the movie was inside a page pointed to by OriginalUrl.
CollectionId the Collection this ContentFile belongs to.
UserViewCount the number of times this ContentFile has been viewed by the user making this request. (SessionGuid)
NumberOfComments the number of posts (and sub-posts) that have been made on this ContentFile.
SearchMatched indicates if this ContentFile matched a filter set (you still get the ContentFile... just, typically, ordered by Filter matches first).
CurrentTime in the case of a movie, this shows the time offset in the movie the user last viewed.

Note: A ContentFile can belong to only one collection.

ContentFile_Create.aspx
Create a new content file.
Post Parameters:
SessionGuid: 
CollectionId: 
Name: 
Description: 
Keywords: 
Categories: 
ButtonData: 
Video: 
 
SessionGuid identifies the user who is adding this content file.
CollectionId is the Collection this ContentFile is being added to.
Name is the name of the content file.
Description is the description of the content file.
Keywords are the keywords for this content file.
Categories is a comma delimited list of categories (see
Categories).
ButtonData is JSON data to form a button on top of the video.
Video is a local file that will be uploaded as part of the multipart form data.

ButtonData

The JSON data is basically a bunch of key-value pairs of CSS. This allows nearly anything as far as designing the button.

The JSON object is subdivided into 2 separate objects – one from the container DIV, and the other for the anchor tag.

At the top level of the object, everything is proprietary and there is no CSS that can be specified:
appearTime: How many seconds of the video must elapse before the button appears. Leaving this off or setting it to 0 will cause the button to never appear.
disappearTime: How many seconds the button will stay visible. If left off or set to 0, and the button was made to appear, it will never disappear.
container: First subobject whose fields correspond to the CSS to assign to the container DIV. Use any CSS you like.
link: Second subobject whose fields correspond to the anchor tag that provides the link. It support a few proprietary tags in addition to any CSS:
text: The button text.
url: The URL to where the button links to. This link opens in a new browser tab.

Here is an example JSON string:

{ "appearTime": 1.0, "disappearTime": 10.0, "container": { "background-color": "#000080", "border": "2px solid white", "border-radius": "12px", "left": "100px", "top": "100px" }, "link": { "text": "Google", "url": "https://google.com", "font-size": "24px", "color": "yellow", "font-family": "Arial,Helvetica,sans-serif" } }

If you wish to have a button that is visible even before the video starts playing, you should leave off the appearTime field (or set it to 0) and insert some CSS into the DIV container subobject that makes it visible, i.e.: “display”: “inline-block”. By default the container DIV is set to display: none by the HTML on the embedded player page.

Xml Response:

-<ContentFile_Create>
 <ContentFileId>716</ContentFileId>
 <MuxKey>M2102,10139~3G~3,10140~WiFi~3,10141~WebM~3,10142~720p~4</MuxKey>
 </ContentFile_Create>

If you are returned a ContentFileId, the content file was created successfully.
MuxKey contains information about the downloading and/or processing of the video. (see DeliveryRequestId's and MuxKey's for more information).

ContentFile_CreateFromUrl.aspx
Create a new content file from a Url. The Url can be either a direct link to a movie file... or, a url to a page that contains flash video.
Post Parameters:
SessionGuid: 
CollectionId: 
Name: 
Description: 
Keywords: 
Categories: 
Keywords: 
Url: 
IsFlashVideo: 
 
SessionGuid identifies the user who is adding this content file.

(The descriptions for most other parameters can be found in ContentFile_Create.aspx.)

Url is an http link to either a file, or a page containing a flash movie.
IsFlashVideo is a flag indicating which type of Url it is (file or page containing flash).

Xml Response:

-<ContentFile_CreateFromUrl>
 <ContentFileId>716</ContentFileId>
 <MuxKey>M2102,10139~3G~3,10140~WiFi~3,10141~WebM~3,10142~720p~4</MuxKey>
 </ContentFile_CreateFromUrl>

If you are returned a ContentFileId, the content file was created successfully.
MuxKey contains information about the downloading and/or processing of the video. (see DeliveryRequestId's and MuxKey's for more information).


top
ContentFile_Update.aspx
Update content file attributes.
Post Parameters:
SessionGuid: 
ContentFileId: 
Name: 
Description: 
Keywords: 
Categories: 
Keywords: 
Video: (optional)
 
SessionGuid identifies the user whose content file attributes will be updated. This User must be the owner of the content file.

(The descriptions for most other parameters can be found in ContentFile_Create.aspx.)

If Video data does not exist then the video will remain the same.

Note: all parameters must be present or they will be cleared out (except for Video as noted).

Xml Response:

-<ContentFile_Update>
 <ContentFileId>716</ContentFileId>
 <MuxKey>M2102,10139~3G~3,10140~WiFi~3,10141~WebM~3,10142~720p~4</MuxKey>
 </ContentFile_Update>

If you are returned a ContentFileId, the content file was updated successfully.
If video data was included MuxKey contains information about the downloading and/or processing of the video. (see DeliveryRequestId's and MuxKey's for more information).

ContentFile_Delete.aspx
This will delete a ContentFile.
Post Parameters:
SessionGuid: 
ContentFileId: 
 
SessionGuid identifies the User whose ContentFile (or content file relationship) is to be deleted.
ContentFileId is the unique identifier of the ContentFile to be deleted (or whose relationship is to be deleted).

Xml Response:

-<ContentFile_Delete>
 <Result>Ok</Result>
 </ContentFile_Delete>

If you are returned Ok, the content file (or content file relationship) was successfully deleted.

ContentFile_ListPosts.aspx
List Posts associated with a ContentFile. Pagination is supported.
Post Parameters:
Filename: 
Start:  End:  OrderBy: 
<== (Recent)
 
Filename identifies the ContentFile to list posts for.
Start, End and OrderBy will cause the post results to paginate. (see
Pagination.)

Xml Response:

-<ContentFile_ListPosts>
-<Posts>
 <Post RowNum="1"Level="1"UserTitle="sbbgromit"UserName="sbbgromit"PostId="112"Child_PostId="999999999"UserId="18"Title=""Message="Really like the ending! "Created="03/07/2012 01:04:46.100"/>
 <Post RowNum="2"Level="2"UserTitle="fishoil"UserName="fishoil"PostId="112"Child_PostId="171"UserId="232"Title=""Message="Yeah, that EQNetwork thing IS very colorful. - fishoil"Created="03/16/2012 22:05:01.300"/>
 <Post RowNum="3"Level="1"UserTitle="sbbgromit"UserName="sbbgromit"PostId="111"Child_PostId="999999999"UserId="18"Title=""Message="Really like the ending! "Created="03/07/2012 01:04:46.073"/>
 <Post RowNum="4"Level="1"UserTitle="sbbgromit"UserName="sbbgromit"PostId="110"Child_PostId="999999999"UserId="18"Title=""Message="Nice video. Cool music. "Created="03/07/2012 01:03:54.170"/>
 <Post RowNum="5"Level="1"UserTitle="sbbgromit"UserName="sbbgromit"PostId="109"Child_PostId="999999999"UserId="18"Title=""Message="Nice video. Cool music. "Created="03/07/2012 01:03:54.170"/>
 <Post RowNum="6"Level="2"UserTitle="fishoil"UserName="fishoil"PostId="109"Child_PostId="170"UserId="232"Title=""Message="Of course! - fishoil"Created="03/16/2012 22:02:26.417"/>
 </Posts>
 </ContentFile_ListPosts>

Posts is an array of Post nodes (see Post Nodes.)
In a post, Level is the depth of the post. There are two levels of depth. A depth of one for comments on the content file. And a depth of two for comments on a comment.

ContentFile_GetNode.aspx
Retrieve the ContentFile node for a content file. If the collection this content file belongs to is private, then the user must be the owner of, a contributor to, or a follower of, the collection.
Post Parameters:
SessionGuid: 
ContentFileId: 
Filename: 
 
SessionGuid identifies the user making the request (needed, for example, to ensure only valid users can access a private channel).
ContentFileId is the unique id of the node to retrieve. Filename is optional, and is used in place of SessionGuid and ContentFileId.

Xml Response:

-<ContentFile_GetNode>
 <ContentFile ContentFileId="2902"Active="True"Created="03/09/2012 22:41:34.527"Modified="03/14/2012 04:40:11.017"UserId="406"Name="Death to SXSW - The Dictator"Description="Met The Dictator at SXSW"Keywords="EQ dictator sxsw"ContentFileTypeId="1"Filename="943f6caf-44df-4d33-ae59-94b6eeac3e21.MOV"DeliveryRequestId=""JdiResult=""IsAdult="False"Categories="Celebrity, Comedy, Entertainment"MuxKey="M2102,10139~3G~3,10140~WiFi~3,10141~WebM~3,10142~720p~4"ViewCount="24"OriginalUrl=""OriginalFilesize=""DownloadUrl=""CollectionId="547"UserViewCount="0"NumberOfComments="0"SearchMatched="0"CurrentTime=""/>
 </ContentFile_GetNode>

(see ContentFile Nodes for ContentFile node information.)


top
Posts
Posts are the comments that have been made to content files. The following are the major Post functions. (for additional Post functions see Posts (other).)

Post_Create.aspx will upload and create a post. Post_Delete.aspx will delete a post.

Post Nodes
In Xml Responses you may get one (or a list of) Post nodes. A Post node is mix of post attributes and calculated post values. It will look like this:
 <Post RowNum="1"Level="1"UserTitle="sbbgromit"UserName="sbbgromit"PostId="112"Child_PostId="999999999"UserId="18"Title=""Message="Really like the ending! "Created="03/07/2012 01:04:46.100"/>

RowNum is the ordered row number of the list of Posts when the request ultilizes pagination (see Pagination.)
Level is the depth of the post. There are two levels of depth. A depth of one for comments on the content file. And a depth of two for comments on a comment.
UserTitle is a calculated value and will be Company, if it exists, or UserName. Use this value
UserName is the UserName of the User who made this post
PostId is a unique identifier for the post.
Child_PostId the post unique identifier that this is a reply to.
UserId is the unique identifier of the user who made this post.
Title is the title of a comment (not currently used).
Message this is the body of the post. Created is the date and time the Post record was created.

Post_Create.aspx
Create a new post.
Post Parameters:
SessionGuid: 
Title: 
Message: 
CommentOn_UserId: 
CommentOn_ContentFileId: 
CommentOn_PostId: 
 
SessionGuid identifies the user who is adding this post.
Title is the title of this comment. (not implemented yet)
Message is the body of the post.
CommentOn_UserId is the unique identifier of User who the comment was made to. (not implemented yet)
CommentOn_ContentFileId is the unique identifier of the ContentFile the comment was made to.
CommentOn_PostId is the unique identifier of the Post the comment was made to.
CommentOn_UserId, CommentOn_ContentFileId, and CommentOn_PostId are mutually exclusive… only one of these will have a value.

Xml Response:

-<Post_Create>
 <PostId>1756</PostId>
 </Post_Create>

If you are returned a PostId, the post was created successfully.

Post_Delete.aspx
This will delete a Post.
Post Parameters:
SessionGuid: 
PostId: 
 
SessionGuid identifies the User whose Post (or post relationship) is to be deleted.
PostId is the unique identifier of the Post to be deleted (or whose relationship is to be deleted).

Xml Response:

-<Post_Delete>
 <Result>Ok</Result>
 </Post_Delete>

If you are returned Ok, the post was successfully deleted.


top
Categories
Categories are an attribute of ContentFiles. They are stored in the content file record as a comma delimited string. The following is the only Category function.

Category_ListAll.aspx lists all valid categories.

Category Nodes
In Xml Responses you may get one (or a list of) Category nodes. A Category node contains the category attribute values. It will look like this:
 <Category CategoryId="3"Active="True"Created="12/11/2011 15:52:19.447"Modified="12/11/2011 15:52:19.447"SortBy=""Name="Adventure"Description=""CategoryTypeId="1"/>

CategoryId is a unique identifier for the category.
Active indicates if the category is still in use.
Created is the date and time the Category record was created.
Modified is the date and time the Category record was last modified.
SortBy this is a float value that may modify the normal alphabetical display order (not currently used). Name is the name of a category.
Message this is a description of a category (not currently used). CategoryTypeId is the category type (1: Normal, 2:Adult)

Category_ListAll.aspx
Returns a list of all valid categories.
No Post Parameters.
 

Xml Response:

-<Response>
-<Categories>
 <Category CategoryId="3"Active="True"Created="12/11/2011 15:52:19.447"Modified="12/11/2011 15:52:19.447"SortBy=""Name="Adventure"Description=""CategoryTypeId="1"/>
 <Category CategoryId="4"Active="True"Created="12/11/2011 15:52:19.447"Modified="12/11/2011 15:52:19.447"SortBy=""Name="Animal"Description=""CategoryTypeId="1"/>
 </Categories>
 </Response>


top
Search
Searching will return Collection and/or ContentFile results based on a search term and filters (search criteria) that are passed as parameters to the search request. Pagination is supported.

As a general overview on searching, typically several searches are performed. A search is performed on all content files (Search_ContentFiles.aspx), this gives you results that show up in the "top row". Additionally a search is performed on the collections and content files (Search_CollectionsAndContentFiles.aspx). This is used to retrieve a list of collection that match (or whose content files match) the search criteria.

Then, when one of these collections is viewed, the content files in that collection are retrieved by listing the content files (Collection_ListContentFiles.aspx), specifying the search criteria. This will cause *all* content files for that collection to be returned, but the ones that match the search criteria are at the front of the list.

The following are the major Search functions.

Search_ContentFiles.aspx will search content files. Search_CollectionsAndContentFiles.aspx will search collections and their content files.

Other functions that utilize search criteria parameters are:

User_ListCollections.aspx will list a users collections. User_ListUsers.aspx will list a users relationships with other users. Collection_ListContentFiles.aspx will list a collections ContentFiles.

Search Criteria
The following are the parameters that make up the "search criteria" in a request.

Search is a search term that will match the names, descriptions, and categories of an item.
Categories will filter based on a comma delimited list of Categories (e.g. Sports, Golf).
HasPrefix will filter the results by the first letter of the items name (e.g. A, B, C) will limit the list to items whose name starts with the letter A, B, or C).
IncludeAdult filter to include content flagged as adult.

Search_ContentFiles.aspx
Search content files for matches to the search criteria.
Post Parameters:
Search: 
Categories: 
HasPrefix: 
IncludeAdult: 
SessionGuid: (optional)
User_CollectionTypeId: (optional)
Start:  End:  OrderBy: 
<== Collections (Alpha, Popularity, Recent, Comments)
ColumnSet: (optional)
 
Search, Categories, HasPrefix and IncludeAdult are the search criteria. (see
Search Criteria.)
SessionGuid identifies the user who is requesting the search. This may, then, include content files in private collections the user owns, follows, or contributes to.
User_CollectionTypeId limits the search to content files in collections that meet this relationship between the user and the collection (1: Owner, 2: Follower, 3:Contributor).
Start, End and OrderBy will cause the results to paginate. (see Pagination.)
ColumnSet will cause the results to display a limited set of attributes (valid values are nothing or "Lean").

Xml Response:

-<Response>
-<ContentFiles>
 <ContentFile RowNum="1"ContentFileId="2902"Active="True"Created="03/09/2012 22:41:34.527"Modified="03/14/2012 04:40:11.017"UserId="406"Name="Death to SXSW - The Dictator"Description="Met The Dictator at SXSW"Keywords="EQ dictator sxsw"ContentFileTypeId="1"Filename="943f6caf-44df-4d33-ae59-94b6eeac3e21.MOV"DeliveryRequestId=""JdiResult=""IsAdult="False"Categories="Celebrity, Comedy, Entertainment"MuxKey="M2102,10139~3G~3,10140~WiFi~3,10141~WebM~3,10142~720p~4"ViewCount="24"OriginalUrl=""OriginalFilesize=""DownloadUrl=""UserTitle="SXSW"UserViewCount="0"NumberOfComments="0"SearchMatched="0"OwnerUserTitle="SXSW"OwnerUserId="291"OwnerUserIconFilename="b14ea3c0-1ecb-4843-a038-57df227347d1.jpg"CollectionId="547"/>
 <ContentFile RowNum="2"ContentFileId="2960"Active="True"Created="03/12/2012 04:12:31.830"Modified="03/13/2012 04:31:24.503"UserId="402"Name="#Google #Lego Robots #sxsw"Description="First come first serve contest to build the best robot quickly at SXSW."Keywords="google lego robot sxsw"ContentFileTypeId="1"Filename="041edc02-4d3c-4f17-a5d4-794e562f0a92.MOV"DeliveryRequestId=""JdiResult=""IsAdult="False"Categories="Vlog"MuxKey="M2160,10371~3G~3,10372~WiFi~3,10373~WebM~3,10374~720p~3"ViewCount="12"OriginalUrl=""OriginalFilesize=""DownloadUrl=""UserTitle="SXSW"UserViewCount="1"NumberOfComments="0"SearchMatched="0"OwnerUserTitle="SXSW"OwnerUserId="291"OwnerUserIconFilename="b14ea3c0-1ecb-4843-a038-57df227347d1.jpg"CollectionId="547"/>
 </ContentFiles>
 </Response>

ContentFiles is an array of ContentFile nodes that match the search criteria (see ContentFile Nodes.)

Search_CollectionsAndContentFiles.aspx
Search collections (and their content files) for matches to the search criteria.
Post Parameters:
Search: 
Categories: 
HasPrefix: 
IncludeAdult: 
Filename: <== (optional, used in place of search criteria)
Start:  End:  OrderBy: 
<== Collections (Alpha, Popularity, Recent, Comments)
 
Search, Categories, HasPrefix and IncludeAdult are the search criteria. (see
Search Criteria.)
Filename is optional, and is used in place of search criteria to return the collection a file belongs to.
Start, End and OrderBy will cause the results to paginate. (see Pagination.)

Xml Response:

-<Response>
-<Collections>
 <Collection RowNum="1"CollectionId="723"Active="True"Created="04/24/2012 16:18:41.857"Modified="04/28/2012 16:09:27.643"SortBy=""Name="Final HD settings Test with 2 threads per box"Description="Test"IconFilename=""CollectionTypeId="1"IsAdult="False"Categories="Animal"ViewCount="44"OwnerUserTitle="SXSW"OwnerUserId="291"OwnerUserIconFilename="b14ea3c0-1ecb-4843-a038-57df227347d1.jpg"NumberOfComments="0"/>
 <Collection RowNum="2"CollectionId="722"Active="True"Created="04/24/2012 16:03:24.393"Modified="04/30/2012 19:09:15.240"SortBy=""Name="Funway"Description="Punway"IconFilename=""CollectionTypeId="1"IsAdult="False"Categories="Animal"ViewCount="8"OwnerUserTitle="SXSW"OwnerUserId="291"OwnerUserIconFilename="b14ea3c0-1ecb-4843-a038-57df227347d1.jpg"MostRecent="04/24/2012 16:10:29.313"NumberOfComments="0"/>
 </Collections>
 </Response>

Collections is an array of Collection nodes that match the search criteria (see Collection Nodes.)

Note: the search criteria is also applied to ContentFiles inside a Collection.


top
Retrieving Media Content
The actual media files (images and movies) are typically retrieved using a simple url. How to build the various urls are the topic of this section.

DeliveryRequestId's and MuxKey's
A MuxKey contains information on the processing status and the playback versions of a movie file that are available. Currently the four playback versions are 3G, WiFi, WebM, and 720p. Each playback version is associated with a "DeliveryRequestId". An example of a MuxKey is:

M2960,13466~3G~3,13467~WiFi~3,13468~WebM~3,13469~720p~4

M2960 is the unique MuxKey identifier.
13466~3G~3 is the 3G asset with a DeliveryRequestId of 13466 and a successful completion status.
13467~WiFi~3 is the WiFi asset with a DeliveryRequestId of 13467 and a successful completion status.
13468~WebM~3 is the WebM asset with a DeliveryRequestId of 13468 and a successful completion status.
13469~720p~4 is the 720p asset with a DeliveryRequestId of 13469 and a failed completion status.

The DeliveryRequestId is the token used to retrieve thumbnail and movie urls. Note: The 3G asset DeliveryRequestId is used to retrieve thumbnails.

Currently the valid asset types are:
3G used for the iPhone (low bandwidth)
WiFi used for the iPhone (high bandwidth)
WebM used for desktop browsers
720p used on all platforms (very high bandwidth)

The completion status is as follows:
-1: waiting on another process
0: not yet started
1: about to start
2: in progress
3: finished (success)
4: finished (failed)

Finally, a MuxKey can also contain information about the download status of an asset:

M2962,-1~3G~2,-1~WiFi~2,-1~WebM~2,-1~720p~2,-1~(Downloading 12.3M of 16.5M)~2
M2962,13474~3G~2,13475~WiFi~2,13476~WebM~2,13477~720p~4,-1~(Downloading Complete)~3

Notes: 720p will only succeed only if the source movie is high-def. The 3G asset can be used on Safari, the Wifi asset is used on IE, Chrome, and Safari. The WebM asset is pretty much only used on Firefox, however Chrome could use the WebM asset as well if the WiFi asset wasn't generated yet.

Movie Url
A movie url is created by combining a DeliveryRequestId and a subType.

http://delivery.eqnetwork.com/service/store/get/?drid=13474&subType=3g

drid=13474 is a DeliveryRequestId of 13474
subType=3g specifies a 3g movie asset

In most cases the subType is the same (or similar) to the asset type returned with the DeliveryRequestId in the MuxKey:
3G: use 3g for subType
WiFi: use iphonewifi for subType
WebM: use webm for subType
720p: use 720p for subType

Movie Preview Url
A movie preview url is created by combining a DeliveryRequestId and a subType.

http://delivery.eqnetwork.com/service/store/get/?drid=13474&subType=mpx

drid=13474 is the 3G asset DeliveryRequestId
subType=mpx specifies that the returned movie should be a 30 second preview.

Thumbnail Url
A thumbnail is created by combining a DeliveryRequestId and a subType.

http://delivery.eqnetwork.com/icons/mgen/overplayThumbnail.ms?drid=13474&subType=ljpg&w=120&h=90&o=0

drid=13474 is the 3G asset DeliveryRequestId
subType=ljpg specifies that the returned thumbnail be a jpg.
w=120 is the maximum width for the retrieved image.
h=90 is the maximum height for the retrieved image.
o=0 specifies if a "play button" image is overlayed (0: no, 1: yes)

Animated Gif Url
A 20 frame animated gif thumbnail is created by combining a DeliveryRequestId and a subType.

http://delivery.eqnetwork.com/service/store/get/?drid=13474&subType=gif

drid=13474 is the 3G asset DeliveryRequestId
subType=gif specifies that the returned thumbnail be an animated gif.

Note: This will generate a 90 x 90 size thumbnail.

User Icon Url
The user icons filename is available as an attribute called IconFilename on a User node. Also, it is sometimes available in other nodes and called OwnerUserIconFilename.

The url to retrieve a user icon is as follows:

http://delivery.eqnetwork.com/icons/mgen/scaleImage.ms?file=UserIcons/eedda75b-0b35-425c-bf72-9effa931907e.tiff&w=80&h=80

file=UserIcons/eedda75b-0b35-425c-bf72-9effa931907e.tiff is the path to the IconFilename (eedda75b-0b35-425c-bf72-9effa931907e.tiff is the IconFilename in this example).
w=80 is the maximum width for the retrieved image.
h=80 is the maximum height for the retrieved image.

Collection Icon Url
The collection icons filename is available as an attribute called IconFilename on a Collection node.

The url to retrieve a collection icon is as follows:

http://delivery.eqnetwork.com/icons/mgen/scaleImage.ms?file=CollectionIcons/2b6a6503-db21-4a34-a496-1f488de5c5c3.jpg&w=80&h=80

file=CollectionIcons/2b6a6503-db21-4a34-a496-1f488de5c5c3.jpg is the path to the IconFilename (2b6a6503-db21-4a34-a496-1f488de5c5c3.jpg is the IconFilename in this example).
w=80 is the maximum width for the retrieved image.
h=80 is the maximum height for the retrieved image.


top
Users (other)
The following are the other User functions.

User_AcceptAgreement.aspx will accept an agreement for a user. User_ResendConfirmationEmail.aspx will resend the confirmation email that is sent in User_Create.aspx. User_EmailAccounts.aspx, User_RequestPasswordReset.aspx and User_ResetPassword.aspx are used for retrieving account and resetting password information.

User_AcceptAgreement.aspx
An Agreement must be accepted by a User before certain tasks can be performed.
If a new version of the agreement becomes available. Then the User should be queried again.
Post Parameters:
SessionGuid: 
Version: 
 
SessionGuid identifies the user whose agreement will be accepted.
Version this is defined by the version number of the agreement on the client side.

Note: A lower version number will not replace a higher version number in the database.

Xml Response:

 <User_AcceptAgreement>Ok</User_AcceptAgreement>

If you are returned an Ok, the user agreement version was updated normally.

User_ResendConfirmationEmail.aspx
This will resend the confirmation email originally sent in User_Create.aspx.
Post Parameters:
SessionGuid: 
 
SessionGuid identifies the user whose confirmation email will be resent.

Xml Response:

-<User_ResendConfirmationEmail>
 <Result>Ok</Result>
 </User_ResendConfirmationEmail>

If you are returned an Ok, the confirmation email was resent successfully.

User_EmailAccounts.aspx
This will email all accounts with a given email address to that email address.
Post Parameters:
Email: 
 
Email is the given email address.

Xml Response:

-<User_EmailAccounts>
 <Result>Ok</Result>
 </User_EmailAccounts>

If you are returned an Ok, the accounts email was resent successfully.

User_RequestPasswordReset.aspx
This will email a link to the users email address that will cause the password to be reset when clicked.
Post Parameters:
UserName: 
 
UserName is the UserName of the account to email.

Xml Response:

-<User_RequestPasswordReset>
 <Result>Ok</Result>
 </User_RequestPasswordReset>

If you are returned an Ok, the password reset email was resent successfully.

User_ResetPassword.aspx
This will reset the users password to a new value.
Post Parameters:
ResetPasswordGuid: 
Password: 
 
ResetPasswordGuid this is a guid that generated by the email in User_RequestPasswordReset.aspx.
Password is the new password.

Xml Response:

-<User_ResetPassword>
 <Result>Ok</Result>
 </User_ResetPassword>

If you are returned an Ok, the password reset email was resent successfully.


top
Collections (other)
The following are the other Collection functions.

Collection_Viewed.aspx will record when a collection was viewed by a specific user.

Collection_Viewed.aspx
This records when a collection was viewed by a specific user.
Post Parameters:
SessionGuid: 
CollectionId: 
 
SessionGuid identifies the user who viewed a collection.
CollectionId this is the unique identifier of the collection viewed.

Xml Response:

-<Collection_Viewed>
 <Result>Ok</Result>
 </Collection_Viewed>

If you are returned an Ok, the collection was recorded as viewed by this user.


top
ContentFiles (other)
The following are the other ContentFile functions.

ContentFile_Viewed.aspx will record when a content file was viewed by a specific user.

ContentFile_Viewed.aspx
This records when a content file was viewed by a specific user.
Post Parameters:
SessionGuid: 
CollectionId: 
ContentFileId: 
ForceSocial: 
 
SessionGuid identifies the user who viewed a content file.
CollectionId this is the unique identifier of the collection to which this content file belongs.
ContentFileId this is the unique identifier of the content file viewed.
ForceSocial will cause the notification to occur even if social is turned of and/or the "watch" action is turned off.

Xml Response:

-<ContentFile_Viewed>
 <Result>Ok</Result>
 </ContentFile_Viewed>

If you are returned an Ok, the content file was recorded as viewed by this user.

ContentFile_SocialAdd.aspx
This posts message of the specified action type to linked social services.
Post Parameters:
SessionGuid: 
Action: 
CollectionId: 
ContentFileId: 
 
SessionGuid identifies the user that performed an action on a content file.
Action is the action performed (e.g. "watch", "upload", "comment")
CollectionId this is the unique identifier of the collection to which this content file belongs.
ContentFileId this is the unique identifier of the content file the action was performed on.

Xml Response:

-<ContentFile_SocialAdd>
 <Result>Ok</Result>
 </ContentFile_SocialAdd>

If you are returned an Ok, the action was sent to the social service(s). Note: This will force the notification even if social is turned off and/or the particular action is turned of.

ContentFile_SocialRemove.aspx
This will unpost the most recent message of the specified action type, for this content file, from linked social services.
Post Parameters:
SessionGuid: 
Action: 
CollectionId: 
ContentFileId: 
 
SessionGuid identifies the user that performed an action on a content file.
Action is the action performed (e.g. "watch", "upload", "comment")
CollectionId this is the unique identifier of the collection to which this content file belongs.
ContentFileId this is the unique identifier of the content file the action was performed on.

Xml Response:

-<ContentFile_SocialRemove>
 <Result>Ok</Result>
 </ContentFile_SocialRemove>

If you are returned an Ok, the action was sent to the social service(s). Note: This will force the notification even if social is turned off and/or the particular action is turned of.