Setting Up a Wave Accounting REST Connection Manager

The REST Connection Manager is an SSIS connection manager that can be used to establish connections and facilitate data integration with REST-based APIs and services such as Wave Accounting, among many more.

Integration for Wave Accounting is enabled by the following components:

To add a new connection, right-click the Connection Manager area in your Visual Studio project, and choose "New Connection..." from the context menu. You will be prompted with the "Add SSIS Connection Manager" window. Select the "REST (KingswaySoft)" item to add a new REST Connection Manager.

New SSIS Connection

Add SSIS REST Connection Manager

The REST Connection Manager contains the following pages of configuration:

  • General
  • Advanced Settings
  • Custom Headers

General Page

The General page allows you to specify connection properties and login credentials for Wave Accounting REST service:

Wave Accounting Rest Connection Manager.png

Service Name

The REST service to which you want to connect..

API Throttle Rate

The API Throttling Rate will limit the number of requests that can be sent per second.

Authentication

The following authentication modes are available:

  • Access Token
  • OAuth
Access Token (available when access token is selected)

The Access Token is a credential used to authenticate and authorize API requests to the Wave Accounting service.

OAuth
Generate Token File

This button opens a dialog box that allows you to sign in to your instance to generate a new Token.

Wave Accounting Connection Manager OAuth page

OAuth Configuration & Sign In: The following properties are available to configure:
  • Client ID: Unique identifier for your Wave API application.
  • Client Secret: Confidential key used to authenticate your application.
  • Redirect URL: URL where Wave redirects users after OAuth authorization.
  • Scope: Defines the permissions your application requests. This is an editable field where scopes can be added or removed. Alternatively an interactive window can be used if the ellipsis is clicked.
  • Business ID: Unique identifier of the Wave business whose accounting data you want to access.
Sign In & Authorize
  • Use Default Browser to Sign In: When this option is checked the Sign In and Authorize button will open your default web browser in order to complete the OAuth authentication. When this option is unchecked, the Sign In and Authorize button will complete the entire OAuth authentication process inside of the toolkit.
  • Sign In and Authorize: This button allows you to log in to the service endpoint and authorize your app to generate a token.
Path To Token File ( Available for Authorization Code Authentication Mode)

This option allows you to enter the path to the token file on the file system or provide a Shared Access Signature URL.

Token File Password (Available for Authorization Code Authentication Mode)

The associated password for the token file.

Test Connection

After all the connection information has been provided, you may click the "Test Connection" button to test if the user credentials entered can connect to the selected REST service.

Advanced Settings Page

The Advanced Settings page has some additional options that can be configured.

Wave Accounting Rest Connection Manager - Advanced Settings.png

Proxy Mode

The Proxy Mode option allows you to specify how you want to configure the proxy server setting. There following options are available:

  • No Proxy
  • Auto-detect (Using system-configured proxy)
  • Manual
Proxy Server

Using the Proxy Server option allows you to specify the name of the proxy server to use for the connection.

Port

The Port option allows you to specify the port number of the proxy server for the connection.

Username (Proxy Server Authentication)

The Username option (under Proxy Server Authentication) allows you to specify the proxy user account.

Password (Proxy Server Authentication)

The Password option (under Proxy Server Authentication) allows you to specify the proxy user's password.

Note: The Proxy Password is not included in the connection manager's ConnectionString property by default. This is by design for security reasons. However, you can include it in your ConnectionString if you want to parameterize your connection manager. The format would be ProxyPassword=myProxyPassword; (make sure you have a semicolon as the last character). It can be anywhere in the ConnectionString.

Timeout

The number of seconds requests should wait before timing out.

Retry on Intermittent Errors

The Retry on Intermittent Errors option determines if requests will be retried when there is an error. If this option is checked, requests will be retried up to three times.

Ignore Certificate Errors

This option can be used to ignore SSL certificate errors when connecting to Wave Accounting servers.

Warning: Enabling the "Ignore Certificate Errors" option is generally NOT recommended, particularly for production instances. Unless there is a strong reason to believe the connection is secure, such as the network communication is only happening in an internal infrastructure, this option should be unchecked for best security.

Custom Headers Page

REST Connection Manager - Custom Headers

The Custom Headers page allows you to set the Header Name and Header Value. You may select the green icon to add another row, and the red icon to remove an existing header you have configured.