SOAP API
4Shared are happy to present SOAP API description
---
Contents
public int checkSharedDirAccess(java.lang.String login,
java.lang.String password, long dirID, java.lang.String dirPassword, java.lang.String userDirPassword)
Checks if directory can be accessed by specified user with specified passwords
Parameters:
login - is user login password - is user password dirID - id of the directory to be accessed dirPassword - generated password to view contents of not owned folders userDirPassword - user specified password
Returns:
Status. 0 ok 1 no such dir 2 owner inactive 3 abused dir 4 incorrect dirPassword 5 dir is not shared 6 owner is banned 8 incorrect userDirPassword
checkSubdomain
public java.lang.String checkSubdomain(java.lang.String login,
java.lang.String password, long dirId, java.lang.String subdomainName)
Checks if subdomain can be set for specified folder
Parameters:
login - user login password - user password dirId - id of the directory subdomainName - name to be set
Returns:
Empty string or null if everything is ok and error message otherwise
createNewFolder
public long createNewFolder(java.lang.String login,
java.lang.String password, long dirID, java.lang.String folderName)
Creates new folder as dirId subfolder
Parameters:
login - user login password - user password dirID - id of the directory to create folder in folderName - new folder name
Returns:
0 - if creation denied, newly created dir ID otherwise -1 - already exists -2 - attempt to create folder in removed parent
createUploadSessionKey
public java.lang.String createUploadSessionKey(java.lang.String login,
java.lang.String password, long dirID)
Creates session key for uploading file
Parameters:
login - user login password - user password dirID - id of the directory to upload to
Returns:
session key
creatNewFolder
@Deprecated public boolean creatNewFolder(java.lang.String login,
java.lang.String password, long dirID, java.lang.String folderName)
Deprecated.
deleteFile
public void deleteFile(java.lang.String login,
java.lang.String password, long fileID)
Removes file to recycle bin or from recycle bin if it is already there
Parameters:
login - user login password - user password fileID - id of the file to be removed
deleteFolder
public void deleteFolder(java.lang.String login,
java.lang.String password, long dirID)
Completely removes folder and puts all of it contents to recycle bin
Parameters: login - user login password - user password dirID - id of the directory to be removed
downloadFinished
public void downloadFinished(java.lang.String login,
java.lang.String password, long fileId)
Have to be called after full file download
Parameters: login - user login password - user password fileId - id of the file which was downloaded
getAllFolders
public com.pmstation.shared.soap.api.AccountItem[] getAllFolders(java.lang.String login,
java.lang.String password)
Returns all of the folders in user's root directory
Parameters: login - user login password - user password Returns: Array of info records about user's root folder subfolders See Also: AccountItem
getAllItems
public com.pmstation.shared.soap.api.AccountItem[] getAllItems(java.lang.String login,
java.lang.String password)
Returns info about all items in user's root folder
Parameters: login - user login password - user password Returns: Array of info records about user's root folder content
getCurrentUploaderVersion
public long getCurrentUploaderVersion()
Returns last uploader version. If this increase you should consider to look at online api documentation to check changes. We will try to maintain backward compatibility but this is not guaranteed.
Returns: Uploader version
getDirectLink
public java.lang.String getDirectLink(java.lang.String login,
java.lang.String password, java.lang.String link)
Returns link to start immediate downloading. Not always possible however, because we are ads-supported mostly. Returns link starting with "http" if ok.
Parameters: login - user login password - user password link - indirect download link
getDirInfo
public com.pmstation.shared.soap.api.AccountItem getDirInfo(java.lang.String login,
java.lang.String password, long dirID)
Return info about specified folder
Parameters: login - user login password - user password dirID - id of the folder Returns: folder info See Also: AccountItem
getFileDownloadLink
public java.lang.String getFileDownloadLink(java.lang.String login,
java.lang.String password, long fileID)
Returns download link for user owned file
Parameters: login - user login password - user password fileID - id of file to be downloaded Returns: Download link or empty string if some errors occurs.
getFileInfo
public com.pmstation.shared.soap.api.AccountItem getFileInfo(java.lang.String login,
java.lang.String password, long fileID)
Returns info about file
Parameters: login - user login password - user password fileID - id of file to get info about Returns: file info See Also: AccountItem
getFolderSharingProperties
public com.pmstation.shared.soap.api.SharedFolderProperties[] getFolderSharingProperties(java.lang.String login,
java.lang.String password, long dirId)
Returns folder sharing properties. Output is two element array: res[0] - actual values. res[1] - properties which can be set for this user is marked as true.
Parameters: login - user login password - user password dirId - id of the folder to properties for Returns: folder sharing properties See Also: SharedFolderProperties
getFreeSpace
public long getFreeSpace(java.lang.String login,
java.lang.String password)
Gets free space left for user
Parameters: login - user login password - user password Returns: free space left for user in bytes
getHistory
public com.pmstation.shared.soap.api.DirHistoryDTO[] getHistory(java.lang.String login,
java.lang.String password, long dirId)
Returns history of operations in specified folder and subfolders. For operation field meanings see getOperationDescriptions()
Parameters: login - user login password - user password dirId - id of folder Returns: Array of folder changes. May be null or empty See Also: DirHistoryDTO
getHistoryFromId
public com.pmstation.shared.soap.api.DirHistoryDTO[] getHistoryFromId(java.lang.String login,
java.lang.String password, long dirId, long fromId)
Returns history of operations which occurs in specified folder and subfolders with history id more then specified. For operation field meanings see getOperationDescriptions()
Parameters: login - user login password - user password dirId - id of folder to take history for fromId - id floor of history Returns: Array of folder changes. May be null or empty See Also: DirHistoryDTO
getItemInfo
public com.pmstation.shared.soap.api.AccountItem getItemInfo(java.lang.String login,
java.lang.String password, long itemID, boolean dir)
Common method for getFileInfo(String, String, long) and getDirInfo(String, String, long) distinguished by value of dir parameter
Parameters: login - user login password - user password itemID - id of element dir - if true then supplied Id is folder and file otherwise Returns:
getItems
public com.pmstation.shared.soap.api.AccountItem[] getItems(java.lang.String login,
java.lang.String password, long dirID)
Returns array of infos about contents of specified dir.
Parameters: login - user login password - user password dirID - id of folder to list Returns: Array of info items See Also: AccountItem
getMaxFileSize
public long getMaxFileSize(java.lang.String login,
java.lang.String password)
Return maximum allowed file size for specified user
Parameters: login - user login password - user password Returns: maximum allowed file size in bytes
getNewFileDataCenter
public long getNewFileDataCenter(java.lang.String login,
java.lang.String password)
Returns datacenter id to upload files to
Specified by: getNewFileDataCenter in interface com.pmstation.shared.soap.api.DesktopAppIntf
Parameters: login - user login password - user password Returns: datacenter id to upload new files to
getNotOwnedSizeLimit
public long getNotOwnedSizeLimit()
Max file size which can be downloaded without speed limit
Returns: max file size which can be downloaded without speed limit
getOperationDescriptions
public java.lang.String[] getOperationDescriptions()
Returns array of OperationEnum names. Array index corresponds to values which can be returned as DirHistoryDTO.getOperation(). Array is supposed to be zero-based.
Returns: array of OperationEnum names
getOwnedSizeLimit
public long getOwnedSizeLimit()
Can be used only thru official 4shared Desktop
Returns: value has no meaning outside of 4shared Desktop
getRecycleBinItems
public com.pmstation.shared.soap.api.AccountItem[] getRecycleBinItems(java.lang.String login,
java.lang.String password)
Returns info about files in recycle bin
Parameters: login - user login password - user password Returns: Array of recycle bin content info items See Also: AccountItem
getSharedDirItems
public com.pmstation.shared.soap.api.AccountItem[] getSharedDirItems(java.lang.String login,
java.lang.String password, long dirID, java.lang.String dirPassword, java.lang.String userDirPassword)
Return content of possibly not owned shared folder
Parameters: login - user login password - user password dirID - id of folder to view dirPassword - 4shared generated dir password userDirPassword - user set dir password if needed Returns: content of specified shared folder or null
getSpaceLimit
public long getSpaceLimit(java.lang.String login,
java.lang.String password)
Returns user space limit
Parameters: login - user login password - user password Returns: space limit
getUploadFormUrl
public java.lang.String getUploadFormUrl(int dataCenterID,
java.lang.String sessionKey)
Returns url to upload file to.
Specified by: getUploadFormUrl in interface com.pmstation.shared.soap.api.DesktopAppIntf
Parameters: dataCenterID - id of datacenter to upload to sessionKey - upload session key
hasRightUpload
public boolean hasRightUpload()
Whether upload feature is on.
Returns: whether upload feature is on.
isAccountActive
public boolean isAccountActive(java.lang.String login,
java.lang.String password)
Checks account availability
Parameters: login - user login password - user password Returns: true if account is active
isAccountBanned
public boolean isAccountBanned(java.lang.String login,
java.lang.String password)
Checks if user account is banned
Parameters: login - user login password - user password Returns: true if user accont is banned
isAccountPremium
public boolean isAccountPremium(java.lang.String login,
java.lang.String password)
Checks if user account is premium
Parameters: login - user login password - user password Returns: true of user has premium account
isExistsLoginPassword
public boolean isExistsLoginPassword(java.lang.String login,
java.lang.String password)
true-false version of login
Parameters: login - user login password - user password Returns: true if login was successful
login
public java.lang.String login(java.lang.String login,
java.lang.String password)
Login
Parameters: login - user login password - user password Returns: Empty string if all ok, diagnostic message otherwise
markSynchronized
public void markSynchronized(java.lang.String login,
java.lang.String password, long dirId)
Informs 4shared to write folder and subfolders usage history
Parameters: login - user login password - user password dirId - id of folder to write history for
pasteFilesDirs
public java.lang.String pasteFilesDirs(java.lang.String login,
java.lang.String password, long toFolderId, boolean makeCopy, long[] fileIds, long[] dirIds)
Copy-pastes or cut-pastes a group of files and dirs. Use this to copy or move a group of files to another directory.
Parameters: login - user login password - user password toFolderId - target folder id makeCopy - - exec copy+paste if true, exec cut+paste if false fileIds - ids of file to be moved/copied dirIds - ids of folders to be moved/copied Returns: diagnostic message or empty string if all ok
renameFile
public long renameFile(java.lang.String login,
java.lang.String password, long fileID, java.lang.String newName)
Renames specified file
Parameters: login - user login password - user password fileID - id of file to be renamed newName - new name of file Returns: -1 if file exists, 0 in case of other failures, fileID if rename was successful
renameFolder
public long renameFolder(java.lang.String login,
java.lang.String password, long dirID, java.lang.String newName)
Renames specified folder
Parameters: login - user login password - user password dirID - id of folder to be renamed newName - new name of folder Returns: -1 if file exists, 0 in case of other failures, dirID if rename was successful
restoreFile
public void restoreFile(java.lang.String login,
java.lang.String password, long fileID)
Restores file from Recycle Bin. If folder still exists restores to it, in other cases will restore to special RESTORED FILES folder which will be created if not already exists.
Parameters: login - user login password - user password fileID - id of file to be restored
restoreFiles
public void restoreFiles(java.lang.String login,
java.lang.String password, long[] fileIDs)
Restores group of files from Recycle Bin. If folder still exists restores to it, in other cases will restore to special RESTORED FILES folder which will be created if not already exists.
Parameters: login - user login password - user password fileIDs - Array of file ids to be restored
setFolderSharingProperties
public java.lang.String setFolderSharingProperties(java.lang.String login,
java.lang.String password, long dirId, com.pmstation.shared.soap.api.SharedFolderProperties folderProperties)
Sets folder sharing properties
Parameters: login - user login password - user password dirId - id of folder to set properties for folderProperties - new properties values Returns: Diagnostic message or empty string if all is ok
signup
public java.lang.String signup(java.lang.String login,
java.lang.String password)
Creates new User and sends confirmation email.
Parameters: login - desired login password - password Returns: error message if any. Empty string if all ok.
syncFinished
public void syncFinished(java.lang.String login,
java.lang.String password, long fileId)
Should be called in the end of each sync operation
Parameters: login - user login password - user password fileId - which file was synced. -1 if not applicable
uploadCancelFile
public void uploadCancelFile(java.lang.String login,
java.lang.String password, long fileId)
Call if upload was canceled
Specified by: uploadCancelFile in interface com.pmstation.shared.soap.api.DesktopAppIntf
Parameters: login - user login password - user password fileId - id of file which upload is canceling
uploaderLoggedIn
public boolean uploaderLoggedIn(java.lang.String login,
java.lang.String password, java.lang.String uploaderVersion, java.lang.String macAddress)
For 4shared Desktop use only
Parameters: login - password - uploaderVersion - macAddress - Returns: nonsense
uploadFinishFile
public java.lang.String uploadFinishFile(java.lang.String login,
java.lang.String password, long fileId, java.lang.String md5)
Complete resumable upload
Specified by: uploadFinishFile in interface com.pmstation.shared.soap.api.DesktopAppIntf
Parameters: login - user login password - user password fileId - - returned from initial call to uploadStartFile() - existing file in 'being uploaded by parts' state md5 - - original file MD5 to verify file consistency at server side Returns: - empty string if success or error message
uploadStartedFileExists
public boolean uploadStartedFileExists(java.lang.String login,
java.lang.String password, long fileId)
Checks if file was partially uploaded
Parameters: login - user login password - user password fileId - id of file to be checked Returns: true if there is part of file already uploaded.
uploadStartFile
public long uploadStartFile(java.lang.String login,
java.lang.String password, long dirID, java.lang.String name, long fullSize)
Resumable upload - start
Specified by: uploadStartFile in interface com.pmstation.shared.soap.api.DesktopAppIntf
Parameters: dirID - (-1) means upload to user's root dir Returns: fileId to pass as parameter in all subsequent partial uploads
uploadStartFileUpdate
public long uploadStartFileUpdate(java.lang.String login,
java.lang.String password, long updateFileId, java.lang.String name, long fullSize)
Update file
Specified by: uploadStartFileUpdate in interface com.pmstation.shared.soap.api.DesktopAppIntf
Parameters: login - user login password - user password updateFileId - it of original file to be updated name - - empty string means don't change existing name fullSize - Returns: - id of temporary file uploading of which will cause update of original file