Cloud Systems
List of cloud systems
XLConnect comes 'batteries included' with authentication to cloud systems built in, so you can get straight to the business logic.
When making HTTP calls, the final parameter is auth
to indicate the cloud system you want to authenticate to.
Below is a simple example of a direct http call, please note that these cloud systems also have a javascript module with helper methods.
http = require('http.js')
// grab data from the xero api
uri = 'https://api.xero.com/connections'
auth = 'xero'
http.get(uri, null, auth)
// or shorthand
http.get('https://api.xero.com/connections', null, 'xero')
Xero
auth = 'xero'
Visma.Net Native
auth = 'visma.net'
Use this authentication for the Visma.Net API and the Visma.net.ERP.SalesOrders.Api.
This uses the Authentication Code Interactive flow that automatically open a web browser to log the user in and return to the app.
Visma Client Credentials (Service)
auth = 'vismacc'
Visma Client Credentials authentication run without user login flow, best fit for background processes that run without a user.
A fixed ClientId and Secret are entered once and stored securely, then the code can run without a user having to be present to login.
Services Visma API's like Brincr use a Service (Client Credentials flow) authentication.
Please note these need to be set up per project in the Visma Developer Portal.
Visma Client Credentials Multi
This is a second variant of Visma Client Credentials (Service) application Type, that allows the code to switch between tenants under an app registration (the one above is fixed to a single tenant at login).
Set up a Visma Client Credentials app in the Visma Developer Portal.
Publish it to the App Store as 'Invitation Only'
Generate an Invitation Code (in the developer portal)
Go to the Visma App Store, log in, and go to My Apps
Select your organisation in the top right corner and click 'Use Invitation Code'
Repeat steps 3 and 5 to add all required tenants are added under the Application.
To connect to a certain tenant:
// auth for vismacc has three arguments: protocol, clientId and tenantId
clientId = 'isv_***' // enter the Client ID for your application from the Developer Porttal
tenantId = 'a0b1100c-4a02-11ed-98d8-06a0b4eada6b' // can be found in Developer Portal > Integration > Customers
auth = `vismacc.multi:${clientId}:${tenantId}`
//for example
auth = 'vismacc.multi:isv_my_private_app:a0b1100c-4a02-11ed-98d8-06a0b4eada6b'
When pulling data for the first time, XLConnect will ask for the Client Secret and Scopes that will be stored securely. After that the code can switch between tenants to connect to all the different tenants under that Application Registration.
Exact Online
auth = 'exact'
https://start.exactonline.nl/docs/HlpRestAPIResources.aspx?SourceAction=10
QuickBooks Online
auth = 'qbo'
Api description can be found here: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account
Payhawk
auth = 'payhawk'
API description here: https://developers.payhawk.com/
Hubspot
auth = 'hubspot'
https://developers.hubspot.com/docs/api/crm/understanding-the-crm
Microsoft Graph
Microsoft Graph lets you connect to basically all your data on microsoft including email, Sharepoint, OneDrive etc.
auth = 'ms.graph'
Documentation can be found here: https://developer.microsoft.com/en-us/graph/graph-explorer
Microsoft Dynamics 365
auth = 'ms.dynamics'
Basic Authentication
auth = 'basic'
This is the classic Basic Authentication that is still used for older systems.
NMBRS
auth = 'nmbrs'
Last updated