WS_FTP Professional Software Development Kit (SDK)
You know programming, we know secure file transfer. Now, our mutual strengths are combined in the WS_FTP Professional Software Development Kit (SDK). The SDK enables developers to create customized data management applications by embedding or integrating the functionality of WS_FTP Professional into core business applications and platforms, such as sales, inventory, financial, database, and CRM systems.
With its standards-based, Component Object Model (COM) architecture, the SDK enables WS_FTP Professional secure file transfer technology to be embedded in both commercial and externally developed applications using any developer language, such as C++, and any universal scripting language, such as JavaScript, VB.NET, and C#. Because the SDK draws on your own programming knowledge and software to create applications, programming time is significantly reduced. And because you can embed our proven file transfer expertise right into your applications and platforms, you can be assured that you have all the capabilities you need for moving files and data safely throughout the enterprise.
The SDK comes in two versions: the regular WS_FTP Professional SDK, and the premium WS_FTP Professional Secure SDK, which give network administrators and software developers the ability to leverage the advanced secure file transfer capabilities of WS_FTP Professional, including encrypting file transfers over secure protocols such as Secure Sockets Layer (SSL / FTPS) and Secure File Transfer Protocol over Secure Socket Shell (SSH / SFTP).
Sample Business Workflow Applications
-
Integrate into existing solutions for connectivity to back-end databases, ERP, and CRM solutions.
-
Frequently update Internet, Value-Added Networks, intranet servers, distributed databases, and other specialized TCP/IP networks.
-
Download documents or programs from local-to-server, server-to-local, and server-to-server connections.
-
Automatically mirror multiple servers for secure replication and redundancy of critical data for disaster recovery.
-
Guarantee the confidentiality and integrity of transferred files using SSL and SSH protocol encryption.
-
Ensure compliance by securely transferring confidential documents, such as patient health records, credit card numbers, and financial information.
OEMs and ISVs
Ipswitch invites you to join other Original Equipment Manufacturers (OEMs) and Independent Software Vendors (ISVs) who are enjoying the benefits of partnering with Ipswitch and relying on the SDK to handle their secure file transfer needs.
-
OEM partners – Deliver an application that includes WS_FTP functionality embedded or bundled with your technology. Reproduce and resell your product with functions built from the WS_FTP Professional SDK on an embedded or private-labeled basis.
-
ISV partners – Resell Ipswitch products as part of your solution. Simply purchase a WS_FTP Professional product license for each end user of the developed application.
Licensing
The WS_FTP Professional SDK comes with one license of the WS_FTP Professional file transfer client. Note that you must purchase a license of WS_FTP Professional for each user that will access applications developed with the WS_FTP Professional SDK. Service Agreements are also available for purchase and provide unlimited technical support and software updates at no additional charge.
Secure Version Only – Supports these additional encrypted protocols:
-
SFTP over SSH (v3 and v4)
-
FTP over Implicit SSL (FTPS)
-
FTP over Explicit SSL (AUTH SSL)
-
Allows configuration of SSL options, client certificates, trusted authorities database, & more
-
Allows the user to handle SSL certificates and control the servers authorized to connect to in SSL mode
Both WS_FTP Professional Secure SDK & WS_FTP Professional SDK offer the following features:
-
MSDN-Style User Guide – Contains clearly defined syntax rules covering interfaces, methods, properties, parameters, classes, and examples.
-
COM Architecture – Exposes very simple object-oriented design.
-
Universal Scripting Languages – Applications can be written in any universal scripting language such as VB, VB.NET, VB Script, C#, C++, and JavaScript.
-
Multiple Transfer Types – Allows files to be transferred from a server to the local machine (download), from the local machine to the server (upload), and from one server to another directly (site to site).
-
Local and Remote Control – Rename, create, delete, and change directories, and rename and delete files on remote servers and locally. Handle all content and properties, including name, type, size, modified date, and permission.
-
Local and Remote Search – Able to search for files in local and remote directories.
-
Logging – Provides logs of commands issued and responses obtained from servers, as well as errors encountered. Includes options to enable diagnostic and debug logging.
-
Real-Time Transfer Updates – Provides progress information during transfer operations.
-
Permissions – Allow the changing of file and directory properties, name, modified date, and permissions.
-
Commands – Issues any arbitrary command the user wishes, as well as receiving responses from the server directly.
-
Supports FTP Protocols – Supports all aspects of the FTP protocol, including passive and normal file transfers when using FTP.
-
Supports Internal Firewall – Supports firewall types found in WS_FTP Professional (including SOCKS4 and SOCKS5).
-
Host Support – Supports automatic host type detection or allows selecting from over 65 supported host types.
-
URL Connections – Connect to a server by specifying the URL addresses as ftp://user:password@ftp.ipswitch.com where the protocols supported are ftp, sftp, ftp-authssl, and ftps. The default protocol will be FTP.
Secure Version Only – Supports these additional encrypted protocols:
The WS_FTP Pro SDK includes a professional, MSDN® style developers user’s guide, help files, and examples for required operations in six languages.
WS_FTP Pro SDK User's Guide
The WS_FTP Pro SDK User's Guide is a professional, MSDN® style user’s guide with clearly defined syntax rules covering interfaces, methods, properties, parameters, classes and examples.
Take a look at the WS_FTP Pro SDK User's Guide
[CHM format, 144 KB]
"The wide range of code examples and the professional documentation were thorough and complete, and the support from Ipswitch was outstanding." Richard Bergman
Vice President, Engineering
Emanio, Inc.
Visual Basic 6.0
Set pApi =
CreateObject("WsftpSDK.WsftpApi")
Set pConn = pApi.CreateConnection("127.0.0.1",
"test", "password",
WsftpConnectionTypes.WSFTP_CT_FTP, 21)
If pConn Is Nothing Then
If (pConn.PutFile("c:\temp", "802.exe", "/users/test",
"File1.dll", 0, 0)) Then
Log.AddItem ("Transfer Succeed")
Else
Log.AddItem ("Transfer Failed" +
pApi.GetErrorString(pConn.LastError))
End If
End If Visual Basic .NET
pConn =
pApi.CreateConnection("127.0.0.1", "test",
"password",
WsftpConnectionTypes.WSFTP_CT_FTP, 21)
If (pConn Is Nothing) Then
If (pConn.PutFile("c:\temp", "802.exe", "/users/test",
"File1.exe", WsftpTransferModes.WSFTP_TFF_BINARY,
0)) Then
Log.AppendText("File2.exe uploaded" & vbCrLf)
Else
Log.AppendText("Failed to upload file File1.exe. Error: " &
pApi.GetErrorString(pConn.LastError()) & vbCrLf)
End If
End If VB Script
Set pConn =
pApi.CreateConnection("127.0.0.1", "test",
"password", 2, 21)
if (pConn Is Nothing) then
Wscript.Echo "failed to create connection, error:" +
pApi.GetErrorString(pApi.LastError)
else
pConn.PutFile "c:\temp", "802.exe", "/users/test", "File1.exe",
0, 0
End if C#
pConn =
m_pApi.CreateConnection("127.0.0.1", "test",
"password",
ftpLib.WsftpConnectionTypes.WSFTP_CT_FTP, 21);
if (pConn is ftpLib.WsftpConnection)
{
if (pConn.PutFile("c:\\temp", "802.exe", "/users/test",
"File1.exe",(int)ftpLib.WsftpTransferModes.WSFTP_TFF_BINARY,
0))
Log.AppendText("Uploaded file File1.exe\r\n");
else
Log.AppendText("Failed to upload file File1.exe,
Error: " +
m_pApi.GetErrorString(pConn.LastError) +"\r\n");
} C++
hret =
pApi->CreateConnection(_bstr_t("127.0.0.1"),
_bstr_t("test"),
_bstr_t("password"), WSFTP_CT_FTP, 21, &pConn);
if (pConn)
{
hret = pConn->PutFile(_bstr_t("c:\\temp"), _bstr_t("802.exe"),
_bstr_t("/users/test"), _bstr_t("File1.exe"), 0,
0, &bRet);
if (bRet)
printf("File file1.exe uploaded\r\n");
else
printf("Failed to upload file File1.exe\r\n");
} Javascript
var pConn =
pApi.CreateConnection("127.0.0.1", "test",
"password", 2, 21);
if (pConn)
{
if (pConn.PutFile ("c:\temp", "802.exe", "/users/test",
"File1.exe", 0, 0))
print("File file1.exe uploaded");
else
print("File file1.exe Upload failed");
} System Requirements
- Windows® 98 SE/NT/2000/XP and Windows Server 2003
- 16MB of RAM for Windows 98 SE and 32MB for Windows NT/2000/XP/2003
- 8MB of disk space
Please Note: Applications developed with previous versions of WS_FTP Professional SDK will not work with Version 8.0 of the WS_FTP Professional SDK, and applications developed with WS_FTP Professional SDK 8.0 will not work with previous versions of WS_FTP Professional.






