Getting Started
The Connector Software Development Kit (SDK) documentation on this page is meant for developers building connectors on App Xchange. For a broader introduction to the App Xchange integration platform, view our help docs including an overview of common connector builder questions and pre-development considerations.
Connectors are built using .NET and the creation is driven by our Command Line Interface (CLI) tooling Trimble.Xchange.Connector.CLI. These tools are needed to start building a connector. This guide will help you through that process!
Prerequisites for using the Connector SDK
-
Have an HTTP API. It is possible to create a Connector that interacts with your software outside of an HTTP API, however the SDK is currently optimized for use with HTTP endpoints.
-
Able to request test data from your software. You won’t want to build your Connector using live/actual data that matters to your customers. Verify you have a way to access test data from your system during your Connector build that won’t impact your customers in a negative way.
-
At minimum, intermediate C# development skills. The SDK currently supports C#.
-
Installation of .NET SDK. You can install .NET here with a preference towards versions with long term support, even if not the latest. See also our support policy on current versions.
-
A solid understanding of your HTTP API resources. Before you can efficiently create a Connector, you will need to understand your product’s API or other documentation and how to make requests against its endpoints.
-
An initial use case or target integration for which to build. It can be helpful to begin with an initial use case, or an example of the type of integration that would be developed using the connector. You can and should build, test, expand, and iterate.
Main parts of the App Xchange Connector Building
The App Xchange Connector SDK consists of two main parts:
- The SDK library NuGet package, which provides a framework to build and run connectors.
- The CLI, an interactive tool for working with the Xchange platform and local code.
Install Trimble.Xchange.Connector.CLI as a .NET tool
The recommended way to install the CLI is to install it as a global .NET Tool. This will automatically download the appropriate package for your system and make the Xchange command available in your environment PATH, as well as enable easy updates when new versions are released. Ensure that the .NET Core SDK v7.0 or higher is installed on your system, with a preference to a long term support version.
Install Trimble.Xchange.Connector.CLI as a .NET global tool:
dotnet tool install Trimble.Xchange.Connector.CLI --global
To Update:
dotnet tool update Trimble.Xchange.Connector.CLI --global
If you have already started building your connector and are updating, make sure to also update PackageReference Include
in your connector.csproj file
.
List .NET global tools on your system:
When running:
dotnet tool list --global
You should see Trimble.Xchange.Connector.CLI
in the list.
Congratulations!
You should now be able to invoke xchange
commands directly from any directory.
The rest of documentation is designed to be mostly chronological. At a high level, you should plan to:
- Establish Project
- Create an API Client with your desired Authentication type
- Implement Connections - Auth class, Auth handler and the Test Connection method in ApiClient
- Test your Connection
- Create a Data Object and Data Reader/Cache Writer
- Use the Object Schema Guide for your data object
- Test a Cache Write with your Data Reader
- Create an Action
- Test your action
- Submit your initial code
- Get feedback
- Iterate
About these tools
The Command Line Interface (CLI) tool can be used to ease the creation of predictable code during the connector build process. The Software Development Kit (SDK) provides the template code and a large body of supporting methods. Part of the combined functionality is provided as a convenience, and can depend in part on the initial naming used when creating data objects and actions. You will find the most straightforward success using the CLI commands whenever possible, instead of writing or copying code from scratch.