SalesTim API SDK

Logo

This repository contains the SalesTim API SDK for various programming languages and platforms.

View the Project on GitHub SalesTim/api-sdk

classification:PUBLIC license GitHub repo size GitHub last commit linkedin twitter Template Store

Welcome to the SalesTim API SDKs repo

ABSTRACT

The SalesTim API SDK provides easy to use client and server libraries for accessing The SalesTim REST API.
To learn more about the SalesTim API, see our API Documentation or try it online with our API Explorer.

This repository contains multiple SDKs for various clients and servers, each one of them located in their own folder in the src directory.


TABLE OF CONTENTS


A. LANGUAGES AND PLATFORMS

Supported and Experimental SDKs

As of today, here is the current status for each language / platform:

Language / Platform Directory Description Status
Node & JavaScript https://github.com/SalesTim/api-sdk/tree/master/src/javascript/ JavaScript module for the SalesTim API service. This library works both on the server with Node.js and in the browser environment with JavaScript. 🥈 Beta
PowerShell https://github.com/SalesTim/api-sdk/tree/master/src/powershell/ PowerShell module for the SalesTim API service. Cmdlets should work in any environment supported by PowerShell Core. 🥉 Alpha
Salesforce Apex https://github.com/SalesTim/api-sdk/tree/master/src/apex/ Salesforce sample Force App for the SalesTim API service. Relies on the sfdx module. 🧪 Experimental
AspDotNet Core https://github.com/SalesTim/api-sdk/tree/master/src/aspnetcore/ Asp.Net server sample project. This sample should work in any environment supported by .NET Core. 🧪 Experimental
C# > .NET Core https://github.com/SalesTim/api-sdk/tree/master/src/csharp-netcore/ C# client library for the SalesTim API service. This library supports .NET Core, .NET Framework and Mono/Xamarin environments. 🧪 Experimental
Node + Express https://github.com/SalesTim/api-sdk/tree/master/src/nodejs-express-server/ Node.js server sample project with Express built-in. This sample should work in any environment supported by Node.js. 🧪 Experimental

Legend:

Don’t see your favorite programming language here? Wanna see a Ruby, Go or Java SDK?
Just Create a New Issue!

Technologies

The source code generation process () relies on two different code generators:

Why two different generators?
The Autorest powershell generator if far ahead of the competition, especially:

On the other hand, OpenAPI Generator CLI is easy to use, broadly used in production, well documented and has a large community.

B. CONTRIBUTE

Get the sources and generate SDKs

To generate all SDKs in one operation, launch from the command line:

# Clone this repo
git clone https://github.com/SalesTim/api-sdk.git
# Download dependencies
npm install
# Generate ALL SDKs
npm run gen-all

Build SDKs individually

You can also generate SDKs individually, by using the following commands.

Node & JavaScript

# Generates the javascript server and client library
npm run gen-javascript

PowerShell

# Generates ps1 scripts
npm run gen-powershell
# Build the module
npm run build-powershell
# Package the module
npm run pack-powershell

N.B: Source code generation for PowerShell relies on AutoRest, that itself runs on NodeJS, which should make it quite portable. But the build and packaging scripts depends on PowerShell Core and .NET Core, which may be a more limiting factor.
To install these dependencies globally, you can use the following scripts:

# PowerShell Core 6.1+
npm install -g pwsh
# Dotnet Core 2.1+
npm install -g dotnet-sdk-2.1

Salesforce Apex

# Generates the sfdx sample project sources
npm run gen-apex

AspDotNet Core

# Generates aspnet core sources
npm run gen-aspnetcore
# Build using the dotnet command
npm run build-aspnetcore

C# > .NET Core

# Generates the sfdx sample project sources
npm run gen-csharp-netcore

Node + Express

# Generates the sfdx sample project sources
npm run gen-nodejs-express-server

Once generated, please refer to each README file for further reference:

X. APPENDICES

COMMUNICATING WITH THE TEAM

The easiest way to communicate with the team is via GitHub Issues.

Please file new issues, feature requests and suggestions, but DO search for similar open/closed pre-existing issues before creating a new issue.

SECURITY POLICY

This project has adopted the SalesTim Security Policy.

CODE OF CONDUCT

This project has adopted the SalesTim Open Source Code of Conduct.

LICENSING

This project is licenseced as described in the LICENSE file.