Exact Online Read

Overview

The Exact Online Read Snap reads and retrieves data objects from the Exact Online instance.



Supported Accounts

Prerequisites

Snap views

Type Description Examples of upstream and downstream Snaps
Input

This Snap has at most one document input view.

Expected input: A document with data that indicates the entities to be filtered and retrieved from an Exact Online instance.

Output

This Snap has exactly one document output view.

Expected output: A document containing the entity data retrieved from an Exact Online instance.

Learn more about Error handling.

Examples

  1. Retrieving account data from Exact Online Instance CRM Service.

Snap settings

Note: Learn about the common controls in the Snap settings dialog.
Field/Field set Description

Label

String

Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if more than one of the same Snaps is in the pipeline.

Default value: N/A

Example: Exact Online Read

Version

Dropdown list

Required. Choose or specify the version of the Exact Online API.

Default value: v1

Example: v1

Division

String/Expression/ Suggestion

Required. Specify a unique ID of the Exact Online Division. You can retrieve this ID using a REST call to https://start.exactonline.nl/api/v1/current/Me. Alternatively, click the Suggestion icon to fetch the list of supported divisions and select a division.

Default value: N/A

Example: 1234567

API object

String/Expression/ Suggestion

Required. Specify the API that you want to access in the Exact Online instance. This dropdown list contains supported services available for the Exact Online instance. Alternatively, click the Suggestion icon to fetch the list of API objects and select an object.

Default value: N/A

Example: CRM

Endpoint

String/Expression/ Suggestion

Required. Specify an Exact Online Endpoint to be connected for each of the API objects.

Default value: N/A

Example: Accounts

Filter records

Use this field set to define the filter criteria for the response result based on the specified parameters. Click + to add a new row to define the filter criteria. You can enter only one filter criterion in each row.
Note: When you define multiple filters, the final output is generated based on the order that you have defined.
Field name

String

Specify the system parameter ($filter) field for filtering the records in the output.

Operation

String

Choose the comparison operator for the $filter field specified above from this drop-down list.

Field value

String

Specify the value with which the above $filter field must be compared. The data types (String, Integer, Boolean, or any other data type) depend on the $filter field that you specified for the filter criterion.

Condition

String

Choose a value from this drop-down list to set the correlation between this filter criterion (row) and the next one (row), if being defined at all, to apply the filters for generating the final output. Available options are:

  • Or: To retrieve records that match either the current criterion or the next criterion.
  • And: To retrieve only records that match both the current criterion and the next criterion.
  • None: To specify that the current and the next criteria can be evaluated independently of each other in retrieving the records.
Output field selection

Use this field set to select the fields to include in the output. Click + to add a new row to define the output field.
Note: To return all available fields in the output, do not specify any output fields.
Field

String

Specify the fields from the result dataset to be populated in the output.

Default value: N/A

Example: ID, name1, name2

Order by

Use this field set to define the sort order for the records in the output. Click + to define the sort order criteria. Multiple criteria are applied in the same sequence as they are defined.
Element

String

Specify the field in the expected output by which the records in the output must be ordered.

Default value: N/A

Example: name1

Order by type

String

Depending on the field selected above, define whether the rows must be sorted in the ascending order or descending order. Available options are:

  • Ascending
  • Descending

Default value: Descending

Example: Descending

Function parameter

Fieldset

This field set enables you to define additional function parameters for the records in the output. Only one parameter name can be specified in each row. Click + to add a new row and define the value accordingly. Multiple parameters are applied in the same sequence as they are defined. This field set comprises the following fields:

  • Field name
  • Field value
Field name

String

Specify the name of functional properties.

Default value: N/A

Example: searchText

Field value

String

Specify the values of specified functional fields.

Default value: N/A

Example: test_text

Output fields advanced options

Use this field set to customize the output set: the number of output entries and the index of the starting entry.
Output entry limit

Integer

Specify the maximum number of entries that Exact Online on-premise instance must return in the output.

Default value: N/A

Example: 10

Output entry offset

Integer

Specify the record index starting from which the Exact Online on-premise instance must return records in the output. Use this property along with the Output entry limit to retrieve a specific set of entries in the output.

Default value: N/A

Example: 10

Automatic pagination

Checkbox

Select this checkbox to return the records of all the pages retrieved in the API response. By default, the Exact Online API returns a maximum of 60 records per page. But for the bulk endpoint, a maximum of 1000 records can be returned per page. If you select this checkbox, all matching records are automatically returned.

Default value: Selected

Inline count

Checkbox

Select this checkbox to return the total number of records retrieved in the API response. The count number will be added to each document record with a property name of __count.

Default value: Deselected

Allow empty result

Checkbox

Select this checkbox to allow empty results on the output views. If you deselect this checkbox, an error is thrown when the output has no records.

Default value: Selected

Connection details

Fieldset

Use this field set to specify the connectivity parameters: timeout, retry count, and retry interval.

Connection timeout

Integer

Required. Enter, in seconds, the duration for which Snap must try to establish a connection with the Exact Online instance. If the connection cannot be established within this duration, the Snap times out, writes the event to the log, and waits until the specified Retry Interval before attempting to reconnect.

Default value: 300

Example: 120

Maximum request attempts

Integer

Required.Specify an integer value to set the maximum number of reconnection attempts that the Snap must perform, in case of connection failure or timeout.

Default value: 3

Example: 5

Retry Interval

Integer

Required. Enter, in seconds, the duration for which the Snap must wait between two reconnection attempts until the number of retries is reached.

Default value: 1

Example: 10

Snap execution

Dropdown list
Choose one of the three modes in which the Snap executes. Available options are:
  • Validate & Execute: Performs limited execution of the Snap and generates a data preview during pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during pipeline runtime.
  • Execute only: Performs full execution of the Snap during pipeline execution without generating preview data.
  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Default value: Validate & Execute

Example: Execute

Troubleshooting

Error Reason Resolution
API object does not exist.

The specified API object is not found for the Exact Online API.

Search and select an API object from the dropdown list.

The endpoint does not exist.

The specified Endpoint is not found for the selected API object in the server.

Search and select the Endpoint from the dropdown list.

Additional information

Snap General Behavior

The Exact Online Read Snap supports the following:

  • GET operation to read data from the Exact Online server.
  • OData querying operations: $filter (Filter records), $select (Output field selection), $orderby (Order by), $inlinecount (Inline count), $top (Output entry limit), and $skip (Output entry offset).
  • Connection-failed-retry mechanism.
  • Client-side pagination through $top (Output entry limit) and $skip (Output entry offset) mechanisms. For more information, see Pagination below.
  • Server-side pagination for automatically getting all the response records if multiple pages returned.
  • Dynamic loading of API metadata with a Parent-child dependency structure. This means that you can:
    • Select an API object from the API Object field to view only endpoints that are related to the API object and support GET queries (read operations).
    • And then, select an endpoint to view and specify values for only read-compatible parameters related to this entity in Filter records, Output field selection, Order by and Function parameter fields.

Pagination

Client-side pagination is supported through the use of the $top (Output entry limit), and $skip (Output entry offset) OData operations.

Snap Output Setting Pagination result
Output entry limit: 50
  • Retrieves the first 50 API responses from the server (if more than 50 records are present in the API response).
  • Retrieves all the available API response records from the server (if 50 or fewer records are present in the API response).
Output entry offset: 50
  • Retrieves API responses starting from index 51 from the server (if more than 50 records are present in the API response).
  • Returns empty result (if 50 or fewer records are present in the API response).
Output entry offset: 50, and Output entry limit: 50
  • Skips the first 50 records and collects the 51 - 100 records in the API response from the server.

Server-side pagination is applied to the Exact Online API. By default, the Exact Online API returns a maximum of 60 records per page. But for the bulk endpoint, a maximum of 1000 records can be returned per page. To get the total amount of response records after validating or executing, select Automatic pagination checkbox. For example, if you have 100 records of CRM/Accounts endpoint, and if you do not select Automatic pagination, only 60 documents are returned after validating or executing the Pipeline (you will only get the records from the first page - 60 records by default). If you select this checkbox, you will get 100 documents after validating or executing the Pipeline.