Getting Started
Basic Concepts
Tutorials
Advanced Concepts
How-to Guides
Building integration flows
Data transformation
Integration patterns
Developing Components
Tenant Management
Components
CRM components
ERP components
E-Commerce components
Marketing-related components
Finance-related components
Office components
Protocol components
Service components
Database components
Utility components
References
Sailor
Component Descriptor
Covered in this article

Exact Online component


Description

An integration component for Exact Online ERP. It interacts withe Exact Online API.

Requirements

Environment variables

None required.

Credentials

Here are the credentials necessary to authenticate the component with the Exact Online API:

  • Your Exact Online Division - This is your division number
  • Application Client Id - Here should be the OAuth client Id (client dev). More about how to obtain your OAuth credentials check below.
  • Application Client Secret - Here should be your OAuth secret (client secret).
  • Location of the root of the OData API - The default is /api/v1. If not value is provided the default will be used.
  • Print OAuth Token - for debugging purposes

Information about how to retrieve OAuth keys is described in the Register an app document.

The Application Client Id and Application Client Secret keys could be found here where you should choose API.

Working with dynamic metadata

On the Configure input step, firstly, you should choose an entity (object) type you want to work with. Click on the Object type to… and wait for data uploading. Then you’ll see a list of entities which are available for this action or trigger. You should choose one.

image

Then you wait for uploading metadata (input object structure). After metadata uploaded you can complete input object to retrieve response sample. Be careful of required fields with a red mark.

image

Structure of the input object will be based on objectType field content.

Triggers

Webhook Subscription

Webhook enables the receiving of real-time data updates from Exact Online division. These updates are generated by user transactions as the envelope progresses through actions to completion. The Exact Online webhook provides updated information about the entities changes. Notification messages include information about the current status of the entity.

See trigger limitations

Actions

Lookup Objects

Allows to get a list of all entities with current type in your division or to get entities that satisfy the filter. This action emits multiple results of required objects.

Input fields

  • Object type to get - drop-down list with all types of the entities, required field. Select the type of entity you want to get.
  • Number of search terms - not required field, number of search terms. Determines the number of search terms that the entity must match. Need to be an integer value from 1 to 100. If this field is empty, action emits all entities with selected type.

Input metadata

Metadata is depending on the input field Number of search terms. If Number of search terms is empty, metadata does not exist. If Number of search terms = 1, metadata has only one search term. If Number of search terms > 1, metadata has a number of search term equal Number of search terms and a number of criteria link equal ‘Number of search terms - 1’.

Each search term has 3 fields: image

  • Field Name - chosen entity’s field name. You need to select the one field from Value section: image
  • Condition - You need to select the one condition from Value section: image
  • Field Value - the value that the field must match with the specified condition.

Between search terms, there is Criteria Link. You need to select the one criteria from Value section: image

For example, if you want to find all entities with types Contacts with field ID greater than 1 and field IsMainContact equal true: image

Output metadata

JSON schema location folder: schemas/io/…. The necessary schema begins with the get and ends with the .out and has an entity type between. For example, for entity Accounts schema has name getAccounts.out.json

Known limitations

See action limitations

Upsert Entity

Allows to add new Entity or update one of the existing entity in your division. To add a new Entity you should provide Account (account ), FirstName, and LastName in the request body. To update entity you should provide primary key (usually entity’s GUID) and fields which you want to update. This action contains dynamic metadata.

Insert Entity

Allows adding a new entity to your division. To Insert Entity you must provide mandatory fields and fields which you want to update. This action is available ONLY for entities which can’t be updated with API. This action contains dynamic metadata.

Update Entity

Allows updating one of the existing entities in your division. To update entity you should provide primary key (usually entity’s GUID) and fields which you want to update. This action is available ONLY for entities which can’t be inserted with API. This action contains dynamic metadata.

See action limitations

Delete Entity

Allows removing one of the existing entities in your division. To remove Entity you should provide a primary key (usually entity’s GUID) in the request body. This action contains dynamic metadata.

Current Limitations

Webhook Subscription

According to Exact Online documentation, you can’t create more than one webhook for the same topic, so webhook subscription trigger will remove, on start, all existing webhooks with callback URL or topic which are same to current.

Lookup Objects

  • action currently does not support filtering by a null value
  • action currently does not support choosing fields to return
  • if any entity was not found, the action did not provide data
  • you need to set the Field Value according to the field type, Field Value is string in the metadata and is checked only when executed. You can check type of the field in the schema there. The necessary schema begins with the get and ends with the .in and has an entity type between. For example, for entity Accounts schema has name getAccounts.in.json

Update Entity

Can be used for entities that can’t be inserted via API only. This action was not fully tested due to the lack of documentation at the Exact Online official documentation. Action’s metadata should be additionally discussed with Exact Online developers or support team.

To interact with Exact Online platform, this component interacts with Exact Online REST OData API (v1).

Get, Upsert, Update, Insert and Delete actions are providing all possible CRUD operations which are in Exact Online docs.